はじめに 📘 この記事は ラクス Advent Calendar 2023 の7日目の記事になります。 要件定義から基本設計、さらに実装や保守運用に至るまでの一貫した経験を何度か積んできましたが、毎回 「要件定義って具体的に何の項目が必要だっけ?」 「基本設計との違いって何だったっけ?」 「基本設計と詳細設計の区別って?」 といった疑問が頭をよぎってきました。 そんなわけで、これまでの経験を振り返りつつ、開発プロセスについて1からまとめていくことで頭の中の大掃除を行なっていきたいと思います🧹 この記事の対象者 🎯 開発プロセスについて学びたい方 要件定義の基本を学びたい人 要件定義と基本設計の違いがわからない人 一緒に開発プロセスについて復習したい方 前提 記事中の一部(特に要件定義や基本設計、詳細設計のサンプル)を自動生成で作成してます。一貫性の無い内容があるかも知れませんが、あく
今回は、最近話題の「Dify」というオープンソースのLLMアプリ開発プラットフォームを使って、簡単にAIアプリを作る方法をご紹介します。 Difyとは何か?Difyは、生成AIツールの開発プラットフォームです。 単一のモデルを使うのではなく、複数のAIモデルやツールを組み合わせることで、特定のタスクに特化した高性能なAIアプリケーションを簡単に作ることができます。 その最大の特徴は、RAG(Retrieval-Augmented Generation)エンジンを搭載していることです。RAGとは、関連する情報を検索・取得し、それを基に高品質な回答を生成する技術です。Difyではこの強力なRAGエンジンにより、幅広い分野でのAI活用が可能となっています。 圧倒的に使いやすいインターフェースDifyのもう一つの大きな魅力は、その使いやすさです。プログラミングの知識がなくても、直感的なGUIでドラ
どうもエラーを出すもしくはエラーが出るのが怖いという人がいるみたい。例えば改修を行うときに既存部分でエラーが出ないことを最優先にして増築を行いいびつな構造を生み出すとか、単純に例外を全然使わないとか。エラーが出ると、「うわ、エラーになった。手間かけさせやがって面倒だなぁ…」みたいな感覚があって、とにかく自分がコードを書くときも一切例外を投げないというスタンスをとりがちなのかもしれない。 私はここで、適切にエラーが出てくれるのはむしろ喜ばしいことであり、自分がコードを書くときも積極的にエラーを出すようにすべきだ、という主張をする。 関数定義のドキュメンテーションの一部 ある関数の中身で一番最初に書くべき処理は何か、それは引数のチェックをして条件を満たさなければエラーを出すことである。例えば文字列は特定の形式になってなければならないとか、数値に最大値最小値があるとか、これらは関数の入力の前提条
はじめに いろんな年収の独身男性100名(ChatGPT)に、家賃が高い都心の物件か、家賃が低い郊外の物件どちらに住みたいか聞いてみます。 以前Twitterに、GPT-3を市場調査に使うという論文が流れてきました。なんか面白そうなのでやってみようと思います。 3行まとめ 都心か郊外、どっちにすみたいか大勢の独身男性になりきったChatGPTにインタビューしてみたよ。 順番に聞いてくと時間がかかるから、langchainを使って並列に聞いたよ。 いい感じの結果がでたけど、そのためにはプロンプトをかなり調整する必要があるよ。 手順 01.回答者の設定と質問文を作る まずはChatGPTに独身男性になりきってもらうためのプロンプトを作成します。質問文では2つの物件のうちどちらに住みたいかを記載します。 いい感じの結果を得るポイントは、年収と家賃の比較手順をプロンプトに書くことです。また「通勤時
WEBアプリケーション開発者です。 特別セキュリティのスペシャリストになりたいというわけでないですが、アプリケーション開発者として徳丸本に記載されている内容レベルのセキュリティ知識はあります。 システムのセキュリティに関してはベンダーの脆弱性診断を通して運用しており、個人的にはセキュリティに関して何か困ったことがいままでありません。 ただ、ふと考えてみると「情報漏洩やサイバー攻撃が発生した際などの有事にどのような行動をとるべきか」という観点ではあまり自信がないなと感じました。社内でもそのような場合の指針が整っているわけではないです。 徳丸先生は、一般的な開発者には最低限どのレベルのセキュリティ知識を求められていますか? 回答の難しい質問ですが、ここは本音をさらけ出したいと思います。 私が「安全なWebアプリケーションの作り方(通称徳丸本)」を出したのが2011年3月でして、それから13年以
Markdown形式でメモを作成できるサービスのObsidianが使用しているObsidian Canvasファイル形式を「JSON Canvas」ファイル形式としてオープンソース化することを発表しました。 JSON Canvas — An open file format for infinite canvas data. https://jsoncanvas.org/ Announcing JSON Canvas: an open file format for infinite canvas data - Obsidian https://obsidian.md/blog/json-canvas/ 仕様についてはjsoncanvas.orgに記載されています。サイトにアクセスするとこんな感じ。右下の「Toggle output」をクリックしてみます。 右側にJSON Canvas形式
株式会社北の達人コーポレーション代表取締役社長 1968年、神戸生まれ。株式会社リクルート勤務後、2000年に北海道特産品販売サイト「北海道・しーおー・じぇいぴー」を立ち上げる。 2002年、株式会社北海道・シー・オー・ジェイピーを設立(2009年に株式会社北の達人コーポレーションに商号変更)。 2012年札幌証券取引所新興市場「アンビシャス」、2013年札幌証券取引所本則市場(通常市場)、2014年東京証券取引所の市場第二部(東証二部)、2015年東証一部と史上初の4年連続上場。2017年、時価総額1000億円。2019年、「市場が評価した経営者ランキング」第1位(東洋経済オンライン)。日本政府より紺綬褒章7回受章。 「びっくりするほどよい商品ができたときにしか発売しない」という高品質の健康食品・化粧品で絶対に利益が出る通販モデルを確立。「北の快適工房」ブランドで、機能性表示食品「カイテ
はじめに こんにちは、愛知でWEBエンジニアをしているkokuboと申します。 ここ最近の業務でコードレビューをすることが多くなり、人によって読みやすさの違いがあることや過去に自分で書いたコードが読みにくかったことから、良いコードとは何かを調べて見ました。 今回は「リーダブルコード」を元に良いコードとは何かを簡単紹介させていただきます。 この記事では難しい技術がいらないため、初心者や私と同じようにレビューを始めた方達の参考になれば幸いです。 概要 【この本での「良いコード」とは】 他の人(過去の自分も含む)が最短時間で理解ができるコードのこと 【メリット】 理解しやすい コードを読んだだけで、そのコードが何をしようとしているのかがすぐに理解できる メンテナンスしやすい バグの修正や機能の追加など、コードを変更する際に、その意図を把握しやすくなる チームで開発しやすい 複数の開発者が同じコー
はじめに こんにちは。雑食系エンジニアの勝又です。 今回は、私が2年ほど参画させていただいた大規模サービスのインフラやDevOps周りを全面的にリプレイスしたお話について簡単にご紹介させていただきます。(内容に関しては事前に参画先企業様に確認していただいております) サービス概要 詳細な内容は伏せますが、メインとなるテーブルのレコード数が数十億件、スパイク時には数万〜数十万のユーザーが一斉にアクセスする大規模サービスです。 技術的負債 長く運用されてきたサービスのあるあるですが、新機能の追加が最優先されてきたことにより、こちらのサービスにも下記のような技術的負債が大量に積み上がっていました。 RubyやRailsやMySQLのバージョンがかなり古い インフラの構成がコードではなくドキュメントで管理されている アプリケーションの構成管理がおこなわれていない CI/CDパイプラインが構築されて
この記事は主な読者として新入社員の方を想定しています。 はじめに 入社おめでとうございます。 入社して1ヶ月程になりますでしょうか。まだ研修中で、週末は同期の皆様と飲み会で忙しいでしょうか。 飲みすぎて入館証や配布PCを紛失しないよう気をつけくださいね。 早速ですが、あなたが所属する環境は以下に当てはまっていませんか? 自分自身がプログラミング初心者 同期も理系・文系問わず大多数がプログラミング初心者 残業はプロジェクト次第だがそれなりにありそう もし当てはまっている方がいらっしゃる場合、これから私の書くことがあなたの役に立つかも知れません。 この記事の主な対象読者 ほぼプログラミング初心者だが、プログラミングする立場になった新入社員の方 この記事で得られること 労働を長時間にしない方法 会社でストレスを少なくする方法 まずは結論 最初は技術力が大事 技術力をつけるため短期間だけプライベー
本を読んでて、気になるところがあったら、 その要点をテキストファイルに箇条書きにして、整理しながら読書する。 これだけ。 これだけで、読書の質が桁違いに上がります。 これをやると、「普通に本を読むだけだと、理解した気になってるだけで、実はろくに理解してなかった」と分かって驚きます。 話はこれで終わりですが、 以下の点が気になる方もいらっしゃるでしょう。 ●どんな人がどんな本を読む場合にもそうなるわけじゃないだろ。具体的に、どんな人がどんな本を読む場合にそうなるんだ? ●そんなの面倒くさくてやってらんない。手間をかけずにやる方法はないの? ●具体的にどうやるとうまくいくのか、もっとちゃんと説明しろ。 そういう方のために、以下、これらについて補足します。 まず、読書を以下の9種類に分類します。 (1)リアルタイム活用読書読んだ知識を今やっている仕事/生活/趣味にリアルタイムに活用しながら読む方
リンク JMOOC トップページ お知らせをもっと見る 講座ジャンルを絞り込み アート・デザイン 教育と学習 健康と医療 工学 コンピュータ科学 自然科学 社会科学(経済、コミュニケーション、他) 人文科学(心理、歴史、他) 統計・数学 ビジネスと経営 資格・試験対策 JMOOC企画講座(理工・情報・ビジネス系) AI活用人材育成講座(活用講座事例集、活用・理論講座) 講座配信プラットフォームを絞り込み gaccoOpenLearning,JapanPlatJaM 配信プラットフォームとは 講座状態を絞り込み 開講中募集中受付終了 さら 400 users 2889 JMOOC @JmoocSecretary 【カテゴリーについて】#JMOOC の講座はその内容や提供機関によって、下記の3つにカテゴライズされています。サイトトップの「さらに絞り込み条件を設定する」→「JMOOCカテゴリーを
春の入門祭り2024の2記事目です。 Gitは、出自としては1週間で作られたLinuxカーネルのための分散バージョン管理システムでした。当時のワークフローに合わせてパッチをテキスト化してメールに添付できるような機能だったりが備わっています。 一方で、現代のGitは、デファクトスタンダードなバージョン管理システムになりLinuxカーネル以外のアプリケーション開発で利用されています。分散バージョン管理ではあるものの、サーバー・クライアント型の使われ方をしていて、GitHubやGitLabを核にして、ローカルで作ったブランチをpushして、Pull Requestの形にして管理しています。少なくとも周りで見る限りでは、それ以外の使われ方の方が少なくなってきてます。そんなこんなで求められている使われ方が変わってきていて、それに合わせた機能がぼちぼち増えています。それを活用することで、ウェブ画面上で
Dain 古今東西のスゴ本(すごい本)を探しまくり、読みまくる書評ブログ「わたしが知らないスゴ本は、きっとあなたが読んでいる」の中の人。自分のアンテナだけを頼りにした閉鎖的な読書から、本を介して人とつながるスタイルへの変化と発見を、ブログに書き続けて10年以上。書評家の傍ら、エンジニア・PMとしても活動している。 わたしが知らないスゴ本は、きっとあなたが読んでいる keyboard_arrow_down はじめに keyboard_arrow_down 独学のキモは「いかに継続するか」 keyboard_arrow_down 「顧客が本当に必要だったもの」をいつ知るか? keyboard_arrow_down チームに笑顔を keyboard_arrow_down 質の高い課題を見極める keyboard_arrow_down 技術を哲学する keyboard_arrow_down おわり
「ChatGPTはすぐに嘘をつくから調べものには使えない」という意見をよく聞くが、これには大きな誤解がある。 そもそもChatGPTの心臓部である大規模言語モデル(LLM)は、膨大な知識を元にテキストを「生成」する仕組みだ。 逆に言うと、知識として持っていないことは一切わからないので、知らないことについて説明を求められても能力的に不可能なのだ。 だから、知識にない質問をされると答えられないだけでなく、苦し紛れに幻覚(ハルシネーション)を起こしてしまう。これが「すぐに嘘をつく」と言われる理由だ。 結論を書いてしまうと「ChatGPTは検索ツールではない」のだ。むしろ「ChatGPTがいちばん苦手とすることが検索」なのだ。 今回はこの欠点を補い、AIを活用した新しい検索の形を実現するという触れ込みのサービス「Perplexity.ai」を紹介していく。 Perplexity.aiとは Perp
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く