開発サイクルの終盤に近づくと「今回は優先順位の高いここまでを実装して、残りは優先順位が低いのでまたの機会にしましょう」という話になりがちだ。自分もこれまで何度もそうしてきたし、その場の判断としては正しい。が、このやり方に味をしめて常にこの調子で進めて、なんとなく上手く仕事をこなしている気になってしまうことには危機感がある。 以下、普段考えていることを自戒を込めてメモしておく。(なお、筆者の経験は toB ・Web 系・自社開発が中心なので読者の置かれている状況とは一致しないかもしれない) 優先度が低いタスクに着手する機会が一生訪れない 仮にあるタスクの優先度を下げたとする。バックログを眺めるとそのタスクに着手できそうなのは3ヶ月後だ。そして3ヶ月後、やっとそのタスクに着手できるかというと、そんなことは決してない。3ヶ月の間にそれよりも優先度の高いタスクが積まれているからだ。タスクを消化する
Understanding how search engines crawl, render, and index web pages is crucial for optimizing sites for search engines. Over the years, as search engines like Google change their processes, it’s tough to keep track of what works and doesn’t—especially with client-side JavaScript. We’ve noticed that a number of old beliefs have stuck around and kept the community unsure about best practices for app
ノーチラス・テクノロジーズ(以下、ノーチラス)は、メニーコア、大容量メモリといった最新のハードウェアに対して最適化されたインメモリデータベース「劔”Tsurugi”」(以下、劔)の正式版を公開したと発表しました(GitHubのリポジトリ)。 最新のハードウェアに最適化された劔 現在主流となっているリレーショナルデータベース製品の多くが、10年以上前のコンピュータハードウェアの主流であったシングルコアやデュアルコアなど少数のプロセッサコアと数百メガバイトから数ギガバイト程度のメモリ容量、そしてハードディスクによるストレージをベースに設計し開発されています。 そのため、多くの製品がメニーコアかつ大容量メモリを搭載した最新のハードウェア性能を十分に引き出せていないという技術的な課題を抱えています。 劔はこの課題に対応するために、NEDO(国立研究開発法人新エネルギー・産業技術総合開発機構)のプロ
情報を送る際,(ノイズが入ったり攻撃を受けたりすることにより)送信者が送った信号が受信者に正しく伝わらないことがあります。 そこで,送信者があらかじめ冗長な情報を付加することによって,ある程度なら間違いを検出(誤り検出)したり,訂正(誤り訂正)したりすることができます。 ここでは,誤り検出の方法の一番簡単な例として,パリティビットを用いる方法を紹介します。 ちなみに,数学においてパリティとは,偶奇性のことです。 情報はビット列(0, 1の列)で送ります。 状況設定 送信者が 0011000 という情報を送る (途中で1ビット反転してしまう) 受信者が 0011010 を受け取る →正しくつたわらない! 解決策 あらかじめ送信者がパリティビットを付加(1の数が偶数個なら0,奇数個なら1を末尾につける)して送る。つまり, 00110000を送る (途中で1ビット反転してしまう) 受信者が 00
こんにちはKotaです。 アイルランド在住ソフトウェアエンジニアです。Googleアイルランドに勤めております。 今まで自分がアイルランドへ来た経緯とかは一部の人にしか話してなくて「なんでアイルランドなの?」って聞かれることが多くあったので、この記事を残そうかと思います。だいぶ長くなっちゃいましたが全部読んでくれたらとても喜びます。最後に有料コンテンツとしてオファー額+αを載せていますので興味がある人は買ってみてください。 リクルーターからの接触(2019/12)2019年12月にリクルーターからの最初のメールが来ました。渋谷オフィスができて、オフィスに人を集めたいから受けないか?とのことでした。学生時代に一度Googleを受けて落ちた経緯があってそのリストを使って連絡してきたそうです。前職には特に不満はなかったですが、最終面接まで行ったら渋谷オフィスのランチが食べられるし、どーせ受からな
The flexibility of Terraform's configuration language gives you many options to choose from as you write your code, structure your directories, and test your configuration. While some design decisions depend on your organization's needs or preferences, there are some common patterns that we suggest you adopt. Adopting and adhering to a style guide keeps your Terraform code legible, scalable, and m
AI for Everyoneについては日本語版もあるのと、どちらのコースも日本語字幕付きで見られる(多分機械翻訳での英語字幕からの翻訳だが、翻訳の質は悪くない)ので、英語分からなくてある程度何とかなるんじゃないかと思います。 あと、余力のある人、最新のNLP研究を理解したい人はこちらの本を読むことをオススメします。アルゴリズムの詳細は必ずしも理解しなくても良いですが、どんなタスクがあるのかは理解しておいた方が良いかと思います。 NLPの知識がLLMを応用する上で実際にどう役に立つかですが、例えばで言うとNLP的には対話の中には「タスク指向型対話(task-oriented dialogue)」と「雑談(chit-chat dialogue)」があります。それぞれ対話の中で重要視されるものから評価の仕方まで全然違うのですが、NLPをやらずにLLMをやっている人と話しているとこれらをごっちゃ
こんにちは。ログラスでVP of Engineeringとしてエンジニアリング組織全体のマネジメントをしております、いとひろ@itohiro73と申します。 前回、「銀の弾丸はない - 経営の本質的課題に向き合い続けるログラスのプロダクト開発」と題して、ログラスのプロダクト開発がいかに本質的課題と向き合ってきたか、そしてこれからどのようなチャレンジが待ち受けているのかを書きました。 今回は、「本質的な課題」を解くために本質的な複雑性に付随して存在する、「偶有的複雑性」について、開発組織としてどのように向かっていこうと考えているのかを記します。 前回の記事で引用した、『人月の神話』(Frederick P. Brooks,Jr. ,丸善出版,2014)という書籍にも収録されている論文(Brooks, Fred P. , "No Silver Bullet -Essence and Accid
Linuxサーバーの最適化: vmstatとiostatを活用した性能分析と対処法 0.目的 インフラ開発者として、必須な性能分析を身につけることを目的としています。 カーネルパラメータをチューニングをする際に性能分析を前提とし、分析結果からチューニングしていきますが、具体的な指標というものが少ないので参考になれば幸いです。 基本的なvmstatの使い方については、ちょっとググればいくらでも出てくるので割愛します。 「Linuxカーネルパラメータのチューニング&設計」でロードアベレージが高い状態にある場合、次のアクションとしてCPU使用率の確認が必要となりますので、vmstatの結果分析および対処法について深堀していきます。 よって、vmstatの結果分析と対処法を理解すると性能試験を実施した際のその対処法とカーネルパラメータによるチューニングする対象が理解できるかと思います。 1.パフォ
はじめに 十名~数十名ぐらいのプロジェクトで開発することの多いドリコムだが, プロジェクトの中に「プロジェクトリード職」という役割を置いている。 プロジェクトの実現性と健全性を担保するのが仕事だ。 ディレクター,プロダクトデザイン,プランナー,アート,エンジニアリーダーという風に 職種別のリード職を設けていて,エンジニアリーダーの場合はアーキテクチャや安定稼働, (技術的な) ユーザビリティ等への専門性を持って責任を負うのと,エンジニアチームの チーム作りもミッションに加えている。 最近は開発ライン数が増えてきたこともあり,新卒 2,3 年目のリード職が増えてきた。 リード職になった人に「一メンバーだった頃と何が違う?」と聞くと, よく「視野が広くなった」と返ってくる。 視野が広くなるとは具体的にどういうことなのか,掘り下げてみようと思う。 主に 2 年目エンジニア向けのエントリです。 仕
「30歳からのプログラミング」と題したこのブログを書き始めたのが 2016 年 3 月。 そこから月日が立ち、立派なアラフォーとなったわけだが、私はこれまで 3 年以上継続して働いたことがない。プログラマに転身する前も含めて、である。一度もない。 3 年経つ前に、必ず無職になってしまう。労働して貯めた貯金を食い潰しながら無職生活を送り、カネが無くなりそうになってまた働く、ということを繰り返している。 だが、今の勤務先(株式会社HERP)に入社したのは 2021 年 10 月 1 日であり、入社してからもうすぐ 3 年になる。 つまり、 3 年以上労働を続けることになる可能性が高い。 仮にこの記事を投稿した直後に退職を決意したとしても、引き継ぎや有給休暇の消化などで、さすがに 9 月末までは在籍していると思う。そうなれば 3 年到達である。 今までの会社を辞めてきた理由は様々だ。同様に、今の
自分がこうありたいというメモ。 作業者と開発者の違いとして、問題解決への寄与だとか、創意工夫の余地があるかというのがありそう。 これは今 GPT-4 に聞いた。 Q: 作業者と開発者の違いを100文字ぐらいで教えて。 A: 作業者は指定されたタスクや手順を実行する人を指し、特定のルーチンや手順に従って作業を進めることが主な役割です。一方、開発者は新しい製品やソフトウェアを設計・構築する人を指し、創造性や技術的なスキルが求められます。作業者は指示に従い行動し、開発者は新しいアイディアや解決策を生み出します。 単なるタスクの遂行でなはく、より多くの責任とリーダーシップを求めている コードを書くだけではなく、問題解決や創意工夫の余地が多くあるタスクが欲しい 自分のアイディアをベースとして、形にすることで、プロジェクトを完遂したい そもそも何が問題なのかを明らかにするだとか、最適な解決策を見つける
Linuxカーネルパラメータのチューニング&設計 0.目的 【カーネルパラメータのチューニング】を修得する目的は、サーバの特性を理解し、それぞれに合ったカーネルパラメータのチューニングすることでリソースの有効活用をできるようになることを目的とし、私個人の経験を元にした見解を以下の記事に掲載します。 1.最初に サーバには、それぞれ必要なリソース特性があり、それに合わせたカーネルパラメータのチューニングが必要となります。 世の中の流れはオンプレよりクラウドに移行してはいるので、カーネルパラメータのチューニングよりスケールアップなりスケールアウトするなりの対応をすべきなのでしょう。 ですが、カーネルパラメータのチューニングを知らないとどちらを選択すべきかも理解しずらいと思いますので軽率には出来きません。(待ち行列理論もしらないといけませんが) また、最近のLinuxはデフォルト値が大きくなって
UnionFind, DSU 連結成分を管理するデータ構造 (解説) AtCoder Libraryで実装がある 最小全域木の構成でも使われる 連結時に成分に入っている情報を併合することもある(要素数とか) incremental(併合はできるが、分離はできない) (発展だが)永続UnionFindもある 森の連結成分は「頂点数-辺数」で求められるテクがある ダブリングを用いることで連続区間のマージができるようになる 問題1 問題2 問題 AtCoder Union Find 連結判定 ARC032 道路工事 ABC075 Bridge CC Skiing 解説 ARC097 Equals 解説 FHC2018 Round1 Ethan Traverses a Tree 解説 AC Propagating Edges 解説 連結判定+データ ARC037 バウムテスト AOJ Shoppi
株式会社ナレッジセンスは、生成AIやRAGを使ったプロダクトを、エンタープライズ向けに開発提供しているスタートアップです。本記事では、RAGの性能を高めるための「Golden-Retriever」という手法について、ざっくり理解します。 この記事は何 この記事は、RAGシステムを専門用語に強くするための手法「Golden-Retriever」の論文[1]について、日本語で簡単にまとめたものです。 今回も「そもそもRAGとは?」については、知っている前提で進みます。確認する場合は以下の記事もご参考下さい。 本題 ざっくりサマリー Golden-Retrieverは、RAG(Retrieval Augmented Generation)を、業界特有の用語・社内用語を含むような質問に強くするための手法です。カリフォルニア大学の研究者らによって2024年8月に提案されました。 従来のRAGシステム
はじめに 皆さんこんにちは! ソーシャル経済メディア「NewsPicks」プロダクトエンジニアの森田です:) 私は2024年4月に株式会社ユーザベースに新卒入社し、現在は主にNewsPicksにおける推薦機能の開発改善に携わっています。 NewsPicksでは、ユーザに価値のある経済情報を届けるための施策の一つとして記事推薦機能を導入しています。 本ブログでは、NewsPicks記事推薦機能にて基盤改善がモデル改善につながってCTR(Click Through Rate)を改善できた事例をもとに、私たちが認識した「推薦システムを本番導入する上で一番優先すべきだったこと」を共有します。 また先日行われた「実応用 × 推薦システム」をテーマとしたイベント Recommendation Industry Talks にて、本ブログの内容に関して発表させていただきました!参加者の皆様とカジュアルか
モードの種類 UBOUNDED PRECEDING, UNBOUNDED FOLLOWING CURRNET ROW ROWSモード RANGE, GROUPSモード offset PRECEDING and offset FOLLOWING ROWSモード GROUPSモード RANGEモード まとめ Window関数のパーティションはPARTITION BY句で指定するだけなのですが、フレームについては色々モードやオプションがあり細かく指定できます。 フレーム指定は一見難しそうに見えますが、一回理解すると自由自在にWindow関数が使えるようになると思います。MySQL 8.0でもWindow関数が導入されてますます利用頻度が増えた今、少し時間はかかるかもしれませんが、ちゃんと理解しておくと便利です。 Window関数のシンタックスは以下のようになっています。1 2 window_fu
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く