タグ

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

  • 逆算方式による詰将棋の問題生成プログラム - すぎゃーんメモ

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

    逆算方式による詰将棋の問題生成プログラム - すぎゃーんメモ
  • FluentdとGrowthForecastを使って自分の行動をロギング・可視化する - すぎゃーんメモ

    おそらくはそれさえも平凡な日々: もにかじでオレオレ監視ツールについて話してきました GrowthForecast.plで自分ロギングしてみた - by edvakf in hatena の記事のように、FluentdやGrowthForecastを使ったロギングって面白そうだなーと思って自分でもやってみた。 アプリケーション毎のアクティブな時間を取る まず考えたのはこれ。キーイベント発火回数ほど細かくなくても、「アクティブにしている時間の割合」が取れたらそれはそれで良いかな、と。 1秒ごとにアクティブなアプリを調べてロギングしていく。Mac OS Xにおいてアクティブなアプリケーションを調べるならAppleScriptが簡単。 name of (info for (path to frontmost application)) これだけでアクティブにしているアプリケーション名が取れる。

    FluentdとGrowthForecastを使って自分の行動をロギング・可視化する - すぎゃーんメモ
  • Node.js Knockoutに参加した - すぎゃーんメモ

    8/27, 28と、Node.js Knockoutにチャレンジしていました。 Node.js Knockoutとは Node.jsを使って、48時間のうちに何か作る、というコンテスト。 Node.js Knockout | Nov 7-8th UTC, 2015 参加者にはGithubのプライベートレポジトリやデプロイする先のクラウドサービスまで準備してもらえて、好きなようにWebサービスを作ったり出来る。 去年、第1回が開催され、今回は第2回。昨年の様子はこちらとか。 48時間ハッカソンNode.js Knockout Competitionの優勝候補たち–マルチプレーヤゲームの傑作多し | TechCrunch Japan Node.js Knockout に参加しました - 自分の感受性くらい 昨年はNode.jsなんて名前すらきいたことあったかなかったか、くらいだった僕は今年初参

    Node.js Knockoutに参加した - すぎゃーんメモ
  • WEB+DB PRESS vol.64 にNode.js入門記事を書かせていただきました - すぎゃーんメモ

    色々と縁がありまして、「WEB+DB PRESS vol.64」にて、"JavaScript最前線"という特集の1章としてNode.jsの入門記事を7ページほど書かせていただきました。まだNode.jsを触ったことがない、触り始めたばかり、といった方々がこの先Node.jsを使い始める際のとっかかりになれば幸いです。 憧れの愛読誌に自分の名前が載る、っていうのはすごく嬉しいものですね。今後も何か縁があればまた書かせていただけるよう、精進していきたいと思います。 技術評論社様、ありがとうございました! WEB+DB PRESS Vol.64 作者: 柏木泰幸,松野紘明,林聖高,杉義宏,飯塚直,高橋征義,徳永拓之,Tehu(張惺),中島聡,おにたま出版社/メーカー: 技術評論社発売日: 2011/08/24メディア: 大型購入: 17人 クリック: 714回この商品を含むブログ (16件)

    WEB+DB PRESS vol.64 にNode.js入門記事を書かせていただきました - すぎゃーんメモ
  • ローカルのmarkdownファイルを変更監視しつつSocket.IOでリアルタイムプレビュー - すぎゃーんメモ

    Amon2::Liteでmarkdownその他のリアルタイムプレビュー - すぎゃーんメモで、markdownとかのリアルタイムプレビューできるものを作って試してみたもの、やっぱりテキストエリアでmarkdownを書くってことはあまりしないなー、と思い。 大抵は使い慣れたエディタを使って編集すると思うので、それが変更されたときにブラウザ上で自動更新される方が嬉しいような気がして、 ファイルの変更監視でmarkdownファイルの編集->保存を検知 markdown->html変換したものをSocket.IOでリアルタイム更新 というものを作ってみた。 Node版 まずはNodeで。実行時引数で監視対象ファイルを指定し、fs.watchFileでそれを500msごとに監視、変更あれば変換したHTMLを普通にSocket.IOでクライアント側に通知する。 #!/usr/bin/env node

    ローカルのmarkdownファイルを変更監視しつつSocket.IOでリアルタイムプレビュー - すぎゃーんメモ
  • Amon2::Liteでmarkdownその他のリアルタイムプレビュー - すぎゃーんメモ

    http://d.hatena.ne.jp/tokuhirom/20110710/1310303859 でAmon2::Liteが出てきて、Mojolicious::Liteのようにアプリが書けるようになったので、 Mojolicious::Liteを使ってMarkdownをリアルタイムプレビューしてみた - アリ 昨日のリアルタイムプレビューは... - アリ リアルタイムプレビューしたい - アリ これと同じものもAmon2::Liteで同じように簡単に書けるようになったはず、ということで練習がてら書いてみた。 #!/usr/bin/env plackup use strict; use warnings; use Amon2::Lite; use Encode 'encode_utf8'; use Text::Markdown 'markdown'; use Text::Xatena

    Amon2::Liteでmarkdownその他のリアルタイムプレビュー - すぎゃーんメモ
  • 今すぐフォローすべきPerl界のスーパーエンジニア - すぎゃーんメモ

    今すぐフォローすべきnode.js界のスーパーエンジニア - 大人になったら肺呼吸の記事に便乗しまして。 独断と偏見に基づいて、自分がフォローしているPerl界隈の人から数人をピックアップして並べてみます。 @dankogaiさん blog: 404 Blog Not Found Perlへの言及はそれほど多くないけど 要所要所で鋭いツッコミが @hidekさん blog: hide-k.net#blog 同じ会社の人たちとの絡みが面白い。深夜のDJも注目 @Yappoさん blog: YappoLogs 基的にネタ発言が多いけど面白いので大好きです @acotieさん blog: iDeaList::Writing Perl界の女性エンジニアでは最も有名? @kamipoさん blog: かみぽわーる MySQLとかインフラな話とか。空mentionすると瞬時に返してくれるbot @w

    今すぐフォローすべきPerl界のスーパーエンジニア - すぎゃーんメモ
  • 怖がらない躊躇わない - すぎゃーんメモ

    こんばんは。@sugyanと申します。記事を読んでくれてありがとうございます。 新卒準備カレンダー 2011春 : ATND でバトンをいただきまして、4月から社会人5年目になる先輩として新社会人の皆様に伝えたいメッセージを書いて… みようと思ったのですが、全然伝えるメッセージが思い浮かびませんでした。すみません。 仕方ないので自分の経験に基づいた自分の行動指針と考え方を書いてみます。ある一人のプログラマの例、ということで何かの参考にでもなれば幸いです。 「おまえ、誰よ?」 社会人4年目の、Web系のプログラマです。先日、少し長いですが自分のこれまでの話など書きましたので興味ある方は読んでみて下さい。 自己紹介と過去の話 - すぎゃーんメモ プログラマとしては2年半、現在は自社サービスのバックエンドの開発を主にやっております。 ヒッチハイクやってました 自分は一人旅が大好きで、学生時代はよ

    怖がらない躊躇わない - すぎゃーんメモ
    dameninngenn_owata
    dameninngenn_owata 2011/03/08
    俺もいつまでも子供のようにはしゃいで技術に触れて生きていきたい!
  • 自己紹介と過去の話 - すぎゃーんメモ

    新卒準備カレンダー 2011春に何か書くにあたって、まずは軽く自己紹介的な挨拶を書こう…と思ったら予想外に長い自分語りになってしまったので別途書き出しておく。 社会人になるまでの歩み 1982年12月生まれ、24歳までを地元仙台で過ごし、大学院修了とともに2007年4月に上京&就職。 学部生時代はひたすら部活動の卓球に、それ以降は趣味一人旅に没頭するという青春時代を送っていた。当時はリーマンショック前でまだ「就職活動ヤバい!」というほどでもなく、一応国立大の理系院卒ということで何社かから内定をいただくことができ、そのうち一番面白そうかなと思った某外資系SIerに新卒で入社することにした。 大学の研究室では1人1台のPCを割り当てられてCとかC++とかをちょっとだけ齧りながらシミュレーションのプログラムを書くフリなどをしていたが、なんせ不真面目な学生だったもので ほとんどの時間はニュー速ま

    自己紹介と過去の話 - すぎゃーんメモ
    dameninngenn_owata
    dameninngenn_owata 2011/03/02
    男前な生き方!抱いて!
  • node.js+socket.ioを使ったライブコーディングwebアプリを作ってる - すぎゃーんメモ

    かれこれ2ヶ月くらい、ちまちまと作り続けていたのがようやく動くようになったかなーという状態になったので公開してみる。 http://www1216u.sakura.ne.jp/livecoder/ 公開停止しました 手元のMacChrome, Safari, Firefoxでは動いていた。IEは知らない。 ソースはGithubに。 https://github.com/sugyan/live-coder 使い方 Twitterでsignin。 /edit のエディタ上でテキストを編集すると、 /view/ でリアルタイムに編集が反映される(こちらはread only)。 同じユーザのページを見ているユーザ同士でのテキストチャットが可能。 構成 Server node.js v0.4.1 ライブラリはnpmにて socket.io, express, ejs, oauth, configを

    node.js+socket.ioを使ったライブコーディングwebアプリを作ってる - すぎゃーんメモ
  • ニコニコ動画っぽくテキストをデスクトップに流すCocoaアプリを作ってみた - すぎゃーんメモ

    YAPC::Asia 2010 で、JesseがプレゼンにTwitterのタイムラインをニコ動っぽく流していて、同じようなことやってみたいなーと思ったものの、JS使ってやってるとそのブラウザ上でしかできないし、どうせならMacCocoaアプリとしてどのアプリが起動していても関係なく最前面にテキストながせるようになったらいいんじゃね?と思って作ってみた。 http://github.com/sugyan/NicoNicoDesktop 25250番ポートでTCP接続を待ち受け、クライアントから受け取った文字列をそのまま透明Window上でNSTextで表示させ、それを右から左へアニメーションさせる、というだけのもの。 クライアント次第で何でも流せるようにしたので、例えば以下のようなスクリプトを動かしておくと、自分のhome timelineの発言が次々流れてくる。 #!/usr/bin/p

    ニコニコ動画っぽくテキストをデスクトップに流すCocoaアプリを作ってみた - すぎゃーんメモ
  • YAPC::Asia 2010 を終えて - すぎゃーんメモ

    14日の前夜祭、15, 16日の編、参加してきました。昨年に続き2回目の参加です。 昨年の感想とか: YAPC::Asia 2009 を終えて - すぎゃーんメモ 昨年は前夜祭のLTだけやらせていただいたのですが、今年は編のトークもやってみたい、と思い、ネタも揃わぬうちから勢いで応募してしまいました。さらに前夜祭の方でも@typesterさんの代打として喋らせていただきました。 発表資料はhttp://jsdo.it/に載せました(右上のボタンでheaderを隠してご覧下さい)。 前夜祭: 「Arkの話」 http://jsdo.it/sugyan/yapc2010-ark/fullscreen 2日目: perl-casual特別企画「とある自社サービスの運用事例」 http://jsdo.it/sugyan/yapcasia2010-wonderfl-jsdoit/fullscre

    YAPC::Asia 2010 を終えて - すぎゃーんメモ
  • すぎゃーんメモ

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

    すぎゃーんメモ
  • 1