いただきましたー!わーい。脳に収めるぞー! @haradakiro @ryuzee pic.twitter.com/3Qd6EvPioU— SHIIBA Mitsuyuki (@bufferings) June 13, 2024 明日(2024年6月18日)発売! www.oreilly.co.jp どう書くのがいいんだろうなぁ? 複雑なコードと向き合うときは「あー、これはメモを取りながら読まないと迷子になるやつだ」ってなる。最初はわりとキレイに作られていたとしても、機能追加を重ねていくとだんだん読めなくなっていく。 だから「時間が経っても読みやすいコードってどう書くのがいいんだろうなぁ?何かヒントがあるかなぁ?」って思いながらこの本を開いた。先に書いておくと、ヒントはあった。 アウトサイドインのTDD 全然予想してなかったから、おー!と思ったのが、説明をTDDで進めていくってところ。好き
技術顧問先で、一生懸命コードに向き合っているプログラマーになりたての方から、次のような質問をもらいました。 最初に面談した時、1年後にいいコードが書ける、上手に書けることを目標にしましたが、 先日スクール時代の同期(それぞれRubyの会社で働いている)と話したところ、会社ごとにレビューの仕方やコードに関する基準がさまざまなようで、良いコードとはなんなのか疑問に感じました。「いいコード」とは、みたいな部分で島田さんの考え方をお聞きできたら嬉しいです。 この質問にぼくは次のような回答をしたのですが、「この質問が来たら他の人はどんな回答するんだろうな」に興味があるので、ここにしたためておきます。もしよかったら「若者にこれを聞かれたら自分ならこう答える」をコメントなどで残していってもらえたら嬉しいです。 とても大事な疑問を見つけられたんだなあと思います。 「良さとは何か」ということに向き合う必要の
Googleに存在するコードを読みやすく保守しやすい形に保つ取り組みを行うグループ「Code Health」が、「DRYを早まって適用しないこと」と題した記事を公開しました。 Google Testing Blog: Don't DRY Your Code Prematurely https://testing.googleblog.com/2024/05/dont-dry-your-code-prematurely.html DRYは「Don't Repeat Yourself」の略称で、コードを重複させないことを重視する考え方です。重複するコードが存在していると、特定の機能を変更しようとした時に同じ機能を持つ部分を全て探して同時に変更する必要があり、見落としやミスが発生する危険性が高まります。一方、コードの重複を防げていれば一カ所だけを変更すればOKというわけ。 一見DRYを厳しく適用
自分も含めて社内に詳しい人がいない領域のコードをいじることってあるよね。特に歴史の長いサービスだと当時触っていた人が誰もいないとか。仮にいたとしても1年くらい触ってないとほとんど忘れてしまって知らないのと同じような状態になっていたりする。 自分もそういうことが何度もあって、雑にスタンスややってることをまとめておこうと思う。 前提のスタンス 「これを倒したら俺がこの領域で一番詳しい最強になるんや」という気持ちを持ってる 詳しい人がいない状態で属人化とか気にしても仕方ない。まずは自分が詳しくなってから考えるでよい 自分用メモを作る キャッチアップしたことを書き残していく。ドキュメントじゃなくてSlackに垂れ流すでもいい 過去のドキュメント・やりとりを探す 全体像を把握できるドキュメントがないかを探すのを最初にやってる ここは近道はない。とにかく全部集めて全部読む気持ちで臨む Google D
Chrome の JavaScript はとても高速なことでも有名ですが、その実行エンジンは V8 と呼ばれます。V8 自体は独立したモジュールであり、Node.js 等にも使われております。 V8 が JavaScript を高速に実行する技術の一つが JIT (Just In Time) コンパイルです(一般的に JIT と呼ばれます)。これは、そのまま実行すると遅い JavaScript を実行中にリアルタイムに直接マシンコードに変換し(これが Just In Time と呼ばれる所以です)、途中からそのコードに入れ替えて実行することで高速化を達成しています。特に何度も実行される関数で効力を発揮します。 JIT という名前は聞いたことがあろうとも、実際に JIT がどのようなコードを実行しているのかを確認する機会は滅多にないでしょう。この記事では、実際に V8 の JIT の出力を確
技術的負債という言葉がある。もともとは、「楽するために導入したが、メンテにコストがかかるようになってしまった技術や構成」くらいの意味合いで使われているように思う。しかし、そもそも全部が負債ではないか、というのがこのメモの趣旨である。 負債 同僚とSlackで会話していると、「けっきょくどの言語を利用しても負債になるときはなるし、大抵負債になる」といった話になった。言われてみればそうで、基本的にコードというものは書いたそばから負債になっていく。去年書いたコードのことも思い出せない。 そんな中で思ったのだが、そもそも、負債になるコードと負債にならないコードとがあったり、技術が「負債化する」のではなく、コードや技術そのものが負債なのではないか。そして、どの言語で書こうが負債からは逃れることができない。負債にならないコードは存在しない。ゆえに、コードや技術は無ければ無いほど良い、ということになる。
クレデンシャル含むソースコードをChatGPT等のクラウドLLMサービスにアップロードしないでください。 今回のプロンプトはオープンなリポジトリのみを対象としており、シェルスクリプトが実行される環境もChatGPT側のクラウド上のサンドボックス内のみを想定しています。 ローカル環境では以下のシェルスクリプトをそのまま実行せずに、ご自身が作成したシェルスクリプトを利用してください。 以下はソースコードのプロジェクトルートで実行することで、ソースコードのダンプを.txt形式でダンプするシェルスクリプトです。 \`\`\` #!/bin/bash # バイナリファイルかどうかを判定する関数 is_binary_file() { local file="$1" local file_output file_output=$(file "$file") if [[ "$file_output" ==
こんにちは。エムスリーエンジニアリンググループのコンシューマチームに所属している園田です。 普段の業務では AWS やサーバーサイド、フロントエンドで遊んでいるのですが、最近はもっぱら OpenAI や Claude3 で遊んでます。 今回は、最近巷で話題の LLM ローコード構築ツールである Dify の OSS 版を AWS のマネージドサービスのみを使って構築してみました。 DifyとはオープンソースのLLMアプリ開発プラットフォームで、様々なLLMを使用してChatGPTのGPTsのようなものがノーコードで簡単に作れます。 引用元: DifyでSEO記事作成を試してみる|掛谷知秀 試しにAskDoctorsのガイドラインHTMLをナレッジ登録してみた ローカル環境で Dify を構築する記事はたくさん見かけますが、AWS のマネージドサービスで構築する内容は見かけなかった*1ので公
2024.01.12 ローカル環境でコード生成を使いたい 〜Continue+Llama.cpp+ELYZA-japanese-CodeLlamaを試してみた〜 ご覧頂きありがとうございます。グループ研究開発本部 AI 研究開発室の N.M.と申します。 ChatGPTをはじめAIに関する大きなムーブメントの起きた激動の2023年が終わり、2024年が始まりました。我々AI研究開発室も日々AI技術を追いかけています。昨年から話題になることの多いGitHub Copilotもその一つであり、特にコードの補完は非常に使い勝手もよく開発や解析のサポートに使うことができます。今回はなるべくローカルに閉じた状態で近しい環境が作れないか試してみたことを紹介します。最後までご覧いただければ幸いです。 TL;DR VSCodeのExtensionであるContinueとELYZA-japanese-Cod
Microsoft製テキストエディタ「Visual Studio Code(VSCode)」は拡張機能を導入することで機能を追加したり外観をカスタムしたりできます。セキュリティ研究者らが「人気拡張機能にコードを挿入した偽拡張機能」を公開した結果、短期間で大企業やセキュリティ企業を含む多くのユーザーのマシンにインストールされたとのこと。セキュリティ研究者らはVisual Studio Codeの拡張機能システムの欠陥を指摘し、警鐘を鳴らしています。 1/6 | How We Hacked Multi-Billion Dollar Companies in 30 Minutes Using a Fake VSCode Extension | by Amit Assaraf | May, 2024 | Medium https://medium.com/@amitassaraf/the-stor
こんにちは。 Findy で Tech Lead をやらせてもらってる戸田です。 弊社では本番環境へのデプロイを1日に複数回実行していますが、本番環境での不具合の発生率は低いです。 次の画像は弊社のあるプロダクトの直近1年のFour Keysの数値です。 平均で1日2.3回の本番デプロイを行っていますが、変更障害率は0.4%程度を維持しています。単純計算ですが、1年で障害が2件程度の水準です。 また、平均修復時間は0.3hとなっており、障害が発生しても20分以内には復旧できていることがわかります。 この数値を維持できている理由の1つにテストコードの品質があると考えています。 システムで発生する不具合を自動テストが検知することで本番環境への不具合の混入を事前に防ぐことができ、仮に不具合が発生したとしても修正内容が他の箇所に影響が出ないことをテストコードが保証してくれるため迅速に修正できるから
はじめに データサイエンティストのasanoです。 Gitコマンドを学んだあと「Gitブランチ戦略」や「綺麗なコミット」や「プルリクの出し方」など、チームでGitのコード管理を円滑に運用するためのノウハウは実務を通して学ぶことが多いと思います。 実際の業務ではそういった暗黙知になっている部分を認識合わせするために、本記事のようなガイドラインを利用しています。 ※ これを読んでスキルが一朝一夕で身に着くわけではなく少ない時間でも毎日Gitを触る中で身につけるものだと思いますが、学習の一助になれば幸いです。 円滑に運用するために 次の3つをチーム全員で取り組む必要があります。 ①Git運用モデルを取り入れる ②綺麗なコミットを心がける ③適切なプルリクを出す、受ける ①Git運用モデルを取り入れる まずはA successful git branch model (git-flow)を学びまし
プログラムのコードをChatGPTに書かせても、その半分は間違っている2024.05.29 12:0042,451 Matt Novak - Gizmodo US [原文] ( mayumine ) ChatGPTなしではもう仕事ができないなんて人も結構いるよね。 ChatGPTは、文章はもちろん、生成してほしいプログラムを指示するだけで、プログラムのコードを生成してくれます。 エンジニアにとっても非常に役に立つChatGPTですが、最近の新しい研究によれば、ChatGPTはコンピュータープログラミングの質問に対して、52%の確率で間違った回答をしていることがわかりました。 それでも35%はChatGPTが生成したコードを好むこの研究は、5月初めにハワイで開催されたComputer-Human Interaction Conferenceで発表されたもので、Stack Overflow上の
日本語が本格的に使えるようになりだした頃、そのコードはJISコードを巧妙に細工してモード切替を不要にしたシフトJISと呼ばれるものが使われました。当時は英語のみが使える環境でプログラムが作られることが殆どだったので、これを移植して日本語を扱えるようにすれば充分だということだったのです。 文字コード 最初に使われたのはCP/M-86という説もありますが、一般的に使われるようになったのはMS-DOS(PC-DOS)が最初です。これはWindowsにも引き継がれ、Macintoshも日本主導で日本語化が行われたという経緯もありシフトJISが使われました。 さてシフトJISの問題は米国標準であるASCIIに対する拡張であって、それ以外の国のローカルコードのことを考えていないことです。例えば英国では一部の記号がポンド記号に置き換わっているコードが使われていましたし、他のヨーロッパ諸国の言語でもいろい
『設計ナイト2024【オフライン】 - connpass』に参加してきたのでそのメモです。 各発表の感想 ※資料スライドは見つけたら貼ります。 ロジックから状態を分離する技術 今日の登壇資料です。 ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyhttps://t.co/XxBNAYiKXS #sekkeinight— わいとん (@ytnobody) 2024年6月14日 感想 純粋関数の話を基軸にいかに容易にしていくのか、という話 入力から必然的に出力が決まるロジック類をDomainとしておこうという発想はよかった 純粋関数の構成デザインパターンの分け方すごくいいなぁと思ったのと、このあたりの話を提唱している人いないのがびっくり 関連リンク 純粋関数とは - 意味をわかりやすく - IT用語辞典 e-Words Flux パターンが解決した課題 -
スライド概要 JJUG CCC 2024 Springでのスポンサーセッション「テストコードが根付くチームを立ち上げるために考えたいこと」の公開資料です。 シンプレクスは1997年の創業以来、メガバンクや大手総合証券を筆頭に、日本を代表する金融機関のテクノロジーパートナーとしてビジネスを展開してきました。現在では、金融領域で培った豊富なノウハウを活用し、金融機関以外の領域でもソリューションを展開しています。2019年3月にはAI企業のDeep Percept株式会社、2021年4月には総合コンサルティングファームのXspear Consulting株式会社がグループに加わり、創業時より付加価値の創造に取り組んできたシンプレクスとワンチームとなって、公的機関や金融機関、各業界をリードする企業のデジタルトランスフォーメーション(DX)の推進を支援しています。
1987年兵庫生まれ。会社員のかたわら、むだなものを作る活動をしています。難しい名字のせいで、家族が偽名で飲食店の予約をするのが悩みです。(動画インタビュー) 前の記事:ホッケースティック片手にミニ四駆を追いかけよう!歩くダンゴムシを装置で測ろう!~Maker Faire Kyoto 2024レポート~ > 個人サイト むだな ものを つくる お賽銭っぽさとは何か お賽銭をお賽銭たらしめているのはなんといっても「お金を箱に投げ入れる」というところだろう。 小銭をチャリンチャリンと投げ入れるのは、神仏に対して失礼にあたるという説もあるらしい。 ただ、初詣で大きい神社に行ったりすると賽銭箱まで距離があったりして、投げざるを得なかったりする。 ちょっとここでは神仏には目をつぶってもらって、お金を箱に投げ入れる行為をお賽銭っぽさとしておきたい。 前置きはさておき、これまでのキャッシュ時代でのお賽銭
【PR】 NEW! 2024.06.14 スキル コーディングプログラミング注目企業 「エンジニアはシステムを“作る”ことが仕事」という概念が、変わりつつある。 ひと昔前までは、若手エンジニアはコードを書く経験をできるだけ積み、プログラミングの技術を磨くことから始めるべきだといわれていた。 しかし今後、エンジニアに対する「プログラミング」の需要は減少していくだろうと警鐘を鳴らすのは、企業のDX導入支援やWebシステム開発を手掛ける株式会社システム・リノベイトの事業責任者・原山国治さんだ。 生成AIの出現やオフショア開発の浸透で受託開発のニーズが減少し、エンジニアの役割が変化している近年。システム・リノベイトでは、若手エンジニアの育成方針を時代に合わせてブラッシュアップしているという。 今、若手エンジニアはどのような経験を積むべきなのか。顧客から求められるエンジニアになるために必要なスキルと
既存の LLM コード生成の問題 LLM は行カウントやワードカウントが苦手。 例えば自分は SourceMap を扱うコードのテストを書かせようとしたが、モックデータの line:column がガバガバな位置を指してまともにテストにならない。行カウント/ワードカウントができないのはつまり diff がうまく生成できない。 これらの問題があって、コードを生成するパイプラインを組む場合、 全文出力が主流になっている。 ここで何が問題になるかというと、コードが膨らんで来た時に、(書き変える対象が一部だとしても)生成が顕著に遅くなる。うまく生成できなかった時にリトライを繰り返すと、問題がさらに悪化する。 改善手法の提案: 明示的な Line Number の付与 最近の LLM は入力ウィンドウがある程度大きくても、そこそこの速度で応答する。(お金はかかるが...) 問題は生成速度にある。特に
はじめに 自己紹介 こんにちは、株式会社ソーシャルPLUSのフロントエンドエンジニア @zomysan です。 ソフトウェアエンジニアとしての経験は10年と少しで、趣味は個人開発と食べることです。直近では Discord の読み上げ Bot「shovel」のWebインターフェイス(マイページ)機能・有償プランなどを作りました。 この記事について 個人開発でタイピングゲームを作ったので、それについて前半・後半に分けて話します。 前半では作ったタイピングゲームの技術選定の理由や 何を大事にして作ったのか? ということを紹介します。 後半は今回の開発を実例として、私が開発をするときの進め方について紹介します。誰にでも合うものではないかもしれませんが、少しでも参考になれば嬉しいです。 ゲームの紹介 tstt で遊びながら学ぼう! TypeScript Touch Typing 略して tstt と
Googleによって開発され、オープンソース化された通信技術「gRPC」は、マイクロサービスアーキテクチャにおけるサービス間の通信手段としてはもとより、モバイルアプリケーションがサービスにアクセスする際のインタフェースとしても注目されています。 本eBookでは、連載「スキマ時間にこっそり学ぶ『gRPC』入門」全8回を収録。そもそもRPC(Remote Procedure Call)とはどのような通信技術なのか、gRPC誕生の背景や、gRPCの特徴、利点を解説しています。 第1回以降はC#、Python、Node.js、KotlinとAndroid、SwiftとiOS、Goとgrpc-gatewayなどさまざまなプログラミング言語、プラットフォームを取り上げ、gRPCサーバとクライアントを実装する方法や、サーバストリーミング、クライアントストリーミングを実装する方法を、サンプルコードととも
React Compiler React 19 Beta から React Compiler が導入され利用可能となりました。 ※単体での検証としては次の記事が参考になります。 Next.js での利用 React Compiler のドキュメント内には、各種バンドラやフレームワークで利用する方法も記載されています。 というわけで、Next.js で実際に試してみよう、というのがこの記事の主旨です。 事前準備 / セットアップ 基本的にドキュメントに従って進めます。注意点としては、執筆時点での Next.js の Stable バージョン 14.2 ではまだ React 19 が利用できないため、canary バージョンの利用が必要です。 適当なディレクトリを作成し、その中で create-next-app を実行します。 実験用のためオプションは適当に選択しますが、せっかくなので Tur
アメリカで発行されている日刊紙「The New York Times」の内部ソースコードがGitHubリポジトリから盗まれ、匿名掲示板の4chanに流出したことがわかりました。The New York Timesは事実を認め、適切な対策を講じたと伝えています。 New York Times source code stolen using exposed GitHub token https://www.bleepingcomputer.com/news/security/new-york-times-source-code-stolen-using-exposed-github-token/ Today on 4chan someone leaked the source code (?) to the New York Times. They leaked 270GB of data
2 0 2 4 年 5 月 2 9 日 京 成 電 鉄 株 式 会 社 京 浜 急 行 電 鉄 株 式 会 社 新 京 成 電 鉄 株 式 会 社 西 武 鉄 道 株 式 会 社 東京モノレール株式会社 東 武 鉄 道 株 式 会 社 東日本旅客鉄道株式会社 北 総 鉄 道 株 式 会 社 鉄道事業者 8 社による磁気乗車券から QR コードを使用した乗車券への置き換えについて ○ 京成電鉄株式会社、京浜急行電鉄株式会社、新京成電鉄株式会社、西武鉄道株式会社、東京モノレール 株式会社、東武鉄道株式会社、東日本旅客鉄道株式会社、北総鉄道株式会社(以下、 「鉄道 8 社」 )は、 磁気乗車券から QR コードを使用した乗車券(以下、QR 乗車券)への置き換えを 2026 年度末以降、 順次実施します。 ○ 鉄道の乗車券については、シームレスにご利用いただける Suica・PASMO の交通系
データ抽出サービスのスタートアップ・Reworkdの共同設立者であるアシム・シュレスタ氏が、ChatGPTが生成したコードをそのままコピーして使用したことで、多くのユーザーがサービスに加入できず1万ドル(約150万円)以上の利益を逃したことを、ブログで赤裸々に語りました。 How a single ChatGPT mistake cost us $10,000+ | Blog https://asim.bearblog.dev/how-a-single-chatgpt-mistake-cost-us-10000/ この問題の発生は、シュレスタ氏らのプロジェクトチームがスタートアップの収益化に着手していた2023年5月にさかのぼります。出資者からの指示で収益化を急ぐ一方、プロジェクトをNext.jsからPython/FastAPIに移行する必要もあったシュレスタ氏は、移行作業のほぼすべてをC
ウクライナ・ハルキウ州ロシア国境付近(CNN) 夕暮れが訪れ、暗くなる前に慌てて身を隠す。 ウクライナ軍第92強襲旅団のドローン(無人機)部隊「コード9.2」は新たなドローン発射地点へと移動し、まれに見る効果的な作戦を実行しようとしている。ロシア方面へドローンを飛ばし、敵地の幹線道路に地雷を落とそうというのだ。 たそがれ時は束の間のチャンスだ。暗くなって込み入った任務が不可能になる前に、機材を新たにセットして「ハンビー(高機動多用途装輪車両)」から降ろす。少しずつ日の落ちる薄闇の時間帯が、攻撃対象を探して絶え間なく頭上を飛ぶロシアのドローンの群れから身を隠してくれるだろうと期待するしかない。 スターリンク用のパラボラアンテナ、広帯域ドローンアンテナ、数十個のバッテリーと大型の対無人航空機システム「バンパイア」2基が塹壕(ざんごう)と掩蔽壕(えんぺいごう)に運び込まれ、30分も経たないうちに
鉄道を利用する際、長年、慣れ親しんできた磁気付きの切符。 将来的な廃止を視野に、QRコードに順次、置き換わることになりました。 JR東日本など首都圏で運行する鉄道8社が29日、発表しました。 2026年度末から順次 置き換え 首都圏で運行する鉄道8社(JR東日本、京成電鉄、京急電鉄、新京成電鉄、西武鉄道、東京モノレール、東武鉄道、北総鉄道)は、裏面に磁気の付いた、改札機に投入するタイプの現在の切符を、近距離については将来的に、印字されたQRコードを改札機にかざすタイプのものに置き換えていく方針を発表しました。 置き換えは、2年後の2026年度末から順次、実施していくとしています。 磁気付きの切符は、金属を含むことからリサイクルが容易ではなく、置き換えによって環境への負荷を低減する狙いがあるほか、改札機に切符が詰まるなどの不具合の解消にもつながるとしています。 一度、改札を通過したQRコード
※本サイトは、アフィリエイト広告および広告による収益を得て運営しています。購入により売上の一部が本サイトに還元されることがあります。 The Vergeが、SparktoroやiPullRankに掲載されたGoogle の検索部門内部から大量に漏洩した API ドキュメントに関する内容が掲載され、その件に関してGoogleの検索広報担当マネージャーDavis Thompson氏は「Googleは、脈絡のない、時代遅れの、あるいは不完全な情報に基づいて、検索について不正確な推測をしないように注意したいと思います。Googleは、検索の仕組みや、私たちのシステムが重み付けする要素の種類に関する広範な情報を共有し、同時に、私たちの結果の完全性を操作から守るよう努力しています。」とコメントし、漏洩した内容が本物だと認めたと伝えています。 漏洩した資料は、クリック数や Chrome ユーザーデータな
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く