こちらで登壇させていただいた資料です。 https://trident-qa.connpass.com/event/314818/ ※ こちらは2024/05/23 時点の私の考えとなります。更新の予定はございませんのでご了承ください
Mark Seemann 著、吉羽 龍太郎、原田 騎郎 訳、Robert C. Martin まえがき TOPICS 発行年月日 2024年06月 PRINT LENGTH 312 ISBN 978-4-8144-0079-9 原書 Code That Fits in Your Head FORMAT Print PDF EPUB ソフトウェアは複雑さを増すばかりですが、人間の脳は限られた複雑さしか扱えません。ソフトウェアが思い通りに動くようするには、脳に収まり、人間が理解できるコードを書く必要があります。 本書は、拡張を続けても行き詰ることなくコードを書き、複雑さを回避するための実践的な方法を解説します。最初のコードを書き始めるところから機能を追加していくところまでを解説し、効率的で持続可能なペースを保ちながら、横断的な問題への対処やトラブルシューティング、最適化を行なう方法を説明します
kmizu @kmizu A Software Engineer in Osaka (& Kyoto). Ph.D. in Engineering. Interests: Parsers, Formal Languages, etc. ツイートは所属先の見解と関係ありません.思いついたことをつぶやきます.人生を楽しく生きよう(New!) kmizu.github.io kmizu @kmizu GPT-4oの画像認識力と理解力をもってすればいけるやろと思ってやってみたら実際いけた。 ペーパープロトタイピングから最初のHTML書き起こすのにかなり使えるのでは。 つーか指示そのものを画像の中に書いたの読み取ってくれるの何か世界の壁を超えて対話してる感があって凄い #GPT4o pic.twitter.com/3XHMFg3yye 2024-05-14 12:49:41
将棋AIで用いている詰将棋ルーチンにdf-pnというアルゴリズムがある。 これは、proof number(証明数)、disproof number(非証明数)を用いて効率的に探索を行い、その局面が詰むか、詰まないかを判定できるとても強力なアルゴリズムである。 将棋ファンなら『脊尾詰』と言う「ミクロコスモス」(1525手詰)を解く詰将棋専用ソフトについて一度ぐらいは聞いたことぐらいあるだろう。これは、脊尾さんが大学時代に作成されたプログラムである。そこに使われていたのが脊尾さんが考案されたdf-pnというアルゴリズムである。 df-pnに関しては、脊尾さん自身の論文(1998年)があるものの、要点しか書かれておらず、いまのようにGitHubにソースコードがあるわけでもなく、その詳細については長らく謎に包まれたままであった。(この脊尾さんの論文では、証明数のみを用いており、非証明数は陽には出
『3種の神器』と呼ばれるものを始め、私たちが快適な日常生活を過ごす上で、家電という存在は必要不可欠です。 清潔感を保つにも、料理をするにも、家電のサポートがあってこそ。だからこそ、できるだけ大切に長く使いたいものです。 家電の取扱説明書を処分できる『ライフハック』に絶賛の声 家電を長く使うには、適切な使用方法を心がけることが重要。しかし、ハイテクすぎるゆえ、使い方を忘れてしまうのは珍しくありません。 また、大切に使っているつもりでも、時には故障させてしまうことも。慌てて、自宅のどこかにしまった取扱説明書を探しまわった経験はありませんか。 さまざまな機能が搭載されているぶん、取扱説明書は分厚くなっていくもの。持っている家電が多いほど、どうしてもかさばってしまいます。 思い切って家電の取扱説明書を捨てているというのは、澤田翔(@shao1555)さん。自宅で行っている工夫について、X(Twit
今までで最もインパクトのあるGPTsが完成しました。 その名も、「GAS Interpreter」です。 このGPTは名前の通り、Code Interpreter のように Google Apps Script コードを生成し、その実行までを行います。 他者に使ってもらうものではなく、自分専用のプライベートGPTです。 人によっては、Code Interpreter よりも便利です。なぜかというと、インターネットアクセスができることに加えて、GAS の便利で豊富なライブラリやリソースが活用できるためです。 例を示します。 GAS Interpreter の可能性以下に示す、いくつかの業務フローの実例をGAS Interpreterで行い、業務活用への可能性を示します。 今日の予定を聞きます今日の予定を教えて下さい 正確に今日の予定を教えてくれました。 会議参加者の相手に連絡したいので、その
CodiumAI、作りたい機能を入力するとコードの実装計画案生成、コードの自動生成を支援する「Codiumate Coding-Agent」α版リリース AIによるプログラミング支援ツールを開発しているCodiumAIは、作りたい機能をAIに対してプロンプトで入力すると、コードの実装計画案をAIが示し、それを元にほとんどのコードを生成や補完してくれる「Codiumate Coding-Agent」(以下、Coding-Agent)α版のリリースを発表しました。 The Codiumate-Agent is the first step towards tandem development with your coding agent. It effortlessly slots into your development workflow, helps you be smart about
Wi-FiパスワードはQRコードで共有可能 スマートフォンやパソコンをWi-Fiに接続するとき、パスワードの設定に手間取ることがありませんか? ルーターの設置場所によっては、背面に記載されたパスワードを確認するのも面倒ですよね。パスワードを変更している場合は、手書きのメモを探すこともあるでしょう。 実は、Wi-Fiに接続済みのiPhoneがあれば、簡単に共有用のQRコードを生成できます。設定はQRコードを読み取るだけ。来客時などに、Wi-Fiのパスワードを1文字ずつ入力してもらう必要もありません。店舗などでWi-Fiを共有する場合にも便利です。 本記事では、iPhoneに保存されているWi-Fiのパスワードをコピーし、それをQRコードに変換して読み取れるようにする方法を解説します。 目次 Wi-Fiのパスワードをコピーする QRコードを生成する [QRコードを生成する]のショートカットがな
はじめに 本稿では分析用クエリをスラスラ書けるようになるまでの勉強方法や書き方のコツをまとめてみました。具体的には、自分がクエリを書けるようになるまでに利用した教材と、普段クエリを書く際に意識していることを言語化しています。 想定読者として、SQLをガンガン書く予定の新卒のデータアナリスト/データサイエンティストを想定しています。 勉強方法 基礎の基礎をサッと座学で勉強してから、実践教材で実際にクエリを書くのが望ましいです。 実務で使える分析クエリを書けるようになるためには、実務経験を積むのが一番良いですが、だからといって座学を御座なりにして良いというわけではありません。SQLに自信がない人は、一度基礎に立ち返って文法の理解度を確認した方が良いと思います。 書籍 SQL 第2版: ゼロからはじめるデータベース操作 前提として、SQLに関する書籍の多くがデータベース運用/構築に関する書籍がほ
以下のXを見て、早速「Create」を試してみたので、実際に使った所感をまとめます AIがリアルタイムでWebページを作ってくれる神サイト ㅤ 会話だけで、理想のUIを実現することが可能 ㅤ 使い方・活用法をツリーにまとめます! ㅤ ブックマーク保存をおすすめします↓ pic.twitter.com/J1cJkUkyO8 — すぐる | ChatGPTガチ勢 𝕏 (@SuguruKun_ai) March 25, 2024 一言で言うとヤバいです... 詳細は以下のサイトでも解説しています Createとは Create 公式サイト Createは、1行のコードを書かなくても自然言語を使って、高度なAIを搭載したアプリやツールが作成できる生成AI搭載のノーコードツールです。 エンジニアでなくともChatGPT APIやStable Diffusion APIを組み込んだアプリが簡単に作れ
ボードゲームやアクションゲーム、各種ツールやシミュレーションなどさまざまなソフトが100日間に作られた いままで数えきれないほどのプログラマーに会ってインタビューもさせてもらってきたが、久しぶりに若いプログラマーの話を聞いてきた。ここ1、2年では U22グランプリの男子中学生や全国小中学生プログラミング大会の受賞者たちだが、今回は、ChatGPTを使ってプログラムを書きまくった女子大生である。 彼女は X(Twitter)の自分のアカウントで1日1本のソフトを100日間連続で作るというイベントをやっていて「おっ、頑張っているな!」と思って応援していた。「こんなゲームを作ってほしい」などとリクエストを出したりもしていたのだが、どうも私が想像していたものと内容もやり方も違っていたようである。 目下、ソフトウェア産業の最大のテーマは「我々は人間の言葉でプログラムを書くようになるだろうか」というこ
お疲れ様です。 今日からは「Python だけで作る Web アプリケーション(フロントエンド編)」について部分いたします。 はじめに 設計方針 共通部分の作成 ログインページ 商品一覧ページ 商品詳細ページ カートページ 注文一覧ページ 注文詳細ページ まとめ 今回は10の記事に分けて投稿するようにします。 今日は「はじめに」について部分いたします。 なぜ本書を書いたのか 本書は主に以下のような方を対象にしています。 Web アプリケーションの構築経験がない新米エンジニア Python はかけるが、HTML/JS/CSS が苦手な Pythonista 細かい UI の設定はせず、検証・デモ用の Web アプリを短期間で作りたい開発チーム どうやって作ったか 対象読者の悩みを解決するために、次の 3 つの要素が必要と考えました。 Web アプリケーションの基礎知識 参考にしてもらえる品質
これは二段構えの構成を持っています。この二段構えを正確に検出し、テキストを理解することが望ましいです。 Unstructuredを使うPythonのライブラリであるUnstructuredを試してみましょう。 参考記事 導入は非常に簡単です。 pip install 'unstructured[pdf]' 実装も簡単です。 解析コード: from unstructured.partition.pdf import partition_pdf pdf_elements = partition_pdf("pdf/7_71_5.pdf") 表示コード: for structure in pdf_elements: print(structure) 結果: 残念ながら、2段組のカラムを正確に検出することはできませんでした。 Grobidを使うGrobidは、peS2oというオープンアクセス論文のコ
2024年1月時点のAWSベストプラクティスに従って作成しました 好評でしたら続編も検討します 1. 環境ごとにアカウントを分離する 本番、検証、開発ごとにアカウントを分割しましょう ✕良くない例 ◎良い例 最初にアカウント分割しておかないと、後で分割するのはとても大変です アカウントを分割することで「検証と思って作業したら、実は本番だった」のような事故を減らすことができます コストがアカウント単位で集計されるため、環境ごとのコストを簡単に算出することができます AWS Organizationsを使用することで、各環境に応じた権限設定が簡単にでき、ガバナンスを強化することができます AWSアカウントはAWS Control TowerのAccount Factoryを使用することで、クレジットカード情報を都度入力することなく簡単にアカウントの払い出しが可能です また、AWS Contro
こんにちは。わいけいです。 今回の記事では、生成AI界隈ではかなり浸透している RAG について改めて解説していきます。 「低予算で言語モデルを使ったアプリを開発したい」というときに真っ先に選択肢に上がるRAGですが、私自身もRAGを使ったアプリケーションの実装を業務の中で何度も行ってきました。 今回はその知見をシェア出来れば幸いです。 RAG(Retrieval-Augmented Generation)とは まず、 そもそもRAGとは何ぞや? というところから見ていきましょう。 RAG(Retrieval-Augmented Generation) は自然言語処理(NLP)と特に言語モデルの開発において使用される技術です。 この技術は、大規模な言語モデルが生成するテキストの品質と関連性を向上させるために、外部の情報源からの情報を取得(retrieval)して利用します。 要は、Chat
IT Leaders トップ > テクノロジー一覧 > 開発ツール/プラットフォーム > 調査・レポート > ローコード/ノーコード開発ツール導入シェア1位は「GeneXus」、導入予定1位は「kintone」─ノークリサーチ 開発ツール/プラットフォーム 開発ツール/プラットフォーム記事一覧へ [調査・レポート] ローコード/ノーコード開発ツール導入シェア1位は「GeneXus」、導入予定1位は「kintone」─ノークリサーチ クラウドサービス間連携の用途が上昇 2024年1月29日(月)日川 佳三(IT Leaders編集部) リスト ノークリサーチは2024年1月29日、国内の中堅・中小企業におけるローコード/ノーコード開発ツールの社数シェアと用途を調査し、結果を発表した。導入済みツールのシェア1位はジェネクサス・ジャパンの「GeneXus」で21.8%だった。導入予定ツールの1位
リリースするたびに「影響範囲の考慮漏れ」によるトラブルを起こす。こういう症状は、既存のソフトウェアシステムに追加開発を繰り返す組織によく見られるのではないかと感じます。コードやシステムの変更が影響を及ぼす箇所を見逃してしまい、未修正な箇所が残されたまま本番リリースされたために発生するトラブルです。 このようなトラブルが頻発すれば、関係者らは不満を感じます。エンジニアたちの能力に不信感を抱くかもしれません。 しかし、不満の矛先をエンジニアに向けたところで問題が解決することはありません。そもそも原因を見誤っているからです。根本的な原因は、もっと奥深くにあります。 影響範囲の考慮漏れの多発は、ソフトウェアシステムが大きな問題を抱えていることを知らせるサインです。このサインを見逃して表面的な対策ばかりを続けていると、症状が良くなるどころか、かえって悪化し続けることになるでしょう。 問題/原因の3層
ミノ駆動さんに「なぜ負債解消にDDD?」と聞いたら、ソフトウェア開発の本質に気づかされた 2024年1月15日 株式会社スタメン ミノ駆動(仙塲大也) 電子機器メーカーや大手精密機器メーカー、クラウドワークスを経て、2021年4月にREADYFORに入社。アーキテクチャの変更容易性や機能性を促進する設計構造を目指し、リファクタリングやドメインモデリングを主軸としたシステム設計に従事する。現在は、組織改善のためのエンゲージメントプラットフォーム「TUNAG」を擁するスタメンに在籍。ITエンジニア本大賞2023技術書部門大賞を受賞した『良いコード/悪いコードで学ぶ設計入門』著者としても知られる。 X(@MinoDriven) note Qiita 株式会社スタメン・テックブログでの執筆記事 ドメイン駆動設計(以下、DDD)に注目が集まりだしてしばらく経ちますが、いまだに捉えづらさを感じている人
<details>要素でアコーディオンを簡単に実装できますが、懸念点は複数のウィジェットが個別に開閉してしまうことです。1つ目を開いて、2つ目を開くと、1つ目は開いたままです。1つ目を閉じるには、1つ目をクリックして閉じる必要がありました。 しかし、<details>要素にname属性を与えると、すべてのウィジェットを連動して開閉させることができます。1つのウィジェットだけを開くことができる排他的アコーディオンをHTMLとCSSだけで実装する方法を紹介します。 Exclusive Accordion by Bramus 下記は各ポイントを意訳したものです。 ※元サイト様のライセンスに基づいて翻訳しています。基づいてというのは、貢献部分に関して同ライセンスも含みます。 アコーディオンの実装 1つのウィジェットだけを開くことができる排他的アコーディオン 排他的アコーディオンのポリフィル アコー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く