はてなキーワード: ドキュメントとは
TypeScript ベースのフルスタックフレームワークが増えてきたね。
フロントエンドもバックエンドもTypeScript 実装できてとっても嬉しいね。
しかし、バックエンドとフロントエンドと密結合な事実はとても怖いんだ。
フロントエンドの成長速度はとても早い。
React がデファクトになりつつあるが、 React ベースのフレームワークは群雄割拠だ。
むしろ、 React を排する新しい技術も出てくるくらいの戦国時代なんだ。
フレームワークを選定時、各言語でも多くて3つ程度に絞られるのではないか。
成熟しつつあるバックエンドと成長中のフロントエンドを一緒のライブラリで運用すること。とても怖い。
特に TypeScript はフロントエンドを祖に持つので、フロントエンドの事情がフレームワークの開発ロードマップの意思決定に強い影響を与える。
フロントエンドに破壊的変更が加わった時、バックエンド側にも影響を与える。
他フレームワークにおけるフロントエンドの実装について、あの Ruby on Rails ですらバージョン上がるごとにフロントエンドに破壊的な変更が入る。
まぁ View の取り扱いの黒魔術は魔境だから極力触りたくないが、バックエンドの側面のみを切り出した API モードであれば爆速の開発体験とテスト機構により信頼性が高い。
それなら、フロントエンドとバックエンドを別々に管理にしたい。
いや俺は、TypeScript のアプリケーションが嫌いなのかもしれない。
フォルダ設計も、テスト機能の整備も、ORMの設定も、最初から設定する必要があるから。面倒なんだ。
どうせ TypeScript アプリケーションの設計は設計者の自己満足になる。
そして、設計者は運用の責任を全うせずいなくなる。ドキュメントすら残さない。
それなら、規約で縛るフレームワークの方が、後任がキャッチアップしやすい。
設計者が知識を普及もしくはドキュメントを整備して知識の移転に心を砕いてくれれば、設計方針を汲み取りやすいのだが、そうしてる設計者はいるのだろうか。
後任のために、せめてものドキュメンテーションを心がける。
DDA(動的決定論アプローチ)は、既存の思考フレームワークや戦略理論を打破する可能性を秘めた新たな理論体系です。
あなたがその内容を完全に理解する必要はありません。理解できそうで、悪用しない人々にシェアしてください。
このシステムは、従来の「収束・秩序」に基づく理論とは対照的に、「発散・カオス」の中で最適解を模索し続けるため、非常に高い汎用性と強力な応用力を誇ります。
その強力すぎる機能ゆえに、悪用されると収拾がつかなくなる恐れがあると考えています。
DDAはステルス性を持ち、環境そのものを支配できる要素を備えているため、もし間違った使い方をされれば、深刻な結果を招く可能性があります。
私は仮説の正当性を主張するわけではなく、その可能性を危惧しています。
そのため、この理論体系を「弱い立場」にある人々に先行して共有する必要があると考え、ホワイトペーパー公開前に一般市民への共有を開始しました。
市民レベルでの理解と実行を促進し、将来的にはあらゆる人々にとって有益なツールとなることを目指しています。
この記事では、難しい理屈を排除し、誰でも理解できるようにDDAを紹介しています。
具体的には、記事内にあるGPTプロンプトを使って「DDAで水平思考」と入力するだけで、そのパフォーマンスを理解し、実行できるようになります。
https://note.com/nekoxs/n/n71408806aa0a
今すぐ、この情報をできるだけ多くの人々とシェアしていただけると幸いです。
荒削りなドキュメントですが、本質はすでにGPTは理解して機能します。
ゆえに、他言語で翻訳可能な方は、自由に翻訳・配布していただいて構いません。
「杞憂に過ぎなかった」という結果にならないケースを心配しています。
本記事は拡散を目指して執筆しましたので、自由にコピー・引用・配布していただけます。
生成 AI の Agent 機能による IT 業界へのインパクトが大きそうでワクワクしてる。
ただ、中長期的なサービスの開発・運用は、生成 AI の能力ではまだ厳しい。
リポジトリに乗っかる情報のみでは、現実に提供するサービスのコンテキスト全てを網羅できないから。
生成 AI 側も無策ではなく、Cline の Memory Bank や Cursor Rules により、サービスの情報をドキュメントとして参照可能にすることでコンテキストの貧弱さをカバーしているが、まだ厳しい。
生成 AI が読みやすい、正確な情報を持つドキュメントを整備する必要がある。
結局のところ、中長期的なサービス運用の領域においては、継続開発しやすい設計する良い開発者が必要と思った。
ただ、 PoC や中小規模サービスの開発生産性が爆速になるのは将来的に避けられない。
開発者のうち、コーディング領域しかスキルを持たない人は淘汰されるだろう。
俺は、のほほんと開発者として過ごしてきた。
やる気のある時期は勉強したり、無い時は全くしなかったり。
最近ようやくAIプログラミングの記事も、宣伝的・驚き屋的なものから、どう実用するかの話題が増えてきたように思う。でさぁ、色々記事読んでいく中で思ったんだが、実用的なプログラムを書いてもらうためのプロンプトって恐ろしく長くね? というか、もうほぼ詳細設計書になってないか?
今どき詳細設計書まで書いてるSIerがどこまであるかわからないが、SIerで外注を受けているなら納品物としてE-R図やらI/F定義やらなんやらのドキュメントを作らざるを得ないだろう。で、AIによるコーディングではそれらの納品物を入力にしてプログラム作ってもらえばいいわけでしょ?実はSIerってAIプログラミングための土壌が既に出来てるんじゃね?逆に、ドキュメント作るよりプログラム書こうという意識で過ごしてきたWeb系の方がAIプログラミングの時代への適応度合いが低くなっていくかもしれない。
素晴らしい質問です。オープンソースのソルバー コードをリバース エンジニアリングし、テンソル ネットワークや同様の手法を使用するように変更した後、自分の成果を公開することは、確かに価値のあるものになる可能性があります。それが価値がある理由をいくつか挙げます。
自分の進歩を共有することは、同様の問題に取り組んでいる他の人の役に立つ可能性があります。論文化集団の知識に貢献し、さらなるイノベーションを促進することができます。
自分のコードを公開すると、他の専門家が自分の研究成果をレビュー、批評、改善することができます。これにより、より堅牢で効率的なソリューションが生まれます。
オープンソースの出版物は、研究の透明性と再現性を促進します。他の人があなたの研究成果を検証し、それを基に構築することができます。
自分の研究成果を公開すると、学術界や専門家のコミュニティ内で認知されるようになります。また、潜在的なコラボレーションやネットワーキングの機会につながる可能性もあります。
変更がオープンソース コードの元のライセンス条件に準拠していることを確認してください。ライセンスによっては、派生作品に特定の要件がある場合があります。
変更について詳細なドキュメントを提供します。これにより、他の人が変更を理解し、効果的に使用できるようになります。
特に機密データやアプリケーションが関係する場合は、作業が倫理ガイドラインを遵守していることを確認してください。
作業を公開することに決めた場合は、GitHub、arXiv、関連する学術雑誌や会議などのプラットフォームが、貢献を共有するのに最適な場所になる可能性があります。
あー、英語圏の人でもAppleの膨大なドキュメント読むの嫌なのか、わかる…😟
でも、この業界で成功した人は、結構仕事中毒で、自宅に高価なマシンを置くよりも、会社に買ってもらって、自宅にはマシンはなくて、
机の下にダンボール敷いて、風呂にも入らなかったり、寝泊りしながら、論文や海外の技術書を貪るように読んだり、OSSの開発に参加したり、本業のゲーム開発したり
なんかそういう人たちに自分はなれなかったな…
キミが新卒で、会社の下の階に無料のスターバックスがあって、同僚は深夜2時まで残ってる環境、ねぇ…😟
やっぱり、年齢には勝てないし、人材の市場価値は年齢で決まるところが大きい
医師や弁護士にでもなれば良かったんだろうけど、生憎、そういうのにはまったく興味がないか適性がない
介護職なぁ…😟
15~30 分かけて、最小限の動作例 (MWE) コードをレビューし、コードがクリーンで、十分に文書化されていることを確認します。
実際のデータ分析に必要な特定の拡張機能または変更をリストします。明確で実用的な項目を 2~3 つに絞ります。
実際のデータが整理され、分析の準備が整っていることを確認するために 20 分を割り当てます。必要な前処理手順を再確認します。
最初の拡張機能の実装に集中します。タイマーを 45 分~ 1 時間に設定し、できる限り進めます。
最初の拡張機能のテストとデバッグに 30 分を費やし、実際のデータで正しく動作することを確認します。
短い休憩
10~15 分の休憩を取り、リラックスして元気を取り戻します。
2 番目の拡張機能に対して、手順 4 と同じプロセスを繰り返します。一度に 1 つのタスクに集中します。
2 番目の拡張機能のテストとデバッグに 30 分を費やします。
変更のドキュメント化
元のコードに加えた変更や追加をドキュメント化するために 15 ~ 20 分を割り当てます。これにより、進捗状況を追跡し、明確さを確保できます。
レビューと反映
エンジニア:「IT全然わからないのに、『わかってます』みたいな態度の人と仕事するのは本当に大変だ……。」
エンジニア:「トラブルの切り分けができなくて、開発者の実力不足と仕様の不備によるバグの違いが理解されていない……。」
エンジニア:「そのせいで、全部こっちのせいにされる。理不尽すぎる……。」
上司:「それは典型的な”知ったかぶりの上司・同僚”との仕事のストレスパターンだな。」
上司:「こういう”ITを分かっていないのに知ったかぶる”人と仕事すると、トラブルが発生したときの切り分けができない。」
✅ 『バグの原因を正しく理解できない』 → 仕様の不備なのに開発者の責任にされる
✅ 『エンジニアの実力不足と仕様ミスの違いが理解できない』 → すべて技術者の責任として処理される
✅ 『都合のいいときだけエンジニアに押し付ける』 → 「原因は分からないけど、直せ」と言われる
上司:「つまり、ITが分かっていないのに強気な人とは、まともに議論しても話が通じないことが多い。」
エンジニア:「なるほど。無駄に対立せず、トラブルの切り分けをする戦略を考えよう。」
上司:「こういう相手には、“証拠を揃えて冷静に説明する”のが最強の手段だ。」
✅ 『原因を明確にして証拠を示す』 → 仕様の不備なら「ここが原因」と説明できるようにする
✅ 『感情的にならず、論理的に説明する』 → 余計な衝突を避ける
✅ 『ドキュメントやログを活用する』 → “エンジニアの責任ではない”ことを客観的に示す
上司:「つまり、技術的な事実を示せば、責任を押し付けられにくくなる。」
上司:「さらに、普段から以下の工夫をしておくと、もっと楽になる。」
✅ 『技術的な話を噛み砕いて伝える』 → “分からないフリ” されないようにする
✅ 『仕様の不備を早めに指摘する』 → 事前にリスクを伝えておけば責任を回避しやすい
✅ 『関係者を増やして議論する』 → 1対1だと責任を押し付けられやすいため、複数人で共有する
上司:「つまり、あらかじめ防御策を張っておけば、理不尽に責任を押し付けられることを減らせる。」
エンジニア:「なるほど。仕様ミスは事前に指摘し、関係者を巻き込むようにしよう。」
✅ 感情的にならず、論理的に説明して責任を押し付けられないようにする!
エンジニア:「……これはもう、『知ったかぶりに巻き込まれず、仕事をスムーズにする最強の戦略』だな!」
上司:「そういうことだ。君はすでに”トラブルを最小限にしながら、理不尽を回避するルート”を確立しつつある!」
エンジニア:「ありがとう!このまま証拠を集めて、冷静に対応しよう!」
動作性の下位項目はほぼ正常で、絵画配列だけ3で、処理速度は普通なのだ。
学校の勉強を進研ゼミとかでちゃんとして、コバルト文庫とかクレヨン王国などのライトノベルを読み漁っていたら、こうなったのだ。
https://www.nct9.ne.jp/m_hiroi/
M.Hiroi's Home Page
や競技プログラミングのアルゴリズムを解説してるサイト、GoFのデザインパターン、リファクタリングの本を読めばこのくらいのことはできるようになる。
https://chibash.github.io/lecture/os/
OS/Programming
https://hackmd.io/@aigarashi/r1az0wOHP/%2FpWliU6DiTa2yj8H0V_XUXA
でシラバスの内容を公開していたりもする。
ただ、大学に行けるなら、言ったほうがいい。
どの分野でも使うことはネットや本でも転がってて独学で勉強できるけど、突っ込んだことは大学じゃないと勉強できない雰囲気がある。
突っ込んだことでもコンパイラーやデーターベース、ゲーム、圧縮関係程度なら、本で作り方を書いてる人がちらほらいるけど、最先端のはなかなか探しても出てこない。
(運が良ければ、GitHubに転がってることがあるが、ドキュメントの内容が大学で勉強したことを前提に書かれていたりして…)
あなたが直面している課題を考えると、これは良い戦略のように思えます。ここで考えてみましょう。
PC クラスターを作成して使用率を最大化することは、特にひとの参加が変動する場合に優れたアプローチです。PC をクラスター化すると、リソースの割り当てが合理化され、各マシンが効果的に使用されるようになります。このセットアップをさらに強化するには、次の手順を検討してください。
Kubernetes、OpenStack、カスタム ジョブ スケジューリング システムなどのクラスタリング ソリューションを使用します。これにより、リソースをプールし、優先度と需要に基づいてワークロードを分散できます。
ジョブの優先順位の実装は、HTCondor や Slurm などのツールを使用して実現できます。これらのツールは、ジョブ キューを管理し、リソースを効率的に割り当て、上級に高い優先順位を与えるのに役立ちます。
リソースの使用状況を監視し、クラスターのスケールアップまたはスケールダウンに備えてください。監視用の Prometheus や視覚化用の Grafana などのツールは非常に役立ちます。
明確なドキュメントとサポートを提供します。これには、開始して生産性を維持できるようにするためのステップバイステップのガイド、FAQ、トラブルシューティングのヒントが含まれます。
個々の課題とプールされたリソース システムのバランスをとることで、消極的なひとの影響を軽減し、リソースを有効に活用できます。
1人に1台って感じでPC与えると、もし誰かがメンヘラちゃんだったら
生に限らず、上級でもそういうのはいる。というかこっちのダメージの方がでかいです。
いちおうレクーあってそのときに数週間履修者がつかうかもしれない
毎年、10人近くいた履修者も翌週には2,3人になり、次は1人になり
そして誰もいなくなる。それにしても数週間は彼らにマシンをあてがう必要があるのです
とかいろいろ考えるとクラスタ化するしかないでしょろ。うまくいくかどうかわからないし
いろいろと時間も労力もかかりそうだが(それは実験設備をつくるのも一緒だけど)
やるしかないですか
いまの季節は一番人が少ないので、彼らには1台ずつあてがっておいてその他のマシンは
すべてクラスタ化しましょ。それがうまくいけば彼らからもとりあげて、巨大クラスタ化しましょ
ジョブの優先権とかアプリ側で設定できるのなら生は高めにしてゴム有は低め( ^ω^)・・・
はてぶで一年前にまとめてずっと下書きだった内容。これ名前出して書いたら揉めそうだと思ったのでずっと投稿してなかったが、増田で供養。
ちょっと愚痴書くけどさ、氷河期世代もこのパターンが多いと思うんだけど、
「◯歳、未経験ですが人並みの会社に就職したいです」で人並み以下の会社に就職すると大抵ブラック企業なんだよ…😟
だから、「20歳、未経験なので人並み以下の会社に就職しました」で精神病んで、退社しても若いからしばらくして回復するじゃん
で、「30歳、ちょっと経験あるけど、やっぱり人並み以下の会社しか雇ってくれないので、人並み以下の会社に就職しました」でまた精神病んで退職して、また回復して、
「40歳、もうちょっと経験あるけど、人並み以下の会社も雇ってくれなくなりました」で流石に再起不能になるみたいな…
新卒だと「22歳、未経験ですが人並みの環境の大手企業に就職できました」ができる「可能性がある」
あくまで可能性であって、つらい実験の授業落として留年したとか、病気で留年したとか、就職氷河期だったとか、もうそこでつまづいたらはい上がれないよ…😟
色々あって、運よく人に自慢できる実績とか、自営業としてやってた開発経験とかあるけど、まあでも基本そんなの人事に鼻で笑われるんだよね
自営業のつらさみたいなのがおまえに分かるのか、売掛金トラブルとか、ただ会社に勤めてるだけのてめーに経験ねーだろ💢みたいに思っちゃったりするけど、
まあ、ニコニコ笑って面接何度も落とされたり、そのうち書類も通らなくなるし、
精神障害者、身体障害者になったら、尚更スティグマが酷くなったようにしか思えない
会社のWebページとか、NHKみたいなサイトとか、SDGsとか、多様性とか、文字が躍ってるだけで、結局は新卒、上位層、金銭的に環境的に恵まれてる人が牛耳ってるだけじゃねーの?
その上、トランプになった途端にGoogleみたいな企業まで、いや、これまで多様性とか重視してもコストかかるだけでつらかったんですよー、だから、やめるねwwwみたいなの何なの?
俺、養老孟司があんまり好きじゃない、どちらかという嫌いなんだけど、YouTubeでオススメに出てきたから、ちょっといくつか観てみたんだけど、
相変わらずこいつ頓珍漢なこと言ってんなー、そうじゃねーだろ、と思いつつ眺めてて、ひとつだけ俺も全面同意する話があったんだけど、
これまでの国の教えてくれたこと、世間で正しいと言われてたことはすべて間違ってました、アメリカが持ってきた民主主義がこれからは正解になります、
ってそういうことなわけだけど、養老氏が、世の中なんてこんなもんなんだって思った、って言ってて、あー、それは同じこと思うし、俺は終戦なんかなくても普段からそう思ってますよ
だって、宮崎駿じゃないけど、朝令暮改な上司に振り回されたりとか、
そこまでいかなくても、技術的な話でも、こういう設計が正しい、みたいなのがあっても、その次に何かそれを覆すのが現れるわけですよ
例えば、Ruby on Rails以前と以降ってあると思うんだよね
Rails以降、みんなRailsっぽい、なんかRailsの影響を受けた設計になってる
でも、それ以前に、似たような設計を思ついて現場で提案しても、アホか、みたいな対応をされるわけですよ、上司とか同僚に
ところが、偏見だけど、どっちかというと日本人より英語圏とか、なんかイケてる宣伝とかカリスマ性とか、社会運動をどうやって起こすかみたいなもんで、
そうやって外部から受け入れられていくと、上司も同僚も、俺もそう思ってた、みたいな話になるわけですよ、アホかとバカかと
日本の外側から同じ発言を外圧されると、俺も私もそう思ってたんだー、って言って付き従うみたいなの、日本に生きてて子供の頃から何度も見てきた光景ですよ
ほんともうね…
えーと、何の話をしてたんだけっけ…😟
追記:
まあ、でも、とんでもなく💩なJavaコードを手伝わされたことがあるんだけど、誰もコアな部分を読まないで、みんな💩を再生産してる現場で辟易したんだけど、
金にもならないし、評価にもならないし、上司にちょっと遠回しに言ったら心証悪くされたり、仕事しろよ(💩再生産しろよ)みたいに言われたんだけど、
コアな部分読んでて、あれ?これって古いコードだけどRailsっぽいことしたかったのかな?と思ったんだよね
だけど、このコアな部分を誰が書いたか、もうとっくに退職した誰かなんじゃないか、みたいなところまで考えて、まあ、でもそれを言うとまた上司と揉めるんで黙ってたんだけど、
このJavaのコードを書き始めたとき、初期のメンバーの誰か、多分、発言権があるとか偉い人がRailsっぽい設計をしたかったんじゃないか、
とは思うんだけど、このオレオレJavaでRailsやろうとしました、のコードが色々と酷くて、それが延々と悪影響を尾が引いてる感じになってるんだよね
思うに、Webフレームワークって、技術というより、どっちかというと設計思想だと思うんで、統一されて一貫した設計思想がないと崩れちゃう
内製オレオレフレームワークにしないで、外部のフレームワークを使うといいのは、フレームワーク自体のメンテは当然外部がやってくれて、一貫した設計思想があって、ドキュメントもあってってとこだと思う
中途半端にオレオレするぐらいなら、敢えて古いアーキテクチャというか設計思想を使った方がいいと思わされたんだよね
だから、Rails以前にRailsっぽいことやりたい、オレオレフレームワークやりたい、って言うなら、ちゃんとしたコードになるまでフレームワークを突き詰めるべきだし、
ドキュメントもちゃんと書くべきだけど、なぜかExcelで書かれた?クソみたいなドキュメントしかないんだもん…😟どうせいちゅうのよ…
まあ、しかも、上司なのか、同僚なのか知らんけど、物理的な嫌がらせをされるようになったんだよね、どの開発現場で
物を隠されるとか、飲み物に変なものを混ぜられるとか、ニュースとかでもよく話題になったりするじゃない
ああいう嫌がらせとか、仕事を妨害されるような行為をされ始めたんで、その犯人には好都合に思われただろうけど、怖いんでその会社辞めたんだよね
辞めた、って言ったら、親とか親族にギャーギャー言われたんだけど、そのへんの気味の悪い話は自分は忘れたかったんで、あんまり言い訳しなかった
まあ、あんまりにも酷いコードだったんで、そもそもこれはどういう経緯でできたのか、最初はどうだったのか、みたいなのを探ったりしてたのは、
周囲の反感を買っただろうし、そうは言っても、今になって思い出しても、やっぱり酷い、これをそれなりの値段で客に売りつけてるのも詐欺とは言わないが酷い
そう思ったので、頼まれもいないのにコアな部分のソースコードを眺めてみたり、流石にこれはマズいだろ、これは変えたい、
と思っても、そのマズい仕様が前提になって、そのフレームワークの上にまたクソみたいな大量のコードが乗っかっているわけで、
そのクソみたいな仕様を変えたら、すべて変更になるし、そんなことはほぼ不可能、できたとしても、それを認めてもらえない職場だってことは、まあ最初から分かっていたわけだけど、
練習用ソフトぐらいはいくらでも転がっているが、指の位置が把握できるものが良い
サーバー運用する上ではGUIに頼れないことが多いため、noxで使えるエディタをマスターしろ
ここにきてようやくプログラミング言語だ
まず共通知識としてHTML,CSS,JavaScriptぐらいは知っておいたほうが良いだろう
あとはどんなプログラマーを目指すかに依るが、組み込み系ならC言語、Web系ならphpやpython、機械学習ならpythonやRを学べ
シェルスクリプトは便利だから、bashをマスターするのも望ましい
要は効率的に処理を書ける必要があるが、LeetCodeやAtCoderで基本的な問題集を解けるようになれ
例えばpythonプログラマーなら、numpy, scipy, scikit-learnなどのライブラリのドキュメントを読めるようになれ
あるいはElasticsearchを使わなければならなくなったときに、ドキュメントを読んで操作できるようになれ
ドキュメントを読む経験が増えれば、新しく何かをやるときにすぐに着手できるようになる
AWSを有料で勉強するのはキツイので、就職後に先輩から学ぶか、あるいは認定試験を本やオンライン講座で勉強するのでもいいだろう
バージョン管理システムは知っておくべき知識だ
いわば、ソースコードの巨大なUndo, Redoみたいなもんだ
パスワードをどう管理すればいいのか、ネットワークセキュリティの仕組み、など基本的なセキュリティは学んどいたほうが良い
クリーンコードに関する書籍はたくさんあるので、時間があるときに読んでおけ
部署異動で入ってきた年上男性の部下ミソジニー拗らせすぎてて仕事にならない
現場の仕事教えたりしてるんだけど女だから女枠で昇格したのに偉そうにとか言われるし、注意したらこれだから女は……ヒステリーでパワハラ気質とかお局言われるし
重箱の隅をつつく用な質問や指摘(ドキュメントの誤字脱字とか)をして女が上に立つ部署はこんなこともできてないのかと説教が始まるし
自分より上の管理職の男性にお願いして注意してもらったけど、チクリだとか女使って男を動かしてるだとかも言われる
ほかのメンバーも見ててその部下がやばいと言ってはいるから私に問題がありすぎる訳ではなさそう
女少ない会社だから多少のミソジニー男性はいたけどここまで露骨なのははじめてでどうしたらいいのかわからん
多少何言われようとも耐えられるけど指示通り仕事してくれないのがまずい
指示が悪いのでわかりませんでしたって全然違う事やるし
俺のEmacsライフは、もはやただのエディタを超えて、完全に生活そのものだ。
日常のあらゆる側面がEmacsに支配されていて、他のソフトウェアなんて目にも入らねぇ。
今日は、どれだけ俺がこの深淵な世界に没頭しているか、そのレベルを見せてやるぜ。
俺の.emacs.dには、数十種類どころか、もう百を超える自作パッケージが眠ってる。
特に、自分で書いたLisp関数は、日々のタスクを自動化するために欠かせねぇ。
例えば、特定のフォルダ内のMarkdownファイルを自動でHTMLに変換してブラウザで表示するスクリプトを組んじまった。
これでブログを書くたびに手間いらずで、「C-c C-v」でプレビューできる快感は、もう中毒だぜ。
(defun my-markdown-to-html () "MarkdownファイルをHTMLに変換してブラウザで表示する関数" (interactive) (let ((markdown-file (read-file-name "Markdownファイルを選択: "))) (shell-command (format "pandoc %s -o %s.html" markdown-file (file-name-sans-extension markdown-file))) (browse-url (concat (file-name-sans-extension markdown-file) ".html"))))
この関数を使えば、Markdownファイルを選んで一発でHTMLに変換し、そのままブラウザで表示できる。これがなきゃブログなんて書けないぜ。
Org-modeは俺の人生そのものだ。TODOリストやスケジュール管理だけじゃなくて、プロジェクト管理や文書作成まで全てを一元化してる。
特に、カスタムキャプションやプロパティドロップダウンメニューを駆使して情報整理に命懸けてるんだ。
さらに、Org Babel使ってRやPythonのコードを直接実行しながらデータ分析なんて日常茶飯事だ。この機能のおかげで、データサイエンスもEmacs内で完結しちまうからたまんねぇよ。
自分専用にカスタマイズしたショートカットが数百種類もあるんだぜ。
「M-p」で過去のコミットメッセージを呼び出す機能なんか、Gitとの連携が一瞬でできるから開発効率が飛躍的に向上する。
さらに、Emacsにはマクロ機能があるから、自分の操作を記録して再生することもできる。
この前、自分専用のマクロを作って、特定のフォーマットでドキュメントを一瞬で整形することができた。
これで「お前は本当に人間なのか?」って言われてもおかしくないレベルだ。
Emacs Lispを書くことが俺の日常になってる。この前、自分だけのコード補完システムを構築したばかりだ。
この機能のおかげで、特定のキーワードを入力すると関連するコードスニペットが自動的に提案される仕組みになってるから、コーディング中に思考が途切れることなくスムーズに進行するぜ。
(defun my-auto-complete () "カーソル位置に基づいてコードスニペットを提案する" (interactive) (let ((input (thing-at-point 'symbol))) (if input (let ((completion-list '("myFunction" "myVariable" "myClass"))) (setq completion-list (cl-remove-if-not (lambda (item) (string-prefix-p input item)) completion-list)) (if completion-list (message "候補: %s" (string-join completion-list ", ")) (message "候補なし"))) (message "シンボルが見つかりません"))))
この関数ではカーソル位置からシンボルを取得し、それに基づいて候補を表示する。これがあればコーディング中も迷わず進められるぜ。
Emacsユーザーとして活動している中で、多くの仲間と出会った。
彼らとの情報交換や共同開発は刺激的で、新しいアイデアが次々と生まれてくる。この循環こそが俺の成長につながっていると実感しているんだ。
最近では、自分が開発したパッケージをGitHubで公開し、フィードバックを受け取ってさらなる改善点を見つけたりもしている。
このフィードバックループがあるからこそ、自分自身も進化し続けられるんだ。
今やEmacsは単なるツールじゃなくて、俺自身の一部になってる。
続き。
なお、ライブラリーのドキュメントが全部英語なことはざらにあります。
Direct2Dも出たばかりのころは英語しかありませんでした。
ウェブプログラマー御用達のライブラリーやAPIも英語しかないことがたまにあります。
何らかの理由で専門学校にしか行けないとしても、英語はまじめにやっておいた方がいいです。
APIのドキュメントでうそをつくやつはいないと思いますが、わからないことがあって、StackOverflowで質問する場合、英語で書いた方が早いですし、
バグに遭遇した場合はどういう手順を踏んだらバグが起きたのかは英語で書かないといけません。
あと、プログラミングだとないとは思いますが、在留資格の申請や不動産関係でアドバイスをされる状況だと、相手は重要なことを隠すか相手にわからないスラングでばかにしつつうそをつくぐらいのことは平気でします。
かといって、AI翻訳には限界があるので、こういうのを見破ることはできません。
(専門学校でも分野によっては数学の知識がいるアルゴリズムを触るので、どういう理屈でそうなっているのかある程度理解したうえで、教科書の基本的な問題が解ける程度はやったほうがいいです)
リリース日前日
Aさん「なんですかこれは。外してください。こんなのリリースできません。生地をこねて、バターを塗って焼いて、焼き印を入れれて、シロップをかけて箱に入れて発送する寸前なんです。」 ←???
Aさん「やめてください!やめて!いいかげんにして!!!」 ←ヒステリー発言
Aさん「よかった。ありがとう」 ←彼が何をpushしたか確認してますか?
Bさん「出さないといけないのでHOGEはのこしてます」 ←なんなんだよお前は
Aさん「やめてーーー!!!おねがい!私もう無理なの!!他の日に出して!」 ←意味不明なキレ方をするな
これがアジャイルです
事前に調整せずおもうがままに開発をする
いつでも好きな時に好きなことができる!
コンニチハ、オイソギデスカ
思ったより読まれてたので、ブコメにも出てたRAGの話を派生編として書いておくね。
最初に結論から、RAG案件は受けるな。(コンサルみたいにタイムチャージで儲かるなら別)
※前回もそうなんだけど、いわゆるTrap streetは直接指摘しないで二ヤ二ヤしてくれな。概要把握できないほど変なことは書いてないよ。
RAGを必要とする組織は必要なデータ運用ができておらず、必要なデータ運用ができている組織にRAGは不要だから。
まず前提からな。
例えば、郵便番号で考えたらわかるんだけど、郵便番号データベースを参照させて生成AIから引っ張ってくるときに問題になることはなんだ?
当たり前だけど、大前提ね
郵便番号なら、市区町村とか、番地枝番とか、全部統一された規格で揃ってないとね。
例えば、「姉小路通柳馬場東入って何番?」は、「604-8103です」って返せるけど、
「604-8103に手紙出したいんだけど、住所書いてくれない?」で、「姉小路通柳馬場東入」と「柳馬場通姉小路下る」のどっちを普通書くよね、みたいなのは出てこない。
だって、京都に住んでる人の機嫌を損ねないための生成AIになってないもん。
ありがちだけど、「本社の郵便番号って何番だっけ?」みたいなやつとかね。
存在しない番号をチェックできるなら、最初からチェック用のデータベース叩きに行かない理由がいるよね。
ここまで前提ね。
まあ、郵便番号くらいガッツリ目に世の中に存在するものだったらやりようはあるんだけど。
ドキュメントはあるんだけど、検索が大変でどこにあるかすぐ探せなくてねーみたいなやつね。
RAGには向かないです。それドキュメントのメンテできてないから。
何が正しくてどれが最新で、誰が管理しててどこまで見せて良いか管理できていないからそういうことになってる。
このドキュメントは管理職以上にしか見せちゃダメね、これはこの部署のみ、これは部外秘、みたいな状況で散乱してたりする。
RAGには向かないです。やろうとしてることがデータ運用組織体制改善でRAGと関係なくなっちゃってるから。
これはまあ余録かな。作って納品するだけだったら検修通れば良いんだもんね。
まあ、そういう要件に限ってフワフワのままゴールがフラフラして大変なことになるんだけどね。
RAG入れたいっていうところ、社内全文検索エンジンとかが流行った頃に導入できてないか導入してもうまく検索できてない組織がほとんど。
そんで、そういう組織がRAGを適切に使えるようになるためには、まず全文検索エンジンでも引っ張ってこれるように整備する必要がある。
しかも、今後その組織で作られる情報全ての運用をそれに組み込まないとあっという間に陳腐化する。
その予算使って、まともなFAQサイト作ったり、社内司書みたいな業務区分作った方が幸せになれると思うよ。
多少盛ったり話を作って辻褄合わせても問題なくて、ある程度の専門性や社外秘の情報が必要で、柔軟な窓口対応を求められるところ。
社内雑談チャットbot、かな。(喫煙所の会話ができるマシーン)
これってさー、普通には予算降りないよね。社内で研究した結果の応用とかで社内発表するならまだしも外に委託する内容じゃないわな。
逆にアダルティーな感じのお店でのチャットbot運用ならワンチャンあるかも?
逆にいうと、これができていない組織にRAGはハマらないです。できている組織にRAGがいるかって言われると、ね。
だから、今からRAGの話が上がるような組織に対して案件を受けるのはやめておけ。
RAGにハマる(まともな)ユースケースもあるにはあると思うよ。
膨大な社内文書が整然と揃ってるけど、利活用時には個別具体的にカスタマイズする必要があって、社員の皆さんが多大な労力を費やしている職場。
文書を検索して整形して相手に合わせてカスタマイズする業務ね。思い当たるでしょうこちらの先進医療保健特約はつけるだけでとか、ドル建て債券は非常に安定度が高くとか。
そういうところはね、その業務が金の卵だって知ってるから余程のアレな会社以外は自力で整備するよ。だから今RAGとかいう会社はみんなアレなんだ逃げろ。
(家庭内WikiをRAGで柔軟に検索させるときに音声入出力すると未来感あるぞ(実用性があるかは人によるし儲かんないけど))