Blog Entry (Dec. 9, 2018, 8:56 a.m.)

Tilo Mitra's avatar

Pythonでエラー箇所を上書きしてしまわないようにする

Pythonで例外がが発生しそうな箇所で try して例外をキャッチし、ログを追加するなどビジネスロジックとは別の処理をしたあとに再び同じ例外を発生させたいときがあります。 このとき、 raise e のようにキャッチした例外をそのまま指定するコードを見かけますが、多くのケースでこれはあまり好ましくなく、何も指定しない raise とだけ書くことが好ましいです。 raise だけで同じ例外を発生させる事ができる 「Python文法詳解」には次のように書かれています。 except 節 ...

詳細を見る | 元の記事へ

Blog Entry (Dec. 5, 2018, 9:48 a.m.)

Tilo Mitra's avatar

BigQueryで日付ごとに作られたテーブルを検索する Legacy SQL を Standard SQL に変換する

BigQueryで日付ごとに解析したいデータを入れるときの第一オプションは日付によるテーブルパーティショニングだと思います。しかし、テーブルパーティショニングの日付として扱えるフィールドがデータの中にない場合や、テーブルパーティショニングが公開される以前は table_20181206 のように日付の入ったテーブルを作成することがよく行われていました。 BigQueryではこのようなテーブルを作成すると、従来のコンソール画面では1UI上で日付のプルダウンが作成され、スキーマとプレフィックスが一 ...

詳細を見る | 元の記事へ

BigQueryで日付ごとに作られたテーブルを検索する Legacy SQL を Standard SQL に変換する

Blog Entry (Dec. 4, 2018, 9:08 a.m.)

Tilo Mitra's avatar

Pythonで `light-progress` を使って進捗(プログレスバー)を表示

Pythonで進捗表示といえばtqdmが有名だと思いますが、今回はlight-progressというライブラリを紹介したいと思います。 特徴 light-progress は依存ライブラリを必要とせず軽量なライブラリを目指しており、Python2でも3でも動くようになっています。LinuxやMacではカラー表示に対応しており進行中・完了・エラー終了でそれぞれカラーが変わります。自分の環境では Jupyter Notebook でも動きました。 ただ light_progress というよ ...

詳細を見る | 元の記事へ

Pythonで `light-progress` を使って進捗(プログレスバー)を表示

Blog Entry (Nov. 24, 2018, 7:59 a.m.)

Tilo Mitra's avatar

JSON Schema による矛盾しないドキュメント作成の勧め

今の職場で働き始めてちょうど一年が経ちました。そこでとても幸運なことに、ある一つのサービスの開発に設計段階からかかわることができました。 そのサービスは大まかに分けるとWebアプリケーションのフロント部分(Vue.jsなど)・APIサーバー・データ処理サーバー・AIサーバーと分かれており、自分は主にAPIサーバーを担当していました。 APIサーバーはメタデータなどの保存の役割も持っており、フロント・データ処理サーバー・AIサーバーにそれぞれAPIの提供をしています。APIはREST(風)で提 ...

詳細を見る | 元の記事へ

JSON Schema による矛盾しないドキュメント作成の勧め
JSON Schema による矛盾しないドキュメント作成の勧め

Blog Entry (Feb. 25, 2018, 5:14 a.m.)

Tilo Mitra's avatar

cronとPythonとSeleniumとで決まった時間にラジオを聞く

家にいるときは朝からラジオを聞くことが多いので、目覚まし代わりにラジオを再生するようにしたいと思います。時間を指定してラジオをつけようと思うと数千円出して新しい機器を購入したりアプリを入れたりということが選択肢としてありますが、こちらの記事によるといろいろ苦労もあるようです。 →「ラジオで爽やかに目覚めたい! だけなのに、けっこう大変だった話。ソニーの電球スピーカー&ラジオ」 そこで、自分の家にはUbuntuを入れているインテルのNUCがあることを思い出し、cronを使ってradiko.jpか ...

詳細を見る | 元の記事へ

Blog Entry (Jan. 27, 2018, 6:56 a.m.)

Tilo Mitra's avatar

小さな画面のMacで戦うためのツール群

最近仕事では MacBook Pro 13 インチモデル一台のみで作業しています。家では15インチの MacBook Pro に27インチのモニターを繋いで作業しているのでそれに比べると作業効率は若干落ちている気がします。なるべく効率を落とさないで作業するためのツールを紹介します。 Magnet Magnet ウィンドウをドラッグして画面端に寄せたりキーボードショートカットを利用したりすると画面サイズに合わせてウィンドウを自動調整してくれるツールです。どこかの論文で読んだ気がするのですが ...

詳細を見る | 元の記事へ

小さな画面のMacで戦うためのツール群
小さな画面のMacで戦うためのツール群

Blog Entry (Aug. 6, 2017, 7:29 a.m.)

Tilo Mitra's avatar

[小ネタ] fishの重複パスを削除する

最近自宅のUbuntuのログインシェルを試験的にfishにしています。 「fish_user_paths は環境変数 PATH に優先的に加えられるディレクトリの配列変数」1ですが、fishの設定ファイルであるconfig.fishが読み込まれるたびにfish_user_pathsに同じパスが何度も書かれてしまうので対策しました。 同じパスが増える理由 set -U fish_user_paths /home/use_name/.pyenv $fish_user_paths set -U ...

詳細を見る | 元の記事へ

Blog Entry (Aug. 3, 2017, 12:57 p.m.)

Tilo Mitra's avatar

[小ネタ] なんでもMarkdownで書くようにすると捗る

プログラマーという仕事をしているとプログラミング言語だけでなく自然言語を書くことも多いです。最近自分はドキュメントにしろちょっとしたメモにしろMarkdownで書くのが好みです。 Markdownで書くことのメリット 低コスト 自分がキャリアをスタートさせたときはA4で印刷されることを前提に作られたExcel方眼紙を利用してドキュメントを書いたり丁寧に手書きの履歴書を書いたりという環境でした。Pagesのようなちょっとおしゃれなビジネスマンが使うようなツールでもスタイルを気にする必要が ...

詳細を見る | 元の記事へ

Blog Entry (May 30, 2017, 1:25 a.m.)

Tilo Mitra's avatar

BigQueryを利用したアプリケーション作成時に理解しておくべきジョブの概念

BigQueryをログの保存先としていると、BigQueryを使ったアプリケーションを利用・作成する機会が増えてきます。アプリケーションを作成するために必要な「ジョブ」の概念について軽くおさらいします。 BigQueryにおけるジョブとは ジョブは簡単に言えばクエリの実行やデータのロードなどBigQueryで何らかの動作を実行させるための仕組みで、非同期で実行されます。ジョブは必ず1つのプロジェクトに紐づくので、どのプロジェクトに対して課金されるかを明らかにするのにも役立ちます。APIから ...

詳細を見る | 元の記事へ

Blog Entry (May 1, 2017, 11:31 p.m.)

Tilo Mitra's avatar

[小ネタ] Pythonでimportの前に関数を実行しなければならないときの苦肉の策

小ネタです。 殆どないケースですが、Pythonでimportの前に関数やメソッドの実行をする要件が出てきたときの策です。 経緯 LinuxでmatplotlibをインストールしてPythonコード上で使用した時に以下のようなエラーが発生しました。 _tkinter.TclError: no display name and no $DISPLAY environment variable このエラーの解決策は検索するとすぐに出てきて、matplotlibのバックエンドをAggにすれ ...

詳細を見る | 元の記事へ