タグ

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

  • テープが擦り切れるまで聞いた Rebuild.fm 厳選オススメ回 4選

    私はソフトウェアエンジニア、宮川達彦さんが運営するポッドキャスト Rebuild.fmの大ファンです。当時の同僚に勧められて初めて聞いた2014年から今まで聞いていない回はおそらくなく、何度も繰り返し聞いた回がいくつもあります。 自身で書いたブログなどでもRebuild.fmを参照させてもらったことも多く、2021年に翔泳社さん運営のWebメディア BizZineにプロダクトマネジメントに関する記事を投稿した際にも、記事内でRebuild.fmの回に触れ、放送回のタイトルを記事タイトルに引用させていただきました。 ビジネス寄りの媒体であるBizZineにRebuild.fmへのリンクが貼られているのは私の記事だけではないかと自負しています。

    テープが擦り切れるまで聞いた Rebuild.fm 厳選オススメ回 4選
  • Rustが遅すぎる?プロファイリングで性能向上!

    「開発プロセスにプロファイリングを組み込むのはどうだろう?」 ミーティングで、プロファイリングの重要性を発言するだけで、みんながあなたの深い知見、意識の高さに驚くことでしょう。もちろん、あなたは、プロファイリングのやり方を知っている必要はありません。開発の終盤に、性能目標が達成されず、解析が実施される頃には、誰もあなたの発言は覚えていません。しかし、万が一、あなたの意見が採用されても困らないように、この記事を参考にしてください。 Goは、CPU、メモリ、block、mutexなど、使いこなせないほどの種類をサポートするプロファイリングツールpprofを標準機能として提供します。一方、Rustは、そんな機能を提供しません。Rustへの愛が揺らぐかもしれませんが、Rustへの愛は、見返りを求めない純愛です。愛の見返りに何かが与えられると期待してはいけません。 Rustでもpprofあなたは、す

    Rustが遅すぎる?プロファイリングで性能向上!
  • ポーカー素人3人組が、「半年で日本一」を目指した話

    昨年の10月ごろから、友人2人と「半年間、気でポーカーをしてみようじゃないか」という話になり、日一を目指してチームを結成、活動しました。結果、最高9位で優勝はできなかったのですが、自分たちの活動の振り返り&これからポーカーを始める人がスキルアップを目指す際の指針となればいいなと思い、半年間の活動をまとめてみました。 なぜ日一を目指した?気でやるからには、目標を立てたかった、ただそれだけです(笑)。あとは、ポーカー歴1年半で日一になったプレイヤーがいたので3人で半年活動すればなとかなると思ったのも一応の理由です。 (ちなみに、日でライブポーカーをしているプレイヤーは5,000人くらいだとされてます。) そもそもポーカーってどんなゲーム? ルール僕らが取り組んでいたのは、みなさんのイメージする「配られた5枚のカードから好きなカードを交換して手役を作っていく」ドローポーカーとは異なり

    ポーカー素人3人組が、「半年で日本一」を目指した話
    ginga0118
    ginga0118 2021/06/16
  • RustでLinuxカーネルの機能を拡張しよう!

    Linuxカーネルの機能を安全に拡張できるeBPFのコードはC言語で実装する必要があると知り、がっかりしているクラウドネイティブ 世代の皆様に朗報です。実は、Rustで、eBPFのコードを実装することができます。今更、C言語(クラウドネイティブ ではない感じ)を学ぶ必要はありません! eBPFとプログラミング言語eBPFを活用するソフトウェアは、カーネルスペースで動作するeBPFバイトコードと、eBPFバイトコードを制御するユーザスペースのアプリケーションから構成されます。後者は、GoPythonRustなど様々なプログラミング言語で実装することができますが、前者は、制限のあるC言語で実装する必要があります。 eBPFの構成Rust用eBPFライブラリRustでeBPFを扱う一般的な方法は、libbpf-rsライブラリです。これは、C言語でユーザスペースのアプリケーションを実装するため

    RustでLinuxカーネルの機能を拡張しよう!
  • 超巨大高性能モデルGPT-3の到達点とその限界. この記事では、超巨大言語モデルGPT-3の技術的な解説、GPT-3達成したことと… | by akira | Jul, 2020 | Medium

    この記事についてこの記事ではGPT-3[1]の解説をします。内容のサマリは以下の通りです。 GPT-3の前身であるGPT-2では、巨大なデータセット+巨大なネットワークで言語モデルを構築し、各タスクで学習させなくても良い結果が得られた。GPT-3では、さらに巨大なデータセット+さらに巨大なネットワークで言語モデルを構築し、数十のサンプルを見せると凄く良い結果が得られた一方、様々なタスクに言語モデルのスケールアップのみで対応することへの限界が見えてきた。人種、性別、宗教などへの偏見の問題や、悪用に対する課題もある。この記事の流れは以下の通りです。 Transformer, GPT-2の説明GPT-3のコンセプトと技術的な解説GPT-3ので上手くいくタスクGPT-3で上手くいかないタスク偏見や悪用への見解 Transformerまず、GPT-3の前身となったGPT-2に入る前に、その中に使われ

    超巨大高性能モデルGPT-3の到達点とその限界. この記事では、超巨大言語モデルGPT-3の技術的な解説、GPT-3達成したことと… | by akira | Jul, 2020 | Medium
  • TCPが遅すぎる?QUICを使おう!

    「それ、QUIC使えないの?」 それがなんであれ、QUICを使うことを主張することで、みんなが「なんか良くわからないけど、TCPを置き換えたほうがいいのかな?」と思うようになるはず。全てのアプリケーションを、TCPの代わりにQUICを使うように修正するとなれば、この先10年間ぐらい、エンジニアみんなの仕事を作ることができます。業界愛ですね。 すでに、SSHやDNSのQUIC対応は始められています。既存のアプリケーションをQUICに対応させる難しさを調査するために、RustでBGP over QUICを実装してみました。 QUICの実装QUICは、TCPと同じく、パケットの再送、輻輳制御など、信頼性のある通信を実現するトランスポートプロトコルです。実装面の大きな違いは、TCPがオペレーティングシステムのプロトコルスタックの一機能として実装されるのに対して、QUICはアプリケーションで実装され

    TCPが遅すぎる?QUICを使おう!
    ginga0118
    ginga0118 2020/07/14
  • 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
  • 「アジャイル導入」や「プラクティス導入」といった大きい一歩を踏み出してうまくいかないと嘆くあなたに送るたったひとつのアドバイス

    はじめにこの記事は一年くらい前に書きかけて放置していたのだけど、市谷さんが同じようなことを言ってるスライドをアップしていたので、二の矢として挙げることにする。 プラクティス導入がうまくいかない!!これまでも多くの人がそうだったし、これからもきっと多くの人が同じような状況に陥ると思われるのでメモしておく。 「現場でXXXを実施してみているのだがうまくいかない」という話は、色々なところで耳にする。XXXXはプラクティスでもいいし、スクラムでもいいし、ツールの導入でもいい。 例えば、プラクティスというのは、名前がついていて、各所で実践した例もいろいろあって、希望に満ち溢れているようにみえる。なので、ついつい手にとって試してみたくなる。TDD、ペアプロ、リファクタリング、カンバン、あー、たまらない!早くヤリたい!試してみたい!! しかし、ぐっとこらえて、考えてほしい。 あなたが、その「キラキラ」し

    「アジャイル導入」や「プラクティス導入」といった大きい一歩を踏み出してうまくいかないと嘆くあなたに送るたったひとつのアドバイス
  • 日本マイクロソフトを退職します

    マイクロソフトを退職します新卒で入社した日マイクロソフトを 1 月 17 日に退職します。 学部生の頃、就職できるはずのない雲の上の企業でした。 就職活動していた際にも視野に入れていませんでした。 なぜそんな大企業に就職したのに退職するの? こんな記事も書いてもらったのに退職するの? という質問をよくされるので、いわゆる退職エントリを残しておきます。 なぜ退職するのか最初に、日マイクロソフトは素晴らしい会社です。 私自身、技術力以外にコミュニケーション能力や電話応対能力、メール文章作成能力が格段に成長しました。 しかし、技術職であるにも関わらずコードを書いてチームで開発をする機会は全くない部署でした。 そこでふと、「このまま今のカスタマー サポートを続けていて自分は何年後かに後悔しないだろうか。」と思いました。 そして、試しに転職活動をしてみると同じ外資系のカスタマー サポート職の

  • 死に続けるブログと「どこに書けばいいのか問題」

    In the ten-plus years since I started this blog, one of the clearest trends on the Web has been for destination sites… この論考はとても面白いのでぜひ全部を読んでいただきたいのですが、骨子をまとめると、個人がブログを書くときのコンテンツの一生を 1. Creation「コンテンツの作成」、2. Distribution「配信」、3. Discovery「読者による発見」、4. Consumption「消費」という具合に分類した場合に: 昔はブログに書いたらあとはRSSが読者のもとに届けてくれ、多くの人はPCで記事を読んでいた。Creation、Distribution、Discoveryの分離が明確だった。今は Creation と Distribution と Disco

    死に続けるブログと「どこに書けばいいのか問題」
  • コードレビューにおけるレビュアー側のアンチパターン

    tl;drコードレビューが上手く回って無くてチームが疲弊して辛かったよレビュアーの言い方を変えるだけで大体解決するよ立場とかで例外を許さず、みんながレビューしてレビューされると良いよはじめにあるプロジェクトGitHubのPRベースでのコードレビューを導入をしました。いかんせんチーム開発が初めてレベルの新人さんが多く、何かと苦労しました。特にレビュイーに対して不効率な指摘はそのまま指示の不明確さに繋がり、チーム全体の開発生産性を下げるので、レビュアーはレビュイー以上に気を使う必要があると感じました。下手をすると、レビュイーのメンタルが弱って闇堕ちするので、チームメンバーの最も大人な人がメンタルケアしたりします。大人な人は大体がリーダー格なので、その人の時間が奪われると何かと開発現場が疲弊しちゃいますね。コードレビューってそんなに難しいものだっけと思ったりもしますが、反省の意味も込めて実際に

    コードレビューにおけるレビュアー側のアンチパターン
  • Apache Kafkaを使ったアプリ設計で反省している件を正直ベースで話す

    Apache Kafka: Producer, Broker and Consumer2017年は生まれて始めてApache Kafkaを格的に業務利用(PoCではなく番運用)した年でした。Apache Kafka的なメッセージングミドルウェアそのもののは、社内的な事情でよく使っていたのでその使い勝手に対して困惑はほとんど無かったですし、ミドルウェアとして非常に安定しているため、Kafkaクラスタそのものでの不具合らしい不具合が発生したことは一度もありませんでした。 しかし、Kafkaのトピック設計などに関してのベストプラクティスは事例ベースでもあまり見かけたことがなく、チームメンバーと悩むことも多かったです。このストーリーでは、主にKafkaを利用したアプリ設計で考えたことや失敗したことを振り返りつつ共有します。なお、パーティション数や各種バッファサイズなどのチューニング要素は今回取

    Apache Kafkaを使ったアプリ設計で反省している件を正直ベースで話す
  • エントロピーの先に生命が見る夢と、世界と時間の美しさと、挑戦

    元旦にこういうツイートをしたらたくさんリツイートしていただいたので、せっかくならそう思った背景と決意を書き残そうと思い、初めてブログの筆を取りました。 すべては宇宙の大原則から始まるこんなにも世界は進化しているのに、何故また次々新たな問題が出てくるのだろうと、疑問に思うことがあります。 たとえば、インターネットによって確実に世界は便利で安全になっているのに、より孤独を感じます。WHOは、世界で病に苦しむ人が急増し、推計約3億人強にも上ったと発表しています。飢餓問題が減っても、肥満患者は世界に約10億人いて、今度は過で死ぬ人が増えています。 たとえば会社経営においても、組織としては確実に成長しているのに、課題を解決したと思ったらまたどんどん新しい課題が出てきます。以前、オリックスの宮内さんが、会社小さいうちはいろんな問題があると思って頑張って会社を大きくしたけど、結果的には、会社が大きく

    エントロピーの先に生命が見る夢と、世界と時間の美しさと、挑戦
  • 2018年に暗号通貨の世界で起こることの予想

    明けましておめでとうございます。今年も頑張っていきましょう。まずは2017年に起きた出来事のおさらいから。 1. Segwitのアクティベーション 2. ビットコインの価格が10万円前後から一気に200万円まで高騰 3. ビットコインからハードフォークしたコインの誕生 4. 米国でビットコイン先物の取引開始 5. 日で法規制 6. ICOの流行 1・・・大変めでたい 2・・・大変めでたい 3・・・ビッグブロック派も頑張って欲しい 4・・・アメリカフットワーク軽くてすごい 5・・・しょうもない 6・・・しょうもない という感じでしょうか。これと対比させる形で2018年の予想をしていきます。大変めでたい系から始めて徐々にしょうもない系になっていきます。 ライトニングネットワークの実用化一部のライトニング実装はテストネットで動いている状態にあり、メインネットで動き始めるのも時間の問題だろうと思

  • どうすれば変化するAPIと上手く付き合っていけるのか

    はじめにこんにちは!中の亀と申します。普段はiOSのアプリを作ったりPythonを書き殴ったりしています。 ここでは表題の通り、中の亀が「Tootle」というマストドン向けのiOSアプリの開発をする中で感じた、発展途上のソフトウェアと付き合っていく苦労や試行錯誤について書いていこうと思います。 マストドンのAPIクライアント開発の難しさ荒ぶるマスターブランチマストドンのv1.0タグがついたのは2017/2/6、僅か10ヶ月ほど前です。v1.0から現在までには3500ほどのコミットがなされており、執筆時点でgithub上で約11,500のスターがつくまでになりました。同じくらいのスター数で有名所を探すとcocos2d-xやelixirがいます。すごい。 TootleはiOSアプリとしてマストドンのAPIを利用しているわけですが、これだけの勢いで体が更新されていくと、 そもそも機能追加につい

  • エンジニアが「明日からマネジメントして」と言われたら

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

    エンジニアが「明日からマネジメントして」と言われたら
  • 子育てエンジニアの自由時間がない件について

    この記事はぼくのあどべんとかれんだー10日目の記事です。 今日はまったくコーディングの時間がとれなかったので、速攻でこの記事を書いて終わります。 うちはエンジニア夫婦で1歳半の子どもがいます。お互いフルタイムで働いています。まだ子どもにすごく手がかかるため個人の自由時間はほぼない状態が続いています。ではどうやってこれまでのアドベントカレンダーの記事を書いてきたかというと、夜子どもを寝かしつけ、それから自分が寝るまでの時間に書いていました。平日は当然昼間は仕事があるので、記事は書けません。休日はというと、むしろ平日よりも自由時間は少ないです。 例えば、今日どういう時間の使い方だったかというと、 朝7時半ごろ子どもとともに起床、おむつを変えたあと、奥さんが朝ごはんを子どもにあげて、その間にぼくはトイレ等済ませます。子どもの朝ごはんが終わったら、奥さんが朝ごはんをべるので、ぼくが子どもの面倒を

  • Web アプリの JavaScript の初期化処理をどうまとめるか - r7kamura - Medium

    いわゆる JavaScript のエントリポイントを、どういうパターンで管理しているかについて。 ディレクトリ構成自分の場合、次のようなディレクトリ構成でまとめていることが多い。 client/javascripts/entryPoints/*.jsclient/javascripts/initializers/*.js実例を挙げると、現在携わっているプロジェクトでは以下のようなファイルが存在する。 client/javascripts/entryPoints/client.jsclient/javascripts/entryPoints/server.jsclient/javascripts/initializers/googleAnalytics.jsclient/javascripts/initializers/helmet.jsclient/javascripts/initiali

  • ”仕事で始める機械学習”の要点をまとめてみたらとても良い入門書だった

    最近、販売された仕事で始める機械学習を買ったので、購入を考えられている方や機械学習を始めたいと思っている方に読んで、参考になればと思います。 この記事の目的と全体の流れただ読むのと、アウトプット(ブログに書く)前提で読むのとはインプットの質が違うということがわかったので、ブログに書きながら理解していく形を取ります。 全体の流れとしては、章の要約。あぁこの内容知ってるなって人は買わずに済むし、わからないこと多いという人は購入を検討して頂ければ。(出版関係者でもなければ、アフィリエイトなどの営利目的でもなく、いち消費者としての個人的意見になります。 ご了承ください。) 結論から言うと(書評)いままでのオライリーのデータサイエンスだと英語から翻訳したのでわかりにくい日語が非常にうっとうしいのですが、 このは、日の方が書かれており、日語スムーズに理解できます。 また、非常に論理立てられて

    ”仕事で始める機械学習”の要点をまとめてみたらとても良い入門書だった
  • 非デザイナーがナメられないための、おすすめデザインツール12選

    僕は非デザイナーですが、こちらの考えにとっても共感します。 ブログにしても、アプリにしても、イベントにしても、良いコンテンツは世の中にもういっぱい溢れていて。 気度を示し、他ではなく私たちのコンテンツを選んでもらうために、デザインにこだわるって大事だなって考えています。 おしゃれなものを作らなければいけない、と言うわけではないと思います。 使ってもらいたい・届けたい人たちに寄り添い、作りたい世界観を伝えるためのデザインにすること。 相手視点を持った思考が大事なんじゃないかなって思います。 『わかる!だけど実際難しいんだよ!』 という非デザイナーの方々に向けて、同じく非デザイナーの僕がお気に入り登録して愛用しているツールをシェアします。 有名どころも多いですが、もしご存知ないものもあったら触ってみてください。

    非デザイナーがナメられないための、おすすめデザインツール12選