This post looks at two new PRs from the Docker project that vastly improve the developer experience for building small images efficiently. These changes are bleeding edge and are not available in a release yet, but I wanted to test them out. A Docker PR has just been merged to enable multi-stage builds and a second PR opened just after that to improve the UX even further. Happy day: https://t.co/W
Home Archive About GitHub Mastodon Subscribe to the feed. This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. This blog is served by Hugo. Sat, Jan 14, 2017 Go is about naming and organization as much as everything else in the language. Well-organized Go code is easy to discover, use and read. Well-organized code is as critical as well designed APIs. Th
Three new books, Go Optimizations 101, Go Details & Tips 101 and Go Generics 101 are published now. It is most cost-effective to buy all of them through this book bundle in the Leanpub book store. This article will explain the code blocks and identifier scopes in Go. (Please note, the definitions of code block hierarchies in this article are a little different from the viewpoint of go/* standard p
Target audienceProgramming experienceLittle or now experience with functional programmingUnderstanding of Elixir basics OutlineOverview of the functional paradigmElixir functional programming featuresState management in ElixirFunctional paradigmProgramming paradigmA "way of programming"Way of reasonningWay of structuring codeA few programming paradigmsImperative programming (C, Fortran, Basic)Func
日本ではフリーでオンラインの株価取得APIが全然ありません。 オンラインで株価を取得しようとすると下記のような状況です。 Yahooファイナンスをスクレイピング -> Yahooファイナンスに禁止されている Google Finance API -> 公式ページに「今はもう使えないよ」 kabu.com API -> 法人向け。個人には未提供 楽天証券RSS, 岡三RSS -> アカウントとExcelが必要 k-db.com -> CSV。リアルタイム性はなし しかしGoogle Financeのドキュメントなし非公式APIが存在しており、こちらを使ってリアルタイムに株価を取得することができそうです。 https://www.google.com/finance/getprices?q=6420&x=TYO&i=86400&p=1Y&f=d,c,v,o,h,l&df=cpct&auto=1
pyenv + venvでPython3環境を構築する - $shibayu36->blog; の記事で、特定のPythonプロジェクト用のvirtualenv環境を導入することが出来ました。しかし、このプロジェクトに入るたびにsource venv/bin/activateし、逆に抜ける時にdeactivateするのは 面倒 どう考えても実行を忘れる という問題があります。 そこでzsh-autoenvというzshプラグインを使って、自動でactivateとdeactivateを出来るようにしたのでメモしておきます。 zplugを導入する 今回の本題から外れますが、zshのプラグインの管理ツールをこれまで入れてこなかったので、この機会にzplugを導入しました。 おい、Antigen もいいけど zplug 使えよ - Qiita https://github.com/zplug/zpl
Pull Requestを出してレビューしてもらってから反映。 どこにでもあるありふれた開発フローに付きまとう、どこにでもあるありふれた問題。 「Pull Requestがレビューされない」 もちろん開発フローにレビューが含まれている以上、レビューをしないメンバーにも非がないとは言えませんが、多くの場合はレビューされないPRには問題があるものです。 デカい 兎にも角にもデカいPRは読むのがつらいです。 もちろん要件が明記されていないなど、他にもPRが読みにくくなる原因はたくさんありますが、一番はこれです。 極端な話、1行変更のPRは他に何も書かれていなくても実装内容を察することができますが、10ファイル100行の差分と箇条書き20点の要件が書かれたPRは内容を把握するだけで一苦労です。 しかし、このこと自体は数カ月でもコードを書いていれば自然と勘づくもの。 問題はなぜPRが大きくなってしま
スゴイっぽい図((force layout))って何 こんな感じの、なんかビヨーンとなってシャキシャキして動くやつ。 説明するより動くものを見てもらった方が早いかも。 作ったdemo やってみた感想 グワングワン動いて楽しい 動的な描画をするのは難しそうだと思ってたが、そうでもなかった。 d3.js自体も難しいものだと避けてきたが、たくさんの人が記事にあげてくれているからググればなんとかなる。 実際に何かに使うには、描画したいデータを必要なフォーマットに直すところがちょっと大変そう。 解説 0. 全ソース 一旦全ソースを貼ってみる。 コピペしていくつかの値をいじってみるだけでも楽しい。 <!DOCTYPE html> <html> <head> <title>d3test</title> <script src="http://d3js.org/d3.v3.min.js" charset=
The document contains information about platforms and target users for an organization. It focuses on desktop and mobile browsers for PC, Android, and iOS devices. The target users are between 25-40 years old, with a total of around 500 users. The document repeatedly contains copyright notices for eureka, Inc.Read less
Google で何かおかしなことが起こったらどうなるか、考えたことはありますか? この業界は面白い比喩を使うのが好きで、何か起こった際に対処することを「火消し」と呼んだりします。 上の写真に写っている実際の消防士の場合とは異なり、Google で起こった事故で生命の危険にさらされることは通常はありません。つまり完璧な比喩にはなっていないのですが、Google の Site Reliability Engineer(SRE : サイト信頼性エンジニア)の 1 次対応は、他の分野での 1 次対応と共通点が多いのです。 他分野での 1 次対応と同様、Google の SRE は定期的に緊急時対応の訓練を行い、迅速かつ効率的に目の前の問題が解決できるよう、スキルやツール、テクニック、態度に磨きをかけます。 緊急時のサービス対応チームおよび Google では、何かが起こったときのことを「インシデン
Java 版 Fluentd サーバである、Influent のベンチマーク第二弾です。 MessagePack デシリアライズ処理を改善したので、その効果を測定します。 テスト概要 http://blog.okumin.com/entry/2017/01/24/002953#テスト概要 Disclaimer http://blog.okumin.com/entry/2017/01/24/002953#Disclaimer テスト環境 インスタンス 送信側、受信側共に Google Compute Engine asia-northeast1 リージョンの n1-highcpu-32 を用いました。 送信側は二台用意し、それぞれ20プロセス、合計40プロセスの Fluentd が並列にイベントを送信します。 バージョン 環境構築は influent-benchmark の a4565f88
ニコニコ動画/ニコニコ生放送を支えるシステム Dwango Media Cluster (DMC)。 DMC とその周辺システムは主に Erlang/Elixir で開発されています。 今回はその設計・開発・運用や Erlang/Elixir の強みと、一方で実際に大規模運用する中で遭遇した想定外のヒヤリハットをお話します。。
This document discusses Yarn and its advantages over npm. It notes that Yarn uses yarn.lock files instead of npm-shrinkwrap.json files to lock down dependency versions. Yarn is also described as being faster, able to work offline by caching dependencies, and potentially more secure than npm with features like flat mode and module folders. The document suggests Yarn may handle dependencies and devD
年度末の金曜日を英語で締めくくろう! # 今年こそ...今年こそ英語レベルアップしたい... もう一人で挫折したくない、仲間が欲しい、月一くらいでモチベーション維持のためにアウトプットの場がほしい...。 そんな気持ちで、今年こそ英語が… 主催のkayocoがTwitterで呼びかけてとりあえず始まってみたこの勉強会も第3回です。毎回満員御礼。LT枠は倍率約2倍です。枠の都合でなかなか来れない皆様には申し訳ありませんが、毎回内容はかなり濃密だと自負しています。 3回目にして、なぜここで記事を上げるのかというと、今回僕が登壇してほしいとお願いした吉川さんはじめ、内容が濃すぎて僕自身振り返りの時間を取らないと内容が吸収しきれなかったからなんですね。LT枠で登壇されたみなさまには大変申し訳無いんですけど、この記事では吉川さんが話されていた内容にフォーカスさせてください。(LT枠を含めたまとめは後
最近,環境ごとのデータベーススキーマの差分をチェックする機会があった.プロダクション環境とステージング環境ならまだしも,開発環境だと検証のために追加したインデックスがそのままになっていたり,開発が途中で止まってしまって日の目を見ることがなかったテーブルが残っていたり,そういうことって比較的あるのではないかなと思う.特に今の環境だと,マイグレーションの仕組みが整っていないという課題もあり,より一層,データベーススキーマに差分が出やすくなってしまっている. 今回は MySQL から公式に提供されている mysqldiff というツールを使ってデータベーススキーマの差分をチェックした. mysqldiff をインストールする mysqldiff は MySQL Utilities という MySQL の管理ツールパッケージの中に同梱されている.現在だと v1.6 が最新になっている. MySQL
オプション パッケージを作る際、柔軟性を持たせるためにオプションを持たせたい時がしばしばあります。 しかしオプションは知っての通り設定しないことが少なくありません。 単にコンストラクタに並べるようでは無用な複雑さをはらむことになります。 JavaなどではOptional Parameterなどのように、デフォルト値が指定できる機能があります。 機能の厳選されたgo言語ではそのような機能はありませんが、 "Self Referential Functions Design"というテクニックがあり、 それについての記事がRob Pike氏の記事を筆頭にいくつか説明されています。 オプションと相性が非常に良いため、合わせて"Functional Option Pattern"とも呼ばれています。 Dave Cheney氏の記事を参考におおまかに説明したいと思います。 様々な解決策 あるServe
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く