sifue's blog

プログラマな二児の父の日常

ゆるい競プロ、ABC073の感想

N高等学校のコンピューター部がパソコン甲子園で頑張っているのに触発されて久しぶりに、AtCoder Beginner Contest 073 にチャレンジ。 AtCoder Beginner Contest 073 - AtCoder Beginner Contest 073 | AtCoder 結論から言うと、A, B, C はすぐ終わったもの…

ドリキャプ HDMIキャプチャーカード DC-HA1をWindows10で動かしてNintendo Switchの出力をキャプチャする

ずいぶん昔、6年以上前に買ったドリキャプ HDMIキャプチャーカード DC-HA1をWindows10で動かしてNintendo Switchの出力をキャプチャするためにやったことまとめます。最終的にスクリーンショットの通り、OBS Studioなんかで映像キャプチャデバイスとしてキャ…

競技プログラミングをゆる~くやりはじめた

もともと競技プログラミングや数学があまり得意な方ではなかったなんですが、N高等学校で競技プログラミングを教えるということもあるし、N高生には競技プログラミングがまじで得意な生徒さんやら、アドバイザーのドワンゴ社員もいるのでこれはチャンスと思…

プログラミング初心者のためのワークブック「高校生からはじめる プログラミング」を発売しました

この度、N高等学校/N予備校のプログラミング入門コースで授業した内容の最初の3か月の部分が本になりました! 表紙や中の扉絵がソードアートオンラインなのは、中高生の皆さんにとりあえず興味を持ってもらえるようにそのようになっています。川原礫先生、本…

SIerクエストとSIerクエスト2をiPhone/Androidに移植しました

SIerクエストリリースして1年経つわけなんですが、たまたま開発者登録する機会があったので iPhone版とAndroid版に移植して作ってリリースしました! SIerクエスト iPhone版https://itunes.apple.com/jp/app/sierkuesuto/id1163670015?l=ja&ls=1&mt=8 SIerク…

SIerクエストとSIerクエスト2の攻略方法

SIerクエストとSIerクエスト2 と作者のsifueです。 あまりに難しすぎてクリアできないよ!って話をよくもらうので、ストーリーでネタバレしないように攻略方法を書きました。検索で見つけた方、これを参考にクリアしてください。 SIerクエスト 最初の敵は通…

結婚式の二次会用にビンゴゲームのJavaScriptを書いた

WindowsでもMacでも結婚式の二次会用でビンゴをやるためのフリーソフトで良い物が見つからなかったので、JavaScriptで書いてみました。 サンプルは、こちら。 なおこの度も、MITライセンスで、githubに公開してあります。 sifue/partybingo なお、動作確認は…

React.jsでLoL生放送のリアルタイムランキングを作ってみました

お盆で会社も気分転換に休んでちょっとしたWebサービスを作ってみました。 LoL生放送リアルタイムランキング 世界で一番遊ばれているe-sportsな無料のネトゲ、League Of Legends(LoL)を遊んでいる日本語の生放送だけを抽出して、スコア付けしてランキング化…

JavaFXとRxJavaの勉強のためにSocket通信対応したMac用棒読みちゃんクローンを作ってみた

sifue/bouyomisan · GitHub あけましておめでとうございます。 丁度冬休みということもあって、Mac用の棒読みちゃんクローンを作ってみました。 インストールバイナリもソースコード自体もgithubで配布中。あと、ソースコードはMITライセンスです。 見た目は…

ScalaMatsuri祝いにIRCとSlackの相互リレーをするScala製ツールをMITライセンスで公開しました

今日はScalaMatsuriのー日目、皆様お疲れ様でした。 初めてオダスキー先生を見たり、本当に刺激的な内容が多くてとても勉強になりました。 そんな中自分は、Scalaを書きたい欲求が、ガガガーっと沸き上がってきたので、自分が欲しかったIRCとSlackの相互リレ…

WEB+DB PRESS Vol.82 にオブジェクト指向アプローチによる変更に強いテーブル設計という記事を書かせてもらいました

今回でデータベース実践活用の連載2回目ですが、この度は、オブジェクト指向アプローチによる変更に強いテーブル設計、というタイトルで記事を書かせて頂きました。 写真は先ほど届いた査読誌です。 内容は、テーブル設計をやりはじめたばかりの新人エンジニ…

既存のIRCボットをSlack対応させた時にハマった点

最近Slackが大ブームということもあって、IRCやその他のチャットシステムからSlackに移行している方も多いと思います。そんな中、IRCのgatewayがあるということで、IRCのボット資産をSlackに移行するために自身がハマった点が何点かあったのでまとめておきま…

社内LTでOpen Broadcaster Software(OBS)のプラグインを作ってみたことを発表しました

発表の半分以上がLoLの説明なのは仕様です。どっぷりハマっております。 作成したプラグインのソースコードは sifue/CLRStudy · GitHub です。 こと生放送の配信ツールという意味では、完全にOBSがデファクトスタンダードになりつつあるなぁとおもう今日この…

「データベース実践活用」の連載をはじめました

本日発売のWEB+DB PRESS Vol.81からデータベース実践活用という記事の連載をはじめました。次回と次々回まで自分が担当する予定です。 WEB+DB PRESS Vol.81 作者: 長嶋享,藤吾郎,八木俊広,日高一明,滝口健太郎,田中慎司,泉水翔吾,海野弘成,佐藤太一,吉村総一…

さくらVPSのCentOS6.5を最初からセットアップする時にしたこと

CentOSのバージョンを上げないといけない自体になったので、久しぶりにセットアップ作業。その記録をメモ。 Heartbleed脆弱性のために最新版OpenSSLの確認 # openssl version 全ライブラリのアップデート # yum update SSHのポート変更して再起動 # vi /etc/…

PHP開発においてVimやST2にはできないけれどPHPStromにはできる10のこと

【blog.soichiro.orgの閉鎖にともない転載しました】 今まで散々VimとSublime Text2のエントリーばかり書いていた自分ですが、運良くIntelliJ IDEA UltimateのオープンソースライセンスをJet Brain社から頂いたこともあってPHPStorm (IntelliJのPHPプラグイ…

ScalaとSlickで発言数順位表示と名言記録をするIRCボットを作りました

【blog.soichiro.orgの閉鎖にともない転載しました】 最近IRCボットを書いたりすることが多いのですが、また汎用的なものを一つ書いてみたので公開します。今回は初めてORMとしてSlick、組み込みDBとしてH2を使ってみましたが。Slickは内部処理がわかりにく…

Play2.1でsbtのマルチプロジェクトビルド機能を利用してDDDのレイヤードアーキテクチャを強制する方法

【blog.soichiro.orgの閉鎖にともない転載しました - 2.2でも問題なく動くと思います】 Play2.1でDDDのレイヤードアーキテクチャをプロジェクトに強制して、大規模開発で誰かがうっかりルール違反が起こせないようにする仕組みを紹介します。レイヤードアー…

FF14新生のチャットログを棒読みちゃんで読み上げるツールを作りました

【blog.soichiro.orgの閉鎖にともない転載しました】 プレイ中チャットログを見ずにボス戦をしたり、シャウトの募集待ちを読み上げたり、生放送実況をしながらFF14新生をプレイするために、チャットログを棒読みちゃんに読み上げてもらうツールを作成しまし…

Erlangの開発環境をWindows上のCentOS6.4に整える

仕事ではMacを使っているけれども、プライベートで使うPCは大抵ゲームのためにWindowsPCだったりするので、vagrant上のCentOS6.4開発環境を作るための手順をまとめておく。 VirturalBoxをインストール https://www.virtualbox.org/ vagrantをインストール ht…

Scalaでの切り出したい処理が処理の中間にあるメソッド同士の重複行排除のやり方

最近Scalaを書く人が増えてきたこともあっていろいろ教える機会も増えてきたのですが、その中でよくScala初心者がつまづきやすいポイントである、切り出したい処理が、処理の中間にあるメソッド同士の重複行排除のリファクタリングの例を書こうと思います。 …

Developers Summit 2014 で「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」という内容で発表してきました

あまりにタイトルが長すぎるだろうと各所から突っ込まれ、あまりにも詰め込んだ内容で発表してしまったとちょっと反省しています。 お話としては、現在ニコニコ生放送の内部をPHPからScalaへ書きなおしているよ、というお話でした。 発表内容はこちら。 Deve…

blog.soichiro.orgに移転しました

blog.soichiro.orgに移転しました。

Twitterの検索結果をIRCにnoticeで転送し、閾値を超えるとmessageするボット

Scala2.9→2.10に移行するにあたって、公開することで誰かが使えるかもしれないScalaのツールがあったので、GitHubに公開しました。Twitter APIも1.0の廃止が近いので1.1への対応をしてあります。 https://github.com/sifue/twisearch_ircbot 使う用途は主にI…

Scala2.9から2.10への移行作業の健忘録

ただの作業ログです。 build.sbtのscalaVersionを2.10.0に変更 scalaVersion := "2.10.0" 以上のようにする。 Seq#firstをSeq#headに置換 盲目的に置き換え。 Squerylを2.10対応の最新バージョンに。でもリポジトリのURLがおかしいので直接追加 libraryDepen…

ssh上でマウススクロールも使える大規模PHP開発向けvim+tmux環境の構築

全体で数百万行、1ファイル1万行超のPHPファイルも一秒以内で開き、開発していくことのできる大規模開発向けのvim+tmux環境を紹介しようと思います。この設定この環境で半年ぐらい安定して利用できています。(無論そんな1万行あるファイルや数千行で複雑性循…

エリック・エヴァンスのドメイン駆動設計に沿ってSymfony2でユーザー管理アプリを作ってみた

あけましておめでとうございます。 去年の暮からエリック・エヴァンスのドメイン駆動設計という5200円、500ページもする本を購入して読み始めた自分です。エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)作者: エリ…

恐ろしく高い編集能を持つマルチカーソルエディタとしてのSublimeText2

最近、開発環境の導入コストの低いIDEの導入を広めようと思って、VimからSublimeText2にメインエディタに変更した自分ですが、SublimeText2のすごさはやっぱりマルチカーソルにあるなと思ったのでエントリーを書くことにしました。Sublime Text2 は http://w…

JavaでノンブロッキングIOを使ったネットワークアプリを学ぶのに最適なNetty 3.5系のGetting Startedを日本語訳しました

Nettyと言えばJavaのノンブロッキングIOのAPIであるNIOをラップしたフレームワークとして、TwitterのFinagleなどで分散ネットワークアプリケーションシステムで使わていて高速で実績のあるライブラリとして有名ですが、ノンブロッキングIOでイベント駆動のサ…

ScalaでEclipseデバック可能な実行jarを作るまでの手順 (例:特定のハッシュタグを含むツイートをファイルに保存し続けるアプリ)

最近Scalaでちょっとしたjarアプリを作ることが多いのでその手順をまとめておきます。まだ発展途上とは言え2.0.2になったことでScala IDE for Eclipseも実用に耐えうるところまできているように思います。あとは、リファクタリング機能とクイックフィックス…