[勉強会メモ]Python関連勉強会参加メモ2つ
まずはこちら
PythonBeginner沖縄 (1年ぶり復活!「機械学習ビギナー向けコース」) - connpass
当初は7月開催予定だったが8月に延期
当日も台風14号(ヤギ)が接近中だったが、無事開催された。
勉強会の内容
機械学習ビギナー向けコースと銘打ちつつも
「参加者の皆にはまだまだ早い(講師・談)」ということで、今回は入門準備編。
前半
Jupyter notebookの使い方やNumPy,Pandasの使い方をささっと
この辺はざっくりだったので、jupyter notebookは使い方覚えておいてよかった。後半
5人くらいのチームに別れて、横浜市の公開データを利用してのデータ解析実習。
Pandasもちょっと予習してきたのだが、分析用コードが全然書けなかった(無念)。
チーム内にコードをかける方がいたので、そちらはお任せしてアイディアの取りまとめとか資料作成の方で頑張ることに。
公開データを活用したビジネスの提案と分析用データを準備し、発表を無事終えることができた。
感想
Pythonの文法やツールやライブラリの使い方を事前に予習していたが
いざ演習となると全然コードが書けなかった。
まだまだ機械学習の入り口にも辿りつけていない感じなので、
次回はもっと予習してから参加したい。
もう一つがこちら
PyData.Okinawa Meetup #36 OpenCVでとことん画像処理 - connpass
勉強会の内容
機械学習に限らず、画像を取り扱う際によく使われるOpenCVの使い方について。
ピクセルがどう値を持っているのかの説明から、領域分割までをコードを動かしながらの実習
感想
jupyter notebook 形式のファイルがそのまま講義資料になっていたので
コードと結果がすぐに見られるし、ちょっと数直や引数いじるだけで
色々試せるのがよかった。
ちなみに、上記の資料リンク内の資料のnotebookを順番に動かすだけでも勉強になります。
終わりに
Pythonは独学でやってるので、今後も勉強会等に参加していきたい。
VB6のコードリーディングのためにやったあれこれ(2018年版)
VB6で書かれたコードを読む必要があったので頑張ってみた記録
前提
- VB6用のIDE (Visual Basic 6.0 IDE )は無い
- ExcelのVBAはあまり使ったことは無い
サクラエディタ
シンタックスハイライトが効いているのでなんとか読めるが
コメントアウトされたコードの残骸が多く辛い。
関数にぴょんぴょん飛びたいのでctagでタグジャンプを試したがうまく行かなかった。
最終的にはgrepのちから技で解決。
Visual Studio Code
もうちょっと現代風な感じでコードを見てみたかったので試した。
やはりと言うかなんというか、先駆者を発見したので全力で乗っかる
VSCodeのシンタックスハイライトと拡張子の関連付け - 頭ん中
プロジェクトフォルダごと取り込んで
串刺し検索するとそこそこいい感じにはなった。
Visual Studio + (拡張)
VisualStudio でソースコード変換系(VB6→VB.NET)の記事が多く引っかかるが
おもしろい拡張が見つかったのでご紹介
Visual Studio のMarketplace から以下の拡張を入れることで
VB6のプロジェクトのまま Visual Studio で開くことができる
2012,2013用 Visual Basic Tools for Visual Studio - Visual Studio Marketplace
2015用 Visual Basic Tools for Visual Studio 2015 - Visual Studio Marketplace
2017用はまだ
この拡張を入れることによってできることは意訳すると
だいたいこんな感じ
できる/使える
できない/使えない
- 定義へジャンプ
- フォーム デザイナ 画面
- Visual Studio 単体でのコンパイル
(ただし、VB6開発環境がインストールされている場合はPath指定してコンパイルできる様子、未検証)
定義へジャンプができないのがおしい
でも、コードがめちゃくちゃ長いと関数単位で閉じる機能だけでも便利かもしれない。
おまけ
これのサクラエディタ版か Mery版あたりのやつがあれば便利かもしれない
VB6のソースを Javaっぽく変換する秀丸マクロ
ブロッキングチェーンを勉強しています。
仮想通貨とか分散型台帳技術の方が検索で引っかかるけど
それとはちょっと違う話。
What is "ブロッキングチェーン"?
SQLServer でちょいちょい起こるロック待ちの連鎖のこと。
SQLServer の ロック思想上、ロック待ちは必ず発生するのでそれ自体は問題ない。
が、長いこと リソースをロックされているといろいろ困る、というかすごい困ってる。
すべてはロック思想の違いによる
このあたりの挙動は同じく商用DBである Oracle と比べると理解しやすい。
以下、いろいろ参考記事
* DBMSのロック・分離戦略と同時実行制御 - マイクロソフト系技術情報 Wiki
多バージョン法とロック法の項目を参照
READ COMMITTED ・・・ COMMIT 済みのデータだけを読み取る SQL Server および Oracle のデフォルト設定
トランザクション分離レベルが"Read Commited"の場合 例えば、あるテーブルに対してデータ更新中のときにデータ参照を行うと
SQLServer の場合 | データ更新中?てことはコミットが済んだらそいつが最新データか。よっしゃちょっと待っとくわー |
---|---|
Oracleの場合 | データ更新中?まぁでも既にコミット済みのあるじゃん、もらってくよー |
といった感じの動きになる。
まとめ
snapshot オプションを ONにするとOracleぽい挙動になるとか
最近のSQLServer だとインメモリでよろしくできるらしい。
でも、ほいほいオプション変えたりバージョン上げたりは難しいので
更新系のトランザクションを短くするとか
ロックタイムアウト値を設定するなどでがんばるしかない。頑張る。