並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 110件

新着順 人気順

laisoの検索結果41 - 80 件 / 110件

  • Airbnb’s Server-Driven UI System(Ghost Platform) の感想 - laiso

    Airbnb’s Server-Driven UI System(Ghost Platform) とは何か Airbnbが社内で取り組んでいる最新UI開発システム Ghost Platformとそのコンセプトの名前 元Airbnb AndroidエンジニアRyan Brooksによるポストを参照 A Deep Dive into Airbnb’s Server-Driven UI System | by Ryan Brooks | The Airbnb Tech Blog | Medium A Deep Dive into Airbnb’s Server-Driven UI System どういうものか サーバー(API)からデータと画面構造(UI)を配信して各プラットフォームで再生する仕組み UI言語部分を抽象化したもの Web、iOS、Androidに対応する なぜ画面構造を配信するの

      Airbnb’s Server-Driven UI System(Ghost Platform) の感想 - laiso
    • Edge Functionsはブラウザ - laiso

      Cloudflare Workers Cloudflare Workersのようなサーバーレスなコンピューティングプラットフォームとしてここ数年活発な「エッジサーバーでプログラムを実行する環境」(呼び方が定まらないので一旦Edge Functionsとする)でアプリケーションを作る*1とブラウザが通信する先にもう1つブラウザが存在するような妙な感じを覚えていた。 例えばNext.jsのAPI Routesなら書いたコードはNode.jsで動くので頭をサーバーサイドモードにすればいいが、Cloudflare Workersで動くエンドポイントを書く時はそうでない…… おまえ、ブラウザなのか? みたいな でもよく考えたらこれらのプラットフォームはSpiderMonkeyやらV8やらのブラウザと同じJavaScriptエンジンを組み込んだ実行環境を持っていて、APIも環境の制限(TCP接続とかフ

        Edge Functionsはブラウザ - laiso
      • 丁寧なDeno+JSX - laiso

        *1 サーバーレスFunctionsぐらいの気軽さでサーバーアリのWebアプリをデプロイしたいという時がある。主に自分たちだけが使うようなツール系のやつ。 その時に今までのようにSPA+APIアーキテクチャではなく、モノリシックなサーバーサイドアーキテクチャにしつつもフロントエンド開発と同じツールチェインを使いたい、と前から思っていた。 これは単にReactメタフレームワークでも一気通貫に時短で作れそうだけど、個人の楽しみのための活動なので、一旦世間のトレンドからは離れて自分が本当に必要だと思った要素技術のみを最小限に使って理解しながら試行錯誤したい。 ※ただ第三者に提供するシステムとかは安全に作られた既存フレームワークに乗るのがいいというのもある しばらく考えてみたところ、私にとっては「TypeScriptでJSXをテンプレートエンジンに使ってHTMLを書けるだけでよい」という所に落ち着

          丁寧なDeno+JSX - laiso
        • フレームワーク乗り換える必要なし系の意見がもう少し欲しい - laiso

          ushironoko.me Vue.jsビギナーズガイド などを著書に持つushironokoさんの記事。 とくに共感したのは以下の文章 Vue は長らく「持たざる者のための宣言的UI」でした。React は Javacript さえ書ければ使えると評されるように、裏を返せば JavaScript を書けないデザイナーや非フロントエンドエンジニアにとって扱いが難しく、jQueryが支配的な環境において Vue の存在はとてもありがたかったのです。 https://ushironoko.me/articles/2022/vue-ore-taido 僕がVueを知ったのは「Angularほど難しくない軽量データバインディング」としてのVueだったのでニーズが重なっていた。逆にこのニーズは今後Vueではなく別のライブラリが補うことになるのかもしれない。 TypeScript対応もComposit

            フレームワーク乗り換える必要なし系の意見がもう少し欲しい - laiso
          • Tauri on mobile 現状確認会 - laiso

            tauri.app Tauri とは Electron代替として作られたRust製のGUIアプリケーション開発ツールキット。 ユーザーは各プラットフォームのWebViewで動くHTML+JavaScriptでUI開発をして、裏側はRustで書いたネイティブバイナリにコンパイルされるプログラムを呼び出す。 実際の実装のイメージが以下で、Electronに使い方は似せられている。 tauri.app Electronは特製ChromiumとNode.jsをユーザーのアプリケーションに同梱することでポータビリティを担保させているのに対して(find /Applications -name "Electron Framework.framework" コマンドを実行してみると大抵どんな環境にもElectronが10匹ぐらい居る) TauriはOSが用意しているWebViewにリンクして、スクリプト

              Tauri on mobile 現状確認会 - laiso
            • Cursorはコードベースに質問できる - laiso

              VSCodeベースのCursorっていうGPT連携組込みエディタがあって、GitHub Copilot Chatと比較してみた。 cursor.sh 関心 読みテスト 脆弱性探知 OSS解析 書きテスト Cursor Copilot Chat 関心 GPTでソースコードからpatchを生成し続けたらプログラミングを自動化できるのでは???? - laiso ChatGPTのCode Interpreterのコードリーディング能力は結構優秀 - laiso で書いたようにコーディング(読み書き)を自動化したい。 Cursorをとくに薦めはしないけどLLM組込みエディタのUXの例としてわかりやすかったので紹介します。 読みテスト 脆弱性探知 例によって脆弱性診実習用アプリ(通称「やられサイト」)のSQLインジェクションを発見してもらうという会話をした。 ディレクトリを開いて「PHPファイルにS

                Cursorはコードベースに質問できる - laiso
              • 最近作ってる地味LLMコマンドラインツールたち: site2pdf, askrepo - laiso

                地味LLMコマンドラインツールとは ここでいうLLMツールとは、モデルのインプットとアウトプットを繋ぐ「グルーコード」として機能するプログラムのことです。 筆者が現在開発しているツールもLLMをベースにして、従来の作業をより簡便にすることを目的としています。 このツールは単独で完結する価値を持つというよりも、他のツールと組み合わせることでその真価を発揮します。 そのため、外見的には派手さがなく、地味な存在といえるでしょう(コマンドラインツールがそもそも地味の代名詞でありますが)。 例えば、アプリのソースコードを自動生成するような華やかなツールがある一方で、バックエンドで静かにデータを整形するだけの地味なライブラリも存在しているのです。 Gemini系モデルの良いところ ツールの共通点としては意外とGemini系モデルを活用しています。 Geminiの特徴の一つは、その「トークン長」、つまり

                  最近作ってる地味LLMコマンドラインツールたち: site2pdf, askrepo - laiso
                • Cloud FunctionsをGoで書く。またはFirebaseのためのマイクロサービスアーキテクチャ - laiso

                  Firebase Advent Calendar 2019 の17日目です。16日目はKesin11さんの「Firebase Emulator Suiteをフル活用してTDDで開発しよう」でした。 はじめに FirebaseプロジェクトでCloud Firestoreを利用する時は通常Node.jsによるCloud Functionsでトリガーとなる処理を記述します。その他には関連するAPIサーバー、WebアプリのフロントエンドのSSR、バックエンドの非同期処理など、多くの場面でCloud Functionsが活用されています。 この開発→デプロイサイクルをお手軽に行ってくれるのがfirebase-toolsというnpmモジュールです。JavaScriptでFunctionを実装し、firebase deployコマンドを実行するだけでFirebaseプロジェクト用のCloud Funct

                    Cloud FunctionsをGoで書く。またはFirebaseのためのマイクロサービスアーキテクチャ - laiso
                  • なんでVueを使っているか|laiso

                    仕事でVueというかNuxtを選んで使っているんですけど、なんでだっけという部分を思い出してみる Reactも使っているので評価してどちらかを選定する話ではないです まずLaravelで構成されたソースコードがあってここにどうやって機能を後付けするかという部分を考えた 要件として特定のUIを実現するJavaScript SDKがあったのでこの時点でSPA+APIにした 次にその時点でVueがLaravelでJSを書く時のデフォルト選択肢だったのでVueにした SSRは不要なことが分かっていたのでvue-cliで構築して、複数画面への遷移が必要になった段階でルーターを試しNuxtへ移行した 私の中ではReactもVueも期待する同じDXを提供する高度で自作できないもの、という位置付けなので、Laravel側の選択肢に偏りがあるのならそれに従って問題ないという認識だった 仮に別のフレームワーク

                      なんでVueを使っているか|laiso
                    • Cloudflare WorkersとNext.jsインテグレーションの問題にOpenNext実装が加わった - laiso

                      Cloudflareが@opennextjs/cloudflareを発表 2024年9月末に開催された「Builder Day 2024」でNext.jsアプリをCloudflare Workersにデプロイする新たな方法が公開された。 この方法は、@opennextjs/cloudflareを使ってビルドする。既存の@cloudflare/next-on-pages方式を置き換える可能性があり、現在は実験的な段階だ。 以下に新旧の開発手順のドキュメントがある。 新(opennextjs): Next.js | Cloudflare Workers docs 旧(next-on-pages): Get started | Full-stack (SSR) | Next.js apps OpenNextの概要 OpenNextは、Next.jsアプリをVercel以外のインフラにデプロイでき

                        Cloudflare WorkersとNext.jsインテグレーションの問題にOpenNext実装が加わった - laiso
                      • 日米(?)技術コミュニティ差|laiso

                        私のXのタイムラインでNext.jsおよびVercelが話題になると 「Proは高い。VPSで十分」という意見を各人がつぶやきはじめるっていう流れがある。観測範囲ではDHHが脱クラウドを宣言してから同調する意見が増えた印象がある。発言者は欧米のインディーデベロッパーが中心でベテラン開発者で、月$5で運用できるDigital OceanやHetzner、VultrのVPSを推すというポジションだ。今日はVercelのVPoPがそれに反応して、「VPSでNextセルフホスト試してるなう」とポストしていた。Vercelにベンダーロックインでないことをデモでアピールする算段らしい。彼はこの手のDevRel系の火消しを得意とする。 どうしてもウェブ技術の先端はメジャーリーグである米国にありというイメージが我々日本人にはあるが、誕生する場所としてはそうだけど(世界的巨大企業などのIssueが日夜発生す

                          日米(?)技術コミュニティ差|laiso
                        • 死後強まるサイト - laiso

                          個人開発のコストはDB次第 この記事を見てびっくりした。まずビックリしたのは「DBにお金を払えばいいのでは?」という点。 OSSへの寄付の月予算を$10にした にあるようにソフトウェアに費用をかける意思はあるのになぜプライベートの開発にコストをかけたくないのか。 記事の反応を見て気が付いたのだけど、僕は何故かサーバーレスアーキテクチャの採用を前提としていて、ここにヒントがあった。 最初はサーバー管理に関心がないのかもと思っていたのだけどパソコンとしてLinuxを使うのは結構好きだし、VPSもいくつか契約している。 これは何故なんだろうと考えていたのだけどブログのリセット でも触れたように「死後に放置されたサイトになる」ことを考えているんだろうという結論になった。 ノーメンテナンスでなるべく生き続けて欲しい。思い出してみると独自ドメインを避けるとか宣伝しないなどもその動機の為であった。 現実

                            死後強まるサイト - laiso
                          • GitHub Copilot Workspace ファーストインプレッション - laiso

                            概要 GitHub Copilot WorkspaceはAIが組み込まれた開発環境。「見えてきたプログラマー不要時代」で有名。テクニカルプレビュー中で、ウェイトリストに申請すると招待が来る。 githubnext.com 巷で言う”仕様書から開発自動化コーディングエージェント”とはちょっと違って、あくまでCopilot WorkspaceはCo-pilotの役割のみで、コーディングするのは自分、と考えると良い。今までブロック単位のコード補完だったものがレポジトリ全体に及んでる、というようなアナロジーだと思う。 自然言語を使用してタスクを指定し、AIが生成したコードの微調整、レビュー、繰り返しをユーザーが行うことができる。タスクの定義をIssueからインポートすると画像も認識する。 特徴 自然言語で目的(Task)、現在値・期待値(Specification)、変更計画(Plan)の各フェー

                              GitHub Copilot Workspace ファーストインプレッション - laiso
                            • WebUIについて調べた - laiso

                              WebUIはデスクトップアプリを作るためのライブラリ。HTML, CSS, JavaScriptでフロントエンドを作り、バックエンドをC, C++, Python, Go, TypeScriptなどの言語で開発できる。システムにインストールされているWebブラウザで動作する https://webui.me/webui.me 2023年にhassandragaさんが公開し、V言語コミッタのttytmさんらも参加した 本体はCで開発されていて、Python, Go, TypeScriptにバイディングが提供されている 似た技術としてはElectronやTauri、Gluonなどが存在する laiso.hatenablog.com zenn.dev アーキテクチャについて ElectronやTauriと比較すると、WebUIのアーキテクチャはWebアプリをブラウザで開くだけなのでより単純かつ制

                                WebUIについて調べた - laiso
                              • ライティングの哲学と未来のエディタの話 - laiso

                                『ライティングの哲学 書けない悩みのための執筆論』を読んだ。 本書はWorkflowyを使いこなしている文筆家をTwitterで募ってそれぞれの活用法を紹介する座談会を4名で開催したら、文章執筆についての精神性の話題がメインになってしまい、それはそうと3年後に参加者に実際に原稿書かせてみて再度Zoomで座談会して1冊の本にしてみた。という変わった企画だった。 ライティングの哲学 書けない悩みのための執筆論 (星海社 e-SHINSHO) 作者:千葉雅也,山内朋樹,読書猿,瀬下翔太講談社Amazon あとがき、が一番この本全体で起っていることを体裁立てて書いてあるので先に読むと分かりやすい。 僕は各人の著書をあまり読み込んだことがないので、実際の執筆の変化は分からないのですけど、3年後座談会では概ねみんな「雑に書いて世に生み出せた時点でえらい」というような方向性でまとまっており、自分と同意見

                                  ライティングの哲学と未来のエディタの話 - laiso
                                • React NativeとExpo RouterのRSC導入に向けたアップデートが来そう - laiso

                                  Expo Routerとは Expo Routerは、React NativeおよびWebアプリケーション用に設計されたファイルベースのルーティングライブラリ。 docs.expo.dev RSCを活用してサーバー側でコンポーネントレンダリングとストリーミングを行う新しいSDUIの構想 "Fetch Once, Render Everywhere: React Server Components in Expo Router"はReact Summit 2024におけるExpo作者のひとりEvan Baconによる講演。 gitnation.com ここでExpoを使った新しいSDUIの構想が発表され、Reactネイティブアプリにおけるサーバー側のコンポーネントレンダリングとストリーミングが提案されてXのタイムラインが盛り上がっていた。 今クライアントがWeb APIで取得して画面に適用し

                                    React NativeとExpo RouterのRSC導入に向けたアップデートが来そう - laiso
                                  • 2023年に書いたコード - laiso

                                    「2023年のふりかえり」ではPythonやJavaScriptのコーディングの話ばかり出てくるけど、これって今年全体から見ると1割以下だなぁと思ったのでGitHubのメトリクスを見ながら振り返ることにした laiso.hatenablog.com 言語ごとのコミット数 PHPの話 Laravelの話 開発手法の話 テストの話 GitHub上での活動 2021年 2022年 言語ごとのコミット数 vn7n24fzkq/github-profile-summary-cardsというのが生成してくれたグラフ profile-summary-card-output Python はデータ分析サーバーをFastAPIで書いてるのでその分と、Swiftは記憶にない 他の大部分はLaravel を使った複数のプロジェクトになる PHPの話 PHPの仕事が欲しいわけではないのであんまりPHP書ける人ブラ

                                      2023年に書いたコード - laiso
                                    • Meta Quest アプリの開発環境を構築する - laiso

                                      なぜMeta Questか インターネットの人の終わり: pha『パーティーが終わって、中年が始まる』で書いたようにVRヘッドセットは私が思っていたより普及しているのを知りました。そこで現時点で一番普及しているMeta Quest 3を入手して体験してみたいと思い、先日購入しました。 Meta Quest 3 128GB | 画期的なMR(複合現実) | PC VR/MR ゴーグル Meta QuestAmazon 消費者視点としてはしばらく使ってみて満足したので、次はクリエイター視点で遊んでみることにしてアプリ開発をする方法を調べました。 Quest 3はAndroidベースのOSなので、開発者はUnityやUnreal Engineなどのツールで3Dゲームを作って、それをAndroidアプリとして提供するというイメージです。 私の環境はApple SiliconのmacOSデスクトップ

                                        Meta Quest アプリの開発環境を構築する - laiso
                                      • b:id:laisoを停止した - を読んだ

                                        b:id:laisoの更新を停止することにした。MM/Memo時代から数えると実に16年半毎日投稿してきたつもりなのでこいつ急に止った!? みたいにならないように記事にしてブックマークしておきます。

                                          b:id:laisoを停止した - を読んだ
                                        • フレームワークのシェアを重視しがち - laiso

                                          チームで何かアプリケーションを作る時にどんなプログラミング言語を使ってどのフレームワークでどういう技術を使って作ろうか? と話し合いが行われることがある。この意思決定プロセスは技術選定とか呼ばれている。 そこに出てくるフレームワーク、に限らずソフトウェア技術・ツールの選択基準に大きく関わる「どのぐらいこの技術は使われているのか、主流なのか、シェアがあるのか・今後増えていくのか」という要素がある。 そこでは「たくさん使われている・寡占的な技術ほど良い」という価値観が広く共有されている(業界によって枯れた技術にフォーカスしたり、投資対象としての新技術の範囲を限定したりするから単純にユーザー数というわけでもない)。 その背景には 開発者の数を増やして規模を拡大する 開発者人材の流動性が高い 変化を予測しづらいエコシステムの性質 というものがあると思う。 たくさん採用してすぐやめちゃうのでみんなが

                                            フレームワークのシェアを重視しがち - laiso
                                          • GitHub - laiso/site2pdf: Generate comprehensive PDFs of entire websites, ideal for RAG.

                                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                              GitHub - laiso/site2pdf: Generate comprehensive PDFs of entire websites, ideal for RAG.
                                            • メディアに出ているひろゆきを見て10年越しにモヒカン族 (ネット用語) を理解したような気がする - laiso

                                              報道番組でのひろゆきの芸風を見てマジレスおじさんの役割を担っているなと思っていたのだけど、それはモヒカン族 (ネット用語) で説かれていた特性に似ているなと思った。 ひろゆきのやっていることは 問題について比喩を使って単純化する 解決方法について空気を読まずに発言する これの繰替えしであると言える。 比喩を多用するのは自分の視聴者に問題を分かりやすく説明する手段で。「空気を読まない解決策」というのは一部の人には感情的には受け入れられづらいけど客観的には問題に対する論理的に正しい答えであると感じる、ぐらいの意味。 問題を単純化する過程で自分の意図と似わない抽象化がされると詭弁や論点ずらしに感じる人もいそうだなと思った。 でもなんかどこかで聞いたことあるような…… と感じてモヒカン族 (ネット用語)のことを思い出した。 ちょっと検索してみたら「J-CAST ニュース」の記事でotsuneさんに

                                                メディアに出ているひろゆきを見て10年越しにモヒカン族 (ネット用語) を理解したような気がする - laiso
                                              • 『個人開発のコストはDB次第 - laiso』へのコメント

                                                ブックマークしました ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください Twitterで共有

                                                  『個人開発のコストはDB次第 - laiso』へのコメント
                                                • Ruby on Rails: The Documentary - laiso

                                                  Ruby on Rails: The DocumentaryはRuby on Railsの誕生に纏わる44分のドキュメンタリー映像作品。 37signalsの関係者やShopifyのTobias LütkeなどのRailsコアチームの人々のインタビューが中心 www.youtube.com JasonとDavidの出会いからRailsの誕生、広く普及するまでを駆け足でおさらいした。React.js: The Documentaryなんやと比べるとあっさり目な内容。 僕も含め、周りでは「How to build a blog in 15 minutes with Rails」の動画でRailsを知った人が多くて、その動画も出てきて懐しかった。 www.youtube.com 中盤で触れられてる「RailsはスケールしないFUD」な話も、Rubyが遅いとかエンプラには早いとか色々評価があったと

                                                    Ruby on Rails: The Documentary - laiso
                                                  • ONCE: Writebookのソースコードを調べた - laiso

                                                    once.com Writebookについて Writebookは、https://37signals.com/books のようなオンラインブックを構築できるツールです。 これは37signalsのONCEというモダンなパッケージインストール型ソフトウェアを再考したものの一部で、37signalsのポッドキャストでたびたびコンセプトが言及されています*1。ブログ世代としてはMovable Typeを彷彿させます。 Writebookを無料にしている理由は、これをゲートウェイとしてCampfireにも流れていくことを期待しているようです。 セットアップ https://once.com/writebook にアクセスし、登録を行うと、ライセンスキーとインストールコマンドが書かれたメールが送られてきます。 セットアップは、手順に従ってダウンロードしたonceコマンドを使用して行います。このo

                                                      ONCE: Writebookのソースコードを調べた - laiso
                                                    • 最近のTwitterの使い方 - laiso

                                                      10年以上 Twitterで誰もフォローしていないことでお馴染の私ですがどのようにTwitterを使っているのか謎だと思うので、これまでのこと そしてこれからのこと・・すべてお話しします。 Tools 専用クライアントは使わずWeb版 https://twitter.com/ を使います。たまに自作Twitterビューワーを作って使いますが、トークンを手動でリフレッシュしているので気分で切り替えます。 他ユーザーと交流もせず通知がいらないのでモバイルのTwitter Appも入れず、見ない時は NextDNS で twitter.com を弾いておきます。 Home favoriteしておくとTwitter君がいい感じにリコメンドしてくれるのでそれを読みます。バズっている小言みたいな投稿は避け、なんとかをリリースしましたとか転職しました等のめでたい投稿を選んでゆきます。 Post 何か思い

                                                        最近のTwitterの使い方 - laiso
                                                      • 100人のトロール - laiso

                                                        Web日記は止まる では「著者が書くことに白けてしまう」ことについて思いあたりがあると反応している人が結構いた。 ただ、これがどういうことが原因で起きているのかを知るとうまく付き合えるのではないかと思ってるので書きたい。 普段10〜20人ぐらいが読んでいるブログが打ち所が悪くSNSなどでバズったとする。 10000人の閲覧が記事を評価し、5割ぐらいの人が「わかる」「それな」的に共感して、3割ぐらいの人が私見を述べるとする。1割ぐらいの人は異論を唱えていて「AはBではない」と感じて、その中の100人ぐらいが「けしからん!」「文章のてにをはがおかしい」となぜか怒っているとする。 この100人をトロールとする。トロールとは怒ることを目的にしている攻撃的な発言者ぐらいの意味で、ネットゲームの世界で元ネタの用語がある。 白けてしまいがちなブログ著者はこのトロールに対しても説得や弁解を誠実に用意しよう

                                                          100人のトロール - laiso
                                                        • 2023年のふりかえり - laiso

                                                          TL;DR 2023年に学んだ知識で2024年はマネーを獲得 2022年のふりかえり 2023年にやったこと After ChatGPT ChatGPTの使い方 コーディング自動化 アプリケーション開発 クラウドプラットフォーム関連 技術系の動画 フレームワーク関連 AWSコスト最適化大作戦 オライリー本 メインエディタをVSCodeに乗り換えた AndroidからiPhone 15 Proに乗り換えた OSSへの寄付 2023年にやりたかったこと 2024年にやりたいこと LLMを活用したアプリケーションを開発する 技術書を書く ニュースレターを配信する 動画を作る 事業を作る 2022年のふりかえり laiso.hatenablog.com laiso.hatenablog.com 2023年にやったこと After ChatGPT Chat Completions APIのリリースを

                                                            2023年のふりかえり - laiso
                                                          • 邪悪な健康情報|laiso

                                                            Low-Carbohydrate Diet Macronutrient Quality and Weight Changeを読んだ。 これは30年分の123k人の食事調査データを分析した研究。 結論としては植物性タンパク質、健康的な脂肪、精製炭水化物が少ない食事をしたグループが最も長期的に体重増加が抑えられているといったもの。 つまりは、豆やオリーブオイルやナッツや玄米、野菜などを食べるといいぞいと言っているのであって、おそろしく地味。そうだが? とみんな思うだろう。 しかし研究結果が地味だとなんか安心するなという感想を持った(そしてシズラー最強説が強化された)。 それは信用できない情報が派手さを重視しているように思っているからなんだけど、これも無意識のバイアスかもしれんない。 そこで最近の・売れていそうな・健康関連の本いくつか読んでみた あまりおすすめしたくないので特定の本ではなく売れて

                                                              邪悪な健康情報|laiso
                                                            • インポート文を削れ - laiso

                                                              『ソフトウェアアーキテクチャ・ハードパーツ ―分散アーキテクチャのためのトレードオフ分析』では、開発者がIDEの自動インポート機能を安易に使うことで、モジュール性の低いコードが生成されるというアンチパターンが紹介されています。 たとえば、Javaや.NETの開発環境でコーディングをする場合、開発者がまだインポートされていないクラスを参照すると、IDEはすぐに開発者に参照を自動インポートするかどうかをダイアログを通して尋ねてくる。それがあまりにも頻繁に起きるため、ほとんどのプログラマーは反射的に自動インポートのダイアログを押してしまう癖がついている。 1.5.1 適応度関数の使用 「俺じゃん・・・」と思いつつもしかし、私はこのインポートが無意識に積み重なっていく状況を、逆転の発想でリファクタリングに活用しています。*1 具体的な手順: なんか書いてるコードがごちゃってることを感知する インポ

                                                                インポート文を削れ - laiso
                                                              • Internet Computer Dapp開発入門 - laiso

                                                                Internet Computer (IC) とは 興味のない人向けに説明するとInternet ComputerはスマートコントラクトでDappを開発できるブロックチェーンです。 Dappはいわゆる分散型アプリケーションのことで、ブロックチェーンと連携するWebアプリケーションのことです。 自分も名前は知っていたものの有象無象の1つでしょぐらいの認識だったので今回ドキュメントを通して読んでみました。 internetcomputer.org Internet Computerの特徴 Internet ComputerはフロントエンドをSPAとして、バックエンドとデータ層をスマートコントラクトとして、フルスタックのWebアプリケーションをデプロイ可能です。 つまり新手のPaaSとして使えます。 厳密にはAsset Canisterという仕組みでフロントエンドも静的ファイル入りのスマートコン

                                                                  Internet Computer Dapp開発入門 - laiso
                                                                • いまさら振り返るRxSwift - laiso

                                                                  私とRxSwift 2013-2014年 2016-2017年 2018-2019年 何がIssueだったのか 非同期処理 Future/Promise パターンのかわり Observableパターン 宣言的UI 状態管理 どう解決されたか Swift Concurrency で非同期処理 UIKitからSwiftUIへ Combine やObservation おわりに 私とRxSwift 2013-2014年 C#な世界でLINQとかReactive Extensionsが高評価なことを知る。 iOSアプリ開発でもこれを生かせないかということを考えはじめる。ReactiveCocoaのことも知る。 MVVM for iOS - Speaker Deck サーバーサイド方面でもReactive Programming の話題が活発なことを知る。 netflixtechblog.com 直

                                                                    いまさら振り返るRxSwift - laiso
                                                                  • TwitterでフォローしていいかどうかもGPTに決めてもらう世界線 - laiso

                                                                    必要性が不明の生成画像: https://www.bing.com/images/create TwitterとOpenAIのAPIを繋いで評価を自動化します。 #!/usr/bin/env python import os import sys import tweepy from langchain import LLMChain from langchain.chat_models import ChatOpenAI from langchain.prompts import HumanMessagePromptTemplate, SystemMessagePromptTemplate, ChatPromptTemplate # フォローしたいアカウントのタイプを定義する preferences = "\n".join([ "創造的な性格。", "新しいものが好き。", "建設的な発

                                                                      TwitterでフォローしていいかどうかもGPTに決めてもらう世界線 - laiso
                                                                    • Anthropic Computer Useはどうやって実現されているのか? - laiso

                                                                      答え:スクショからシェルのコマンドに渡す値を生成する # 開発者が実装する! await asyncio.create_subprocess_shell("xdotool mousedown 1 mousemove --sync 750 738 mouseup 1") 🤖「ヨシ!」 さらに詳しく さらに詳しく Anthropic Computer Use の概要 実装例と使用方法 VNC サーバーと NoVNC を使用した接続 送受信フロー 送信 受信 computer_20241022 ツールの例: コード例: text_editor_20241022 ツールの例: bash_20241022 ツールの例: 結果の保存 スクリーンショットの base64: コード例: 処理とループ ループ内でのスクリーンショット取得 タスクを完了したと判断する基準 その後の処理 具体的な処理の流れの例

                                                                        Anthropic Computer Useはどうやって実現されているのか? - laiso
                                                                      • builder.ioでのLLMを使ったサービス開発の実際 - laiso

                                                                        builder.ioのSteve Sewell(CEO)が書いた「まだChat Completions APIで消耗してるの?」というトーンの記事を読んだ builder.ioはQwikの開発元で知られるCMS SaaS(Qwikの話は出てこない) www.builder.io www.builder.io 記事はVisual CopilotというFigmaのデザインをReactコンポーネント等のコードに変換する機能の裏側について解説している 「FigmaをReactコンポーネントに変換!」だけだとプロ驚き屋アカウントに消費されて右から左に流れていきそうなニュースバリューだけど、昨今のLLMs App開発についての実践的なアーキテクチャの話とopinionatedなことが書かれているのが面白かったので紹介します この2つの記事で言いたいことは「ChatGPTというハンマーが万能過ぎてすべて

                                                                          builder.ioでのLLMを使ったサービス開発の実際 - laiso
                                                                        • GitHub - laiso/unnote: noteからコンテンツをエクスポートする方法(非公式)

                                                                          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                            GitHub - laiso/unnote: noteからコンテンツをエクスポートする方法(非公式)
                                                                          • Strada探検隊 - laiso

                                                                            Strada こんばんわ、Strada探検隊のお時間です。 Stradaとは? Turbo NativeとモバイルOSのネイティブAPIを連携させるHotwireシリーズ最後のミッシングパーツだと目されています*1 Stradaは目下開発中の身であり全容が分っていないのですが、既にHEYアプリに投入されているため、HEY iOSアプリの構造を見て取ることでその仕組みが予測できるのではないかと考えました。 計画 Standardizes the way that web and native parts of a mobile hybrid application talk to each other via HTML bridge attributes. https://hotwired.dev/ とあるので特別なHTML定義をStradaが解釈してUIコンポーネントへ受け渡すことが予想で

                                                                              Strada探検隊 - laiso
                                                                            • 最近使ってる便利シェル関数: gh copilot suggest -t shell - laiso

                                                                              「iOSシミュレータを起動するコマンドがあったんだけど忘れた」というような状況で便利 copilot() { gh copilot suggest -t shell "$@" } alias c="copilot" 忘れたのでコマンド履歴から検索してくることもままならない。そんな時はこう ❯ c launch ios sim Welcome to GitHub Copilot in the CLI! version 0.5.3-beta (2023-11-09) I'm powered by AI, so surprises and mistakes are possible. Make sure to verify any generated code or suggestions, and share feedback so that we can learn and improve.

                                                                                最近使ってる便利シェル関数: gh copilot suggest -t shell - laiso
                                                                              • Structured Outputsを使うとかしこい文章校正ツールを手軽につくることができる - laiso

                                                                                Structured Outputsは、Chat Completions APIから得られる返答のデータの構造と型を強制するための機能で、最近OpenAIのSDKにも追加されました。 https://platform.openai.com/docs/guides/structured-outputs/ui-generation この機能を利用することで、簡単な文章校正ツールを作ることができます。 仕組み 文章データをOpenAIのAPIに送信する際に、各行に番号を付与します。これにより、GPTは各文がどの行にあるかを特定できるようになります。 文章に対する指示をプロンプトに添えます。例えば、「前提情報が足りない部分を指摘して」といった指示を加えます。 返答をStructured Outputsで制限することで、「何行目に対するコメント」という形式の結果を得ることができます。 この方法は「L

                                                                                  Structured Outputsを使うとかしこい文章校正ツールを手軽につくることができる - laiso
                                                                                • Xのタイムラインを100人のOSSコミッターにして1ヶ月が過ぎました - laiso

                                                                                  問題点 Twitter時代のリコメンドはちょうどいいインタレストを提供していた*1。自分がフォローしている人から辿れるファボに基づく推薦で発見があり、セレンディピティがあった。 しかし、今のアフター・イーロン時代のリコメンドはユーザーの注意を引き付け長時間滞在させるだけの過激・攻撃的・ネガティブな推薦が多い。 シニアエンジニア陣は彼らでバズった技術系エントリに対して私見を連投して過ごしている。興味深いしためになるのでそれはそれで読んじゃう。しかし私はオライリー本サブスクの元を取りたい*2。 長い間モヤモヤして過ごしが、これでは命がもったいないと思い、解決に乗り出すことにした(X中毒は解消しないスタイル)。 かといって、いざ代替SNSに移行するというのもしっくりこなかった。結局似たような属性の人の集まりに偏ってしまう(いつメン問題)。 そこでフォロワーを全員入れ替えてタイムラインがどう変化す

                                                                                    Xのタイムラインを100人のOSSコミッターにして1ヶ月が過ぎました - laiso