タグ

ブックマーク / qiita.com/kurehajime (26)

  • AIが何についてのポエムを作ってるのか当てるゲーム作った - Qiita

    これ。 これは何? AIが何についてのポエムを作ってるのか当てるゲームです。 ルールは以下の通り。 秘密のキーワードが指定されます。これが何であるかはプレイヤーに知らされません。 そのキーワードをテーマにAIがポエムを作ります。 プレイヤーはそのキーワード(英語)が何かを当てます。 誤回答するたびにキーワードが1文字ずつ開示されます。 全部開示されるまでにキーワードを当てられたらクリアです。 こんな画面です。 赤い鼻と大きな嘘は鏡の中に映る 悲しい笑顔を見せる怪しい影 ハンドピースを掲げて遊ぶように 輝く瞳が消えた時には これが何についてのポエムなのかを当てます。 なんだか悲しげですね。 ちなみに答えは『CLOWN』です。日語でいうとピエロ。 技術解説 AI部分 これはChatGPTで有名なOpenAIAPIを叩いてるだけです。 2023年2月6日現在ではChatGPTAPIは公開さ

    AIが何についてのポエムを作ってるのか当てるゲーム作った - Qiita
    gabill
    gabill 2023/02/06
    作った。
  • 地元のGitHubユーザーを探せるサービスを作った & 各地域を比較してみた - Qiita

    これは何? 地元のGitHubユーザーを探せるサービス『地元のGitHubユーザー』を作った。このサービスを使うとなんと、地元のGitHubユーザーを探すことができます。 これ。 こんな感じで各都道府県のGitHubユーザーを一覧表示できます。累計スター数、Githubのフォロワー数、Twitterのフォロワー数などなども確認できます。 上の画像は鹿児島のGitHubユーザーの一覧。画像では自分のアカウント以外はモザイクかけています。 仕組みとしては極々単純で、プロフィールのLocationに都道府県名を設定している人をGitHubの検索APIで取得しています。例えば「Kagoshima, Japan」のように設定していれば、この一覧に載ります。ちなみに一部地域1を除き漢字表記にも対応しています。 デフォルトのソートでは概ねフォロワー数順になってます。 技術的には、フロントをReactで構

    地元のGitHubユーザーを探せるサービスを作った & 各地域を比較してみた - Qiita
    gabill
    gabill 2022/09/26
  • 好きな単語でクロスなワードパズルを作って共有できるWebサービスを作った - Qiita

    クロスなワードパズル1を作って共有できるWebサービスを作りました。 こんなサービスです。 ここで遊べます。 できること 問題を解く バラバラに散りばめられた単語を入れ替えて、あらかじめ指定された4単語を、→方向と↓方向に作ればゲームクリアです。 上の回答例では インクリング ロックマン ガノンドロフ リンク スマブラ参戦キャラクターの4人が答えです。 誰かが作った問題、もしくはランダムに生成された問題を解くことができます。 初期状態では以下の4つの辞書からランダムに問題が生成されます。 日語2048単語 英語2048単語 ポケモン図鑑(日語) ポケモン図鑑(英語) 無限に遊べます。 問題を作る 自分で問題を作り、それを共有することもできます。 上のような感じで問題を作ったら、右下のSHARE URLからURLコピーして問題URLを共有しましょう。 https://kurehajime

    好きな単語でクロスなワードパズルを作って共有できるWebサービスを作った - Qiita
    gabill
    gabill 2022/08/30
  • 新言語『TypoScript』を作った - Qiita

    この記事は、クソアプリAdvent Calendar2021の20日目(ホノルル時間)の記事であると同時に、GMOペパボエンジニア Advent Calendar 2021の21日目(日時間)の記事でもあります。 みなさん、TypeScript使ってますか?TypeScriptJavaScriptの世界に秩序をもたらす素晴らしい言語ですね。 しかし世界には光の秩序だけでなく闇の混沌も必要です。 という訳で、JavaScriptに闇の混沌をもたらす新言語を作ってみました。 その名も『TypoScript』です。 TypoScript is 何 TypoScriptとは何か。まずはこちらのコードをご覧ください。 function fizz_buzz(count) { for (var i = 1; i <= caunt; i++) { if (i % 3 === 0 && i % 5 ==

    新言語『TypoScript』を作った - Qiita
    gabill
    gabill 2021/12/20
    作った。
  • Go言語製のCUIツールを1行でWeb GUI化するライブラリを作った - Qiita

    はじめに 皆さん、CUI/CLIツールを使ってますか? Qiitaを読んでるような人はみんな使ってるでしょうね。 しかし世間一般に視野を広げると、必ずしもそうではないかと思います。 『黒い画面はなんか敷居が高い』 『一応使えるけど面倒』 『信仰している宗教の戒律で固く禁じられている』 『黒い画面に故郷の村を焼かれた』 などなど理由は様々です。 flagstone 使う側にとっては敷居の高いCUIツール。 とはいえGUIのツールを作るのは、我らがGo言語ではなかなかに面倒です。 そこで、Go言語製のCUIツールを1行でWeb GUI化するライブラリを作ってみました。 flagstone https://github.com/kurehajime/flagstone これです。 flagstoneは、日語に訳すと『敷石』です。 舗装して歩きやすくしますよ〜みたいなネーミングです。 使い方はと

    Go言語製のCUIツールを1行でWeb GUI化するライブラリを作った - Qiita
    gabill
    gabill 2020/02/16
    書いた。
  • ターミナルで遊べるブロック崩しをGo言語で作る - Qiita

    この記事はGo (その2) Advent Calendar 2016の12日目の記事です。 みなさん、サンタさんには何をお願いしましたか? PS4ですか? でもクリスマスまであと何日かありますよね。PS4はしばらくお預けですよね。 PS4がまだ無いとすると、手元にあるCUIのターミナルで遊ぶしかないですよね。 というわけで、ターミナルで遊べるブロック崩しをGo言語で作ってみました。 WindowsでもMacでもLinuxでも遊べます。 残念ながらPS3では遊べません。 技術解説 Go言語界隈ではわりとおなじみのtermbox-goというライブラリを利用しています。 これを使うと 任意の座標への文字の書き込み 画面のクリア キーイベントの取得 が行えます。 画面表示はこんな風に行います。 //画面を初期化 termbox.Clear(termbox.ColorDefault, termbox

    ターミナルで遊べるブロック崩しをGo言語で作る - Qiita
    gabill
    gabill 2016/12/12
    書いた。
  • ターミナルでスライドを再生するコマンド『pera』を作った。 - Qiita

    -e string encoding (default "utf-8") -g gravity(bottom align) -i int interval <= 10 millisecond (enable auto mode) -l loop (Exit:Press Esc Key) -i 1000 というように時間をミリ秒で指定すると、1秒ごとに自動再生、みたいなこともできる。 あと-lを指定すると、最後までいった後に最初に戻ってループする。 これを組み合わせると・・・ チャーハン作るよ! 技術解説 言語はGo言語。 画面制御にはエスケープシーケンスという仕組みを使ってる。 制御文字 効果

    ターミナルでスライドを再生するコマンド『pera』を作った。 - Qiita
    gabill
    gabill 2016/06/29
    書いた。
  • Go言語 - コンソールでGithubのReadme.mdを取得するコマンドを作ってみた - Qiita

    コマンドのヘルプを表示するには「man」を使うと便利です。 しかしmanが用意されていないコマンドも多く、まだインストールしていないツールのインストール方法などは、manでは調べることができません。 いわゆる「服を買いに行くための服がない」状態です。 というわけで、GithubのReadme.mdをコンソールから簡単に取得するコマンド「gman」を作ってみました。 これならばまだインストールしていないツールでも使い方やインストール方法をサクッと調べることができます。 curlでいいじゃん とても便利です。 gman コンソールで

    Go言語 - コンソールでGithubのReadme.mdを取得するコマンドを作ってみた - Qiita
    gabill
    gabill 2015/09/14
    書いた。
  • 文中の人名をイニシャルに変換して匿名化をはかる - Qiita

    皆さん、ネット上で実名を使ってますか?facebookなど実名ベースでのサービスが当たり前になったとはいえ、気軽に実名のやり取りをするのはちょっと怖さがありますよね。名を知られると魂を吸い取られると頑なに信じている古いタイプのネット民にとって、息苦しい世の中になりましたね。 ・・・という訳で、文中の人名をイニシャルに変換して匿名化をはかるコマンド、anonyをGo言語で作ってみました。 筒井康隆は、日小説家・劇作家・俳優である。ホリプロ所属。身長166cm。小松左京、星新一と並んで「SF御三家」とも称される。パロディやスラップスティックな笑いを得意とし、初期にはナンセンスなSF作品を多数発表。1970年代よりメタフィクションの手法を用いた前衛的な作品が増え、エンターテインメントや純文学といった境界を越える実験作を多数発表している。 こんな感じのテキストファイルをanonyに渡せば・・

    文中の人名をイニシャルに変換して匿名化をはかる - Qiita
    gabill
    gabill 2015/09/06
    書いた。
  • 文章からダジャレのみを抜き出すコマンドを作ってみた - Qiita

    kagomeを使うと、こんな感じで文章が分解され、「読み」や「品詞」が分かります。 ②文中に名詞と同じ「読み」が登場する回数を調べる kagomeで「読み」や「品詞」が分かったので、文章の中にある名詞と同じ「読み」が何回登場するか数えます。 例えば、 が寝転んだ という文章は ネコガネコロンダ という読みになります。 そして「が寝転んだ」という文の中には「」という名詞が含まれていますので、「ネコガネコロンダ」の中に「ネコ」が2回登場することが分かります。 ③文中に名詞と同じ「単語」が登場する回数を調べる もう②だけでダジャレ検出ができるようになった気になっていませんか? 実はこのままでは欠陥があります。 人民の人民による人民のための政治箱に入れる がダジャレ扱いされてしまいます。 こんなものダジャレとは言えません。ダジャレをなめてます。 この程度の重複で「今ダジャレ言った

    文章からダジャレのみを抜き出すコマンドを作ってみた - Qiita
    gabill
    gabill 2015/08/27
    書いた。
  • [Mac]絵文字を駆使してコマンドラインで擬似GUIメニューを実現する😊 - Qiita

    みなさん、コンソール画面使ってますか。 真っ黒い画面にコマンドを入力するあれです。 使い慣れればとても効率的ですが、コマンドを覚えるのが大変ですよね。 そこで、 複数の機能を効率的に組み合わせることができるCUIの長所 機能がグラフィカルに提示されそこから選ぶだけでいいGUIの長所 この2つを融合した新しい操作方法を考えてみました。これです。 特定のキーを押すとメニューが現れ、その中から絵文字を選び入力するとそれがコマンドとして解釈されます。 例えば、 「カレントディレクトリを移動するコマンドなんだっけ?確かCから始まってDで終わる名前だったんだけど〜」 という時には、 メニューを呼び出し、その中から💿の絵文字を選べばcdコマンドが実行されます。 どう実現してるの⁉️ 必要なのはMacの標準環境。 特別なアプリのインストールは必要ありません。 ①.bash_profileにエイリアス👽

    [Mac]絵文字を駆使してコマンドラインで擬似GUIメニューを実現する😊 - Qiita
    gabill
    gabill 2015/08/15
    書いた。
  • 任意のコマンドをWebサーバー化する - Qiita

    package main import ( "flag" "fmt" "net/http" "os" "os/exec" "runtime" "strconv" "strings" ) var ( port int user string pass string com string ) func main() { //parse args flag.IntVar(&port, "p", 8080, "port /default:8080") flag.StringVar(&user, "user", "", "user (BASIC AUTH)") flag.StringVar(&pass, "pass", "", "pass (BASIC AUTH)") flag.Parse() com = strings.Join(flag.Args(), " ") //start server f

    任意のコマンドをWebサーバー化する - Qiita
    gabill
    gabill 2015/08/08
    書いた。
  • 文章を非可逆圧縮して容量削減を図る - Qiita

    そこで、文章ファイルの非可逆圧縮を試みてみます。 cmprss というわけで、文章を非可逆圧縮するコマンドを作りました。 cmprss https://github.com/kurehajime/cmprss 例えば、「hello world!」という文字列をcmprssに通すと・・・ $ cmprss ThinkDifferent.txt Hre’sToTheCrzyOns.TheMsfts.TheRbls.TheTroublmkrs.TheRoundPgsInTheSquareHls. TheOnsWhoSeeThngsDffrntly.Thy’reNotFndOfRls.AndThyHveNoRspctForTheSttsQuo. YouCanQuoteThm,DsgreeWthThm,GlrfyOrVlfyThm. AboutTheOnlyThngYouCn’tDoIsIgnreT

    文章を非可逆圧縮して容量削減を図る - Qiita
    gabill
    gabill 2015/08/01
    書いた。
  • gitのブランチを利用して秘密のフォルダを作る - Qiita

    みなさん、人に見られたくない秘密のファイルはどこに隠してますか? 「決算関連資料_第3四半期」フォルダですか? 「TEMP_20120820」フォルダですか? それともやはりクラウドでしょうか? いくらバレにくいフォルダ名をつけてもうっかり開かれるかもしれない・・・。 クラウドに保存するのはさすがにちょっと気が引ける・・・。 zip圧縮して拡張子を変えるのもめんどくさい・・・。 隠しファイル用の専用ソフトを入れるのも、そのソフトを入れた時点で疑われる・・・。 なかなかベストな方法とは言えないですよね。 そこで、gitで秘密ファイルを管理する方法を考えてみました。 gitならインストールされていても不自然ではないですし、 さりげなくスマートにヒミツのファイルを隠すことができます。 方法 方法はこんな感じです。 【下準備】 ①Gitのリポジトリを作る。 ②秘密のファイルを突っ込む。 【PCを人

    gitのブランチを利用して秘密のフォルダを作る - Qiita
    gabill
    gabill 2015/07/25
    書いた。
  • 画像処理で写真をアニメ風に変換する - Qiita

    「三次元には興味がない…」とわず嫌いして視野を狭めるのもなんなので、「鳴かぬなら鳴かせて見せようホトトギス」の精神で 写真をアニメっぽく変換するプログラムを書いてみた。 使った言語はGo言語。今回は勉強がてら気の利いたライブラリを使わず地道に1ドットずつ変換してるので、アルゴリズムを流用すれば他の言語版も簡単に作れると思う。 仕組み こんな感じのアルゴリズムで画像を変換している。 あらかじめ使える色を決める(今回は基16色から灰色系を除いた14色) 変換元となる画像を1ドットずつ色を調べる 使える色の中から一番近い色に変換する 完成! ようは画像を劣化させている。 色を絞ればグラディエーションが平坦になってアニメっぽくなるという算段。 一番近い色とは? 「限りなく黒に近いグレー」や「限りなく透明に近いブルー」など、世の中たくさんの色で溢れている。このような中途半端な色を白黒はっきりさせ

    画像処理で写真をアニメ風に変換する - Qiita
    gabill
    gabill 2015/07/15
    書いた。
  • redditから猫gifを取得してパズルを作る - Qiita

    redditから人気の画像をランダムに取得し、9パズルにするウェブページを作ってみた。 こんな感じ。画像重いかな。 ここで遊べる。 http://xiidec.appspot.com/gifpzl.html redditとは 日では最近流行り始めたばかりだけど、海外ではかなりメジャーらしいソーシャルニュースサイト。アクセス数では世界24位らしい。tumblr(30位)より上だけど、eBay(20位)より下、そういうポジション。 2chのような掲示板とも言えるし、スラドのようなニュース雑談サイトの側面もあり、はてブのようにニュース+ちょっとしたコメントという側面もある。そして、かわいいgifアニメや面白gifアニメが集まる場所でもある。 誰でも自由に板を作れるので、ジャンルは多岐にわたる。 たとえば・・・ オバマ大統領やビルゲイツなどの有名人が降臨して質問に答える/r/IAmA(英語)

    redditから猫gifを取得してパズルを作る - Qiita
    gabill
    gabill 2015/05/17
    書いた。
  • Go言語でpongコマンドを実装する - Qiita

    はい。出オチです。 実行ファイルはこちら(WIndows,OSX,CentOS向けを用意) https://github.com/kurehajime/pong-command/releases/tag/0.2 ソースはこちら https://github.com/kurehajime/pong-command 中身補足 termbox-goというライブラリを利用してGUI風CUIを実現しています。 こんな感じでキーイベント拾えます。 for { switch ev := termbox.PollEvent(); ev.Type { case termbox.EventKey: switch ev.Key { case termbox.KeyEsc: //Escキー押した時の処理 case termbox.KeyArrowUp: //上キー押した時の処理 case termbox.KeyA

    Go言語でpongコマンドを実装する - Qiita
    gabill
    gabill 2015/04/22
    書いた。
  • オリジナルのボードゲームをルールからAIまで作る【ルール編】 - Qiita

    はじめに この記事は オリジナルのボードゲームをルールからAIまで作る【概要編】 からの続きです。 オセロやチェスや将棋のようなボードゲームを考案し、 それを実際に実装してAIと1人プレイできるとこまで目指します。 Colamone http://xiidec.appspot.com/colamone/colamone.html ↑ これが筆者の作ったボードゲームです。 AIはそんなに強くはありませんが、とりあえず遊べます。 今回の記事では次の実装編に先立って、ルールの考案について解説します。 まぁゲームのルールを考えるのに知識は必要はないのでわざわざ解説するほどでもないのですが、 「自分がルールを考える時はここを重視しました」という事例紹介として読んでもらえばと思います。 ここで扱うもの この記事で扱うボードゲームは、 二人零和有限確定完全情報ゲームです。 二人零和有限確定完全情報ゲーム

    オリジナルのボードゲームをルールからAIまで作る【ルール編】 - Qiita
    gabill
    gabill 2014/10/27
    書いた
  • オリジナルのボードゲームをルールからAIまで作る【概要編】 - Qiita

    はじめに 古くはチェスの世界チャンピオンに勝利したディープブルー、最近では将棋のプロ棋士とソフトが戦う電王戦... ボードゲームはコンピュータの進化を図るひとつの指標となっています。 それこそ将棋の電王戦といえばNHKでも特集され今話題の分野。 最強の将棋ソフト、自分でも作ってみたいですよね。 しかしチェスや将棋の世界で1番になるのは苦難の道です。 天才たちが99%の努力と101%のひらめきで200%のパワーをぶつけ合う世界。 素人が戦いに挑んでも現実の厳しさをハムスターから教わることになるでしょう。 しかし発想を変えれば簡単に世界一になれる方法があります。 競技人口1人のボードゲームを自ら創り、その中で世界一を目指す。 これ。 究極のブルーオーシャン戦略。 という訳で、 オリジナルのボードゲームを考案する。 一人用として遊べるゲームとして実装する。 この2つのテーマで解説していきたいと思

    オリジナルのボードゲームをルールからAIまで作る【概要編】 - Qiita
    gabill
    gabill 2014/10/25
    書いた。
  • GSアルゴリズムでアニメキャラをカップリングしてみる - Qiita

    GSアルゴリズムとは GSアルゴリズムとは、ノーベル経済学賞を受賞したシャブレー教授の考案したマッチングアルゴリズムです。 ようするに男と女、就活生と企業、病人と病院などのペアをうまいこと結びつける手法です。 この手法を使えば参加者ほぼ全員が 「第一候補とまでは行かなかったけど、自分の身の程じゃこんなもんかなぁ…」 という無難なカップリングに行き着きます。 個人はともかく全体で見ればベストな組み合わせです。 具体的には、 男女の参加者がそれぞれ好みの異性のランキングをつける。 男性は一斉に第一候補の女性に告る。 女性は告ってきた男性の中から一人選んでキープする。 選ばれなかった男性は第二候補の女性に告る。 女性は新たに告ってきた男性と、今キープしている男性の中から1人選ぶ。 一度はOK貰ったのに後から振られた男性と、まだOK貰ってない男性は第三候補の女性に告る。 以下、すべての男性が身を固

    GSアルゴリズムでアニメキャラをカップリングしてみる - Qiita
    gabill
    gabill 2014/03/30
    作ってみた。