2024年度リクルート エンジニアコース新人研修の講義資料です
いわゆる「ソフトウェア設計書」が設計ではなく、ソースコードが設計であるという話。 随筆です。考えマトメ中なので、ツッコミはそのあたり踏まえていただければ。 追記:ブコメに「設計の定義は?」とあったので末尾に追加しています。 追記(2024/8/15):設計書ってなんだろう?というのも書いておきました。 ソフトウェアの「設計書」とはなんなのか - きしだのHatena このエントリで書いたのですけど、もうすこしちゃんと。 建築では多重下請けでやれてるのに業務システムでだめなのはなぜ? - きしだのHatena このエントリでは次のように書いています。まあ、これで全てではあるのだけど。 「建築などの施工図面に相当するのはソースコードで、建築現場で多重下請けでやってる作業は、ソフトウェアだと(でも?)ビルドです」 あと「継続的デリバリーのソフトウェア工学」からの抜粋。 「継続的デリバリーのソフト
ウェブ漫画サイト「まんが王国」で配信中の、画像生成AIを使った漫画『児童福祉司 一貫田逸子 リメイク版』がSNS(X)を中心に話題になりました。発行元はビーグリー。オリジナル版の作者らに許諾を得た上、生成AIを利用してフルカラーに作成しなおしたものと考えられます。月間女性ランキング2位に入るほど好評のようです。 絶版漫画をAIで「リメイク」 ビーグリーは「まんが王国」を運営しつつ、配信する新作タイトルとして、「名作リメイクプロジェクト」として、旧作タイトルの画像生成AIを使ったリメイク展開を始めています。現在のところ4作品が展開されており、『児童福祉司』もそのプロジェクトの一貫で展開されています。 男性向け漫画では松山えいじさんの恋愛コメディー漫画『エイケン』のAIリメイク版を手がけています。スマートフォンやウェブトゥーンの世界では、新しい読者へのアピール方法として、生成AIを使って過去作
はじめに 今回は、コードレビュー観点表を作った話について少し書かせていただきます。 社内ではGitHubを用いてコードレビューを行っていて、バックエンドの開発においては、コーディングガイドラインも策定しています。 しかし開発において、ガイドラインに書かれている事項が全てではないため、コードレビューを行う際のポイントが自分の中で綺麗に整理しきれていませんでした。 また、ガイドラインの重要なポイントを十分に把握できず、効果的なコードレビューができていない現状がありました。これを改善するために、コードレビューの観点表を作成したことで、コードレビューの質が上がった話についてお話ししようと思います。 問題となっていたこと 一貫性がないレビュー 毎回レビューを行う際に、自分の中のレビューポイントが明確に決まっていなかったため、的確にレビューができていないこと レビューにかかる時間が長い 自分の中でのレ
企業がソフトウェアビジネスを持続的に行えることと、ソフトウェアのソースコードを公開することの両立を実現するための新しいライセンスへの取り組みとして「Fair Source」が登場しました。 意訳すると、ソースコードが公開され、開発者のビジネスを守るための最小限の制約がありつつもコードの利用や変更、再配布が可能で、計画的に一定期間後にオープンソースとなるもの、と言えるでしょうか。 具体的なライセンスとしては「Functional Source License (FSL)」が推奨されているのに加えて、「Fair Core License」「Business Source License (BSL)」が該当するとされています。 Fair Sourceの目的とは 公式Webサイトでは、Fair Sourceの目的が次のように説明されています。 The purpose of Fair Source
自身の過去の成長過程と現在の環境を思い浮かべたときに、得やすいもの得づらいものの違いを強く感じ、良好な成長のために一考してみた次第です。 といっても既にある Tweet のセルフまとめに、思い出と昔話なポエムを追加したようなチラ裏回です。 時代の変遷によるステータス変化 要約すると、現代は技術力の向上に必要な環境と既定路線があって向上速度が早いのに対し、昔(2010年以前とか)は頭を悩ませまくって乗り越えるべき壁が大量にあったおかげで解決力は相当鍛えられたよねってところ。 個人的には誰であれ、今!自分が!解決しないと!詰んでしまう!! てかもう詰んでるだろコレ!!!! って状況でひたすら悩んでから、寝て起きたら解決したよぉ!みたいのを体験してほしいし、一度は死の淵まで行ってこいって思っている — 外道父 | Noko (@GedowFather) July 17, 2024 これについて、
こんにちは、リファクタリング大好きなミノ駆動です。 2024/07/20に発売された『ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法』を、訳者の増田亨氏よりご恵贈賜りました。 この記事は、この書籍の感想です。 著者の許可を得た上でのだいたんな意訳総評等の前にいの一番で伝えたいポイントです。 エリック・エヴァンス氏の『ドメイン駆動設計』は大変価値の高い知見が網羅されている一方、「ユビキタス言語」や「境界づけられたコンテキスト」といった独特の用語が登場したり、難しい言い回しをしていたり、読解がかなり難しい書籍です。 独自用語が登場するたびに「ユビキタス言語?なんだこれ?」とつまづきを覚え、内容理解に集中できず、読む手が止まってしまったことがある人も少なくないのではないでしょうか。 本書『ドメイン駆動設計をはじめよう』は『Learning Domain-Driv
「設計書」というのは、作るものの構造を抽象的に表現したものと言うことができます。 ただ、ソフトウェアの抽象化の仕組みはプログラミングコード自体に備わっているので、ソフトウェア生成可能な抽象的表現というのはコード表現ができるはずですね。コードで表現しておくと、整合性のチェックとかも行いやすいです。 でも、コードではない「詳細設計書」というものが一部業界には必要とされているので、その「詳細設計書」というのは実際はなんなのか考えてみます。 ※ 最初はタイトルは「設計書」としてましたが、話を限定するため「詳細設計書」に変更しました。 追記:納品物に関する記述を追加しました。 表現を変えたコーディング ソフトウェア生成可能な抽象的表現というのはコード表現ができるわけですが、文字で表記する必要もなく、ダイアグラムで表現することもできますね。 代表的なのがER図やクラス図で、これは文字表現との相互変換が
概要 Web ブラウザではすっかりお馴染みの Google Chrome ですが、開発者ツール(DevTools)だけでなく、拡張機能にも導入すると非常に便利なものがたくさんあります。 その中でも、Web系の開発をするエンジニアなら、是非入れておきたいオススメの Google Chrome 拡張機能について紹介します。 尚、いずれも無料で利用可能です。 IT エンジニア界隈では、既にどれも有名なものばかりですが、これから Web 系の開発をする方は是非お試しください。 本当はもっとたくさんオススメしたい拡張機能がありますが、ひとまず今回は3つ紹介します。 Wappalyzer(ワッパライザー) 「Wappalyzer(ワッパライザー)」は、現在表示している Web ページで使われている技術(言語、フレームワーク、プラットフォーム、分析ツール、その他のサービス)を一覧表示してくれる拡張機能で
Vectorが1990年代から提供してきたホームページのサービス(hp.vector)を、年末に終了することが分かった。7月17日ごろから利用者宛てにサービス終了の告知が届いているようだ。 告知によると12月20日をもってホームページサービスは終了し、内容はすべて削除される。Vectorは、当該ホームページを連絡先としているソフトウェアの開発者などに対応を求めている。ソフトウェアのダウンロードサービスは継続する。 Vectorは、1990年代のインターネット黎明期からある、フリーソフトなどの配信プラットフォーム。ホームページサービスは、ソフトウェアを自作する人に向け、ソフトの説明や更新告知などのために無料で提供されているもので、現在もhp.vector上には当時の人気ソフトのホームページが多く存在する。 サービス終了を受け、X上では「オンラインソフト作者の長屋みたいな感じで安心感があるドメ
Chrome、FireFox、Safariといった主要ブラウザにおけるIPアドレス「0.0.0.0」の扱い方に問題があり、問題を悪用することで攻撃者が攻撃対象のローカル環境にアクセスできることが明らかになりました。問題を発見したセキュリティ企業のOligo Securityは、この脆弱(ぜいじゃく)性を「0.0.0.0 Day」と名付けて注意喚起しています。 0.0.0.0 Day: Exploiting Localhost APIs From the Browser | Oligo Security https://www.oligo.security/blog/0-0-0-0-day-exploiting-localhost-apis-from-the-browser Oligo Securityによると、主要なブラウザでは「『0.0.0.0』へのアクセスを『localhost (12
anond:20240718203834 AIの登場によって絵師がその仕事を諦めざるをえなくなるとしたら、 「AIが創作に役立つ」っていう建前は嘘ってことになるし、「AIを使ってより稼げる」も嘘ってことだし。 結局、AIには純粋に創作市場そのものを縮めていく効果があるってことになると思うんだけど。 こういう発想が出てくる事自体おこがましいことなんだってことに気付いて欲しい 反AIが嫌われるのは「テクノロジーの発達によって属人的な技術が普遍化するのは喜ばしいことだ」っていう人類全体の進歩の大原則に歯向かっているからなんだよ テクノロジーの発達によって職人的な仕事がなくなっていくってのは当たり前のことだし、それ自体は非常に良いことなんだってことをまずはわかってくれ 例えば、昔は漫画のイラストを描くには専用の画材が必要だった 画材の専門店なんてのが主要駅の近くには必ずあって今で言う絵師に相当する
TL;DR さくらインターネット株式会社で8/1から働いています さくらのクラウドの一人目のプロダクト担当ということで、エンジニアリングとビジネス両面を相手に仕事をしていきます ソフトウェアエンジニア大募集中です、いっしょに働こうぜ! 経緯 Treasure Dataを辞めたのが2021年7月末*1でしたが、それから丸3年経過しましたね。早いなあ。その間は本を書いたり個人サービスを作ったりしつつ、個人事業主の技術顧問として数社をお手伝いしたりしていましたが、個人的な事情がいくつか落ち着いたりしたこともあって、今年初めくらいからそろそろフルタイムで働くことを考えはじめ、多くの会社さんとのやりとりを経て、さくらインターネット株式会社への入社を決め、今月から入社し働きはじめました。 どういうポジションで何がしたいのかについては当初だいぶふらふらしていたのですが、いくらかの会話を経て「ビジネスを作
10倍速の効率に専門医レベルの回答精度―医師はChatGPTなどの生成AIをどう扱うべきか? 「医師による医師のためのChatGPT入門 臨床がはかどる魔法のプロンプト」著者インタビュー 大塚 篤司 氏(皮膚科医/近畿大学医学部皮膚科学教室主任教授) 2024.07.18 簡単な指示文(プロンプト)を入力するだけで、専門家のような文章や画像などを即座に回答する生成AI。2022年にOpenAI社が発表したChatGPTに始まり、精度や機能のめざましい進歩とともに各業界で存在感を増しています。 医療分野でも、生成AIへの期待は高まっています。しかし、中には使い方がわからなかったり、安全性の懸念がぬぐえなかったりして活用に踏み切れない医師の方もいらっしゃるのではないでしょうか。 「確実にできることは増えるし、仕事が早くなります。作業速度は体感”10倍速”」と生成AI活用による驚異的な変化を語る
生命の起源と人工生命の研究分野は、生命の本質とその発生過程を探求している。両分野とも、「非生命」の状態から「生命」がどのように生まれるかを問うている。生命が出現するほとんどの基質に共通する特徴の一つは、自己複製が始まると同時に、その系の動態が大きく変化することである。 しかし、自然界で自己複製体がどのように発生したかについていくつかの仮説はあるものの、自己複製体が出現するための必要条件については、まだほとんど解明されていない。 研究チームは、単純なプログラミング言語や命令セットを用いて、計算環境における自己複製能力を持つプログラム(自己複製プログラム)が自然発生する過程を詳細に観察し分析した。この研究の中心となったのは、「Brainfuck」(BF)という極めて単純な言語を拡張した「Brainfuck Family」(BFF)と呼ばれる言語環境である。BFFでは、64バイトの長さを持つ13
まだ修士一年目の成績は出ていないけど、先日やっとM1の修論提出(うちの大学は修士一年目でも60ページくらいの論文提出が必須)と口頭試問が終わったので、今年一年授業&課題作成に使った便利ツールをご紹介。 ※ 2023/09/02追記 8つ目のDUMAS以降、私自身のM2の修論執筆に向けて使えそうなツール&サイトを自分用メモとして記載しています。 ※ 2023/10/30追記 canva、elicit、connected papers、ResearchRabbitを追記しました。 ※ 2023/11/22追記 slidesgo, CVdesignRを追記しました。 1.翻訳 Deep L 私が紹介するまでもなく言わずと知れた翻訳ツールだけど、本当に一番お世話になったツール。 うちのマスターは毎週複数の授業でその日の授業に関連する論文(20ページくらいか時にはそれ以上)を事前に読んでおくスタイル
ずっとさぼっていたのですがインフラ周りを整備し、AWS SAMで構築できるようにしました。 下記が一番星はてのシステム構成図です。 一番星はてのシステム構成図 システム概要 はてのさんはLambda上におり、EventBridge経由で基本的に2時間に1回のスケジューリングではてなAPIやOpenAI APIと連携しブックマークを行います。 LambdaはコンテナイメージタイプでFastAPIで動いています。FastAPIのルーティングとLambdaを統合するためmangumを利用しています。 各インフラはAWS SAMによってコード管理されており、GitHub Actionsでpush時に自動ビルド、デプロイでAWS上のインフラが構築されます。 感想 これまでIaC化できてなかったが、すごくいい。 構成全体が把握しやすくなるし、変更や拡張が容易になる。 あとからやるのも面倒だし今後は最初
3カ月ほどベータテスターをしていた、DreamtonicsのAIボイスチェンジャー「Vocoflex」。その製品版が正式発売されたので、購入しました。 ベータ版でもすごく便利に使っていたのですが、さらに改良されているというので、製品版としてのファーストインプレッションをお届けします。 ■ Vocoflex とはDreamtonicsはその品質で定評のあるAIベースの歌声合成ソフト「Synthesizer V」の開発メーカー。 Vocoflexは、RVCなどのAIによるボイスチェンジャーをさらに使いやすく高性能に発展させたもので、VSTやAudioUnitsといったプラグインも揃っていてDAWを使うDTMユーザーとも親和性が高いものです。
写真は前職の最終出社日に同期と朝まで飲んで撮った渋谷スクランブルスクエア この記事について 本記事では自分が外資IT企業のSoftware Engineer - Machine Learning(機械学習エンジニア)に応募して、オファーをいただくまでにやったことを書きます。 外資IT企業のSoftware Engineerに関する日本語ドキュメントは、既に多くの方が素晴らしい記事を公開してくれていますが、Machine Learning / Data Science専門のポジションに関する情報はまだまだ少ない印象です。 本記事が外資IT企業でMachine Learning / Data Science関連の職を目指す人の参考になればと思います。 本記事には以下の内容は含まれません。 具体的な面接項目・質問内容 お金の話 企業ごとの面接項目についてはGlassdoor, LeetCode、
オープンソースで開発される「audapolis」は書き起こし機能を備えたメディアエディターで、音声を自動的にテキストに書き起こすだけでなく、書き起こしたテキストを編集することで同時に音声も編集できるツールで、無料で使うことができます。 GitHub - bugbakery/audapolis: an editor for spoken-word audio with automatic transcription https://github.com/bugbakery/audapolis audapolisはオープンソースで開発されるフリーアプリで、AGPL-3.0ライセンスの下で配布されています。GitHubのページにアクセスし、「Release」にある最新バージョンをクリック。記事作成時点での最新バージョンはv0.3.0です。 audapolisはmacOS・Linux・Window
GitHubは、コードをスキャンして脆弱性を自動的検出し、コードの修正案を示してくれる「Copilot Autofix」機能を正式サービスとして提供開始すると発表しました。 コード分析エンジン「CodeQL」でコードスキャン Copilot Autofixは、GitHubが開発したコード分析エンジンである「CodeQL」を用いてコードをスキャンし、クロスサイトスクリプティングやSQLインジェクションなどを含むさまざまな脆弱性を検出します。 検出された脆弱性に対しては、Copilotがその説明と修正コードの提案を行い、開発者に提示します。 開発者は提示された内容を確認した上で「Create PR with fix」ボタンを押すと、提示されたコードの変更を含むプルリクエストが作成されます。プルリクエストがマージされれば修正完了です。 Copilot Autofixは過去のコードに対しても適用で
概要日時:令和6年(2024年)6月26日(水)11時00分から12時00分まで場所:オンライン会議議事次第:開会開会の挨拶資料説明課題の対応方針共通機能等課題検討会の役割最新フラグ及び履歴番号に関する課題感・事業者意見の共有今後の進め方質疑応答事務連絡閉会資料令和6年度 第1回共通機能等課題検討会資料(PDF/443KB)意見集約:最新フラグと履歴番号の設定方法に係るアンケートの結果(Excel/88KB)共通機能等課題検討会構成員等名簿(PDF/174KB)議事要旨(PDF/212KB)関連政策地方公共団体の基幹業務システムの統一・標準化議事要旨構成員が所属する特定の企業等に係る事例に言及する等、特定の企業及び構成員等に不利益を被る可能性があることから、議事要旨として公開する。 資料説明デジタル庁より、データ連携に関する課題の解決方針や共通機能等課題検討会の役割及び今後のスケジュールに
AI作曲サービスのトップを競い合っている、大手レコード会社に訴訟され仲間であるSunoとUdioが相次いで機能強化を発表しました。 まず、Sunoに、ステム分離機能が追加されました。 ステム分離とは、楽器のパートごとにトラックを分ける機能。UVR5などの単独アプリや、Logic ProなどのDAWに組み込まれている例もあります。AI作曲サービスでもSonautoは早くから実装していました。 無料ソフトのUVR5では、ボーカル、ドラム、ベース、その他の4種類に分離でき、Logic ProのStem Splitterも同様。Sonautoも同じです。 ■Sunoのステム分離機能はボーカルとそれ以外Sunoのステム分離はそれに比べると単純で、ボーカルとその他を分けるだけ。つまり、ボーカルキャンセルと同じことなのですが、それなりに使い道はあります。 例えば、AIで作った曲のボーカルを自分や他の誰か
ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法 作者:Vlad KhononovオライリージャパンAmazon 訳者の増田亨様より献本いただきました ありがとうございます さっそく読んでみました システムは、なぜ必要とされるか?という「why」が有り、次に何を作るべきか?という「what」が有り、それを受けての「how」が有る。 (たまに突然「what」だけが有ったり、なぜか「how」の議論だけが先行する事例も聞くけど、それは順番が間違っているだけなので、その問題はここでは触れない) この「why」と「what」と「how」が上手く繋がった状態を作り上げていくために、過去にさまざまな開発方法論が考案され、語られてきた。 「ドメイン駆動設計」は、開発方法論として「名前がついて、生き残ってきた手法」の一つであり、昨今複数の解説書が発行されている唯一の手法と言え
欧州を基盤にオープンでセキュアなインターネットの実現を支援しているNLnet Foundationは、Rust製ブラウザエンジン「Servo」を用いたWebブラウザ「Verso」の開発プロジェクトの立ち上げを発表しました。 Versoの開発は、Electron代替を目指すフレームワーク「Tauri」の開発チームが主導することが、下記のポストで示されています。 We've stopped waiting for other people to solve our problems with webviews and kicked off a browser+webview project called Verso (and we've already gotten a bit of funding from NLNET.)https://t.co/PMOV7YbGtE https://t.c
AWSがMySQLのODBCドライバを開発、オープンソースで公開。純正ドライバ互換、Amazon Auroraでの高速なフェイルオーバー、AWSのシークレットやIAMのサポートなど AWS ODBC Driver for MySQLは、MySQLコミュニティが配布している純正のMySQL用ODBCドライバと置き換えて使える互換性を備えつつ、AWSでMySQLを利用する際により優れた機能と性能を実現できるように実装されています。 具体的には、Amazon Auroraにおけるフェイルオーバー時の再接続の高速化です。AWS ODBC Driver for MySQLはクラスタのトポロジーと各 データベースインスタンスがプライマリなのかレプリカなのかの役割のキャッシュを保持することで、接続先のデータベースインスタンスに障害が発生し、別のデータベースインスタンスへのフェイルオーバーが発生したときに
Electron代替を目指す「Tauri 2.0」リリース候補版が公開。Windows/Mac/Linuxに加えてiOS/Androidアプリ開発も可能に Electronの代替を目指すRust製のアプリケーションフレームワーク「Tauri」の開発チームは、「Tauri 2.0」リリース候補版の公開を発表しました。 Everyone assumes your dev environment and network are safe. Tauri doesn't assume that & protects you as a dev. Tauri 2.0 RC for Mobile and Desktop available right now. Read the announcement:https://t.co/SXv1tgNHGm — Tauri (@TauriApps) August
Workspaceを利用するユーザーが生成AIを有効活用し、請求書の発行・管理・追跡や緊急対応が必要な問い合わせの抽出といった業務を効率的にこなせるようなプロンプトを考案するのが狙いだったようだ。 Business Insider編集部が独自ルートで入手した社内文書によれば、入賞者には賞品としてゴールドカラーのボマージャケットや現金などが贈呈された模様だ。 グーグルはコンペへのアイデア応募を促すための一種の刺激策として、クラウド部門の従業員に対し、問題解決を必要としている具体例を紹介してアイデアの提供を求めた。 その中身は、ある中小企業経営者が「Googleマップ」上に表示される自社のビジネスプロフィールについて、一般ユーザーが投稿するクチコミ(レビュー)にいちいち対応するのに難儀しているというものだ。 実際、この例に対してはある従業員から次のようなゴールデンプロンプトのアイデアが提示され
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く