はじめに 新人のころ、先輩からコードレビューを受ける際、よく耳にしたのが、 「うーん、細かいがおれならこう書くよ。まあ、間違ってはないけど」 当初は、そのありがたみがよくわからず、しぶしぶ直していましたが、 今になって、先輩の「細かいけど伝えたい」気持ちがわかったような。 先輩の指摘事項(Python例) シングルクォートか、ダブルクォートか 自分
BusterとかStretchという名前が見慣れない方もいるかもしれませんが、これはLinuxディストリビューションとしてシェアの大きなDebianのコードネームです。 Debianバージョンが少し古いStretchの方がちょびっとサイズが小さかったりはしますが、まあ実用的にはサポートが長い方がいいですよね。slimを使ってGCCとかのコンパイラを自前でダウンロードしている記事とかもたまに見かける気がしますが、マルチステージビルドであれば、そんなにケチケチしなくていいのと、パッケージダウンロードは逐次処理なので遅く、処理系が入ったイメージのダウンロードの方が高速です。並列で処理されるし、一度イメージをダウンロードしてしまえば、なんどもビルドして試すときに効率が良いです。また、多くのケースでネイティブのライブラリも最初から入っており、ビルドでトラブルに遭遇することはかなり減るでしょう。 Py
最近は設定ファイルだけではなく環境変数で設定を渡すことがけっこうある(コンテナ的な文脈だったり、12 factor app的な文脈だったり色々)。自前で頑張っても良いけれど。自分でコードを書かずに済ませたい。 何か良いライブラリは無いかなと探してみたらあったので使いかたのメモ。 github.com python-dotenv Get and set values in your .env file in local and production servers. tada install $ pip install python-dotenv 挙動 getting startedを読むだけでは挙動を把握できなかったので色々調べてみた。 挙動を一言で言うと、os.environに対してdefault値を与えるもの。 たとえば以下のような.envがあるとする。 .env prefix=hel
1つにつき3行で書いた、言語の話は炎上しがちだから匿名で。 C言語: 現代だと電子機器のプログラミングで使うよ! Linuxとかサーバープログラムの内部で使われることが多いけど、 自分で手を加えることは少ないから安心して! C++: 実行速度が超高速なのと複雑怪奇な構文が特徴だよ! ゲームプログラミングや動画編集ソフトといった高いパフォーマンスが 求められるシステムで使われるイメージがあるから、最初は近づかなくても良さそうだね! C#: Unity でゲーム作る時に使うよ! 比較的書きやすくて勉強になるからオススメ出来るけど、 Microsoft にズブズブな印象が強いのがちょっと気になっちゃうね! Java: Androidアプリとかサーバーアプリ作るのに使えるよ! 勉強しやすくて個人的には良いと思うけど、 現代だったら他の言語のほうが書きやすくてオススメかな?? Scala: Java
10月29日にリリースされたFedora 31で行われた大きなアップデートのひとつに、Python 2を完全に削除し、PythonコマンドをPython 3にスイッチしたことが挙げられる。そして2020年春のリリースとなる「Fedora 32」では、Pythonのパフォーマンスをさらに向上させるための変更が実施されることになる。 Changes/PythonStaticSpeedup - Fedora Project Wiki これまでFedoraではPython 3パッケージをコンパイルする際には共有ライブラリである「libpython3.x.so」を使用しており、最終的なバイナリは/usr/bin/python3.xに動的にリンクさせていた。だが、libpython3.x.soのかわりに静的ライブラリ「libpython3.x.a」を使ってみたところ、ワークロードによって多少差が出るも
>>> import subprocess >>> subprocess.check_call(["digdag"]) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 181, in check_call retcode = call(*popenargs, **kwargs) File "/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subpro
はじめに PythonでRSS ver2を出力する必要があったのですが、その際に何度かコケたのでメモ。 Pythonはjsonと親和性が高いですが、XMLは扱いづらいように思います。 以下のようにいくつかライブラリはあるものの何かとやりたいことが実現できず。 feedgenerator → google製で良さげに見えるが、lastUpdateなど独自仕様のタグを生成できない xml.etree.ElementTree → タグ要素に日本語を入れるとExpatErrorが発生 やり方 結局DOMオブジェクトからXMLに変換する方法で落ち着いた。 文字列のXMLテンプレートから生成する場合 #!/usr/bin/env python # coding: utf-8 from xml.dom.minidom import parseString xml_template = "<rss ver
はじめに こんにちは植木和樹@上越妙高オフィスです。Lambda(Python)を使って様々なAPIを結びつけた処理を書いてます。 APIの呼び出しは一時的にエラーを返す場合があります。時間をあけて再試行すると成功することもあるので、適切なリトライ処理を検討しています。 Pythonで使えるモジュールはないかと探していたところ retrying を見つけました。 retrying 1.3.3 : Python Package Index retrying を使うと以下のようなことができます。 リトライ回数の設定 リトライ間隔の設定 例外や結果に応じたリトライするかどうかの設定 簡単に導入でき機能も十分のようだったので、いろいろ試してみました。 環境 python 2.7.14 retrying 1.3.3 パラメーター一覧 retrying の使い方はリトライさせたい関数に対して @ret
こんにちは、@yoheiMuneです。 今日は少しマニアックなポイントですが、FlaskアプリケーションでJinjaテンプレートを使う場合に、変数の中身がNoneだったら空文字を出力したい件をブログに書きたいと思います。 Jinjaテンプレートで変数がNoneの場合に空文字を出力する FlaskではデフォルトのテンプレートエンジンにJinjaが採用されていて、それを用いてHTMLなどを便利に出力することができます。他の多くのテンプレートでNoneやNullやNilなどが変数に入っている場合に、空文字を出す方法はテンプレートエンジンそれぞれですが、Jinjaでは以下のようにするようです。書き方としては幾つかあります。 {# 方法1:変数の値がFalseと判定されるものは空文字を出力する #} <p>{{ userName or ''}}</p> {# 方法2:defaultFilterを使う
Warning: This is an old version. The latest stable version is Version 2.0.x. Configuration Handling¶ Applications need some kind of configuration. There are different settings you might want to change depending on the application environment like toggling the debug mode, setting the secret key, and other such environment-specific things. The way Flask is designed usually requires the configuration
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く