中年engineerの独り言 - crumbjp

LinuxとApacheの憂鬱

socket.io が nodejs12系で落ちる

なんで今のコードでnodejs10系では問題にならなかったのかが解らないのだけど、ずっと問題なく動いていた。 それがnodejs12系では落ちる様になった。(EPIPE)

github.com

とりあえずPRを送っておいたが、取り込まれるまで待てないので socket.io からforkしてそっちを使うことにする。

github.com

package.json にはこんな感じで指定すればいい。

"dependencies": {
  "socket.io": "crumbjp/socket.io#2.3.0_patched"

mecab-gyp 1.0.6 nodejs12対応

mecab-gyp

nodejsmecab を扱いたい時、選択肢がほとんどない。 オプションが渡せなかったりforkしてるモジュールだったりで使い物にならない。

仕方がないので自分で作っているのだが、nodejs10 -> nodejs12 でv8.hが大きく変わってコンパイル出来なくなった。 引数や戻り値の受け渡しの部分なので、ほとんどのネイティブコール系のモジュールが影響を受け、こんな感じの対応が必要。

github.com

mecab-ipadic-neologd 池田さん森さん問題

mecab-ipadic-neologd

github.com

mecabの精度を劇的に上げてくれるのだけど、頑張りすぎな所があって、、

mecab -d ./lib/mecabdic <<< '森さん池田さん'
森さん       名詞,固有名詞,人名,一般,*,*,森さん,モリサン,モリサン
池田  名詞,固有名詞,人名,姓,*,*,池田,イケダ,イケダ
さん  名詞,接尾,人名,*,*,*,さん,サン,サン
EOS

森さん は特別扱いか・・・

ちなみに ipadic のままだと

mecab  <<< '森さん池田さん'
森     名詞,固有名詞,人名,姓,*,*,森,モリ,モリ
さん  名詞,接尾,人名,*,*,*,さん,サン,サン
池田  名詞,固有名詞,人名,姓,*,*,池田,イケダ,イケダ
さん  名詞,接尾,人名,*,*,*,さん,サン,サン
EOS

MongoDBの開発陣は糞

アトミック性の部分の問題を何年も放置する判断力は異常

コメントでも相当言われてるが、、あいつらバカなんだろう。。

bulkUpdate & upsert でユニーク制約エラーを起こす

[SERVER-14322] Retry on predicate unique index violations of update + upsert -> insert when possible - MongoDB

Rails の or クエリー

qiita.com

まあ説明はこちらに譲るとして、、

一番の問題は 非常に気を遣う ということだ。 普通に使うと動くけど、レアケースで落ちるのが痛い。

qiita.com

これが一番しっくり来た。 コメントの通りちょっと直さないと落ちるんだけど。。これをinitializer でパッチして使うことにする。

ITシステムを構築するということ

引っ越しついでに。。。

技術を体系的に理解するということ

IT技術は日進月歩でどんどん進化も早くなるので、専門職化して行くのはある程度仕方ないとは思うけど やっぱり、その様な人材や技術を効率的に正確に扱うには、全体を万遍無く理解出来てないと難しいだろう。

今までアンバランスなシステムを幾つも見て来たが、やはりそこの技術TOPのある領域の弱さが透けて見えるケースが多かった。

若い人ほど追い付かなきゃならない分野が多くて大変だと思うけど それは逆に脱落者が多くて、競争率はどんどん落ちて行くので、頑張って網羅性を上げて行ってほしい。

・・・中年の独り言・・・