タグ

ブックマーク / memo.sugyan.com (52)

  • Cloudflare Workersで、自分のはてブをBlueskyに流す - すぎゃーんメモ

    bsky.app そういえば、古き良き時代は自分のブックマークは自動でTwitterに投稿されていたのだった。 今はBlueskyがメインになっているので、同じ仕組みが欲しい、と思った。ので、作った。 github.com 要件 先行事例 RustWASM対応 Cloudflare Workersでの実装 1MB制限との戦い Fetch API KVでのSessionStore? 要件 自分のブックマークはRSSで取得できる。定期的にチェックして新しいのがあれば、といったロジックで検出できる。 なので、基的にはプログラムを定期実行できる場所があればGitHub Actionsとかでも良い。 ただ、対象のブクマ内容をpostする前に、それを既にpostしているか否かを知る必要がある。 専用のbotアカウントとかであれば、そのアカウントのpost feedを取得して最近のものをチェックす

    Cloudflare Workersで、自分のはてブをBlueskyに流す - すぎゃーんメモ
    gfx
    gfx 2024/03/02
  • Rustで将棋の局面画像生成、そしてCDN Edgeで動的生成 - すぎゃーんメモ

    背景 先行・類似事例 自作のメリット Rustで局面画像生成 盤・駒画像の素材 画像処理 入出力 Generatorと下準備 Publish Web Appで使う CDN Edgeで動かす wasm-packでWebAssembly作成 Deno Deploy Vercel Edge Functions Cloudflare Workers Fastly Compute@Edge その他 まとめ Repository 背景 ATrium という AT Protocol のためのライブラリを自作している が、まったくドッグフーディングしていなかった ので、Blueskyに詰将棋の問題を放流するBotを作ってみることにした gfx氏が作ったBot を参考に というわけで、詰将棋の問題の局面を画像で投稿したい が、あまり自分好みの画像を生成できるライブラリやWebサービス等がない ので、結局それ

    Rustで将棋の局面画像生成、そしてCDN Edgeで動的生成 - すぎゃーんメモ
    gfx
    gfx 2024/01/26
    "ATrium という AT Protocol のためのライブラリを自作しているが、まったくドッグフーディングしていなかった" / してなかったんかーい!w それでもちゃんとbotを作るという用事に足りるくらい動いたのはすごいが。
  • ISUCON11予選のNode.js実装を書いた - すぎゃーんメモ

    ISUCON11 予選おつかれさまでした。 ここ数年は参加者として予選敗退を繰り返してきたのだけど、今年はちょっと違う関わり方をしてみるか、と思い 「参考実装の移植」に立候補してみました。 isucon.net Node.js担当として採用していただき、ちょっと不安もあったので id:hokaccha 氏にレビュアーとしてついてもらって、言語移植チームとして加わりました。 ISUCON11予選おつかれさまでした。今回は言語移植チームとしてNode.js実装を担当し、その他 バグ直し太郎として幾つかの言語の実装にcontributeしました— すぎゃーん💯 (@sugyan) August 22, 2021 Node.js 実装 github.com 中身としては素朴な express のアプリケーションで、TypeScriptで実装しました。 mysql clientには mysql2/

    ISUCON11予選のNode.js実装を書いた - すぎゃーんメモ
    gfx
    gfx 2021/08/23
  • ISUCON9 予選敗退した - すぎゃーんメモ

    ISUCON9。今年は縁あって声かけていただき id:Soudai さんと id:kamipo さんと、「失敗から学ぶISUCONの正しい歩き方」というチームで出場した。 練習会 インターネット上でよく知っている人たちとはいえ 実際に一緒に仕事をしたことも無ければチームを組んで一緒に何かをしたことがあるわけでもない。 予選の2週間前に一度集まって、1日かけて前年の予選問題を再現しつつ試し解きしてみる、という会をした。 言語は3人で共通した得意なものがあるわけではなかったので とりあえずRubyで、ということにした。 そのときの感覚では「やっぱり色んなところで躓くこともあるかもしれないけど 正しく計測して早めに大きな方針を決めて改善をしていけばそれなりの成績には辿り着けるだろう」という感じ。 DB関連はとにかく2人が強いので、自分はアプリケーションコードを如何に正確に早く書いていけるかが勝負

    ISUCON9 予選敗退した - すぎゃーんメモ
    gfx
    gfx 2019/09/09
    このチームでも突破できないレベルか…😰
  • TensorFlow.jsがChromeでWebWorker上でもWebGL backendで動く - すぎゃーんメモ

    tensorflow.js は処理の重さ的に worker で動かしたいのだがまだ WebWorker で動かすと cpu backend に fallback してしまうので、この issue ずっとみてる https://t.co/KYGEQSFwq5— 無糖派層 (@mizchi) July 30, 2019 僕も以前にWebWorker上でTensorFlow.jsを使おうとして WebGL backendで動かないことに気付いて諦めていたのだった。 memo.sugyan.com …と思っていたのだけど、どうも先月くらいの @tensorflow/tfjs@1.2.2 あたりから ChromeではOffscreenCanvasというのを使ってWebWorker上でもWebGL backendで動くようになったようだ。 試してみたところでは 動くのはChromeのみで、Safari

    TensorFlow.jsがChromeでWebWorker上でもWebGL backendで動く - すぎゃーんメモ
    gfx
    gfx 2019/08/02
    @tensorflow/tfjs@1.2.2 あたりから ChromeではOffscreenCanvasというのを使ってWebWorker上でもWebGL backendで動くようになったようだ”
  • ISUCON8 予選敗退した - すぎゃーんメモ

    ISUCON8。 今年は予選日程の両日に奈良で開催のHackathonイベントのお手伝いをする用事が入ってしまい、参加不可能だな〜という雰囲気だったのだけど、 イベントの初日は午後からで最初はチームビルディングとかの時間で出番無いはずだし多少は動けるかも…?ということで 一緒にHackathonサポートで奈良に来ている @kazuki-maさん と そういう事情で片手間参加のチームでも大丈夫と言ってくださった @overlastさん と3人で挑戦した。こちら2人は奈良、1人は東京。 事前に会って話す機会もなく Slackで軽く打ち合わせる程度。共通で得意な言語もなく (Go,Python,TypeScriptのひと / Java,Go,Perlのひと / Python,Perlのひと) とりあえず皆さわったことあるのはPerlか… という感じでPerlに。 前日夜に慌てて自分のPCにper

    ISUCON8 予選敗退した - すぎゃーんメモ
    gfx
    gfx 2018/09/18
  • ISUCON7 勝てなかった - すぎゃーんメモ

    ISUCON7に id:kazeburo さんと id:gfx さんと、チーム「スギャブロエックス」で出場して、入賞もならず、最終結果5位で終わりました。 うーん 悔しい。 お題 WebSocketで通信しつつ各ルームで複数のユーザが操作するので同期をとりながら値を更新していく、的なもの。 チームの動き 予選のときと同様に、言語はNode.jsを選択。 今回はTypeScriptを使うようにしていっても良いのでは、と gfxの発案で序盤にすべてのコードをTypeScriptに変換して それを中心に進めていくことに。 実際、TSLintが良く効いて構文エラーや簡単な型の不一致などはすぐに気付くことができて編集しやすくて良かったです。 序盤の各サーバへのログインやNodeのバージョン変更、deployのためのscriptなどの環境整備はお2人に任せて、自分はとにかくアプリケーションをまずgit

    ISUCON7 勝てなかった - すぎゃーんメモ
    gfx
    gfx 2017/11/27
    一緒のチームでやれて楽しかったです!またいつか組みたい…!!
  • 逆算方式による詰将棋の問題生成プログラム - すぎゃーんメモ

    将棋を始めた ので、詰将棋を毎日のように解いているのだけど、せっかくなら詰将棋の問題を自動生成してみたい、と思って試してみた。 前提知識 詰将棋とはどんなものか 攻め方(先手)が玉方(後手)の玉を詰ますのが目的。 攻め方は必ず王手をかける(玉方は必ず王手をはずす)。 玉方は盤上と攻め方の持駒以外すべての駒(ただし玉は除く)を合駒として使用できる。 玉方は最善を尽くし、最も長く手数がかかるように逃げる。 玉方は無駄な合駒をしない。 その他は指し将棋のルール通り。二歩、打ち歩詰め、行き所のない駒、連続王手の千日手はいけない。 (日将棋連盟の詰将棋ページより) 手法 コンピュータによる詰将棋の解答・問題生成というのは20年くらい前から既に様々な論文などで研究されているようだ。生成については、主に「ランダム法」「逆算法」といった方式があるらしい。 あまり論文にちゃんと目を通して調べてはいないけど

    逆算方式による詰将棋の問題生成プログラム - すぎゃーんメモ
    gfx
    gfx 2017/11/20
  • TensorFlowで顔検出器を自作する - すぎゃーんメモ

    19日に行われた Kyoto.なんか #3 で発表・デモをさせていただいた内容まとめです。 はじめに: 検出器の重要性 アイドル顔識別 をずっとやっている中で、顔の識別・分類(Classification)はCNNを使って出来ているけれど まだ上手く出来ていない別のタスクがあって。 それが画像内からの顔領域の検出 (Detection, Localization)。 「画像内に写っている人物が誰であるか」を識別するためには、まずはその画像に写っている「顔」を検出する必要がある。 その検出された顔それぞれについて分類器にかけて「この顔は○○さん」「この顔は××さん」と分類していくことになるわけで。 分類器に与える入力画像を切り抜いて抽出するのにもまず顔領域を検出する必要があるし、その分類器を学習させるためのデータセットも、様々な画像から顔領域を検出して切り抜いてそれぞれに対してラベル付けする

    TensorFlowで顔検出器を自作する - すぎゃーんメモ
    gfx
    gfx 2017/08/21
  • TensorFlowによるDeep Learningでのアイドル顔識別モデルの性能評価と実験 その2 - すぎゃーんメモ

    以前に試した、アイドル顔識別の性能評価。 memo.sugyan.com それから半年以上も経ってデータ数も増えたし ちょっと確かめたいこともあったので、再び試してみた。 新データセット 前回は 40人×180件 で 計7,200件 を用意したけど、今回はもう少し多めにデータが集まっていたので(卒業などでもうアイドルではなくなってしまった子も居るけど…)、今回は 120人×200件 で 計24,000件 を抽出してデータセットを作成した。 実際にラベル付けしたデータから抽出してみると、元が同じ画像なのに加工や顔検出器のブレなどで別の顔画像として登録されてしまっているもの、明らかに同じ日・同じ場所で連写していて「ほぼ同じ顔画像」と思われるもの などの重複が結構あることに気付いて、頑張って出来る限り排除した。 前回もある程度は人力でチェックしていたけど、今回は学習済みモデルにわせた中間層出力

    TensorFlowによるDeep Learningでのアイドル顔識別モデルの性能評価と実験 その2 - すぎゃーんメモ
    gfx
    gfx 2017/02/22
    94%の壁か〜
  • "Write Code Every Day" 1年 - すぎゃーんメモ

    1年前のjava-ja.OSSで @t_wada さんの話を聴いた翌日から実践し始めた"Write Code Every Day"、どうにか1年間つづけることが出来た pic.twitter.com/scVbkZFZI9— すぎゃーん💯 (@sugyan) October 6, 2016 元記事 John Resig - Write Code Every Day 日語訳 毎日コードを書くこと - snowlongの日記 この記事を読んだときは「へー」くらいにしか感じていなかったのだけど、 1年前の10月5日のjava-ja.OSSでのid:t-wadaさんの発表を聴いて、実際に身近な知っている人たちが実践しているのを知って、「よし自分もやってみよう」と始めたのがきっかけ。 OSS についてあれこれ from Takuto Wada www.slideshare.net 元記事で ブログ

    "Write Code Every Day" 1年 - すぎゃーんメモ
    gfx
    gfx 2016/10/06
  • TensorFlowによるDeep Learningでのアイドル顔識別モデルの性能評価と実験 - すぎゃーんメモ

    以前から書いているDeep Learningによるアイドル顔識別の話の続き。 コツコツと顔画像収集とラベル付けを続けて、そこそこにデータが集まってきたので ここらでちゃんと性能評価をしてみよう、と。 データセットの作成 今回は、現時点で重複なく180件以上の顔画像が集まっている40人のアイドルを分類対象とした。 対象アイドル一覧 これらのアイドルに分類のラベルindexを振り(推してる順とかじゃなくてランダムにね)、それぞれから無作為に抽出した180件の顔画像をそれぞれラベルとセットでレコードを作り、シャッフルして30件ずつ6つのデータセットに分けて保存。 data-00.tfrecords data-01.tfrecords data-02.tfrecords data-03.tfrecords data-04.tfrecords data-05.tfrecords レコードは、以前の記

    TensorFlowによるDeep Learningでのアイドル顔識別モデルの性能評価と実験 - すぎゃーんメモ
    gfx
    gfx 2016/06/15
  • TensorFlowによるディープラーニングで、アイドルの顔を識別する - すぎゃーんメモ

    以前は MNISTの例を使って画像識別を試してみた けど、次はカラー画像についての識別を試してみる。 「アイドルなんてみんな同じ顔に見える」って 最近も言われてるのかどうか知らないけど、自分もつい5年前くらいまではそう思っていたわけで。その識別を機械学習でやってみよう という試み。 最近はほとんどライブに行かなくなってしまったけど大好きなももいろクローバーZちゃんを題材にしてみることに。 5人のメンバーの顔は機械学習によってどれくらい分類できるようになるのか?? CIFAR-10 CIFAR-10 という、32×32サイズのカラー画像を10種類のクラスに分類する識別課題があり、そのデータセットが公開されている。これを実際にTensorFlowで学習するための畳み込みニューラルネットワークのモデルや関数などがtensorflow.models.image.cifar10パッケージに同梱されて

    TensorFlowによるディープラーニングで、アイドルの顔を識別する - すぎゃーんメモ
    gfx
    gfx 2016/01/12
  • AOJはじめました - すぎゃーんメモ

    AIZU ONLINE JUDGE」通称(AOJ)という、"提出されたプログラムの正しさ・効率の自動判定を行うオンラインジャッジシステム"がある。 http://judge.u-aizu.ac.jp/onlinejudge/ いわゆる競技プログラミング・プログラミングコンテストの過去問題などが多数掲載されており、各問題に対してソースコードを提出すると その問題の入力に対する正しい出力が得られているか否かを自動で判定してくれる。 …ていうのを何となくは知っていたのだけど実際に触ったことはなくて。先日 チームラボVSドワンゴ!競技プログラミング勉強会@ドワンゴオフィス - connpass というイベントに参加したときにオンラインジャッジに関する解説などがあり 実際に数問やってみる、ということでユーザ登録して挑戦してみたので、その後も継続して挑戦してみることにした。 べつに競技プログラミング

    AOJはじめました - すぎゃーんメモ
    gfx
    gfx 2015/12/26
  • #isucon 2015予選に参加した - すぎゃーんメモ

    第5回目となる ISUCON 。今年も参加しています。 優勝賞金100万円!今年もやります ISUCON5 開催と日程のお知らせ #isucon : ISUCON公式Blog 【締め切りました】ISUCON5 オンライン予選の参加登録を開始&参加チームとメンバーリスト : ISUCON公式Blog 前回・前々回と社内選抜として同じチームで出場していた方々が別の会社に移ってしまって出題側に回ってしまっていたりで「どうしよう…」と思っていたところに 第1回 のときのメンバー(@fujiwaraさん、@songmuさん)で再結成しよう、という話が上がったので有り難く乗っからせていただきました。 fujiwara on Twitter: "初代fujiwara組を再結成しよう" 予選は第1日目で参戦し、結果は1位通過!やったー! ISUCON5 選出場者決定のお知らせ : ISUCON公式Blo

    #isucon 2015予選に参加した - すぎゃーんメモ
    gfx
    gfx 2015/09/28
  • SQL::Translator::DiffでDBスキーマに追従させる方法 - すぎゃーんメモ

    #5「GitDDLまじイノベーティブ」 tech.kayac.com Advent Calendar 2012 | tech.kayac.com - KAYAC engineers' blog が便利そうだなーと思って。 でもGitと絡めなくても、Webアプリにおいて「現在の環境で使用するデータベース」と「有るべきスキーマの状態を示すDDLファイル」の差分を取って埋めることができればそれだけで十分使える気がする、と思って一つの運用方法を考えてみた。 もちろんGitDDL使っても良いのだけど、SQL::Translatorを使うだけでもある程度は、ということで。 Amon2プロジェクトの例で。 初期設定 $ amon2-setup.pl MyAppとかで雛形プロジェクトを作ると、sqlディレクトリが作られて、そこにDDLを保存する雰囲気になる。そのままsql/mysql.sqlを使っていくこ

    SQL::Translator::DiffでDBスキーマに追従させる方法 - すぎゃーんメモ
  • 指定したクラスの、実装されているメソッドを列挙する - すぎゃーんメモ

    #import <Foundation/Foundation.h> #import <objc/runtime.h> int main(int argc, char *argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; unsigned int i, count; Method *methods; Class target_class = [NSIndexPath class]; // ターゲットのクラス // インスタンスメソッド NSLog(@"Instance Methods:"); methods = class_copyMethodList(target_class, &count); for (i = 0; i < count; i++) { NSLog(@"%3d: %@", i + 1,

    指定したクラスの、実装されているメソッドを列挙する - すぎゃーんメモ
  • Text::Xslate::Syntax::Kolonのテンプレート編集用モード - すぎゃーんメモ

    templateファイルの編集に適したモード設定とは。xslate-mode.elみたいなのってないんでしたっけ 2012-03-29 10:45:26 via Twitter for Mac @sugyan Kolonシンタックスであれば,kolon-mode がありますね. URL 2012-03-29 10:49:11 via YoruFukurou to @sugyan というわけで GitHub - samvtran/kolon-mode: kolon-mode - Syntax highlighting for Xslate files using the kolon syntax https://bitbucket.org/lattenwald/.emacs.d/src/347b18c4f834/site-lisp/kolon-mode.el このあたりはhtml-modeを

    gfx
    gfx 2012/03/29
    知らなかった!あとでpodに追加します
  • カレントディレクトリがGitリポジトリ下か否か判定する - すぎゃーんメモ

    カレントディレクトリがGitリポジトリ管理下か否か、ってどうやって判定するのが良いのだろう 2012-03-23 12:52:55 via Twitter for Mac @sugyan 僕はこうしています。ご参考までに。 URL 2012-03-23 13:01:51 via web to @sugyan @Cside_ ありがとうございます、やっぱりそんな感じですかねー! 2012-03-23 14:06:12 via Twitter for Mac to @Cside_ @sugyan もしzshでならこんな感じでできます. URL 2012-03-23 14:16:21 via YoruFukurou to @sugyan @yaotti ありがとうございます、vcs_infoは便利ですよねー。シェルスクリプト内で判定つかいたいなーと思ったのですが、vcs_infoの中ではgit

    gfx
    gfx 2012/03/23
    プロンプトにブランチを表示させておくのじゃダメなの?
  • Kamakura Perl Mongers テクニカルトーク #2 に行ってきた - すぎゃーんメモ

    少し日が経ってしまいましたが。 Kamakura Perl Mongers テクニカルトーク #2 - Kamakura Perl Mongers Kamakura Perl Mongers テクニカルトーク#2 : ATND 会場はこちらの記事で紹介された村式株式会社さんの古民家オフィス"ふくすけ"。和風で当に素敵な古民家でした。 トーク聴きながらとってたメモ。 @massatさん: 「Perl::ハジメマシタ」 村式、iichi、"ふくすけ"の紹介 自己紹介 Perl暦1ヶ月 経緯: 6年間PHPでやってきた。次のステージへ! Ruby? Perl? "Perl Mongoersの愛は異常" を読み、Advent Calendarを読み 環境がカッコ良くなった! エディタがカッコ良くなった! 配列、リファレンスにハマった blessがカワイイ、カッコイイ 気になる言語仕様、ハマって

    Kamakura Perl Mongers テクニカルトーク #2 に行ってきた - すぎゃーんメモ
    gfx
    gfx 2012/02/27