本書はプログラマではない人向けに、AIを通したプログラミングを前提に、プログラミングの基本概念を説明することを試みたものです。 本書は非プログラマ・プログラマ・AIの間に共通語彙・共通理解を作ることを目標としています。プログラミングの理解なしにプログラミングができるようになる本ではありません。 注意: 書きかけです。現在、およそ半分程度はAIに書かせて、自分で軽くレビューしてる程度です。有料設定されていますが、投げ銭用であって全文無料で読めます。将来的に有料になる可能性はあります。

私の目標は、読者が午前中に本書を読み始めたら、午後には設計が上達していることだ。 本当にそのとおりだった。読んでる途中で既に自分の設計に対する考えが良い方向に変わってると感じた。とても良かった。おすすめです。 『Tidy First?』 をいただいて読んだ。昨日(2024年12月25日)発売。英語版が2023年11月28日発売だから、たった1年で日本語版が出たということだな。うれしい!はやい!ありがたい! ソフトウェア設計に焦点を当てたシリーズの最初の1冊ということで、サブタイトルに「個人で実践する経験主義的ソフトウェア設計」とあるように、1人でできる種類のソフトウェア設計について書かれている。続刊ではチームについての話になる予定のようで、それも今から楽しみ。 2周読んだ なんとなく2周読もうと思ってそうした。 1周目は細かい部分は気にせずにざーっと1,2時間くらいで読んだ。全体的にどうい
JavaScript での非同期処理について、身近な例や具体例を交えながら詳細に解説しています。 最後には練習問題も用意しています! 頑張って書いているので、良いと思ったらコメント・いいね・ストック・共有などしてもらえると嬉しいです!! 非同期処理とは 非同期処理とは、プログラムの処理が順番に実行されず、ある処理を実行している間に他の処理を並行して実行することができる仕組みです。非同期処理では、あるタスクが完了するのを待たずに次のタスクが実行されるため、効率的に複数の処理を進めることが可能です。 (by ChatGPT) 非同期処理とは、「同期処理」の対義語で、同期処理は「プログラムの処理が順番に実行され、ある処理が終わるまで次の処理を待つ仕組み」です。 非同期処理の最大のメリットは、 「時間のかかる処理を行っている間に別の処理を行うことができる」 ことです! 身近な例では、部下への仕事の
それでは以下、簡単なデモを含めながら個別に説明していきます。 1. ハイブリッドサーチ こちらは、性質の異なる複数の検索方式(例えばベクトル検索とキーワード検索)を組み合わせて検索精度を向上させる手法になります。 各検索方式単体の場合に比べ、性質の異なる検索方式を組み合わせ、ある種いいとこ取りをする事で、検索性能の向上が期待できます。 今回はBM25でのキーワードベースの類似度検索と通常のベクトル検索を組み合わせていきます。 BM25について簡単に説明しておくと、文脈や文章構造は完全に無視した上で、文書内の単語を全てバラバラに分割し、文書内の各単語の出現頻度と文書間におけるレア度を加味した特徴量を算出します。 つまり、特定の文書内の各単語の数をカウントしてヒストグラムを作れば、似たような文書には同じような単語がよく出るはずなので(同じようなヒストグラムの形になるので)、類似度が高くなる性質
使っているパソコンを変えても、開発環境を揃えたい時はDockerを使うと便利。ということでDockerでPython環境を作って色々なところで使いまわせるようにします。Tokyo AEC Industry Dev Groupというミートアップグループで行う(行った)ハンズオンワークショップの内容となっています。こちらDockerを初めて使う初心者用の記事となります。 ワークショップ自体は録画してYoutubeにアップしてあります。そちらもよろしければどうぞ。 Dockerとは Dockerとはシステム開発や運用に最近よく使われるコンテナ技術を提供するサービスの一つです。コンテナとは、アプリケーションの実行に必要な環境をパッケージ化して、いつでもどこからでも実行するための仕組みです。自分のコンピュータの環境を汚すことなく、隔離された環境を作ってそこでプログラムを動かすことができるのでトライア
Skip to the content. Geolonia 住所データ 全国の町丁目、大字、小字レベルの住所データ(277,543件)をオープンデータとして公開いたします。 本データは、国土交通省位置参照情報ダウンロードサービスで配布されている「大字・町丁目レベル位置参照情報」をベースとしていますが、「大字・町丁目レベル位置参照情報」データは年に一回更新であるのに対して、本リポジトリで配布するデータは毎月更新しています。 latest.csvをダウンロード latest.dbをダウンロード リリースノート 住所データ仕様 ファイルフォーマット latest.csv: CSV latest.db: SQLite3で読み込めるバイナリ形式 列 都道府県コード 都道府県名 都道府県名カナ 都道府県名ローマ字 市区町村コード 市区町村名 市区町村名カナ 市区町村名ローマ字 大字町丁目名 大字町丁目
恥ずかしながらPlantUMLというツールを知らなかったんだけど、IntelliJ IDEAのPlantUMLプラグインで初体験。なにこれ快適。 テキストファイルなので、シーケンス図、クラス図などいろんな設計がVCSで管理・マージできるすばらしさ。 IntelliJ IDEAのPlantUML integrationでサクサクライブビュー。マウスとキーボードを往復せずとも書けるので思考を途切れさせません。 プロジェクトファイルと一緒に管理していれば不整合も減らせそう。 導入手順 プラグインリポジトリで'PlantUML integration'検索、インストール。PlantUML本体も含まれる?ので別途インストールは不要です。 シーケンス図以外の描画に使う'graphviz'をインストール。macなら'brew install graphviz'でOK。 プラグインの設定でgraphviz
以前の記事で、 Webアプリケーションのデバッグの仕組み について触れました。今回は実践的なJavaScriptのデバッグについて掘り下げていきたいと思います。 ブラウザデベロッパツール 私の個人的なお気に入りはChromeデベロッパツールです。SafariやFirefoxはChromeほどの高水準に達していません。しかし、徐々に改善されてきています。FirefoxにはFirebugと改良されたFirefoxデベロッパツールが組み合わされた機能が備わっています。もし、Firefoxチームがビルトインされているデベロッパツールの改良の中で素晴らしい仕事をし続けたとしたら、Firebugはいつか、すたれるかもしれません。 個人的な好みにかかわらず、ターゲットとするあらゆるブラウザで、全てのコードのテストやデバッグができるようにすべきです。”あらゆるブラウザ”には、かの有名なInternet E
自分がそう呼んでいるだけなので、正式名称があるのかよくわかりませんが、 あるライブラリを公開する際に、exampleディレクトリにそのライブラリを使って実際に動くサンプルコードを作って、それを実行するテスト というのを示しています。 Go言語のExampleと近いような気がします。 testing - The Go Programming Language 以下のスライドでも簡単に解説してますが、この記事はExampleテストのメリットやNodeモジュールでのやり方について書いていきます。 ロジック、E2E、描画、音、動画、Example、文章 - 色々なJSテスト Exampleテストの利点 以下は思いついたExampleテストの良いところですが、これについて簡単に解説します。 始めるのが簡単 実際に動くサンプルコードが作成できる ドキュメントの一部になる package.jsonの設定
こんにちは @wasabeef_jp です 最低限、これだけ知っていればAndroidエンジニアとして語れるものを一覧にしています。 随時、このRepositoryを更新していきますので、参考にして下さい。 参照:wasabeef/ListOfAndroidLibraries UI系のライブラリは含めてません Networking Name | Repository | License --- | --- | --- | --- Android Asynchronous Http Client | https://github.com/loopj/android-async-http | Apache License V2 Async Http Client | https://github.com/AsyncHttpClient/async-http-client | Apache Li
JavaScriptでは、初見の人にはさっぱりわからないけれども、ある程度慣れた人は当たり前に使うイディオムが結構たくさんあります。知ってしまえば何てことはないので、私の知っている限りのイディオムとその意味を解説します。 (7/3追記: twitter等で教えていただいた内容を追加しました) +v (数値化) var v = "123"; console.log(+v + 100) // 223 console.log(v + 100) // 123100 vを数値化する方法では最もメジャーです。parseFloat(v) に比べて高速なのに加えて、parseFloatとは細かい挙動が異なります(例えば空文字列の場合、parseFloatならば NaN になりますが、 +v の場合はゼロになります)。必ず数値になることが保証されており、文字列などで数値化出来ない場合はNaNが返ります。 v
To follow this article the reader should at least have a basic idea of how to use Vim and its command modes. Or if you are new to Vim, you can read my first blog to know how I came in to Vim and its fundamental differences with other editors. Here I'm trying to explain how to make the Vim more productive by adding some extra features through Vim plugins. After this setup the Vim would have most of
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く