タグ

ブックマーク / blog.yuyat.jp (14)

  • Kubernetes の ConfigMap を Immutable に管理する

    Kubernetes の ConfigMap を Immutable に管理する Jul 1, 2018 Quipper では Microservices 基盤として Kubernetes によるクラスタを構築し、もうすぐ番環境にリリースしようとしています。当は Deis Workflow で使う Kubernetes クラスタを既に番で運用していますが、Deis なしでの運用に変えようとしているのが最近の状況です。 そこら辺の背景は 2018/07/19 に行われる Quipper Product Meetup でお話しするとして、今は YAML の管理どうするかみたいなところから試行錯誤している状態で、基的には Pull Request ベースでレビューしてマージされたらデプロイ、みたいなことをアプリでもクラスタでもやる感じになっています。 今日は、その中でも ConfigMa

    Kubernetes の ConfigMap を Immutable に管理する
    ryshinoz
    ryshinoz 2020/06/11
  • AirPods Pro を使って英会話の訓練をしながら Kubernetes をはじめとするあらゆるテクノロジーについて学べるすごい学習法

    AirPods Pro を使って英会話の訓練をしながら Kubernetes をはじめとするあらゆるテクノロジーについて学べるすごい学習法 Dec 2, 2019 約 1 年ぶりにブログを書くにあたって、めちゃくちゃ釣りっぽいタイトルにしてみました。 (昨日すでに別の記事が出ていますが、書き始めたのはこちらが先でした) この記事は AirPods Pro のアフィリエイトによる小銭稼ぎ (まぁ今現在 Amazon では売り切れてるけど) と、僕のあらゆる物事に対する学習・訓練に対する考え方をまとめて、識者からフィードバックを得ることを目的にしています。 で、その両方を達成する上で都合がいいので、AirPods Pro を使ったシャドーイングを題材に書いてみようと思います。学習に関する考え方についてはいかにもわかってる風に書きますが、素人が適当なことを言っているだけなので、暇つぶし程度にご笑

    AirPods Pro を使って英会話の訓練をしながら Kubernetes をはじめとするあらゆるテクノロジーについて学べるすごい学習法
    ryshinoz
    ryshinoz 2019/12/03
  • CLI ツールを Go で書いて Docker イメージとしてリリースする

    最近ようやく開発ツールとして Docker が手に馴染んできたので、タイトルの件も含めていくつか雑多に書きます。 CLI ツールを Go で書いて Docker イメージとしてリリースする コマンドラインツールを Go で書く、というのは以前からやっていて、主な理由としては「クロスコンパイルができるのでバイナリリリースが簡単」というのがありました。便利なので、クロスコンパイルから GitHub へのリリースを一発でやってくれるラッパーツールを書いたこともありました (一応動くものの、開発は非常に中途半端なところで止まってますが) gox して ghr するツール ggallin 作った その後、2017 年に入って Docker で Multi-Stage Builds という機能が実装されてからは、Dockerfile 内の build ステージで go build したバイナリを最終的

    CLI ツールを Go で書いて Docker イメージとしてリリースする
    ryshinoz
    ryshinoz 2018/10/11
  • bundle install には --clean を指定する (特に Circle CI では)

    bundle install には --clean を指定する (特に Circle CI では) Apr 16, 2018 TL;DR bundle install を --clean オプション付きで実行することで、もう使っていない gem や古いバージョンの gem が削除されます。 さもないと、Circle CI 上における Bundler のキャッシュの restore はどんどん遅くなります。 前提 この記事では Circle CI 2.0 において、store_cache と restore_cache を使って、Bundler の gem をキャッシュしているプロジェクトを対象としています。 キャッシュの restore が遅い!! ある日ふと、Circle CI におけるキャッシュの restore にすごく時間がかかっていることに気づきました。 その時のプロジェクトにお

    bundle install には --clean を指定する (特に Circle CI では)
    ryshinoz
    ryshinoz 2018/04/20
  • Quipper に入社してました | Born Too Late

    2018/06/09 追記: 現在Quipper は積極採用中です。詳しくはコーポレートサイトかキャリアトレックをご覧ください。 ちょうど 2 ヶ月前に退職についてについて書いていたけど、その翌週の 9 月 7 日から Quipper で働いていた。 初出社 & 初プルリ済みです pic.twitter.com/PvmeYlgKpb — Yuya Takeyama (@yuya_takeyama) 2015, 9月 7 入社当日に Twitter に書いたりしていて、全然隠していたわけではないのだけど、さすがに入って直後だと「転職したぜイエーイ!」で終わる個人の日記レベルのことしか書けないだろう、ということでしばらく放置していた。 いまは入社から 2 ヶ月ほど経ち、日々の仕事や社内の雰囲気にも慣れてきたので、そういうところも紹介も添えて「転職してたぜイエーイ!」的な個人の日記を書いておこう

    ryshinoz
    ryshinoz 2015/11/02
  • Web エンジニア 6 年 5 ヶ月やってたどり着いた価値観 | Born Too Late

    Web エンジニアとして経験を積むことでいくつかのプログラミング言語やツール・ミドルウェアの使い方を覚えたりもしたけど、それらのうちいくつかは 10 年後ぐらいには陳腐化してしまっているかもしれない。 だけどそれらを通じて身につけた価値観や哲学はもっと普遍性を持っているような気がする。 大学を卒業し、Web エンジニアとしての職を得て 6 年 5 ヶ月、日数にして 2344 日経ったので、現時点での頭の中にあるもののダンプを残しておく。 どこかで聞いたようなことばかりで新鮮味はないと思うけど、自分で実感を持ってたどり着けたことには意味があるはず。 プログラミングについて 言語はいろいろなものを試してみる 毎年新しい言語に挑戦せよ、というのは確か dankogai さんの講演をまとめた記事で読んだはずなんだけど、記事が見つからない。 キーワードをもとに検索してみたら達人プログラマーにもそうい

    ryshinoz
    ryshinoz 2015/09/03
  • DSL で音声教材をハックするツール AudioHacker を作った | Born Too Late

    はじめに この記事は試験前日に部屋の模様替えをやりきったときみたいな気持ちで書かれています。 TL; DR 買った音声教材のトラック分けが気に入らないので独自に切り分けたいが、量が多いと大変なので、インターネットのみんなと共同作業したい 切り分けた音声ファイルをそのままアップロードすると著作権法上問題になってしまう 「切り分け方」をコード化して GitHub で共有できるようにすればいいじゃない それを実現するツール AudioHacker を Ruby で作った サンプルとして DUO 3.0 / CD 基礎用を英文だけに切り取るための定義ファイルも作った 英語教材をハックしたい。 — Yuya Takeyama (@yuya_takeyama) 2014, 2月 2 例えば英語教材の CD のトラックの切り分けが気に入らなくて、何人かで協力して切り分ける作業をしたいとき、音源自体を W

    ryshinoz
    ryshinoz 2014/02/03
  • Ruby/Rails 用 DI コンテナ Dee をつくった、あるいは Ruby のカルチャーについて | Born Too Late

    あけましておめでとうございます。 大晦日は実家でプログレ聞きながらコード書いてました。 今さらながら Heldon の Stand by とか聞いてたんですが、Tangerine Dream を思わせるミニマルなシンセサイザーの反復と、リシャール・ピナスによるロバート・フリップばりの暴力的なギターソロが絡みあっており、大変良いですね。 作ったもの また説明長くなりそうなので、はじめに作ったものの紹介です。 dee dee-rails この Dee というのが DI コンテナの体です。 名前は Ozzy Osbourne ソロ 1st Blizzard of Ozz におけるランディ・ローズのギター曲からです。 50 秒と短く、メタルアルバムの中にあってクラシック風の静かなギター曲ですが、同時にアルバムから欠かせない存在感を放つ名曲です。 何が言いたいかというと、Dee はコンパクトな実装

    ryshinoz
    ryshinoz 2014/01/01
  • Spika Hackathon に参加してきた | Born Too Late

    久々のブログです。 夕方に3DS LL とポケモンのセットが届いたのですが、電源がついてなくてあんまり遊べてません。 今週末は @kuzuha さん主催での Spika Hackathon というイベントに参加してきました。 Spika がどういうものなのかはこの辺の記事を見ればいいと思います。 Spika - world first opensource messenger for ios/android 世界初 メッセンジャーアプリ「Spika」を完全オープンソースで公開、フロントからバックエンドまで提供 TechWave に記事が紹介されて直後から、コードの品質がヤバいと話題になっていました。 masuidrive さんの Facebook の投稿 レガシーズ 公式ブログ — PHPerはSpikaのどこを見たのか? 僕自身も以下のような印象を持ちました。 (アッ、メッセンジャーの綴

    ryshinoz
    ryshinoz 2013/10/21
  • PHP で Reactor パターンを使った非同期 MySQL 問い合わせ | Born Too Late

    最近は非同期処理に興味があります。 Reactor パターンというのは、非同期処理の実装パターンのひとつで、例えば HTTP 問い合わせなんかで「読み込みが完了するのを監視しつつその他のタスクを進め、読み込みが完了したタイミングでその結果を処理する」みたいなヤツです。 例えば Node.js では Reactor パターンを使ったプログラミングが比較的簡単に行えます。 PHP でも同じことをやりたい、というときには React というフレームワークがあって、少し前に話題になりました。 PHPでもリアルタイムWeb。node.phpReact」 現状 React ではファイル I/O やソケット通信を非同期に行えるようになっております。 が、MySQL で非同期処理を行う方法は今の所提供されていません。 PHP でも mysqli_poll を使えば非同期に MySQL にクエリを投げられ

    PHP で Reactor パターンを使った非同期 MySQL 問い合わせ | Born Too Late
    ryshinoz
    ryshinoz 2012/08/20
  • 社内勉強会で MySQL 入門的なはなしをしてきた | Born Too Late

    社内で, 主に MySQL 初学者を対象とした勉強会をやってきました. 社内勉強会ということで, というと言い訳になりますが, いつも以上にゆるふわな内容となっています. 改めて見るとソースどこだよ? っていう情報がいくつかあるので反省. (「RDBMS を使いつつ, NOSQL で最適化というパターンがほとんど」とかどこのことだよと. まぁ Tumblr とかはそれにあたるみたいですが) あと, インデックスの仕組みを単純化して話すために B-Tree じゃなくて Binary Search Tree について紹介してますが, この辺も詳しい方の突っ込みが欲しい所です. ところで勉強会に参加していてよく思うのですが, 勉強会というのは自分で発表してナンボだということです. これは勉強会で人の話を聞くのは意味が無い, ということではなくて, 自分で調べたときの方が 30 倍ぐらい身に付くん

    社内勉強会で MySQL 入門的なはなしをしてきた | Born Too Late
  • Travis CI で PHP 5.4 も CI する, PHPUnit も Behat もやる | Born Too Late

    この記事は PHP5.4 Advent Calendar jp: 2011 の 20 日目です. 前日: 次のプロジェクトPHP 5.4 の採用を提案するための 3 つのポイント (@co3k さん) 翌日: (@kokkekun さん) Travis CI とは Travis CI は, Continuous Integration (CI: 継続的インテグレーション) を実行するクラウド環境です. GitHub に push すると, Travis CI の VM 上に通知が行われ, GitHub リポジトリからのチェックアウトや, ユニットテストの実行が行われます. ユニットテストの実行は成功/失敗の結果により通知が行われ, また, 履歴も Travis CI 上に残ります. 元々は Ruby 専用のサービスだったと思いますが, その後 Clojure や Node.js などを

    Travis CI で PHP 5.4 も CI する, PHPUnit も Behat もやる | Born Too Late
    ryshinoz
    ryshinoz 2011/12/21
  • PHP カンファレンス 2011 で DSL と [] について LT してきた | Born Too Late

    また, 当日 Ustream で配信された動画はこちらにアーカイブされています. 動画中の一番最初がボクの発表です. Lightning Talk この LT では DSL のサンプルとして Paml というテンプレートエンジンを紹介しています. また, オチとして, [] で DSL だけじゃなく汎用言語も実装できる, ということで PHP で実装された Lisp ライクな言語 LisPHP を紹介しています. いずれも GitHub にリポジトリを公開しているので, 興味のある方はご覧ください. Paml LisPHP 結構ネタ的な要素も強いのですが, この発表でボクが割と真面目に主張したかったのは以下の点です. PHP 5.4 では [] が配列リテラルとして導入された PHP の array は他の言語と比べて特殊なデータ構造である その特性を DSL 的に活用することができる ス

    PHP カンファレンス 2011 で DSL と [] について LT してきた | Born Too Late
    ryshinoz
    ryshinoz 2011/09/13
  • PHP 用キャッシュライブラリ Cache_Casual をリリース | Born Too Late

    Cache_Lite は未だに PHP4 なコードであんまりだし, Zend_Cache は依存関係がめんどくさそうなので, 外部ライブラリに依存しないものを作ってみました. Github Openpear 使い方 Cache_Casual オブジェクトは ArrayAccess インターフェイスを実装しており, 連想配列のように操作することができるので, かなりカジュアルだと思います. カスタムキャッシュコンテナ 上記の例では, キャッシュコンテナとしてファイルを利用しています. キャッシュコンテナは Dependency Injection (依存性の注入) により Cache_Casual オブジェクトに差し込むことができるので, Cache_Casual_ContainerAbstract クラスを継承し, Cache_Casual_ContainerInterface インターフ

    PHP 用キャッシュライブラリ Cache_Casual をリリース | Born Too Late
    ryshinoz
    ryshinoz 2011/08/14
  • 1