hkr_Iのブックマーク (2,002)

  • オーバーエンジニアリングしないために心がけていること - $shibayu36->blog;

    オーバーエンジニアリングしてしまうという悩みがあって困っている、そのうち必要になるのではないかという気持ちになって無駄に抽象化して頑健にしてしまう。じゃあ素朴にやればいいのかというと、例えばDBスキーマみたいな要素は素朴になってはならないという難しさもある— Windymelt💀(めるくん)🚀❤️‍🔥 (@windymelt) 2024年9月12日 上のツイートを見かけたので、自分は何を心がけているか書いてみる。 結論 プロダクト方針的に起こりそうな未来を想像する 想像した未来が起こったとして、どのような実装になりうるかをざっくり考える その上で、その未来が起こったときに「詰む」ことがなさそうな一番シンプルな設計にする 前提: あらゆる未来の変更に強い抽象化はない 設計を考えていて複数案を出すと、結局トレードオフが存在することがわかる。案Aを選択すると、こっちの未来には対応しやすいが

    オーバーエンジニアリングしないために心がけていること - $shibayu36->blog;
    hkr_I
    hkr_I 2024/09/14
  • プロンプトエンジニアリングをしよう - 一休.comでの検索システム改善事例 - 一休.com Developers Blog

    はじめに こんにちは。宿泊プロダクト開発部の宮崎です。 みなさん、生成 AI 使ってますか? 近年、AI の進歩はめざましく、文章生成や画像生成はもちろん、動画生成も実用的なレベルで出来るようになっています。 ChatGPT が話題になったのが 2022 年の 11 月なので、たった 2 年足らずでここまで来ているという事実に少し恐ろしくもありますね。AGI(汎用人工知能)の実現もそう遠くないのかもしれません。 一休でも AI 技術は注目していて今年の 6 月に、まさに生成 AI を使ってホテル検索システムの改善を行いました。 この記事では、その時に学んだプロンプトエンジニアリングの重要性について書いていこうと思います。 生成 AI を使ったホテル検索システム 今回我々が実装したのはフリーワード・文章でもホテルを検索できるシステムです。 以下のようなユーザーの自由な入力に対して、適切なホテ

    プロンプトエンジニアリングをしよう - 一休.comでの検索システム改善事例 - 一休.com Developers Blog
    hkr_I
    hkr_I 2024/09/12
  • もしもいま、Rustをイチから学び直すとしたら? Rust入門書著者・matsu7874さんに聞く学習ロードマップ - Findy Engineer Lab

    めまぐるしく変化するテックの世界。技術を身に着けるうえで学ぶべきポイントや学習環境なども年々変わっています。 そこで「もしもいまの環境で、テックのことをイチから学び直すことになったら、自分はどんな風に勉強したいか」というIFストーリーを通じて、技術との向き合い方を考え直してみる企画「テック転生」。 今回は『Rust実践プログラミング入門』共著者の松健太郎(@matsu7874)さんに“自分だったらこう進めたい、Rustの学習ロードマップ”をご寄稿いただきました。 無理なく2ヶ月でWeb開発をRustで始めるロードマップ 株式会社estieでソフトウェアエンジニアをしているmatsu7874です。2024年8月の今、イチからRustを学び直すロードマップ(あるいはリソースガイド)を考えてみました。仕事の合間にやっていくとして数週間、長くとも2ヶ月くらいでRustで開発している会社に入っても

    もしもいま、Rustをイチから学び直すとしたら? Rust入門書著者・matsu7874さんに聞く学習ロードマップ - Findy Engineer Lab
    hkr_I
    hkr_I 2024/09/12
  • 医薬品検索でMySQLの全文検索機能を使った話 - KAKEHASHI Tech Blog

    AI在庫管理の開発チームでバックエンドエンジニアをしている沖です。今回は、AI在庫管理の医薬品検索において、MySQLの全文検索機能を使った話を紹介しようと思います。 この記事は秋の技術特集 2024の 8 記事目です。 今までの医薬品検索では満足できないユーザーがいた なぜMySQLの全文検索機能を採用したのか 全文検索機能を導入する 全文検索インデックスを付与したテーブルを作成する パーサー 照合順序と正規化 全文検索インデックスを使用して検索する データを最適な状態に保つために おわりに 今までの医薬品検索では満足できないユーザーがいた AI在庫管理には、医薬品の在庫一覧画面など、医薬品名で絞り込む画面がたくさんあります。この絞り込み機能を実現するために、これまではSQLのLIKE検索を利用していました。 LIKE検索は、使い慣れたSQLを用いて部分一致検索を実現できる便利な方法です

    医薬品検索でMySQLの全文検索機能を使った話 - KAKEHASHI Tech Blog
    hkr_I
    hkr_I 2024/09/12
  • モチベーション高く『継続』して勉強する技術 - Qiita

    はじめに 疲れたら山頂を見るな。振り返ろ こんにちは、Watanabe JIn(@Sicut_study)です。 今回は「努力する」「継続する」ために知っておくべき考え方やテクニックについて紹介していきます。 あなたは努力が得意でしょうか? 努力ができる/できないは才能で決まっています そしてこの才能は後天的に身につけられるものとなっています。 私の周りをみてみると「継続」が得意な人はかなり少ない印象です。 つまり世の中的にも、継続が得意という人は、得意でない人よりも圧倒的に多いのではないかと思います。 多くの人が苦手とする「続ける」という行為ですが、これには考えとやり方が存在していて、これらを理解して実践することができれば才能が身につくようになります。 想像してみてください。あなたが続けていこうと意気込んだけど3日で終わってしまったこと、今でも続けていたらどんな未来が待っていたでしょうか

    モチベーション高く『継続』して勉強する技術 - Qiita
    hkr_I
    hkr_I 2024/09/11
  • Railsのマイクロサービスアーキテクチャで構成されたアプリをモノレポ構成に移行した話 - Sansan Tech Blog

    こんにちは。技術部Sansan Engineering Unit Master Data Groupの古です。 普段は、営業DXサービス「Sansan」の名刺交換した人や企業に関するニュースを表示し、お知らせする「企業ニュース」や「企業情報」を扱うシステムの開発をしています。 最近、マイクロサービスで作られた企業ニュースのシステムをモノレポ構成に移行しました。 今回はその時に行ったことについて話します。 モノレポ(mono repo)とは ブログで類似の記事があったので引用します。 一連のソースコードを単一のリポジトリで管理している状態のことです。 特に、実装言語、またはサブシステムやドメインといった何らかの区切りでリポジトリを分けている場合に、それらを集約することをモノレポ化と言います。 マイクロサービスアーキテクチャのリポジトリ構成を漸進的にモノレポに移行した話 今回も複数レポジ

    Railsのマイクロサービスアーキテクチャで構成されたアプリをモノレポ構成に移行した話 - Sansan Tech Blog
    hkr_I
    hkr_I 2024/09/11
  • 【Python】非同期処理が何もわからなかったあの頃の自分に向けて

    はじめに こんにちは。GMO アドパートナーズ新卒の樋笠です。 最近業務で、Pythonの非同期処理を書いているのですが、初めて非同期処理を学んだときに苦悶したことを思い出しました。 そこで、過去の自分に「こう伝えたら理解できるんじゃないかな」と考えながら記事を書きました。 非同期処理について学んだことがない人でも、これを読めば、「非同期処理がやろうとしていること」や「Pythonの非同期処理の基的な書き方」が分かるようになる、というものを目指しました。 ぜひ最後までお読みください ※ わかりやすく説明するために、あえて言い切っている箇所があります。ご了承ください。 非同期処理ってなに? まず、非同期処理ってなに?という話ですが、「非同期処理」を理解するために、その対になる「同期処理」を考えてみましょう。 同期処理 たとえして、こんな状況を考えてみましょう。 AとBの2つのタスクがあり、

    【Python】非同期処理が何もわからなかったあの頃の自分に向けて
    hkr_I
    hkr_I 2024/09/11
  • Haystack

    An IDE built on top of a canvas, Haystack takes care of the tedious and confusing parts of coding for you

    Haystack
    hkr_I
    hkr_I 2024/08/25
  • WEARアプリリニューアルにおける負荷試験事例(計画編) - ZOZO TECH BLOG

    はじめに こんにちは! WEARバックエンド部バックエンドブロックの高久です。普段は弊社サービスであるWEARのバックエンド開発・保守を担当しています。 10周年を迎えたWEARは2024年5月9日に大規模なアプリリニューアルを行いました。アプリリニューアルに伴い負荷試験を行ったので、記事ではどのように負荷試験を計画したか事例をご紹介します。 記事は計画編と実施編の2部構成で、記事は前編の計画編となります。後編の実施編は近日、公開予定です。 目次 はじめに 目次 背景 計画の重要性 計画の策定 目的の整理 目標値の設定 スループット レイテンシ 試験方針 試験環境・データ 対象範囲 取得情報・確認観点の整理 負荷シナリオ 実施方法 リスク リリースしてみたらユーザ数が予想を超えてしまい性能問題が発生する 試験対象外とした箇所に性能問題が発生する 番環境での試験時に性能問題が発生しユー

    WEARアプリリニューアルにおける負荷試験事例(計画編) - ZOZO TECH BLOG
    hkr_I
    hkr_I 2024/08/24
  • テックリードのポジションを設ける際に考えたこと - Sansan Tech Blog

    はじめに Eight Androidチームのチームリーダーの山です。 私たちのチームでは2024年6月から新たにテックリードのポジションを設け、2024年4月入社のメンバーにその役割を担ってもらっています。 それまでEight Androidチームに明確なテックリードのポジションはなく、チームリーダーである自身が暗黙のうちにその役割を兼務している状態でした。今回、新たにテックリードのポジションを設けるに当たり、考えたことをまとめます。 背景 これまでチームでは2つの取り組みでアーキテクチャの検討と、新技術導入や技術的負債の改善を行ってきました。 技術基盤改善 新技術導入や技術的負債の改善を行う 週に1回2時間の時間をかける チーム全員が作業する アーキテクチャ検討会 レビューなどで発生した汎用的な技術的な論点や、大きなアーキテクチャ変更の話題を扱う 週に1回2時間の時間をかける チーム全

    テックリードのポジションを設ける際に考えたこと - Sansan Tech Blog
    hkr_I
    hkr_I 2024/08/24
  • コントリビュートで沢山の人が救われる。mattn氏が語る、好循環を実現するアウトプット活動の仕組み

    コントリビュートで沢山の人が救われる。mattn氏が語る、好循環を実現するアウトプット活動の仕組み 2024年8月6日 mattn 大学卒業後、ソフトウェアハウスやSIerなどでソフトウェア開発に携わる。vi派生のテキストエディタVimの日語化やプラグイン、Go言語などでOSS(オープンソースソフトウェア)の開発・コミュニティ運営に参加し、2019年からGoogle Developers Expert。2021〜2023GitHub Stars。著書に『みんなのGo言語』(2016年、2019年に改訂2版、技術評論社、共著)、『Go 言語プログラミングエッセンス』(2023年、技術評論社、単著)がある。関西在住。 X:@mattn_jp GitHub 前回はアウトプットのためのお題選びに際して、巷のエンジニアがよく選びがちな TODO アプリについてお話させていただきました。 いった

    コントリビュートで沢山の人が救われる。mattn氏が語る、好循環を実現するアウトプット活動の仕組み
    hkr_I
    hkr_I 2024/08/22
  • "これはdynamodbでいけるわ"が流行語になった2ヶ月間の備忘録

    はじめに 私ごとではありますが、現場でdynamodbをメインのデータベースとして採用してから約2ヶ月が経ちました。 たった2ヶ月いう期間で、何度も心身ともに崩壊し、そして粘り強く復活を遂げ、かろうじて奇跡的にレベルアップをしてきました。 今回の記事では、これからdynamodbの導入を検討しているエンジニアの皆様に向けて、わずかながら現場で(汗と血を流しながら)得た知見を共有したいと思います。 主にdynamodbを導入するときに楽できる部分、楽できない、苦労する部分がどんな感じか、この記事でなんとなく伝えられたら嬉しいです。 以下では、4つの項目(採用基準、設計、開発、運用)に分けて、知見を羅列していきますが、私もまだ駆け出しdynamodberの域を出ないので、誤りやアドバイス等ございましたら、是非コメントいただきたいです! なお、ここで紹介する内容は基的にはAWSの公式ドキュメン

    "これはdynamodbでいけるわ"が流行語になった2ヶ月間の備忘録
    hkr_I
    hkr_I 2024/08/17
  • Web系エンジニア最低限入れておくべき Chrome 拡張機能3選 - Qiita

    概要 Web ブラウザではすっかりお馴染みの Google Chrome ですが、開発者ツール(DevTools)だけでなく、拡張機能にも導入すると非常に便利なものがたくさんあります。 その中でも、Web系の開発をするエンジニアなら、是非入れておきたいオススメの Google Chrome 拡張機能について紹介します。 尚、いずれも無料で利用可能です。 IT エンジニア界隈では、既にどれも有名なものばかりですが、これから Web 系の開発をする方は是非お試しください。 当はもっとたくさんオススメしたい拡張機能がありますが、ひとまず今回は3つ紹介します。 Wappalyzer(ワッパライザー) 「Wappalyzer(ワッパライザー)」は、現在表示している Web ページで使われている技術(言語、フレームワーク、プラットフォーム、分析ツール、その他のサービス)を一覧表示してくれる拡張機能

    Web系エンジニア最低限入れておくべき Chrome 拡張機能3選 - Qiita
    hkr_I
    hkr_I 2024/08/14
  • 実践データベース設計

    2024年度リクルート エンジニアコース新人研修の講義資料です

    実践データベース設計
    hkr_I
    hkr_I 2024/08/11
  • 食べログのモジュラモノリス化戦略

    「10年超えRails開発の振り返りと未来 - 持続可能な開発の具体策」の発表資料です https://pieceofcake.connpass.com/event/324722/

    食べログのモジュラモノリス化戦略
    hkr_I
    hkr_I 2024/08/03
  • Java Champion・谷本心が3段階の技術レベルに合わせて読んでほしいJava本6選

    心 EverforthとAcroquestの2社で正社員として働くエンジニア仕事のかたわらでコミュニティ活動も行っており、日Javaユーザーグループの代表を務めるほか、アメリカで開催されたJavaOneやSpringOneなど国内外のイベントで登壇。その実績から日で3人目の「Java Champion」に任命された。著書に『Java格入門』(技術評論社)。趣味は対戦格闘ゲームと、BABYMETALを追いかけて世界中を旅すること。 X: @cero_t Blog: https://cero-t.hatenadiary.jp/ 1. 『Java格入門~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで』(谷心、阪雄一郎、岡田拓也、秋葉誠、村田賢一郎 著) 2. 『プロになるJava仕事で必要なプログラミングの知識がゼロから身につく最高の指南書』(きしだなおき

    Java Champion・谷本心が3段階の技術レベルに合わせて読んでほしいJava本6選
    hkr_I
    hkr_I 2024/08/02
  • Rails の非同期処理を Sidekiq から Cloud Tasks にリプレイスして Cloud Run のコストが6分の1になった話

    成果 最終的に、Cloud Run のコストが$6/day前後から$1/day前後に! ちなみに、Cloud Tasks は1ヶ月あたり最初の100万回のオペレーションまで無料なので余裕で収まっています。 モチベーション 今回リプレイスを検討したシステムは軽量な非同期処理が大半で、もともと絶対に Sidekiq でないと困るということが少なかった Sidekiq は Redis をポーリングしてジョブを取得する方式なので、Cloud Run で実行するには min-instances を1以上にしなければいけない 何もジョブがない状態が続いてインスタンスが0になると起こしてくれる人がいないので... 絶対に Sidekiq でないと困らないなら Cloud Tasksにして、非同期処理がない時は寝ていても良いようにしたい => コストダウン! Pub/Sub との比較検討もしましたが今回は

    Rails の非同期処理を Sidekiq から Cloud Tasks にリプレイスして Cloud Run のコストが6分の1になった話
    hkr_I
    hkr_I 2024/08/01
  • アンチパターンで学ぶDB設計 - Qiita

    はじめに データベース(DB)の設計は、システムの性能や保守性に大きな影響を与えます。 この記事では、最低限パフォーマンスの低下や管理の複雑化を引き起こさないようにするために覚えておくべきことを、アンチパターンとしてまとめました。 記事は、 現在仕事でデータベースを扱っており、データ設計について今一度おさらいしたい データベースについての基礎知識やお作法を身に付けたい という人を対象として想定しています。 これらに当てはまる方はぜひ一度確認してみてください! 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 DB設計アンチパターン 早速、DB設計におけるアンチパターンを紹介します。 それぞれアンチパターンのテーブルを見て

    アンチパターンで学ぶDB設計 - Qiita
    hkr_I
    hkr_I 2024/07/31
  • MySQL 8.0アップグレード後に性能劣化したクエリ: セミジョイン編 - inSmartBank

    データベースアップグレード後の性能劣化、イヤですよね。 去る2023年某日、弊社ではAmazon Aurora MySQL 互換エディション 2 (MySQL 5.7 互換) から Aurora MySQL 互換エディション 3 (MySQL 8.0 互換) にアップグレードしました。当時の背景やアップグレードに関する知見は以下の記事をぜひ読んでみてください。 blog.smartbank.co.jp ソフトウェアバージョンアップをするとき、旧バージョンが抱えていた問題の解決などの恩恵を我々は期待します。しかし時には予期せぬデグレーションに遭遇することもあります。我々のMySQL 8.0へのアップグレード前後においてもいくつかの問題に遭遇しました。 記事ではそんな問題の一つ、MySQL 8.0のオプティマイザが選択したセミジョイン最適化が性能劣化を引き起こした事例と解決方法について紹介し

    MySQL 8.0アップグレード後に性能劣化したクエリ: セミジョイン編 - inSmartBank
    hkr_I
    hkr_I 2024/07/30
  • すばやく実装するための戦略とテクニック2024 / speed is power! 2024 #techramen24conf #shoyu

    TechRAMEN 2024 Conferenceで発表した「すばやく実装するための戦略とテクニック2024年版」のスライドです。 https://fortee.jp/techramen-24-conf/proposal/ce8ce247-ffd3-4458-842d-ef3df3b5bf6c …

    すばやく実装するための戦略とテクニック2024 / speed is power! 2024 #techramen24conf #shoyu
    hkr_I
    hkr_I 2024/07/29