タグ

nunohitoのブックマーク (2,635)

  • 異世界言語OSのモックを作ってみた話 架空世界で親しまれているという設定の伝統ゲーム「机戦」 

    Kernel/VM探検隊は、カーネルやVM、およびその他なんでもIT技術の話題ジャンルについて誰でも何でも発表してワイワイ盛り上がろうという会です。hsjoihs氏は、架空世界の言語を話す架空世界の人間のためのOS作成について発表しました。全2回。前半は、架空伝統ゲーム「机戦(セッカイク)」と、OS作成のツールチェーンとデスクトップ環境について。 趣味は「架空世界創作」 スタンフォード大学に通うhsjoihs氏 hsjoihs氏(以下、hsjoihs):よろしくお願いいたします。こういうタイトルでやっていきたいと思います。「long version」と書いてあることからもわかるように、2022年9月17日にセキュリティキャンプのアフターイベントで発表した5分の「short version」を長くしたものとなっています。あらかじめご了承ください。 自己紹介です。hsjoihs(はすじょい)と

    異世界言語OSのモックを作ってみた話 架空世界で親しまれているという設定の伝統ゲーム「机戦」 
    nunohito
    nunohito 2023/04/21
  • Chrome Extension の作り方 (その1: 3つの世界) - Qiita

    弊社の「自動化チーム(4人)」では、主にGoogle Apps Scriptを使って業務の自動化・効率化に取り組んでいるのですが、「Chromeのエクステンションも使えるようになったら強いよね」ということで、チームで一番エクステンションを使いこなす男 @ikeikeda にレクチャーをしてもらいました。 その時の内容がものすごく良かったので、Qiitaに記事上げなよ、って言ったのですが人が「そゆの苦手なんで」ってことなので、ネタだけもらって私が私なりに再構成して記事書いちゃいます。 あと、私自身がJavascriptの最新情報に追いつけていないので、誤った記法があったらご指摘いただけると嬉しいです。 対象読者 すでに Chrome エクステンション とか Chrome 拡張 作り方 で検索して、いくつかのQiita記事を読んだり、少なくとも1つは自分で作ったことがある人 (← manif

    Chrome Extension の作り方 (その1: 3つの世界) - Qiita
    nunohito
    nunohito 2023/04/21
  • ChatGPTで記憶を持たせる|ナッピー通信

    こんにちは代表のサル君です。今日はChatGPTに記憶を持たせる方法を紹介します。 ChatGPTと記憶力ChatGPTは、大量のテキストデータをトレーニングデータとして使用し、そのデータを元に自然言語テキストを生成することができます。しかし、個別の対話の詳細を長期的に覚えることはできません。これは、ChatGPTが非常に大量のデータを扱うことができる一方で、短期的な情報を長期的に保持するためのメカニズムが欠如しているためです。 しかし、適切に設定されたプロンプトを使用することで、ChatGPTに一定程度の記憶力を持たせることができます。 対話の開始まず、以下のような対話をChatGPTと行います。 ユーザー: コンピュータサイエンスについてのブログを書きたいんですが、どんなことを書けば良いですか? ChatGPT: コンピュータサイエンスについてのブログを書く場合、様々なトピックを取り上

    ChatGPTで記憶を持たせる|ナッピー通信
  • Komesan: 指定したURLに関連するはてなブックマーク、Twitter、HackerNewsのコメントを表示する

    Komesan: 指定したURLに関連するはてなブックマーク、Twitter、HackerNewsのコメントを表示する Komesanというはてなブックマーク、Twitter、HackerNewsをまとめて表示するサイトを作りました。 https://komesan.pages.dev/?url=https://pages.cloudflare.com HackerNewsはオプショナル: https://komesan.pages.dev/?url=https://pages.cloudflare.com&service=hackerNews ブックマークレットで実行する場合は、次のようなURLのブックマークを利用します。サイトの下部に同じものがおいてあります。 javascript:void(window.open("https://komesan.pages.dev/?url="+e

    Komesan: 指定したURLに関連するはてなブックマーク、Twitter、HackerNewsのコメントを表示する
  • Goのクリーンアーキテクチャで参考になりそうなもの

    はじめに Goでクリーンアーキテクチャっぽく実装したいモチベーションがあり、そのためにはコードを読むのが一番だと思ったので、参考にしていったリポジトリをまとめてみます。 観点としては スター数が比較的多いもの(400以上) READMEにアーキティクチャについての考えが明記されているもの を中心にピックアップしました。 Goの実装で参考にしたリポジトリ Goとは関係ないかもしれないが参考にしたリポジトリ おわりに 何かの参考になれば幸いです。

    Goのクリーンアーキテクチャで参考になりそうなもの
  • ChatGPTでstep by stepもロールプレイもやめたらプロダクト開発で使える精度になったよ|MRYY

    プロダクトマネジメントのコーチをしています。プロダクト開発の中でもGPT4を使うケースが増え、相談されることが増えてきました。 ChatGPTのGPT4を用いた際の、専門家として信用できる精度で推論させるための工夫の一部を紹介します。精度が必要な専門職かつ中級者向けになると思います。「機密情報の入力をどうさけるか」といった運用の話は今回はしません。 やったことと起きたこと一通り論文を読んで試したり、試行錯誤しました。 その結果、専門家として業務レベルで使える程度のものができるようになってきました。 クライアントのプロンプトを添削する仕事も増えつつあります。副作用として、日語なのに日語と感じられない自然言語に目覚めてきました。この片鱗についてお話しします。 分かったこと分かったこととして、精度を業務レベルで用いるためにまずはじめにとりくむことは下記です。 ・接待モードを切る ・指示の質が

    ChatGPTでstep by stepもロールプレイもやめたらプロダクト開発で使える精度になったよ|MRYY
  • 2023年モダンCSSの最新トレンド

    鹿野さんに聞く!2023年モダンCSSの最新トレンド https://findy.connpass.com/event/278449/ で発表した資料です。 各リンクはこちらから参照 https://tonkotsuboy.github.io/20230413_findy_css/

    2023年モダンCSSの最新トレンド
    nunohito
    nunohito 2023/04/14
  • FlutterでWebRTCをやってみる with Twilio - Qiita

    はじめに 以前、Qiita | FlutterでWebRTCをやってみる with AgoraSDK という記事を書いたのですが、その時点で Twilio の Flutter plugin はありませんでした。 最近、Twilio の Flutter plugin が Publish されていたので実際に触ってみることにしました。 Twilio Twilio 社が開発した Twilio は コミュニケーションに特化した API を提供しています。 提供する機能は以下のように幅広く、様々なシチュエーションで利用可能です。 この中でも、ビデオ通話を利用したアプリを Flutter で実装してみます。 実装 実際にサンプルアプリを実装していきます. Twilio に登録 Twilio を利用するには認証やその準備などがあるので、利用ハードルは少し高いです。 ちょっと試すだけなら全然大丈夫ですが、

    FlutterでWebRTCをやってみる with Twilio - Qiita
    nunohito
    nunohito 2023/04/13
  • 【Linuxカーネルを読む】ChatGPTで爆速コードリーディング - Qiita

    はじめに OpenAIによって開発されたChatGPTが話題になっています。特に、2023年3月14日に公開された最新モデルであるGPT-4は、これまで私達がAIに持っていた認識を根底から覆したのではないでしょうか? 私は、「普通に人間とやりとりしているのと変わらんやん…」と率直に驚きました。 エンジニアの業務の中でも、自動コーディング支援、技術的課題の壁打ち相手、ドキュメント自動生成、学習支援等さまざまな用途に活用する可能性を皆さん検証している段階です。私もその波に乗っている真っ最中です。 そこで今回は、ソースコードリーディングをChatGPTをメンターにしたら爆速にできるのではないか?という仮説を検証してみました。 そしてどうせやるなら、ソースコードリーディングのハードルの高さナンバーワン(個人調べ)の「Linuxカーネル」を題材にしてみました。 なお、使用したモデルはGPT-4です。

    【Linuxカーネルを読む】ChatGPTで爆速コードリーディング - Qiita
    nunohito
    nunohito 2023/04/12
    > 最初から英語での入力を推奨します。英語で質問した場合に得られる回答は日本語より正確な確率が高く、提供される情報も豊富です。新規のチャットを開いて最初の質問から終始一貫英語で質問するのがポイントです
  • 🚫 Stop using SWITCH, please 🙏

    If you're a software developer, chances are you'll use the switch stament at some point. This operator allows you to evaluate the expression and execute different blocks of code depending on the value of said expression. Although switch is a useful tool, overusing it can lead to code that is difficult to maintain and modify. In this article we explain why you should consider moving away from switc

    🚫 Stop using SWITCH, please 🙏
  • TypeScriptは10年でこんなに進化しました

    記事は、TechFeed Experts Night#11 〜 JavaScript/TypeScript最前線のセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 セッションの登壇者 セッション動画 クレスウェア株式会社の奥野賢太郎です。私はTypeScriptが登場してすぐの2013年初頭から使っていますので、TypeScript歴はちょうど10年になります。今回はこの10年間のTypeScriptの進化について各バージョンで追加された機能や進化の傾向を振り返りつつ、今後のTypeScriptの学習/キャッチアップ方法についてもご紹介します。 TypeScriptは10歳 - 過去を振り返る まずはTypeScriptの誕生から現在まで、過去10年間の各バージョンで追加された機

    TypeScriptは10年でこんなに進化しました
  • VPSを使って「マインクラフト」などの自宅ゲームサーバーを安全に公開する方法【イニシャルB】

    VPSを使って「マインクラフト」などの自宅ゲームサーバーを安全に公開する方法【イニシャルB】
    nunohito
    nunohito 2023/04/10
    “一応、言い訳としては、ゲーム用のVPSはスペックが高く、費用も高くなるので、安く運用できるというメリットはある。”
  • MEOとは?SEOとの違いや重要性を、専門家がわかりやすく解説!

    MEOとは、Googleに載っているお店・施設の情報を充実させることで、Google上での露出増加(上位表示)や、集客・売上向上を目指す取り組みのことを指します。「MEO対策」とも呼ばれます。(※) GoogleマップやGoogle検索が「お店探し」に利用されるようになった現在、MEOは飲店や小売店、観光施設などをはじめとした実店舗における集客施策として注目され始めています。 そこで記事では、MEOの意味、MEOとSEOの違い、MEOの重要性などについて詳しく解説します。 ※口コミラボでのMEOの定義です。MEOについては様々な定義があるので、記事内で詳細に解説していきます! ▲MEOとは?SEOとの違いや重要性をわかりやすく解説:編集部作成 店舗集客のアイデアが毎日届く!口コミラボのメルマガに登録する MEOの意味は?何の略? MEOとは、Map Engine Optimizatio

    MEOとは?SEOとの違いや重要性を、専門家がわかりやすく解説!
  • JavaScriptユーザのための関数型プログラミング(後編) | POSTD

    この記事の前編はこちら: JavaScriptユーザのための関数型プログラミング(前編) 遅延評価 遅延評価 は、 サンク や ジェネレータ などのもっと具体的な概念をカバーする一般的な用語の一種です。遅延評価は、その言葉が表すとおりのことを行います。つまり、値が必要になるまで評価しません。可能な限りずるずると、先延ばしにします。例えば、洗わなければならない器が大量に、もしかすると無限にあるとします。器を全て流しに置いて一度に洗うのではなく、ゆっくり、一度に1つずつ取って洗うのに似ています。 遅延評価の質を少しでも理解しやすくするために、Haskellを使って説明したいと思います。まず、 プログラムがどのように評価を行うか を理解する必要があります。皆さんが慣れているほとんど全ての言語は、 最内簡約 を用いています。最内簡約とは、次のようなものです。

    JavaScriptユーザのための関数型プログラミング(後編) | POSTD
    nunohito
    nunohito 2023/04/04
  • JavaScriptのGeneratorを使うとなぜ関数型プログラミングが捗るのか調べてみた|zochang

    こんにちはnoteエンジニアをやっている山形です。 この記事はnote株式会社 Advent Calendar 2022の18日目の記事です。 JavaScriptのGeneratorはご存知でしょうか? 聞いたことあるけど使ったこと無いという人多いんじゃないでしょうか。僕も存在は知っているけど今まで全然使ったことなくて「あ〜なんかyieldとかnext()とか書くやつだよね」くらいの認識で実際に使うメリットがよく分かっていなかったのですが、関数型プログラミングが捗るという噂を聞きつけて調べてみました。 更新履歴: 2022/12/18 21:19 コード例を一部修正しました 2022/12/19 09:48 コード例を一部修正しました Generatorの書き方Generator関数の書き方ですが、もちろんMDNに載っています。 アスタリスクをfunctionキーワードの後に書くのね、

    JavaScriptのGeneratorを使うとなぜ関数型プログラミングが捗るのか調べてみた|zochang
    nunohito
    nunohito 2023/04/04
  • JavaScript関数型プログラミング入門 - Qiita

    戻り値が必ずある 渡される引数が同じであれば、常に同じ結果を返す(参照透過性) 外部の変数を決して参照しない(const参照可) 関数の呼出は、引数の値を変えることはない 関数の目的は、引数から値を計算することのみである 関数はそれ以外にその世界に影響(画面表示、ログ出力、ファイル書き込み、音を出すなど)を与えない 関数は外の世界からの情報を受け取らない。例えば:キーボードやハードディスクを読んだりしない 1.3. JavaScript関数型プログラミングって何だ? JavaScript言語を使って関数型プログラムを書くこと。 JavaScriptの関数は「ファーストクラスオブジェクト(第一級オブジェクト)」である。

    JavaScript関数型プログラミング入門 - Qiita
    nunohito
    nunohito 2023/04/04
  • なぜGoはDuck typingを採用していると言えるのか、データ構造から詳しく解説してみた - Qiita

    Goのinterfaceは明示的に実装を宣言せず、実装側がinterfaceのシグネチャを満たしているかによって型が決まるDuck typingを採用していると言われています。私は当初このような説明を聞いたときにピンと来ず、むしろそれはTypeScript等に見られるStructural Typingなのでは?と思いました。 しかし実際にデータ構造を調べて見ると、確かにDuck typingであり、かつStructural Typingでもあるという考えに至りました。 これまでなかなかGoのデータ構造に触れる機会がありませんでしたが、調べてみるとこれまで気づかなかった観点がいくつも出てきたのでぜひ紹介したいと思います。 Duck typingについて 今回の主題となる部分ですので、Duck typing(ダックタイピング)についておさらいします。 Duck typingはアナロジーである「

    なぜGoはDuck typingを採用していると言えるのか、データ構造から詳しく解説してみた - Qiita
    nunohito
    nunohito 2023/03/30
  • Go言語:文法基礎まとめ - Qiita

    この記事の目的と対象 この記事は、今までruby/python/Java/c++などをやってきた僕自身がGo言語をやることになり、「Goの特徴を把握したい」「Goの文法に慣れるまではパッと確認できる場所にしたい」という目的でまとめたものです。よって、説明自体は少し雑ですが、今まで他言語をやっていて、これからGoをやってみようという人にとっては、 Goの特徴・文法がよくわかる内容になっていると思います。 Go言語とは Goは,2009年にGoogleにより発表されたオープンソースのプログラミング言語です。 Goはシンプルな言語仕様であるため学習が比較的容易で,豊富な標準パッケージが同梱されているためすばやく目的を達成できます。また,巨大なコードでも高速にコンパイルできるため大規模開発にも適しており,Windows,OS X,Linuxなどの環境に合わせた実行ファイルを生成するクロスコンパイル

    Go言語:文法基礎まとめ - Qiita
    nunohito
    nunohito 2023/03/29
    “Goのメソッドは任意の型に特化した関数を定義するための仕組みである。”
  • クラスを使わないアプリを実際に作ってみた気付き

    クラスを使わないアプリを実際に作ってみた気付き ども、北米でお勉強してる Nash です。 この記事は「クラスを使わないでアプリケーションを作ってみたことによる気付き」をまとめた記事です。 クラスを使わないアプリを作った 先に結論だけども、「クラスなしでモデルを表現する」はあまりおすすめできないので素直にクラスを使ってください。個人的には immer と併用するのが良いかと思う。 試しにクラスなしで関数+JavaScript Plain Objectだけのプロジェクトを1つ作ってみたけど、シンプルになる反面どこでもObjectを書き換えられるのでキチンと書かないと速攻でスパゲッテイになるのでやっぱりクラスないと怖い — Nash⚡️北米でコード書いてる (@snamiki1212) March 2, 2021 ということで、1つずつ見ていく。 何を作ったの 『Plangoab』という海外

    nunohito
    nunohito 2023/03/29
  • 大規模言語モデルで変わるMLシステム開発

    GPTはじめ大規模言語モデルの登場により、MLシステム開発にもパラダイムシフトが起こっています。流れが速すぎてやや混沌としてきたので、プロンプトエンジニアリングの考え方をはじめとした新しい概念について有用な引用と共に交通整理をしてみました。 今から始めたい人はまずこれを読むと、どんな点に配慮すべきかがざっくり分かるかと思います。

    大規模言語モデルで変わるMLシステム開発