サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
tarosky.co.jp
こんにちは、Pythonエンジニア見習いです。 Pythonでデコレーターを継承先にも適用する のデコレーターを継承先にも適用する方法に欠陥を発見したのでそれがどのようなものなのか 解説していきたいと思います。さらにその代替方法についても紹介します。 なぜクラスの__new__関数を用いる方法ではダメなのか まず、Pythonのクラスに書かれた__new__関数はそのクラスのインスタンスが 生成されるたびに 実行されます 。これにより本来であれば各サブクラスごとに一回デコレーターを適用したい場面で デコレーターがインスタンス生成ごとに適用されてしまいます。わかりやすいように以下に例を示します。 まず、以下に示すようにpythonのクラスや関数が定義されているとします。 def deco(f): @functools.wraps(f) def inner(*args, **kwargs):
WP-CLIを使用するとWordPressの管理画面だけではできないいろいろな健康診断を行うことができます。 コアが改ざんされていないかをチェックする wp checksum core というコマンドを使用すると、WordPress本体が改ざんされていないかをチェックすることができます。 $ wp checksum core Success: WordPress install verifies against checksums. 以下は、wp-settings.php というファイルを書き換えた後のコマンドの実行結果のサンプルです。 $ wp checksum core Warning: File doesn't verify against checksum: wp-settings.php Error: WordPress install doesn't verify agains
High Availability(HA)構成のRedisをKubernetes上で動かせるようにするDockerイメージ k8s-redis-ha を作りました。 Kubernetesでは、状態を持たないマイクロサービスを扱うのは以前から非常に簡単だったのですが、データベースのように状態を持っておりかつクラウドネイティブではないマイクロサービスを扱おうとすると、なかなか面倒な状態が続いてきました。1年ほど前に開発されたHA構成のRedisを実現するイメージに公式サンプルがありますが、7つの kubectl コマンドを順番に入力しないとHA構成を展開できず、やっぱり面倒です(;一_一) しかし、2016年12月にリリースされた1.5でStatefulSetsという機能が追加され、状態を持つマイクロサービスもそこそこ扱いやすくなりました。このStatefulSetsや1.4で追加されたIni
ぼくは生産性の低いプログラマです。あまりにも生産性が低くて困ってしまったので、一体何が生産性を下げているのか調査してみました。すると、コードを書いている時間の半分を、なんとコードの整形に費やしていることがわかったのです! 一行が80文字を超えたら、改行を入れなければいない。逆にすべてが一行に収まるようになったら、途中の改行とインデントを削除して一行に戻さなければいけない。Q&Aサイトからコピペしたコードは、プロジェクトのコーディング規約に合わせてスペースを入れたり削除したりしなければならない。import文は辞書順に並べなければならない・・・。こんな整形を繰り返してると、あっという間に時間が過ぎてしまいます。 EclipseのPyDevやPyCharmのような高機能なIDEを使ってる人にはない悩みかもしれませんが、テキストエディタで開発してるとほんとこういう作業が多い。そこで、OSSのツー
Pythonでインデントをスペース2つにした際のflake81とautopep82の設定方法について書きます。 なぜPythonでインデントをスペース2つにするのか Pythonのコーディング規約(PEP 8)ではインデントについて以下のように言及されています。 Use 4 spaces per indentation level. しかし、最近の傾向としてインデントはスペース2つであることが多くなってきています。 例えば、Google Java StyleやGoogle JavaScript Style Guideなどが挙げられます。また同じオフサイドルールを採用するCoffeeScriptでのコーディング規約でもスペース2つを採用する事例もあります。実際、スペースを4から2にすることによって、一行あたりに書けるコードも増え、結果的にコードをコンパクトにすることができます。 また、基本的
WordPressエンジニアリングのスペシャリスト 私達は、WordPressエンジニアリングのスペシャリストです。300以上のWordPressサイトに関わり、200以上のWordPressサイト運用保守を行っています。PHP開発やインフラ構築の豊富な開発経験、技術コミュニティでの学び、オープンソースへの貢献を通して培う技術を軸にサービスを提供しています。 自動化 人が行っていることを自動化する。コンピュータの正確性、中立性を信頼し、超高速で処理する。 改良 今、当たり前だと思っている仕組みをもっと簡単にする。試行を繰り返し大きな改良をうむ。 最適化 利用者に最適化する。生活やビジネスを通し、感覚的に触れることができるサービスにする。
社員のharaiです。Atomエディタが好きです。社内ではアンケート分析システムを作っています。 弊社ではインターン生を受け入れています。彼らはみな一生懸命で、分からない言葉を聞くと、それがどういう意味なのかすぐ質問してくれます。その中には、日常的に使う用語でありながら私自身も正確な意味を理解しているか怪しいものが数多くあり、自分の無知に改めて気付かされます。 「プロトコルって何ですか?」 「プロトコル」もそうした用語の一つです。質問はそれにとどまらず「HTMLはプロトコルですか?」「APIとプロトコルはどう違うんですか?」と続きます。そこで、私も初心にかえって考えてみることにしました。 ウェブ系の技術者にとって、プロトコルといえばHTTP(Hypertext Transfer Protocol)やTCP(Transmission Control Protocol)、IP(Internet
Dockerfileがあるディレクトリから親ディレクトリを参照する際に、詰まったのでメモします。 Dockerfileをビルドしようとすると、普通Dockerfileのディレクトリに移動して docker build -t service . でビルドできます。しかし、ここで落とし穴があって、このビルド方法の場合、そのディレクトリ内のみにしかアクセスできません。 たとえば以下のようなディレクトリ構成の場合、distディレクトリからビルドするとscriptディレクトリにはアクセスできません。 project/ Dockerfile dist/ Dockerfile test/ Dockerfile script/ foo この問題を解決するには、以下のようにdist/Dockerfileを書き FROM ubuntu:14.04 COPY script/foo /script/foo プロジ
Pythonについて勉強するうちにメタプログラミングについて、興味が出てきたのでまとめます。 メタプログラミングとは メタプログラミングについてWikipediaを参照すると以下のように説明されています。 メタプログラミング (metaprogramming) とはプログラミング技法の一種で、ロジックを直接コーディングするのではなく、あるパターンをもったロジックを生成する高位ロジックによってプログラミングを行う方法 また、より簡潔に、「プログラムのプログラミング」と説明することができます。 Pythonにおけるメタプログラミング Pythonでは、メタプログラミングとは、一般的に以下の概念を利用したプログラミングについて指します。 metaclass decorator 本記事ではmetaclassについて説明します。 metaclass metaclassとは クラスをインスタンス化する
Dockerとは 一言で説明するとすれば軽量な仮想化環境という表現で説明できます。 また、その他の仮想化環境と比較して以下のような利点があります。 OS環境の変更自体を差分で管理できる DockerHub等を利用することで他の物理マシンにOS環境を簡単に持ってくることができる docker-composeなどでスケールできる 欠点を挙げるとすればLinux以外のOSではboot2docker等を経由して\ 動かすしかないことぐらいでしょうか。 OS: LinuxMint17.1(64bit) 3.13.0-37-generic Dockerのインストール aptのリポジトリはバージョンが古いので非公式のリポジトリを使用します。 sudo add-apt-repository ppa:docker-maint/testing sudo apt-get update sudo apt-get
ブログを書くときにブログ専用のエディタやHTMLをベタ書きしている人には革命的なソフトを紹介します。 マークダウン記法 マークダウン記法というものをご存知でしょうか。 hタグを”#”で書いたり、リストを”-“で書いたりするものです。 書きながらプレビューまで見られる便利なエディタがあったので紹介します。 ダウンロード Haroopadの公式ページから自分のOSのものをダウンロードしてきます。 Ubuntu12.04(64bit)の場合 Linux Debian Package(64bit)をダウンロードします。 ダウンロードしたものを開き、ソフトウェアセンターからインストール。 haroopadとコマンドラインから入力して起動出来ます。 初期設定 最初から日本語化されていました。特に設定は必要有りません。 細かい所を設定したければ、ファイル>設定から変更できます。 主な記法 以下で主なショ
このページを最初にブックマークしてみませんか?
『インフラ構築保守、WordPress開発、PHPのシステム開発 - タロスカイ株式会社』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く