タグ

プログラミングに関するrinrinbellのブックマーク (1,188)

  • macOSのVisionフレームワークでOBSの映像からテキストを抽出するWebSocketプロキシ - 詩と創作・思索のひろば

    激安HDMIキャプチャーボードを買ってから、ときどきゲームプレイの録画・配信をしている。OBS Studioというソフトウェアがデファクトらしく、自分もこれを使っている。 便利なことにOBSにはWebSocketで操作できるインタフェースがあり、JavaScriptPythonからかなり自由に操作することができる。となればソフトウェアエンジニアとしてはプレイログを構造化して残したいわけ。 WebSocket経由でスクリーンショットも随時取得できるので、画像を分析することでたとえばシーン判定はできるが、さらに詳細な情報を取ろうとするとテキスト情報もほしい。クラウドサービスなどに金をかけずに手軽にやるならTessaract一択となるが、素晴らしいソフトウェアではあるものの期待する精度を出すには工夫がいりそう。具体的には、ポケモンの名前は日語だけでなく中国語の場合もある(左下の「古劍豹」)。

    macOSのVisionフレームワークでOBSの映像からテキストを抽出するWebSocketプロキシ - 詩と創作・思索のひろば
  • 瞬時に拡散!古いパソコンでメキシカンハットが蘇った日

    MZ-80BやMZ-2000でカタログの表紙に使われていたメキシカンハットの画像。BASICプログラムが投稿されたことで(?) 瞬時に多くの機種に移植されましたのでまとめます。

    瞬時に拡散!古いパソコンでメキシカンハットが蘇った日
  • Chrome の 組み込み AI Gemini Nano を試してみる

    インストールが完了したらアドレスバーに chrome://flags と入力して設定画面を開きます。以下の 2 つのフラグを設定します。 Enables optimization guide on device: Enabled BypassPerfRequirement Prompt API for Gemini Nano: Enabled また、あらかじめ Gemini Nano のモデルをダウンロードしておく必要があります。アドレスバーに chrome://components/ と入力して Optimization Guide On Device Model の「アップデートを確認」をクリックします。 Gemini Nano を使ってみる それでは、Gemini Nano を使ってみましょう。以下のコードをコンソールに貼り付けて実行します。 const canCreate = aw

    Chrome の 組み込み AI Gemini Nano を試してみる
  • jqでURIエンコードする

    ごく稀にbashなどのシェルや、CLIプログラムで使用するプログラムから日語などをURIエンコードしたいことがあると思います。 そのためにrubyやnode.jsを動かすのも面倒だなぁ、と思っていたのですがjqでもできることがわかったのでメモしておきます。 やり方$ echo "日語" | jq -Rr @uri %E6%97%A5%E6%9C%AC%E8%AA%9E # echoには改行(\n)が含まれるがそれも含める場合 $ echo "日語" | jq -sRr @uri %E6%97%A5%E6%9C%AC%E8%AA%9E%0Aオプションの説明-R, --raw-input: JSONとしてパースせず、行ごとに文字列として処理を行う-r, --raw-output: 文字列として出力を行う@uri: percent-encoding を行うほかにもこんなのがありました。(j

    jqでURIエンコードする
  • 生成AIの議論を見てるとプログラミング環境の進化と近い話だなと思った

    すがやみつる先生が生成AIを使ったことでAIを憂う人たちから大量の質問が殺到する→質問に丁寧に返答、ベテラン漫画家が話す「模倣について」の考え方がためになる - Togetter 「紙とペンからデジタルへの変遷とAIでは次元が違う」みたいにAIは影響が凄すぎるみたいな話がよく出てくるけど プログラマってそういうの何回も体験してきてる プログラマにとって紙とペン時代は機械語やアセンブラだよな 俺は40代だから機械語やアセンブラ知らなくてもアプリが作れた世代だけど C言語やVBが出た時には機械語やアセンブラやってた人の技術が必要無くなってアプリを作る速度でも負けることになった 開発環境でも秀丸っていうただのテキストエディタで開発していた時代があったけど 統合開発ツールとか出てきてデバッグできたり補完が働いたりして秀丸使いは廃れた 自分がプログラマになってからも幾度となく新しい言語が発表されたり

    生成AIの議論を見てるとプログラミング環境の進化と近い話だなと思った
  • 42tokyo Piscineに落ちた話 - プログラマーになりたい。

    Piscine(ピシン)、落ちた話も受かった話もまあまあブログ記事とかになっていて、公開できないことも多いし、僕がこれ以上つけ加えることはほとんどないと思うが………。なんていうの、やっぱり落ちればくやしいわけで、なにかポエムを書こうと思って。 42tokyo そもそも、42tokyoは何なのだろうか。プログラミングスクールなのだろうか。もちろん学校法人ではない(一般社団法人 42Tokyo)。実質はDMM様のご厚意で、会社の大きい部屋と大量のiMacを貸していただいているという感じだ。 最近私が気に入っている定義は、定期的に問題を解かないと追い出されるサロンというものだ。 ピシン(Piscine) ピシンも、入学後も、「問題と生徒だけがあって、先生がいない」基スタイルは変わらないようである(落ちたので、科は詳しくないけど、ウェブサイトにはそう書いてある)。体験会的な面もあるのだろう。

    42tokyo Piscineに落ちた話 - プログラマーになりたい。
  • Python滅ぼす協会に入会したい

    なぜ令和にもなって動的型付け言語を使うのか シフトレフトという概念が生まれたのは二十年以上も前のはずだ。 それにもかかわらず動かしてみるまで答え合わせもできない言語で開発をするという発想自体がどうかしている。 同じ動的型付けといってもJavaScriptはブラウザという事情があるし、型の表現力に優れたTypeScriptがあるからまだよい。 しかし、Pythonはどうだ。他にいくらでも選択肢があるなかで、サーバーサイドにわざわざ選定する言語ではなかろう。 貧弱な型ヒント、しかも書いたところで大した効用もない。 使っている外部ライブラリにひとつでも型ヒントがクソなものがあれば即座に破綻する。 型というガードレールもシートベルトもなしで糞を撒き散らしながらする開発にはうんざりだ。 シンタックスもキモい 動的型付けもさることながら、シンタックスもキモい。とにかく思考を妨げる語順になっている。 m

    Python滅ぼす協会に入会したい
  • 元ひきこもり37歳業務未経験女性がバックエンドエンジニアとして地方で採用されるまで - Qiita

    実務未経験、独学でプログラミングを勉強し、応用情報技術者試験に合格、ポートフォリオとしてのWebアプリケーションを制作し、地方のIT企業に就職にしました。 34歳のころからプログラミングの勉強を始め、ITエンジニアとして就職することに憧れていましたが、まさか実現できるとは…と自分が一番驚いています。どんなことをしたのか、こちらの記事でまとめたいと思います。 結論 34歳(35歳目前)から初めてプログラミング学習を独学で開始 放送大学を卒業、基情報技術者試験、応用情報技術者試験に合格 ポートフォリオを制作、応募先に提出 37歳で地方(東京以外)のIT企業(Web受託がメイン)に試用期間の3ヶ月間契約社員として働き、正社員に 提出したポートフォリオについてはこちらの記事で解説しています。 就職できたと思う要因 ポートフォリオを完成させ、GitHubでコードを公開、Qiitaで解説記事を書いた

    元ひきこもり37歳業務未経験女性がバックエンドエンジニアとして地方で採用されるまで - Qiita
  • Macintosh ゲーム情報(MGJ)

    Macintosh ゲーム情報(MGJ)は Macゲーム専門の情報サイトで,1998 年から 2004 年まで内外 Mac ゲームニュースの紹介,ならびに各種 Mac 専門誌へのコラム・レビュー記事の寄稿などの活動を行っていたものです。2021 年 1 月より,M1 Mac 発売記念の特別連載「M1 Mac ゲーム徹底ガイド」公開のため限定的に活動再開いたしました。 特別連載「M1 Mac ゲーム徹底ガイド」 Apple Silicon を搭載した初の Mac である M1 Mac が発売され注目を集めていますが,果たしてゲームプラットフォームとしての実力はどれほどのものなのでしょうか。連載ではゲーム利用の観点から M1 Mac の実力と活用ノウハウについて解説します。

  • 個人開発を7年以上続けて分かった技術選択のコツ

    技術革新に適応しようとするイヌさんInkdropというMarkdownノートアプリを作り続けて7年になる。 お陰さまでその売上でずっと生活できている。 これまで個人開発でどう継続していくかについて「ユーザの退会理由をあれこれ考えない」とか「アプリの売上目標を立てるのをやめました」とか、ビジネス面あるいはメンタル面からいろいろ書いてきた。 今回は、技術面にフォーカスして、どう継続して開発していくかについてシェアしたい。 TL;DR最初はとにかく最速でリリースする事を最優先する迷ったら「ときめく方」を選べ程よいところで切り上げて開発を進める使っているモジュールがdeprecatedされるなんてザラだと覚悟する古いから悪いとは限らないシンプルにしていく老舗から継続の秘訣を学ぶ運ゲー要素は排除しきれない最初はとにかく最速でリリースする事を目標に技術選定する開発計画とビジネス計画は切っても切り離せな

    個人開発を7年以上続けて分かった技術選択のコツ
  • Vue 3.4

    Data Contracts In Practice With Debezium and Apache Flink (Kafka Summit London)

    Vue 3.4
  • React Forget は何を「忘れ」させてくれるのか

    はじめに こんにちは、株式会社TERASSでエンジニアをしている myrear です。 先日 React Blog にて公開された React Labs: 私達のこれまでの取り組み - 2024年2月版 という記事に React Compiler に関する記述があります。 この React Compiler とは React コードを自動的に最適化し、それにより開発者はメモ化について考える必要がなくなる(忘れることができる)というものです。 まるで魔法のようですが、一体どのような方法でコードの最適化を実現しているのでしょうか? 記事では2023年秋の講演の動画を自動翻訳字幕で追いながら要所要所をかいつまんで解説していきます。 React Forget とは? 先述の通り React コードを自動的に最適化してくれるコンパイラです。 具体的には JavaScriptReact のルー

    React Forget は何を「忘れ」させてくれるのか
  • え?まだgit checkoutしてるの?

    公式ドキュメントには以下のように書かれています。 THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE. 和訳:このコマンドは実験的です。動作が変更される可能性があります。 この記事の内容と違う場合があるので、ご注意ください。 この記事は2024年2月28日時点の情報です。 え?まだgit checkoutしてるの? git checkoutといえば、ブランチを切り替えたり、git addしたファイルを元に戻したりするコマンドですが、それはもう古いです。 実は2019年8月リリースのgit 2.23からgit switchとgit restoreが追加されました。 知らなかった人も多いのではないでしょうか?(恥ずかしながら私は知らなかった...) 「先輩、checkoutってなんすか?」と後輩に聞かれる前に、この記事を読んでgit sw

    え?まだgit checkoutしてるの?
  • Hotwireとは何なのか?

    はじめに HotwireはBasecampが発表した、モダンなWebアプリケーションを作るための新しいアプローチです。名前もHTML OVER THE WIREから来ているように、HotwireではHTMLをサーバーから送ります。「それ普通のWebアプリケーションでは?」と思う方もいるかもしれませんが、SPA + APIサーバでJSONが使われるのに対し、SPAと同様の体験をHTMLを中心に置いて作るアプローチであることを示す表現です。 僕個人は、最初は「ふ〜ん」という感じだったんですが turbo-railsを読みつつHotwireのデモアプリをPhoenixに移植してみたり WebSocketではないTurbo Streamsのsourceを作ってみて遊んだり と、ある程度触ってみて良さが理解できてきたので、Hotwireを使うと何が嬉しいのか、Hotwireの各要素の紹介を記事として

    Hotwireとは何なのか?
  • 『龍が如く7』は進化を続け、自動バグ発見どころかほぼ全自動のバグ取りシステムを構築。これぞ無職から勇者に成り上がるデバッグだ!【CEDEC 2020】 | ゲーム・エンタメ最新情報のファミ通.com

    記事では、1日目におこなわれた『龍が如く7 光と闇の行方』(以下、『龍が如く7』)のデバッグに関するセッション“「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム”をリポート。 セッションには、セガのQAエンジニア・阪上直樹氏と、ビルドエンジニアの粉川貴至氏が登壇した。 バグをハグしたくなる自動システム! まずは阪上氏が開発者たちへ向けて、「バグは好きですか?」という質問からセッションがスタート。最初に龍が如くスタジオの各タイトルで、バグを発見した数の推移が公開された。ゲームの規模が大きくなるにつれ、バグも増加傾向にあるという。 そして全自動バグ取りシステムを運用した『龍が如く7』では、なんと25000ものバグが発見されたという。こう見るとネガティブな印象を受けるかもしれないが、バグ発見数が多ければ多いほど、ゲームクオリティがアップするということだ。 バグとい

    『龍が如く7』は進化を続け、自動バグ発見どころかほぼ全自動のバグ取りシステムを構築。これぞ無職から勇者に成り上がるデバッグだ!【CEDEC 2020】 | ゲーム・エンタメ最新情報のファミ通.com
  • 【入門】要件定義

    はじめに 最近プロジェクトマネジメント関連の仕事をする機会が増え、(駆け出しですが)要件定義や設計関連の業務もするようになったので、私の経験を基に要件定義の具体的なプロセスや考え方について、まとめていきます。 この記事の対象者 要件定義の基や思考プロセスを学びたい人 エンジニアからプロジェクトマネジメントをやりたい人 ビジネスサイドとエンジニアサイドのコミニュケーション能力を向上させたい人 具体的な事例を通して要件定義を学びたい人 前提 紹介する内容はあくまで一例であり、プロジェクトやチームの状況に応じて調整が必要 あくまで自分(駆け出しPM)の経験に基づいた内容を言語化しています プロジェクト規模は10名〜20名のWebアプリ開発を想定しています システム開発の全体像 一般的なシステム開発のプロジェクトは下記のフェーズで進んでいきます。 ※ コンサルの領域だと要件定義の前に企画構想とい

    【入門】要件定義
  • WEARをリノベ!Objective-CからSwiftへのリプレイス戦略でも使えるスナップショットテスト - ZOZO TECH BLOG

    目次 目次 はじめに マイページ画面リプレイスに伴う課題 使用したライブラリ Objective-Cでリファレンス、Swiftでテスト リファレンス画像のファイルサイズを小さく デバイスも言語も一気にテスト 複数言語のテスト自動化 複数デバイスを一気にテストする方法 いにしえVCのためのスタブデータの用意 おわりに はじめに みなさん、こんにちは! 松井です。普段はWEAR iOSアプリ開発で、コードを書く筋肉をパンパンに鍛えています。WEARアプリは、長い歴史を持っており、まだまだObjective-Cで書かれたレガシーなコードも居座っているんです。そんな中、私たちは地道にリファクタリングを進めています。そうしたObjective-CからSwiftへのリプレイス戦略において、スナップショットテストを活用したお話をしたいと思います。 スナップショットテストと聞くと、一般的にはコードの修正前

    WEARをリノベ!Objective-CからSwiftへのリプレイス戦略でも使えるスナップショットテスト - ZOZO TECH BLOG
  • ChatGPT APIのFunction callingを使って、請求書の構造化データを抽出する | gihyo.jp

    いまからわかる!ChatGPT活用プログラミング ChatGPT APIのFunction callingを使って⁠⁠、請求書の構造化データを抽出する 先月、OpenAIからFunction calling(関数呼び出し)機能がリリースされました。これが何なのか、何のために使うべきなのか、ちょっと見ただけでは分かりづらいと思います。 今回は請求書から情報抽出をするというよくありがちなケースを題材に、Function callingの利便性を示してみます。 Function callingとは OpenAI2023年6月13日にリリースしたChat APIの追加機能です。主にできることとして以下の3つが挙げられています。 外部ツールを呼び出して質問に答えるチャットボットを作成する 自然言語を内部APIの呼び出しやSQLに変換する テキストから構造化データを抽出する たとえば天気予報と血液型

    ChatGPT APIのFunction callingを使って、請求書の構造化データを抽出する | gihyo.jp
  • Prisma で本物のDBMSを使って自動テストを書く - mizdra's blog

    DBMS に依存するロジックのテストを書く時、主に2つの手法があると思います。 Repository 層などを mock する Service 層のテストをする時は、その下位の Repository 層を mock して、DBMS に依存しない形にしてからテストする レイヤードなアプリケーションで適用できる手法 テスト実行時も DBMS を裏で動かして、それを使う 番と同じスキーマを持つ DBMS に対して、実際に insert したり select してテストする DBMS は docker-compose upとかで事前に立ち上げておく 双方にそれぞれ良さがあって、プロダクトによってどっちでやるか変わってくると思います。 この記事では 2 の手法を Prisma でどうやるかについて紹介します。 前提 実際のテストコードの例 テストヘルパーを作る 別解: ヘルパーを自動生成する je

    Prisma で本物のDBMSを使って自動テストを書く - mizdra's blog
  • スキル0から1年間でマルウェア解析を習得した学習方法 - the_art_of_nerdのブログ

    みなさん、こんちにはmです。 今回は私が1年の期間でマルウェア解析のスキル0から習得するまでに取り組んだ方法をまとめました。 初めに開始時のスキルや1年間でかけたコスト、スケジュールなどを共有します。 開始時のスキルなど 表層解析、動的解析、静的解析の違いもあまり理解していない プログラミングはPythonを学び始めた程度 低レイヤーの知識なし アセンブリの知識なし Windowsアプリケーション開発の経験なし SOCアナリストとしてブルーチームの知識は多少 脆弱性診断の経験も(深くはないが)多少 エンジニア歴7、8ヶ月目くらい ざっくりですが、このようにマルウェア解析に絡んでくる知識はほぼ0でした。 学習にかけたトータルコスト 書籍:約5万円 オンライン教材:12万円 約17万円近く1年間に使いましたが、お金で直接スキルは買えないので必要経費です。 なお、オンライン教材の12万円について

    スキル0から1年間でマルウェア解析を習得した学習方法 - the_art_of_nerdのブログ