ブックマーク / medium.com (19)

  • DockerとPodmanの比較 [Container Runtime Meetup #3]

    Container Runtime Meetup #3 発表資料 「DockerPodmanの比較」PodmanとはPodmanは、Red Hat社を中心とするコミュニティが開発している、Docker互換のコンテナエンジンです。RHEL、CentOS、Fedora などの Linuxディストリビューションに標準で付属しています。 Podmanの使い方は、コマンド名が docker ではなく podman である点を除けば、Docker とほぼ同じです。(例: podman run -p 80:80 --name nginx docker.io/library/nginx ) “Podman”は “Pod Manager” を意味しますが、Podmanを用いてKubernetesのPodを管理することは、基的にはできません。ただし、CRIランタイムとしてCRI-Oを用いている場合に限り、

    DockerとPodmanの比較 [Container Runtime Meetup #3]
    wordi
    wordi 2021/02/06
  • InheritedWidget を完全に理解する 🎯

    InheritedWidgetは、Flutterフレームワーク自身を構成する根幹となるWidgetの1つです。また、通常のアプリケーションコードでも、自前で継承したWidgetを組むかあるいはそれをラップしたproviderパッケージなど経由でよく使われています。 ただ、InheritedWidgetの役割や正確な挙動を掴むのが意外と難しいため、記事ではそれを丁寧に説明していきます。分かりやすい説明が不足している問題だと思っていて、InheritedWidgetは質的にはシンプルです。 TL;DRInheritedWidgetとは何かというと、ざっくり以下のように説明できます。 下位ツリーから直近のInheritedWidgetに O(1) でアクセスできる必要な時に限定して変更を下位ツリー内の特定のWidgetのみに伝播する(リビルドを発生させる)ことができるその特性を活かすためにS

    InheritedWidget を完全に理解する 🎯
    wordi
    wordi 2020/05/30
    InheritedWIdgetの仕組みについて
  • Stateful Widget のパフォーマンスを考慮した正しい扱い方

    FlutterのStateful Widgetは唯一のStateを持つWidgetであり、アプリの状態を保ちながら画面更新する際に必須の存在です。一方、Stateful Widget の不適切な使い方はパフォーマンス劣化や思わぬバグを招きます。 記事では具体的な例を用いて、Stateful Widgetをどう扱うのが適切なのかを説明してきます。 以下の記事を書きましたが、これを理解した前提の内容となっています(RenderObject周りはあまり関係しないのでスキップしてもOKです)。

    Stateful Widget のパフォーマンスを考慮した正しい扱い方
    wordi
    wordi 2020/05/28
    Flutterでのパフォーマンスチューニング、今はStreamBuilderがあるのでまた事情が違ってきてるはず
  • 心理的安全性が高くアジャイルな組織設計

    心理的安全性の高いチームを作るためにサーバントマネージャーに徹する話などを聞くことがありますが、なんか大変そうだなーと考えてたら、これは組織設計の課題だと思ったわけです。 サーバントマネージャーは過渡期と割り切って、来の仕事である課題解決に時間を使えるようにしていったほうがいいです。 心理的安全性とは他者の反応に怯えたり羞恥心を感じることなく、自然体の自分を曝け出すことのできる環境や雰囲気のことを指します。 だそうです。失敗するかも…と早めに言えることはアジャイルな組織には必須です。 心理的安全性は1人のメンバーが日常的にコミュニケーションする相手との視座、視野、視点が近いと高くなると仮説を立ててみました。 視座、視野、視点の図 https://tech.drecom.co.jp/viewpoint-of-being-leader/視座が離れてる例:リーダーが超ベテランでメンバーが超若い

    心理的安全性が高くアジャイルな組織設計
    wordi
    wordi 2019/01/14
  • You don’t need more than one cursor in vim

    Sublime text first introduced multiple cursor editing (as far as I know). Meaning editing code at multiple positions at the same time. There is a plugin for vim (vim-multiple-cursors) which allows you to mimic that behaviour, but it has some problems. Autocompletion is broken, the history is different from what I might expect and you can’t map the manipulations to a keybinding for your next vim se

    You don’t need more than one cursor in vim
    wordi
    wordi 2018/12/11
  • GAE/Goにおけるコスト最適化 #golang – timakin – Medium

    Go Advent Calendar 2018 2日目の記事です。1日目はtenntennさんの「実装して理解するスライス #golang」でした。 せっかくなので実益に繋がる話を書くべきだと思っておりまして、今回はGoConでGAE/Go 2nd genに対して注目が集まっていたのもあり、「GAE/Goでの運用コスト最適化」について書こうと思います。 (とはいえ、この分野だとGCPUG界隈のsinmetalさんやvvakameさん、apstndbさんあたりが圧倒的に詳しく、僕が書くことに関してはやや恐縮するのですが) どれくらいコストを減らしたかサービスを運営する中で、クライアントからAPIが叩かれるだけでなく、クローラー等による大量のアクセスがある場合、いくら小規模でもかなり費用が可算できます。そしてそれは安いと評判であるGAEでも例外ではありません。 お財布が困窮していたわけではない

    GAE/Goにおけるコスト最適化 #golang – timakin – Medium
    wordi
    wordi 2018/12/03
    GAE/Goで費用を抑えるための手法
  • 3週間で48,000行のコードをこの世から抹消した話 – FiNC Engineering Blog – Medium

    qsona (twitter) です。以前、7,600行のコードを安全にこの世から抹消した話 という記事を投稿しましたが、今回はそれよりもずっと泥臭い話を書きたいと思います。あまりテクニカルな話はありませんが、現場における取り組み・試行錯誤の経過を読んでいただければ幸いです。 たくさん消しました、がんばりました〜背景肥大化するRailsサービスFiNCはマイクロサービスを指向しており、主にRuby on Railsで書かれたサービスが30個ほど存在します。しかし、FiNCアプリのメインとなるRailsのサービスは、テーブル数800を超える大きなサービスになっています。 FiNCのサービスは2014年から書きはじめており、かなり初期の段階(2015年)からマイクロサービス化を意識してきました。にもかかわらず1つのサービスが肥大化している理由はいくつかあります。 最初の1〜2年ですでに大量のコ

    3週間で48,000行のコードをこの世から抹消した話 – FiNC Engineering Blog – Medium
    wordi
    wordi 2018/09/22
    削除作業をスクリプト言語でやりきったのは凄い、それだけ周辺ツールやノウハウも発達してるんだろな
  • Reactの新Context APIとRedux is deadはどう関係するのか?

    先日、reduxのメンテナであるMark EriksonさんがBlogged Answers: Redux — Not Dead Yet! という記事を書いていて「はーなんだろうなー」と流し読みしていた。 そんな折、React 16.3 がリリースされ、Context APIが刷新されたのを見て、「あ、これは確かに向き合い方ちょっと変わるかも」というのを思ったのでまとめてみる。 Redux — Not Dead Yet!を要約する元記事をざっくり要約してみるとこんな感じ Reduxはどこにも行かないよ。メンテしていくし、役割もあるよContext APIによってReduxを置き換えられるパターンはありえるよ。ただその場合、最初からReduxいらなかった可能性あるよGraphQLがReduxを置き換えることはあるかも。でもReduxのほうがハマるパターンもあるよ最近Dan Abramovさん

    Reactの新Context APIとRedux is deadはどう関係するのか?
    wordi
    wordi 2018/04/12
    Vueに移ってこの辺勉強不足、あとで自分でも書く
  • Vueを昔触った後Reactをどっぷり触ってもう一回Vueを触ってReactに戻って得た感想

    最近ReactVueをどっちも触る機会があったり、「ReactVueどう選定するの?」という問いを投げられ、スッと答えられなかったな、と後悔があったりしていたので、Vueを触って得られた感想をまとめてみる。 結論としてなにか新しいことを発見したというものではなく、世間で言われている事を自分なりに再構築しただけの結論になったと思う。 TL; DRVueからは全体的に優しさ(Gentleさ)を感じる事が多く、良い点だと感じた大規模になるときReactの堅牢さは魅力的。Vueが大きくなった時に支えられ設計が出来るかは個人的には懐疑的。「こうだったらVue、こうだったらReact」みたいな分岐点があるというわけではないので、最終的には好みになってくると思う。ぞうさんが好きかきりんさんが好きか。これまでのフレームワーク遍歴今回の話をするにあたって、僕と各フレームワークの付き合いをまとめておくと、

    wordi
    wordi 2018/04/02
    Vueの親子間のemitは冗長、直接渡された関数呼ばせてくれ、みたいな
  • エンジニアが「明日からマネジメントして」と言われたら

    製品開発におけるマネジメントの全体感最初に結論エンジニアがマネジメント始める際には、↑のようにざっくり簡単にでいいので開発チームのマネジメントの全体像を掴んだうえで、自分がマネジメントするべき範囲を明確にして動くことをオススメしてみます。 以降、もう少し詳しく説明します。 なんで書こうと思ったかエンジニアにとってマネジメントとはなにか。突出した技術力を持った人というのがエンジニアでは花形なイメージが一般的にはあるでしょうし、マネジメントはエンジニア全員にとって必須科目ではありませんが、一定の経験、年齢、スキルになったら考えることだと思います。 しかし、エンジニアにとってマネジメントという言葉はとても曖昧。必須科目でない分、特定技術に関するものよりもずっとドキュメントや教材がすくなく、なにをやればいいかけっこうわかりにくい。 最近だとVP of Engineeringみたいなポジションがメジ

    エンジニアが「明日からマネジメントして」と言われたら
    wordi
    wordi 2017/12/12
  • Nyle Engineering Blog

    OpenAIWhisper文字起こし25MB制限を解決するPHP, Laravel, ffmpegを使ったファイル分割の例 OpenAIAPIを使った音声の文字起こしは、今や多くのアプリケーションで利用されています。この記事では、特にWhisper文字起こしの25MB制限に焦点を当て、PHP, Laravel, ffmpeg

    Nyle Engineering Blog
    wordi
    wordi 2017/12/07
  • iPhone X の Safari における Web コンテンツの表示 - ONO TAKEHIKO - Medium

    iPhone X が発表されて間もなく、ディスプレイの「切り欠き」については至るところでちょっとしたイジリ合戦が始まっています。中には実際に信じてしまっている人もいるほど秀逸なものがありまして、それがこちら。 思わずクスッときてしまいますが(笑)、まあ当然こんなことにはなりません。 iPhone X にはディスプレイの上下左右に iOS の占有領域が存在し、それ以外(アプリのタッチイベントを認める領域)を Safe Area と呼ぶようです。Safe Area の外にある上部領域にはステータスバーとして時計やアンテナのインジケータなど iOS のシステムアイコン等が並び、下部の領域には iPhone X で導入された「ホームバー」が存在することになります。 では iPhone X の Safari で Web サイトを表示した場合に一体どのようになるのか?それを Web 上の情報を元にまと

    iPhone X の Safari における Web コンテンツの表示 - ONO TAKEHIKO - Medium
    wordi
    wordi 2017/09/15
  • ソフトウェア開発で学んだが使わなかったもの

    開発手法など、一通り学んだが実際に使っていないものは多少なりあると思う。それらについて掘り起こしてみたい。 スクラム開発認定スクラムマスター研修には研修会場ホストという立場で数回立ち会った。認定外の研修も幾つか受講した記憶がある。書籍もそれなりに読み、Scrum Gathering Tokyoなどのコミュニティにも顔を出し、まあそれなりに色々考えて捉えてきた。でも、自分のチームでは使っていない。スクラム開発というアイデアに矛盾があるからだ。 そもそもスクラム開発ではチームの自律的な行動を良しとしており、それに対する”フレームワーク”を提供しているということになっている。イテレーション、バックログ、ふりかえり、デイリーミーティング(いまだに「朝会」って言ってる人いないよね?)、そしてそれらのお作法。誰が言ったかわからないが、それぞれの作者の意図を察するためには「守」が大事らしい。守破離の「守

    wordi
    wordi 2017/08/14
  • エンジニア向けの社内情報共有ツールの紹介

    FiNCのエンジニアの人数も50人を超え、チームを横断した情報共有の機運が高まっています。 もともと社内には情報共有ツールとしてConfluenceやGitHub Wikiなどがありましたが、前者はMarkdownなどのエンジニアがドキュメントを書きやすい機能が不足しており、後者は情報の検索性に難がありました。 エンジニアのコミュニケーションを活性化させるため、カジュアルに記事を投稿できて誰でも見ることができる、新しい情報共有ツールを導入をすることにしました。 今回は候補として検討した際に、以下の要件を満たしていた情報共有ツールを紹介します。 Markdownを使ってプレーンテキストで記述できる記事の更新履歴のdiffを見ることができるフィードで記事の一覧を見ることができるわかりやすい検索機能コメント欄でのやりとりができるWebhook(チャットツール連携)UML記法やスライドの埋め込みの

    エンジニア向けの社内情報共有ツールの紹介
  • 🍾🚀 webpack 3: Official Release!! 🚀🍾

    After we released webpack v2, we made some promises to the community. We promised that we would deliver the features you voted for. Moreover, we promised to deliver them in a faster, more stable release cycle. No more year-long betas, no breaking changes between release candidates. We promised to do you right by you, the community that makes webpack thrive. The webpack team is proud to announce th

    🍾🚀 webpack 3: Official Release!! 🚀🍾
    wordi
    wordi 2017/06/20
  • スタートアップでのプロダクト開発はRailsで必要十分

    僕と共同創業者のSuinは2013年に起業してShouldBeeというプロダクトをPHPで作りはじめた。 起業する前にプロトタイプをPHPで1〜2週間程で開発し簡単なセールスを行ない1件の受注を獲得した。これはよい感触だと感じSuin氏を誘い起業に乗り出した。 その後もプロダクト開発はPHPで行っていたが当時はPHPに不満を感じていた。そのころの僕達は顧客数が伸び悩む原因をプロダクトの機能不足や開発速度が遅いからだと考えてしまった。後にこれはまったく検討違いな判断だったと気がつく。 格的に顧客がつき、たくさんの利用がはじまるとPHPで作られたこのプロトタイプではフィードバックにすばやく対応できないことや、自分達のモチベーションのためにならないと考えScalaでの全面的なフルスクラッチを実施することを決定してしまった。バックエンドはScalaで記述し、フロントエンドReact+Redux

    wordi
    wordi 2017/02/12
  • 位置情報を正確にトラッキングする技術 – Medium

    位置情報を正確にトラッキングする技術 in Kotlin— 第4回 バッテリー消費について前回まで3回にわたって位置情報トラッキングエンジンを作ってきましたが、今回はそのサンプルアプリのバッテリー消費を見ていきたいと思います。

    位置情報を正確にトラッキングする技術 – Medium
    wordi
    wordi 2016/11/16
    「CoreLocationを普通に使っただけでは有名アプリのような正確さでユーザーの位置情報を取り続ける事は出来ません」
  • プロカメラマンの価値について。「レタッチ前の写真も全て頂けますか?」に対する答え。

    by caleb kerr カメラマンとして、レタッチ過程の大切さについて思うこと。どんなカメラマンも、撮影の後に、こんな質問をされた経験があるのではないでしょうか。「いい写真が撮れましたねー。万が一あとで必要になったときのために、レタッチ前の写真も全て頂けますか?」 結論だけ言うと、答えは「いいえ」です。でも、私にとってはその理由を理解してもらうことが重要です。この記事では、レタッチ後の完成写真とレタッチ前の写真を比較してお見せします。高度な心理的テクニックを利用して(笑)、レタッチ前の写真を受け取ることに、どれだけ意味がないかをお伝えしましょう。 全ての写真を渡すことを断るのは、単に「いいえ」と言いたいからとか、面倒くさいから、という訳ではありません。よりによって、最高の写真1枚を出し惜しみしている、ということでもありません。 「でも、減るもんじゃないでしょう?」 …その答えが単純では

    プロカメラマンの価値について。「レタッチ前の写真も全て頂けますか?」に対する答え。
    wordi
    wordi 2016/06/11
    低クオリティが作品として残るのを防ぐ自衛もある?
  • 物理サーバを選定する際のポイント – Eureka Engineering – Medium

    Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.

    物理サーバを選定する際のポイント – Eureka Engineering – Medium
    wordi
    wordi 2016/02/25
    自作ワンライナーをエイリアス登録すると捗る
  • 1