並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 221件

新着順 人気順

developerの検索結果41 - 80 件 / 221件

  • 技術的負債を抱えたレガシーコード。変なメソッド名と入り組んだロジック、リファクタリングするならどちらが先?(前編)

    技術的負債を抱えたレガシーコード。変なメソッド名と入り組んだロジック、リファクタリングするならどちらが先?(前編) ソフトウェアの品質をテーマに研究をしている名古屋大学 森崎研究室は、ソフトウェアの技術的負債をなんらかの形で数値化する手法の研究の一環として、コードの読みにくさの原因となる要因などを分析した研究結果を発表するイベントをオンラインで開催しました。 今回発表された研究では、技術的負債を抱えたレガシーコードのリファクタリングで取り除かれた問題の90%以上が、メソッド名と実際の関数の動作が一致していない、あるいは関数名とコメントが矛盾しているなどの「命名的問題」、もしくは複雑で読みにくい多数の条件分岐や深いネストなどを抱えた「構造的問題」のいずれかであるという先行研究があることを踏まえ、どちらを優先してリファクタリングすると保守性や可読性が高くなるかを調査しています。 具体的には、命

      技術的負債を抱えたレガシーコード。変なメソッド名と入り組んだロジック、リファクタリングするならどちらが先?(前編)
    • SoftEtherの登 大遊氏が語る、「日本のITエンジニアに迫る危機」とは

      大学在学時に、ソフトウェアVPN(Virtual Private Network)の「SoftEther VPN」(以下、SoftEther)を開発したことで広く知られる登 大遊氏。SoftEther開発後も中国の検閲用ファイアウォール「グレートウォール」へのハッキングなどで話題を集め、現在は東日本電信電話(NTT東日本)のビジネス開発本部 特殊局員、情報処理推進機構(IPA)の産業サイバーセキュリティセンター サイバー技術研究者、筑波大学の客員教授などを務めている。 登氏が、ゲットイットが開催したWebセミナーで、日本のITエンジニアに必要な「トライ&エラー(トライアルアンドエラー)の思考法」について話した。ゲットイットは、リユースIT製品の販売やレンタル、メーカーサポートが終了した製品の保守をサポートするIT機器保守(第三者保守)など幅広い役割で、NTTグループをはじめとする多数の企業

        SoftEtherの登 大遊氏が語る、「日本のITエンジニアに迫る危機」とは
      • Instagramはどうやって3人のエンジニアで1400万人にサービスを提供できるシステムを組み上げたのか

        Instagramは2010年10月にサービスを開始後、2011年12月までのわずか1年間で1400万人に利用されるほど巨大なサービスに成長しました。こうしたスケールに対応できるシステムを組み上げたのはたった3人のエンジニアだったとのことで、どのように少人数でスケールするシステムを組み上げたのかについて、エキスパートエンジニアのレオナルド・クリードさんが解説しています。 How Instagram scaled to 14 million users with only 3 engineers https://engineercodex.substack.com/p/how-instagram-scaled-to-14-million レオナルド・クリードさんは、Instagramが3人のエンジニアで安定して巨大なサービスを提供できた理由として、下記の3つの原則を守ったからだと述べています

          Instagramはどうやって3人のエンジニアで1400万人にサービスを提供できるシステムを組み上げたのか
        • プログラマーの教養としての原則

          参考 プリンシプル オブ プログラミング - 3年目までに身につけたい一生役立つ101の原理原則 発行: 2016/3/23 著者: 上田 勲 まえがき プログラマーの世界で語り継がれる原則や格言を知ることは、その共通の言語や道徳を理解する手助けとなります。 『プリンシプル オブ プログラミング』(以下、プリプロ)は、統一された語句と形式により、先人のプログラマーたちが重要視していた思考法やアプローチを、微妙な概念の違いに気を使うことなく理解できるよう構築されています。この記事では、この本を読む上で役立つ101の原則マップと原則から抽出した価値観をまとめます。プリプロを読む際のガイドになればと思います。 一方で、プリプロに収録されていないウィットに富んだ原則や格言も多く存在します。この記事では、主に私の現場で重要視しているプリプロの101の原則以外の原則・格言も追加で紹介します。 プログラ

            プログラマーの教養としての原則
          • 2024年Gitワークフロー再考 | フューチャー技術ブログ

            春の入門祭り2024の2記事目です。 Gitは、出自としては1週間で作られたLinuxカーネルのための分散バージョン管理システムでした。当時のワークフローに合わせてパッチをテキスト化してメールに添付できるような機能だったりが備わっています。 一方で、現代のGitは、デファクトスタンダードなバージョン管理システムになりLinuxカーネル以外のアプリケーション開発で利用されています。分散バージョン管理ではあるものの、サーバー・クライアント型の使われ方をしていて、GitHubやGitLabを核にして、ローカルで作ったブランチをpushして、Pull Requestの形にして管理しています。少なくとも周りで見る限りでは、それ以外の使われ方の方が少なくなってきてます。そんなこんなで求められている使われ方が変わってきていて、それに合わせた機能がぼちぼち増えています。それを活用することで、ウェブ画面上で

            • 40歳を過ぎてもソフトウェアエンジニアを続けてるって話 - Mitsuyuki.Shiiba

              昨日、ゆのんさん( https://twitter.com/yunon_phys )が社内の勉強会で「エンジニアリングマネージャとは?」って話をしてくれて、面白いなぁって思いながら聞いてた。 今日は @yunon_phys が社内勉強会で、エンジニアリングマネージャについてお話をしてくれてとてもよかった。こんな話が社内で聞けるのって福利厚生だなぁと思いながら聞いてた。— SHIIBA Mitsuyuki (@bufferings) October 13, 2023 その中で「エンジニアリングマネージャが見ることのできる範囲はめちゃ広いから、すべてを完璧にしようとするんじゃなくて、その場に応じてスキマを埋めるような動きができるといい。組織の成長とともにその動きも変わっていく」ってことを言っていて、これって自分のソフトウェアエンジニアとしての動きにも似たところがあるなぁと思ったので雑にメモ。

                40歳を過ぎてもソフトウェアエンジニアを続けてるって話 - Mitsuyuki.Shiiba
              • ヨドバシの中の人が語る、開発中のヨドバシAPIが目指す機能、仕組み、そしてセキュリティ(前編)

                ヨドバシカメラは現在、お客様との接点をドメインとして設計する新たなAPIを開発中であることを、クリエーションラインが主催し10月27日に開催されたイベント「Actionable Insights Day 2023」で明らかにしました。 REST APIとして実装される予定のこのAPIについて同社は「ヨドバシスタッフの魂を注入する」としており、厳重なセキュリティやユーザーフレンドリーで高い利便性などが追求されています。 ヨドバシAPIがどのように設計され、開発、実装されていくのか。その中味が紹介されたセッションの内容を見ていきましょう。 本記事は前編と後編の2本の記事で構成されています。いまお読みの記事は前編です。 疎結合なのに一体感、ヨドバシAPIがつなぐ社会 株式会社ヨドバシカメラ 代表取締役社長 藤沢和則氏。 ヨドバシカメラの藤沢と申します。本日はまずこの貴重な機会をいただきありがとう

                  ヨドバシの中の人が語る、開発中のヨドバシAPIが目指す機能、仕組み、そしてセキュリティ(前編)
                • サイゼリヤ元社長「日本の会社は、なぜシステム開発を外部のシステム会社に丸投げして適当に現場をヒアリングさせるという方法を取るんだい??」→システム内製化は単純ではない話

                  いぐぞー ✈️ 旅するプログラマー @igz0 旅とプログラミングをこよなく愛します。 アメリカ大陸🇺🇸を横断しました!!小学生からプログラミング→新卒SIer→Webに目覚め個人事業主兼会社員。テレビ出演経験あり。 Webサービス制作者。読書・IT関連を中心にツイートします!!ネタツイート有。アイコンは@ixy先生に利用許諾済み。Amazonアソシエイト参加。 note.com/igz0/

                    サイゼリヤ元社長「日本の会社は、なぜシステム開発を外部のシステム会社に丸投げして適当に現場をヒアリングさせるという方法を取るんだい??」→システム内製化は単純ではない話
                  • Figmaで作ったデザインをWebサイトに即反映「STUDIO」 | 進化が止まらない! 最新ツール

                      Figmaで作ったデザインをWebサイトに即反映「STUDIO」 | 進化が止まらない! 最新ツール
                    • データベースの値をちょっとだけ書き換えたら検索に数十分かかる様になって障害になった裏話 - STORES Product Blog

                      はじめに 2024年1月にリテール(ネットショップ・レジ)部門からサービス(予約)部門に異動になった @ucks です。 異動してからはスマートリストという機能の開発を行っていて、5月6日に無事リリースできたのと、開発途中で障害に至ってしまった部分があるので、裏側を少し紹介しようかなと思います。 はじめに スマートリストとは スマートリストの設計 検索の仕様変更 高負荷時のハンドリング そして障害へ 見逃した点 DBの実行計画確認時の見逃し 動作確認時の漏れ 監視先の漏れ ログの損失 おわりに スマートリストとは スマートリストの開発についての話を行う前に、まずはスマートリストについて簡単に説明しておきます。 スマートリストとは、特定の条件の顧客をラベリングする機能です。 早い話、最終予約日がいつ、予約回数が何回以上等の顧客の検索条件を保存しておいて、閲覧時にラベリングして、視認しやすくし

                        データベースの値をちょっとだけ書き換えたら検索に数十分かかる様になって障害になった裏話 - STORES Product Blog
                      • いまどきの分析設計パターン10選

                        JJUG CCC 2024 Spring 複雑な業務ロジックに立ち向かうための実践技法 【初級編】 ①値の種類 ②範囲型 ③階段型 【中級編】 ④状態遷移 ⑤入出金履歴と残高 ⑥未来在庫 【上級編】 ⑦セット演算 ⑧割合と端数 ⑨決定表 ⑩経路探索

                          いまどきの分析設計パターン10選
                        • いまNext.jsで新規サービスを立ち上げるときの観点(Router・CSS・認証・監視など/2023年末)

                          免責事項 社内向けに展開するように雑にまとめました Next.jsの知見が深くない人がリードしてPoCを立ち上げなきゃいけなくなったが、社内的にはNext.jsを推奨しているみたいな場面を想定しています なので自信ないところも多いですが割と断言するように心がけて書いています PoCの立ち上げ想定なので、jest/Storybookなど内部品質面についてあまり深く書くことを避けています ほぼ自分の知識だけで書いており私見も多いですし、そもそも自分自身がトップクラスの知識や視座を有しているわけでもないので、まずは以下の話を理解はした上で、踏襲するかどうかは別途他記事やGitHub、公式ドキュメントなどを漁って判断することを推奨 App RouterかPages Routerか 2023年末現在まだApp Routerは技術記事が足りてきている印象ではないため、社内でノウハウを積極的に貯めていく

                            いまNext.jsで新規サービスを立ち上げるときの観点(Router・CSS・認証・監視など/2023年末)
                          • x86-64機械語入門

                            この記事はx86-64の機械語を書けるようになるためのガイドとなることを目指します。読者はアセンブリー言語について既にある程度知っていることを想定します。 情報源 x86-64の機械語のオフィシャルなガイドはIntelのSoftware Developer ManualまたはAMDのAMD64 Architecture Programmer's Manualです。 Intel SDM: Intel® 64 and IA-32 Architectures Software Developer Manuals AMD64 Architecture Programmer's Manual, Volumes 1-5 このほか、Cから呼び出される関数を定義したり、Cの関数を呼び出すためには、呼び出し規約の知識も必要です。使用される呼び出し規約はOSに依存し、Unix系では主にSystem V ABI

                              x86-64機械語入門
                            • 学生の頃インディーゲーム作ってて賞とか取ってましたていう新卒のエンジニアの子がいたんだけど会社でうまくいかなかった話→「ゲームに限らないな…」

                              BuchioGames @BuchioGames 本業はソシャゲのD/P/Mgr。個人的にもUnityでゲーム制作をやってます。 I'm a Japanese solo indie game developer. スマホ向け2.5D + 3Dアクションゲーム『SNO』体験版配信中 固ツイのリンクからDLできます! lit.link/BuchioGames BuchioGames @BuchioGames 数年前、学生の頃インディーゲーム作ってて賞とか取ってましたていう新卒のエンジニアの子がいたんだけどこれが本当にうまくいかなかった 企画に納得いかない、ということが多々あったのだ 大規模開発になると企画、エンジニア、デザインと明確に分業し、それぞれの決定が重視される つづく 2024-05-25 11:22:04 BuchioGames @BuchioGames その子に関して僕が感じ取った

                                学生の頃インディーゲーム作ってて賞とか取ってましたていう新卒のエンジニアの子がいたんだけど会社でうまくいかなかった話→「ゲームに限らないな…」
                              • 本当は教えたくない、VScode拡張の最強プログラミングアシスタントAI Phind(導入・使い方) - Qiita

                                みなさんプログラムは書いていますでしょうか。この一年でChatGPTができ、CopilotにCopilot Chatなど色々なAIツールが出ていますが今回お勧めするのはPhindというAIアシスタントです。 Phindとは Phind(Phind.com)とは端的にいえばGPT-4を超えるコーディング能力に特化した言語AIです 参考リンク:大規模言語モデル「Phind」がコーディングにおいてGPT-4を上回る リンク内で言われているように、WebからChatGPTやGoogleのように簡単に使うことができますが、Phindの真髄はここでは味わえません。 Phindの真の実力 Phindの本当の実力はVScode拡張を使うことによって体感することができます。 PhindのベースモデルはPhind-CodeLlamaというものを使っています。これはMeta社が作ったCodellamaというプロ

                                  本当は教えたくない、VScode拡張の最強プログラミングアシスタントAI Phind(導入・使い方) - Qiita
                                • 実践:はじめてのWebAPI設計 - Qiita

                                  はじめに この記事はAPIの基本的な実装方法を丁寧に解説します。基礎を学びたい方、今更聞けないような知識の振り返りを求める方の役に立つことを願っています。もう十分理解できている!という方は、目次から実装にとんでみてください。 具体的にはHTTPと呼ばれる通信方法を利用した、シンプルな本の貸し出しシステムの土台を考えます。要件の各ステップで、設計の基本原則やベストプラクティスについても触れながら、より実践的な知見を共有できればいいなと思います。 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 基本用語 Webに関する基礎知識の解説記事はQiitaに豊富にあったので、要点を抑えつつリンクをまとめました。 WebAPI Web

                                    実践:はじめてのWebAPI設計 - Qiita
                                  • ゲームプログラミング研修 - KAYAC Engineers' Blog

                                    こんにちは。技術部平山です。 たぶん15年ぶりくらいに研修の類の講師をやったので、そのことについて書きます。 概要 2D用(github)、 3D用(github) の2つのUnityプロジェクトをテンプレートとして用意して、 そこに「コードだけで」ゲームを作る研修をしました。 どちらも、Hierarchyに何かを足すことは禁止、 足して良いアセットはC#ファイルのみで、 そのC#ファイル内ではUnityEngineの機能を使用禁止、 というレギュレーションです。 いずれも、IMachineなるインターフェイスが存在し、 これを通してゲームを作ります。 例えば2D用のIMachineの主要部分はこんな感じです。 public interface IMachine { public int Width { get; } // スクリーン横解像度 public int Height { get

                                      ゲームプログラミング研修 - KAYAC Engineers' Blog
                                    • 目指すのは「オタク向けmixi」「平成のインターネット」……? ユーザー爆増の純日本産SNS『Misskey』開発・運営インタビュー

                                      目指すのは「オタク向けmixi」「平成のインターネット」……? ユーザー爆増の純日本産SNS『Misskey』開発・運営インタビュー この1年、『X(旧・Twitter)』に大きな変化が起きている。イーロン・マスクによるTwitter社の劇的な買収劇にはじまり、サードパーティアプリの停止、APIの有料化、名称変更、大量のユーザーアカウントを停止する“凍結祭り”など、これまで恩恵を享受してきたユーザーにとってネガティブな出来事も多く、こうした事件が起きるたびに「ポスト・ツイッター」について議論がなされてきた。 個人的にもXに変わるテキストSNSの動向は注視しており、Meta社が公開したテキストSNS『Threads』のレビューや、『Mastodon』に代表される分散型SNSを取り巻く状況についても都度レポートしている。今回は分散型SNS、『Misskey』の開発を行うsyuilo氏と同サービ

                                        目指すのは「オタク向けmixi」「平成のインターネット」……? ユーザー爆増の純日本産SNS『Misskey』開発・運営インタビュー
                                      • はじめに · 小さなゲーム開発の楽しみ

                                        小さなゲーム開発の楽しみ はじめに ゲーム開発は、自分の創造性を存分に活かせる場だ。特に、手軽に作成してすぐに楽しめる小さなゲームを題材とすれば、その魅力をすぐに体験できる。この記事では、小さなゲームを制作する楽しさを探ってみたい。 「小さなゲームを作ること、それ自身が楽しいのだ」の章では、小さなゲームとは何か、小さなゲームを作るのはなぜ楽しいのかを述べる。小さなゲーム開発は大きなゲームを作るための訓練というだけではなく、小さなゲームならではの楽しさがあるのだ。 小さなゲームを作ろうとした時、どのようなプログラミング言語やゲームエンジンを使って作れば良いかは、最初に悩むポイントだ。「ターゲットデバイスと開発環境、何向けに何で作ろうか」の章で、それらに関する情報を集めた。 ゲームの核となるアイデアの考案は、小さなゲーム制作の鍵だ。「小さなゲームのアイデアって、どうやって思いつくの」の章で、そ

                                        • 騒音問題にピンポン玉が役立つことが判明 主に低周波騒音に効果的な吸音材に 最新研究結果 - amass

                                          騒音問題にピンポン玉が役立つことが判明したという。科学者によると、ピンポン玉にいくつかの改良を加えることで、この軽量のプラスチック球が、主に低周波騒音に効果的な吸音材として機能することがわかったそうです。 リール大学とギリシャのアテネ国立工科大学による共同研究チームは、ピンポン玉をヘルムホルツ共振器(※騒音を下げることを目的として、自動車用エンジンの吸気系、建物の壁材などに幅広く使われている)として利用した音響メタサーフェス(人工構造体)を作り上げました。 研究著者のRobine Sabatはメディアリリースでこう述べています。 「ピンポン玉はよく知られた日常的なもので、世界中にたくさんあります。私たちの動機は、このような簡単に手に入るものを使って低周波絶縁パネル構造を作ることでした。ピンポン玉は、低コストとリサイクルの可能性の両方において、音響絶縁材の経済的な代替品となるものなのです」

                                            騒音問題にピンポン玉が役立つことが判明 主に低周波騒音に効果的な吸音材に 最新研究結果 - amass
                                          • 英語が話せてプログラムも書けるようになったのでより就職が難しくなった件について - Qiita

                                            英語が話せてプログラムも書けるようになったのでより就職が難しくなった件について 最初の記事にも書きましたが、日本を離れて10年以上、外資系の企業にて外国人と働き、または交渉事などをまとめ、何処に行ってもそれなりに不自由しない英語力を獲得し、さらにロックダウン中から2年あまり、毎日毎晩独学でコードを書き続けたことによって獲得したプログラミングスキルによりウェブアプリなどを自作できるようにまでなった訳ですが、そうして身につけた能力をフルに生かして条件の良い働き口を見つけてこましたろ と思った時に、そういった能力が身を助けるどころか、よりレッドオーシャンの荒波に我が身を晒すことになったことに気付き、愕然としてこの記事を執筆しています。 英語ができることによって競争が激化 例えば、自分は英語も話せて、プログラミングも出来ますよ となった場合、勿論グローバルな企業にて雇用されることを期待する訳ですが

                                              英語が話せてプログラムも書けるようになったのでより就職が難しくなった件について - Qiita
                                            • 個人開発を加速させる効率アップ戦術

                                              参考記事: https://www.bannerbear.com/blog/why-you-should-do-50-coding-and-50-marketing-as-a-solo-tech-founder/ ポストック: https://postock.app/

                                                個人開発を加速させる効率アップ戦術
                                              • セキュアなAWS環境の設計についての解説【2024年版】 - サーバーワークスエンジニアブログ

                                                こんにちは!イーゴリです。 AWS にとって、クラウドのセキュリティは最優先事項です。(AWS公式ページ) AWS環境のセキュリティ対策としてAWSサービスを解説するよりも、まずはAWS環境の最適な設計について考える必要があります。AWS Well-Architected Frameworkを考慮しながらの設計を推奨します。AWS Well-Architected Frameworkを全部詳しく読むことをおすすめしますが、この記事では個人的に一番重要だと思う点について記載します。 とてもざっくり説明しますと、AWS Well-Architected Frameworkとは、クラウドシステムの最適な設計方法を提供するAWSのガイドラインで、6つの柱があります。この記事では基本的に「セキュリティ」の柱を技術的観点から見てみたいと思います。 AWS Well-Architected Framew

                                                  セキュアなAWS環境の設計についての解説【2024年版】 - サーバーワークスエンジニアブログ
                                                • Microsoftの専門家「ウォーターフォールは一切メリットがないのでやめておきなさい」アメリカでは、アジャイルやスクラムの進め方が「常識」としてソフトウェア開発の場で浸透している話

                                                  いぐぞー ✈️ 旅するプログラマー @igz0 旅とプログラミングをこよなく愛します。 アメリカ大陸🇺🇸を横断しました!!小学生からプログラミング→新卒SIer→Webに目覚め個人事業主兼会社員。テレビ出演経験あり。 Webサービス制作者。読書・IT関連を中心にツイートします!!ネタツイート有。アイコンは@ixy先生に利用許諾済み。Amazonアソシエイト参加。 note.com/igz0/ いぐぞー ✈️ 旅するプログラマー @igz0 Microsoftの専門家「ウォーターフォールは一切メリットがないのでやめておきなさい」 > アメリカでは、アジャイルやスクラムの進め方が「常識」としてソフトウェア開発の場で浸透している これマジ?? 日本のIT企業が、米国では「時代遅れ」のウォーターフォールを未だに信奉してるってコト!? pic.twitter.com/jRofJKmAKM 202

                                                    Microsoftの専門家「ウォーターフォールは一切メリットがないのでやめておきなさい」アメリカでは、アジャイルやスクラムの進め方が「常識」としてソフトウェア開発の場で浸透している話
                                                  • Slackが「仕事に集中できるのは4時間だけ」「時間外労働で生産性が20%低下」「15時~18時は生産性が急落」など生産性の最大化に役立つ調査結果を公開

                                                    コミュニケーションツール「Slack」の開発元であるSlackが、1万人以上の従業員に対して労働時間や生産性に関する調査を行い生産性最大化に役立つ情報をまとめたレポート「Workforce Index」を無料公開しています。 The surprising connection between after-hours work and decreased productivity | Slack https://slack.com/intl/en-gb/blog/news/the-surprising-connection-between-after-hours-work-and-decreased-productivity Slackは2023年8月24日から9月15日にかけて、アメリカやオーストラリア、フランス、ドイツ、日本、イギリスの従業員1万333人を対象に労働時間や生産性に関する調

                                                      Slackが「仕事に集中できるのは4時間だけ」「時間外労働で生産性が20%低下」「15時~18時は生産性が急落」など生産性の最大化に役立つ調査結果を公開
                                                    • 登大遊、落合陽一を生んだ、未踏の父・竹内郁雄に聞く「優れたエンジニア」に必要なこと - エンジニアtype | 転職type

                                                      NEW! 2024.04.12 スキル 未踏落合陽一登大遊プログラマー 登大遊、落合陽一など数々のスーパークリエータを輩出してきた、独立行政法人情報処理推進機構(IPA)の「未踏IT人材発掘・育成事業」(以下、未踏IT)。その立ち上げから現在までを知るのが、統括プロジェクトマネージャーの竹内郁雄さんだ。 2017年には、ビジネスや社会課題解決につながる人材を発掘する「未踏アドバンスト事業」にも統括プロジェクトマネージャーとして参画。国際的なデファクトスタンダードとなるソフトウェアを日本から生み出すべく、人材育成に心血を注いでいる。 前身の未踏ソフトウェア創造事業から数えて24年。のべ2000人を超える修了生を見てきた竹内さんだから言える、優れたエンジニアに共通して求められる素養を聞いた。 未踏事業統括プロジェクトマネージャー(PM) 一般社団法人未踏 代表理事 竹内郁雄さん 1946年、富

                                                        登大遊、落合陽一を生んだ、未踏の父・竹内郁雄に聞く「優れたエンジニア」に必要なこと - エンジニアtype | 転職type
                                                      • 良いソフトウェアとコードレビュー / Good software and code review

                                                        Scala + Caliban で作るGraphQL バックエンド / Making GraphQL Backend with Scala + Caliban

                                                          良いソフトウェアとコードレビュー / Good software and code review
                                                        • ライブラリを気軽に導入しないこと|Katashin

                                                          本をよく読むエンジニアであれば、ライブラリの導入には慎重になるべきだということは共通の認識になっていると思う。しかし、どういったライブラリを導入すべきかという選定基準は自分の中ではまだ言語化できてないことに最近気がついた。絶対的な基準を設けるのではなく、ある程度柔軟に考えるべきだと思うが、自分がどう考えて選定するかを考えてみる。 品質 テストが書かれているか 自分のプロダクトでテストを書いているのであれば、ライブラリにもテストを求めるべき 長い間継続してメンテナンスされている(いた)か 急に出てきてセンセーショナルな売り文句で注目を浴びるライブラリは怪しむべき コードの品質は悪くないか 導入する前にライブラリのコードは読むべき 効果 その後の実装効率をどれだけ上げるか 導入しない場合と大して変わらないのであれば不要 自分でそれを書いた場合と比べてどうか 短時間で同じようなものを書けるのであ

                                                            ライブラリを気軽に導入しないこと|Katashin
                                                          • 「影響範囲の考慮漏れ」によるソフトウェアトラブルの多発はビジネス継続性に対する危険信号|mtx2s

                                                            リリースするたびに「影響範囲の考慮漏れ」によるトラブルを起こす。こういう症状は、既存のソフトウェアシステムに追加開発を繰り返す組織によく見られるのではないかと感じます。コードやシステムの変更が影響を及ぼす箇所を見逃してしまい、未修正な箇所が残されたまま本番リリースされたために発生するトラブルです。 このようなトラブルが頻発すれば、関係者らは不満を感じます。エンジニアたちの能力に不信感を抱くかもしれません。 しかし、不満の矛先をエンジニアに向けたところで問題が解決することはありません。そもそも原因を見誤っているからです。根本的な原因は、もっと奥深くにあります。 影響範囲の考慮漏れの多発は、ソフトウェアシステムが大きな問題を抱えていることを知らせるサインです。このサインを見逃して表面的な対策ばかりを続けていると、症状が良くなるどころか、かえって悪化し続けることになるでしょう。 問題/原因の3層

                                                              「影響範囲の考慮漏れ」によるソフトウェアトラブルの多発はビジネス継続性に対する危険信号|mtx2s
                                                            • RAGの実案件に取り組んできた今までの知見をまとめてみた | DevelopersIO

                                                              はじめに 新規事業部 生成AIチーム 山本です。 ChatGPT(OpenAI API)をはじめとしたAIの言語モデル(Large Language Model:以下、LLM)を使用して、チャットボットを構築するケースが増えています。通常、LLMが学習したときのデータに含まれている内容以外に関する質問には回答ができません。そのため、例えば社内システムに関するチャットボットを作成しようとしても、素のLLMでは質問に対してわからないという回答や異なる知識に基づいた回答が(当然ながら)得られてしまいます。 この問題を解決する方法として、Retrieval Augmented Generation(以下、RAG)という手法がよく使用されます。RAGでは、ユーザからの質問に回答するために必要そうな内容が書かれた文章を検索し、その文章をLLMへの入力(プロンプト)に付け加えて渡すことで、ユーザが欲しい

                                                                RAGの実案件に取り組んできた今までの知見をまとめてみた | DevelopersIO
                                                              • UUIDとULIDを理解していない方は見た方がいい記事

                                                                Auto increment(自動採番)型を採用したくない場合 Auto Incrementは、データベースにおいて自動的に一意の識別子を生成するメカニズムです。通常、数値型の列が対象となり、新しいレコードが挿入されるたびにその列の値が自動的にインクリメントされます。典型的なIDですかね。 ここでは一意性の確保の話や、データ移行やバックアップのデメリットには言及せず、セキュリティとプライバシーの懸念にフォーカスして考えます。 予測可能性 Auto Increment型のIDは連番であるため、次に生成されるIDが容易に予測可能です。これにより、攻撃者がシステムの内部構造を推測し、不正アクセスを試みるリスクが高まります。 情報漏洩のリスク 連番のIDはデータベースの挿入順序を反映しているため、公開されることで企業の活動パターンやデータ生成の頻度が漏洩する可能性があります。 例) 競合他社は、公

                                                                  UUIDとULIDを理解していない方は見た方がいい記事
                                                                • 「履歴書の字が汚いと採用で不利」は本質的じゃないと思ってたけど「使用言語:swift」って表記を見たときはそこで人を判断しそうになった

                                                                  kumamo_tone @kumamo_tone iOS/Android/Flutter developer at YOUTRUST Inc. (ex. Merpay, Yahoo! JAPAN) kuma.dev kumamo_tone @kumamo_tone なんだろう、履歴書の字が汚いと採用で不利になるみたいなのナンセンスとか思ったりする割に、いざレジュメ見る立場になったとき「使用言語:swift」って表記見て「まともなエンジニアがそこ小文字にするか…?」って全然本質じゃないところで人を判断しようとした自分に驚いたんですよね 2023-10-25 01:36:36

                                                                    「履歴書の字が汚いと採用で不利」は本質的じゃないと思ってたけど「使用言語:swift」って表記を見たときはそこで人を判断しそうになった
                                                                  • 開発部に不満を持っていたCSがエンジニアにジョブチェンしてわかった「勝手に諦めない」ことの大切さ

                                                                    2024/07/13 大吉祥寺.pm 20分レギュラートーク 登壇資料

                                                                      開発部に不満を持っていたCSがエンジニアにジョブチェンしてわかった「勝手に諦めない」ことの大切さ
                                                                    • ベテランのバグ調査の秘訣、こっそり教えちゃいます。

                                                                      PHPカンファレンス北海道2024 14:35〜のトークセッションのスライドです。

                                                                        ベテランのバグ調査の秘訣、こっそり教えちゃいます。
                                                                      • RAGの実装戦略まとめ - Qiita

                                                                        それでは以下、簡単なデモを含めながら個別に説明していきます。 1. ハイブリッドサーチ こちらは、性質の異なる複数の検索方式(例えばベクトル検索とキーワード検索)を組み合わせて検索精度を向上させる手法になります。 各検索方式単体の場合に比べ、性質の異なる検索方式を組み合わせ、ある種いいとこ取りをする事で、検索性能の向上が期待できます。 今回はBM25でのキーワードベースの類似度検索と通常のベクトル検索を組み合わせていきます。 BM25について簡単に説明しておくと、文脈や文章構造は完全に無視した上で、文書内の単語を全てバラバラに分割し、文書内の各単語の出現頻度と文書間におけるレア度を加味した特徴量を算出します。 つまり、特定の文書内の各単語の数をカウントしてヒストグラムを作れば、似たような文書には同じような単語がよく出るはずなので(同じようなヒストグラムの形になるので)、類似度が高くなる性質

                                                                          RAGの実装戦略まとめ - Qiita
                                                                        • 日米で経験した炎上プロジェクトの違い|牛尾 剛

                                                                          私はアメリカでクラウドの中の人をやっている開発者だ。最近アメリカの方でも当初の予定がとても延びたプロジェクトを経験した。このような時に、日本では多分ものすごい炎上プロジェクトになると思うのだが、アメリカで体験したそれは全然違う感じだった。 これは一言でいうと「納期感の違い」がもたらしている感覚だった。 炎上感のなさ 私が感じた「予定がとても延びた」プロジェクトの場合、日本にいたときのプロジェクトでは、受託開発、内製双方ともに物凄く「大問題」になっていた。上位のマネジメントも連日のように進捗の会議を行い、人が追加投入され、エンジニアは時には泊りで一日も早く後れを取り戻すために皆遅くまで、そして土日も働き、お客様はもう怒り心頭… だったと思うのだが、こちらで体験したプロジェクトは拍子抜けするぐらい炎上感が無かった。 当初予定していた日程が一か月以上伸びても、みんな慌てる様子もなく、私はわからな

                                                                            日米で経験した炎上プロジェクトの違い|牛尾 剛
                                                                          • テスト自動化から、 開発を支える継続的テストへ

                                                                            2023-11-02 JaSST'23 Kyushu 招待講演 https://www.jasst.jp/symposium/jasst23kyushu.html 実装完了後の手動テストに依存した開発サイクルに継続的テストのアプローチを適用し、段階的に品質を向上する方法について説明しています。

                                                                              テスト自動化から、 開発を支える継続的テストへ
                                                                            • 2023年下半期に他人に勧めたいWeb技術まとめ

                                                                              はじめに Web技術は日進月歩で新しい技術が増えているが、実務でそれらすべてを触る機会はない。そこで、今回の記事では2023年下半期に赤の他人に勧めたいWeb技術を個人の独断と偏見で解説する。 対象者 これから何をすればいいのかわからないプログラマー 新しい技術に興味があるひと スキルセットを拡大したいひと タイトルでなんとなく気になったひと フレームワーク FastAPI FastAPIはPythonでAPIを開発するために開発された軽量のWebフレームワークだ。FastAPIでは、主に以下の特徴がある。 Node.jsやGo言語に匹敵する高速なアプリケーションを開発できる 構造が簡単(Flaskの影響を受けている) Pythonに型定義を含められる 環境構築がコマンド一つで終了する 非同期処理を簡単に実装できる Pythonで開発されているので、機械学習との相性が抜群 RESTとGra

                                                                                2023年下半期に他人に勧めたいWeb技術まとめ
                                                                              • プロダクトマネジメントプロセス概要

                                                                                より価値を届けていくためにどのようにプロダクトマネジメントをすればよいのか?をまとめてみました。

                                                                                  プロダクトマネジメントプロセス概要
                                                                                • 時代がstaticおじさんに追いついてきた(追記あり) - きしだのHatena

                                                                                  この文章みてください。 オレはもう20年以上システム業界にいるけどな、その長い経験から言うと、オブジェクト指向なんてものは、理論としては面白いけど、およそ実用的とは言い難いものだな。まぁ、例えばGUIのコンポーネントとかはオブジェクト指向に基づいて作られているようだから、そういうツールとかを作る人には必要なものなのかもしれない。しかし君たちがいずれ作ることになる業務アルゴリズムにはまったく無縁のものだと思ってもらって間違いない。どうもこの業界、オブジェクト指向でなければダメ、というような風潮がまかりとおっているけどな、オブジェクト指向なんか本当に使っている人はほとんどいないよ。オレも少し勉強してみたけど、カプセル化とかポリ何とかとか、どうにも利点が理解できなかったね。実際、実業務で使ったことなどないしな…… 「またお前、オブジェクト指向の話をしてるのか」と思ったかもしれませんが、2010年

                                                                                    時代がstaticおじさんに追いついてきた(追記あり) - きしだのHatena