DEVGRU - RSS Feed

プログラミングとbitcoinのシステムトレードについて書きます

Latest articles

neologdn が使えない (Python 3.8では)ので unicodedata.normalize() を使ったが、やっぱり使えた話

データの名寄せに必要な正規化で同僚から neologdn を進められて使おうとしたが、 Python 3.8 に対応していなくて、 unicodedata.normalize() で事足りたけど、3日前に対応していたお話です。 広告 ユーザの入力値とデータベースを照合して最もマッチする値を取得する実装が必要になり、同僚が neologdn ( PyPI) を教えてくれたので、さっそうと pip install neologdn したところ、見事に使えなかった。 $ pip install neologdn ...(なにか大量のコンパイルエラー) 検索して出てくる記事や、 PyPIの配布物 を見たところ、Python 3.7 までのビルド済みパッケージしかなく、...

pytest と unittest.mock を使って標準出力のテストを書けなかった話

今回は、標準出力に文字列を出力する実装に対して pytest でテストを書く必要があり、 unittest.mock と Python のライブラリリファレンスにかかれていた方法を組み合わせたら見事にハマったお話です。 広告 シンプルにするとこんな感じに、標準出力への文字列が唯一の副作用となる関数があります。 def hello(name=None): if name: print(f"Hello, {name}") else: print("Hello") if __name__ == "__main__": import sys if len(sys.argv)...

JavaScript の正規表現リテラルの評価タイミングとパフォーマンス

正規表現リテラルと正規表現オブジェクトの評価について、誤解していたのでメモ。 広告 以下の2つのJavaScriptコードを実行した際のパフォーマンスを考える。 regexp-literal.js for (let i = 0; i < 1000000; i++) { /^(3|5|9)/.test(i); } regexp-object.js for (let i = 0; i < 1000000; i++) { new RegExp("^(3|5|9)").test(i); } 手元のV8で実行するとこうなる。正規表現リテラルのほうが正規表現オブジェクトより2倍速い。...

Re: 愛すべきAngularとのお別れ。2,3年後を見据えReactにリプレイスする話

note.com 上記の記事について、現職では主に Angular を使っている立場(※ 社内ではReactのプロダクトも複数あります)でこの記事についての感想を述べます。 広告 理由はAngularを書ける(or書きたい)エンジニアを採用することが難しいからです。それにつきます。 はい、特に異論はありません。 実際、現職でもAngular のプロダクトのフロントエンドエンジニアの採用には苦戦しており、採用が難しい点について概ね事実かと思います。 その差が出たのは、元記事で指摘されている通り、 "React & Vue.js" vs "Angular" の勢力の別れ方が大きいかと思います。 Vue.js と Angular...

ウェブサービスエラーハンドリング指針

これはなにか 現職の社内でこのテーマで書いたが、そちらは社内プロダクトの情報も混じっているので、同じテーマでブログ向けにいちから書き直してみる。 ちょっと長いが、ウェブサービスを運用するならきちんと抑えておきたい。 課題 SPA + HTTP API(概ねREST APIと言っていい)の構成において、エラーハンドリングを正しく行うのは意外と面倒だ。 しかし、特に運用中のプロダクトにおいては、障害・バグの早期検出、ユーザエクスペリエンス向上の観点から、これをきちんとするのが望ましい。 広告 前提 HTTP通信は切断されるし、インフラは落ちる ローカルで開発をしていると忘れがちだが、HTTP通信は様々な要因で切断される。...

私的開発環境改善計画 Ver. 2021-2

前の記事で開発環境を確認したので、次は改善を考えていく。 team-6.hatenablog.jp 広告 エディタ Visual Studio Code から変える気はしばらくないので、これをどう便利にしていくか考える。 設定の同期 仕事と個人の環境で設定を同期しておらず、さらにこの前MacBookを新調したときに移行に苦労したので、設定の同期を有効化する。 AzureかGitHub アカウントで同期できるので、GitHubアカウントを選択した。 キーマップ ずっと Awesome Emacs Keymap を使っていて、拡張機能の不都合はほとんどなかったが、そもそもCtrlキーの押し過ぎで小指が痛くなるという、キーバインディング自体の問題に直面したので、Vim...

個人・仕事の開発環境をそろそろ見つめ直そうと思ったので、現状を整理する。 広告 ハードウェア・OS 個人も仕事もMacBook なので、 OSはmacOS縛り。 仕事の方はまだ Big Sur にアップグレードできていない。 もちろん Homebrew を使っている。 エディタ Emacs は卒業して、 Visual Studio Code を使っている。 Vim は開発環境を揃えるのが面倒すぎて断念してしまった。 アドオン もと Emacs ユーザなので、 Awesome Emacs Keymap を使っている。 その他、メジャーどころ。 Bracket Pair Colorizer 2...

エンジニア採用のお知らせ

現職ではプロダクト拡充のため、ソフトウェアエンジニアの採用を行っております。 転職をお考えの方、または興味のある方は、@blog_devgru までDMください。 現職のWantedlyのページとかんたんな紹介をお送りします1。 業務分野 国内医療系スタートアップ 雇用形態 正社員 業務委託 会社規模 正社員100人超 資本金 ポジション バックエンドエンジニア フロントエンドエンジニア SRE テクノロジースタック バックエンド Python/Django Python/Serverless Framework/AWS Lambda フロントエンド...

(訂正あり) Serverless Framework で TypeScript を使うときは、aws-nodejs-typescript を使わずに serverless-plugin-typescript を使おう

(訂正) 書いたはいいが、 よくよく確認したら repository の last commit が2年前と全くメンテナンスされてない状態だったので、 こちらのほうがむしろ推奨されない方法となっていました。 なにかの参考になるかもしれないので、記事は残しておきます。 不便な記事2連発で申し訳ありません。 広告 tl; dr 一部の場合を除いて、このコマンドでプロジェクトを作るのは避けて serverless-plugin-typescript を使おう sls create -t aws-nodejs-typescript -p プロジェクト名 あらまし ちょっとしたスクレイピングをするバッチのために...

(お詫びと訂正)Android版COCOAがバグった理由

2021/02/06 21時35分 追記 参照したGoogleの資料が古く、現在はAppleと同じ仕様になっております。 先日報じられた不具合の原因はこちらのIssueと思われます。 訂正が遅くなり申し訳ありません。 調べたらそれっぽいのがわかったのでメモ。 広告 報道発表の時期から、原因はこのコミットだと思われる。 怪しいのはこの変更。 - MinimumRiskScore = 1, + MinimumRiskScore = 21, (Minimum)RiskScore の定義を調べると、Google と Apple で異なる。...

Discover, share and read the best on the web

Subscribe to RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters! Get unfiltered news feeds or filter them to your liking.

Get Inoreader
Inoreader - Subscribe to RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters!