サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
the.igreque.info
Wasmコンパイラー作りの楽しみ YAMAMOTO Yuji (山本悠滋) 2020-12-09 WebAssembly night はじめまして! 👋😄 山本悠滋 (@igrep) Haskell歴 ≒ プリキュアおじさん歴 ≒ 約8年。 趣味Haskeller兼仕事PureScripter @ IIJ-II 😁 今日はHaskellなどの話はしません! igrep.elというEmacsプラグインがありますが無関係です!
Folding@homeに参加して新型コロナウイルスの治療薬作成を支援する by YAMAMOTO Yuji on March 22, 2020 ↓こんなプロジェクトがあるということで、私も参加してみました: 新型コロナウイルスの解析、分散コンピューティングで誰でも参加できるように 「Folding@home」が対応 - ITmedia NEWS Folding@homeは米スタンフォード大学を中心としたタンパク質構造解析のための分散コンピューティングプロジェクト。ネット接続された世界中のコンピュータの処理能力を集めて巨大なスーパーコンピュータを形成し、アルツハイマー病、がん、パーキンソン病などの治療に関する解析やシミュレーションに活用している。 基本的にやることはStart folding – Folding@homeからクライアントのインストーラーをダウンロードしてインストールするだけ
regex-applicative: 内部DSLとしての正規表現 Yuji Yamamoto (山本悠滋) 2019-10-18 Regex Festa はじめまして! 👋😄 山本悠滋 (@igrep) Haskell歴 ≒ プリキュアおじさん歴 ≒ 約7年。 趣味Haskeller兼仕事Haskeller @ IIJ-II 😁 igrep.elというEmacsプラグインがありますが無関係です! 宣伝 hask(_ _)eller 2017年から日本Haskellユーザーグループというコミュニティーグループを立ち上げ、その発起人の一人として活動しております。 愛称: Haskell-jp SlackのワークスペースやSubreddit、ブログ、Wikiなど、いろいろ運営しております。
GMO -> (Age, IIJ) by Yuji Yamamoto on April 16, 2018 ご報告が遅くなりましたが、実は今年2月末をもちましてGMOフィナンシャルホールディングス株式会社を退職し、3月より株式会社インターネットイニシアティブに転職しておりました。 (一部知人には隠すようなことをしていてごめんなさい!) プリキュアで言えば2016年の「魔法つかいプリキュア!」がちょうど始まってから「キラキラ☆プリキュアアラモード」が終わるまでの2年間と、「HUGっと!プリキュア」が始まってからの1ヶ月分務めたことになります (今回はちょうどプリキュアの移り変わり時期に転職することはできませんでした)。 IIJに入社してからは3月にネットワーク開発本部に配属された後、現在はIIJ Innovation Institute (IIJ II)に出向しております。 経緯とか きっかけ
HaskellのIOは他の言語でいうところの関数オブジェクトとよく似てるよ、という話 by Yuji Yamamoto on January 28, 2017 HaskellのIOは奇妙です。 「純粋な関数だけでプログラムが書けるの?」と多くの方が疑問に思うように、実際のところ、副作用のある操作(入出力。ファイルの読み書きやネットワーク通信など)をしなければ、役に立つプログラムは一切書けません。 Haskellではそのものズバリ「IO」という機能を使ってそれを実現します。 しかし一方でHaskellは「純粋」なので副作用が一切ない、とも言われます(例えばWikipediaのこの辺の説明)。 その辺のややこしい問題について、かの「プログラミングHaskell」の訳者、山本和彦さんの記事では、下記のように解説されていました(原文のままコピペしています)。 Haskell の IO では、評価と
Haskellでプリキュアを作ってみた by Yuji Yamamoto on December 11, 2016 この記事は「プリキュア Advent Calendar 2016」11日目の記事です。 現時点で11日目であるにもかかわらず私が最初の投稿者になってしまいそうで悲しいですorz. 遅れてもいいので登録したなら投稿はしていただきたい! めげている場合ではありません。掲題通り、Haskellでプリキュアを実装しました。 何をいっているんだお前はと思うかたもいらっしゃるかもしれませんが、要はプリキュアの各作品の変身シーンの台詞や設定などを収録したライブラリーです。 似たようなものは各言語に存在します。過去にはACME::PrettyCureをはじめ、PycureやClocureなどが作られました。 そしてもちろん当Advent Calendarの主催にしてフルスタックキュアエンジニ
JavaでMonadをはじめからていねいに by Yuji Yamamoto on August 28, 2016 「モナドについてSwiftで説明してみた」という記事などで指摘されているように、プログラマー向けにMonadを説明した記事はサンプルがHaskellで書かれていることが多いので辛いですよね。 HaskellではMonadは「ないと文字通りプログラムが書けないぐらい」大事なもので、入出力処理や例外処理、ダイナミックスコープのシミュレーション、非決定計算など、普通の関数では難しい、非常に様々な機能の実装に使用されています。 その一方、MonadはC言語のポインターに並んでHaskellを学ぶ上での障害である、なんて言われたりもするとおり、他言語ユーザーからHaskellを敬遠させる大きな要因の一つともなっています。 そんな悲しい現状を少しでも改善するために、上記の記事を参考にしつ
報告が遅くなってしまいましたが、 (多分)日本初のElmの勉強会、「Tokyo Elm Programming Meetup」に参加しました! 企画していただいたWyatt, 会場を貸していただいたCasley Consultingさん、ありがとうございました! せっかくなんで軽めのネタで発表して参りました。 半ば飛び込みなところを受け付けて頂きありがとうございました! 以下が資料です。 Whom to Recommend Elm to? 一応Slideshareにも挙げましょう。 ついでに、「何かElmで作ったものないの?」と質問され、 昨年のElm Advent Calendarで作成したラブリーコミューンも意図せず紹介することになり、楽しい発表となりました。 ちょっと緊張したけど割りと受けたようで安心です。 懇親会では結構Haskellとの違いに関する話題が多かったようです。 Has
ご報告が遅くなりましたが、3年間、 プリキュアで言えば「ドキドキ!プリキュア」の開始から「Go! プリンセスプリキュア」の終了までのちょうど3作品分、 やや長めに勤めたSansan株式会社を退職しました。 先週は新しい職場、「GMOクリック証券」での第1週目でした。 まだまだ新しい環境に慣れない感じでしんどいですが、やれるところからコツコツ頑張っております。 なぜやめて、なぜ入ったか Rubyやめたかった もともとRuby力を試すためにRubyを使ってる会社を探して見つけたSansanでしたが、 仕事で使い始めて僕はすぐにRubyが嫌になりました。 その前からHaskellにハマっていたため、ある意味致し方ないことでしょう。 そのへんのRubyに対するいらだちの一部を こちらの記事に込めましたので 併せて読んでいただけると幸いです。 今でもRubyはスクリプト言語としては非常に優秀だと思い
関数型プログラミングから予測可能プログラミングへ by Yuji Yamamoto on July 25, 2015 なんだか興に乗ってきたので、私もポエムめいたものを書いてみようと思います♪ このシリーズの目次はこちら 要約: ポエムなんてうんざりな人へ 「Haskellが関数型プログラミングの王道だよ」という理解は、誤解のもと。 今後このシリーズで言う「関数型プログラミング」とは、 「純粋な関数」を主に使用して行うプログラミングのこと。 Haskellの本当によいところは 「プログラムの振る舞いを、コードを実行せず、読んだだけで予測できるようにする」という点。 動機: なぜ書くのか ここでは、私がHaskellをなぜ好むのか、 いわゆる「関数型プログラミング」との関係に触れつつ説明することで、考えを少しずつまとめたい。 一つの記事には収まらないので、複数の記事に分けてシリーズとする。
This is a Japanese tranlation of Attended LambdaConf 2015 in Boulder!. 5月22日から24日かけてアメリカのコロラド州、 Boulder(ボールダー1)にて開催された、「LambdaConf 2015」に参加しました! なのでまた超今更の私的まとめです! 知ったこと いろいろありましたが、以下のセッションに参加しました。 概要と感想は、私が居眠りしないでちゃんと参加できたものだけ書いておきます。 (残念ながら時差ボケにやられてしまったのです…) Day 1 Write Some Idris Idris入門。私にとっては依存型の入門でもありました。 面白かったのですが、詳細を聞き取れなかったせいもあってか、めちゃめちゃ難しかったです。 練習問題中の合間を縫って、まだ答えていない問題の答えを推測したりサンプルコードをいじった
Lens&Prism勉強会 私的まとめ by Yuji Yamamoto on June 9, 2015 もう開催から1週間以上経ってしまいましたが、Lens&Prism勉強会に行ってきたのでそのまとめ記事です。 当日しこしことっていたメモと記憶を頼りに、発表内容や個人的な気付きなどを書きます。 @gakuzzzzさんの「Lensの説明」 connpassには別のスライドが貼ってありますが、実際の中身はBeyond Scala Lensというスライドの日本語での解説でした。 要約するとこんな感じの表に収まるのですかね。 スライドではScalaでの呼び名で説明されてましたが、ここでは私向けにHaskellに訳しています。 -- 全てのsをaに変換でき、かつ全てのaをsに変換できる関数のペア Iso' s a: f :: s -> a, g :: a -> s -- 全てのsからaに変換できる
ただの型クラスだった こういう定義の型クラスだった haskell class Monad m where return :: a -> m a (>>=) :: m a -> (a -> m b) -> m b ただの型クラスだけど違った なんか変な使い方ができる haskell hoge uID = do fname <- lookup uID firstNameDB lname <- lookup uID lastNameDB return $ fname ++ lname だったり、
歌舞伎座.tech#6「VirtualDOMとReact」に行ってきました。 by Yuji Yamamoto on February 17, 2015 昨日、歌舞伎座.tech#6「VirtualDOMとReact」に行ってきました。 最近のJS動向に疎い私でしたが、とりあえずVirtualDOM周りのもやもやがスッキリ出来てよかったです。 以下、印象に残った点や感想など。 ReactはじめVirtualDOMの実装を使うと、サーバーサイドでテンプレートエンジンを使ってHTMLをまるまる吐くような感覚でDOMを構築しても、差分をいい感じにライブラリが検出して、いい感じな速度で更新してくれる。すると設計が楽ちんになり、保守性も上がりますよ、というのがキモのようです。 Reactはもちろん各種実装は、独立したコンポーネントを作って使えるようです。Facebookはlikeボタンなど、一部だけ
ユナイトプリキュア!このあとVim! by Yuji Yamamoto on December 25, 2014 この記事は、 この記事は「プリキュア Advent Calendar 2014」25日目の記事です。 前日の記事は@_signalessさんのtweetでした。 いよいよ最終日、クリスマスですね~! そこにあるバグ!プログラマの日常! このAdvent Calendarの読者にはIT関連の仕事をされない方1も多いと思うので、 そうした方々のために説明しますと、われわれプログラマは、 プログラムを書いているとしばしばプリキュアのことを思い出す必要に駆られます。 例えば… ひよっこプログラマ 「うーん、キュアダイヤモンドがジコチューを浄化するときのセリフってなんだっけ…?」 先輩プログラマ 「『きらめきなさい!トゥインクルダイヤモンド!』だよ。それぐらい自分で調べろ。」 ひよっこプ
HaskellJP WikiをHerokuに上げるまで by Yuji Yamamoto on December 20, 2014 この記事は、 Haskell Advent Calendar 2014の12月20日の記事です。 業務連絡:HaskellJP WikiはHerokuにお引っ越ししました。 きっかけはHaskellJPのGoogle グループに、ある日突然現れた投稿でした。 すいません、、、http://wiki.haskell.jp/ をシャットダウンしようと思います それまでHaskellJP Wikiの管理をされていたmasterqこと岡部さんが、 HaskellよりもATSという言語に惹かれるようになったのをきっかけに、 HaskellJP Wikiの管理をやめることになってしまったのです1。 スタートHaskell 2の記録など、私にとっても思い出深いコンテンツが含
オレのために!Chrome大変身! by Yuji Yamamoto on December 15, 2014 この記事は「プリキュア Advent Calendar 2014」15日目の記事です。 …はぁ、今日もランスちゃんかわいいなぁ~ ヾ(*´▽`) キャー!リボンちゃんもかわいいよ~!(*≧ω≦)b こしょこしょしたいぃ~! どちらかと言えばプリキュアよりもプリキュアの妖精さんのほうが好きな私1は、 そんなことを毎日思いながら過ごしています。 特にドキドキ!プリキュアの妖精さん達はたまらんですね~! ドキドキ!プリキュアの妖精さんと言えば、そんな私がとってもキュンキュンしちゃう、大変ハートフルなお話がありました。 上記の画像に貼ったリンク先の通りですが、 このお話は、キュアハートこと相田マナさんのパートナー妖精、 シャルルちゃんが、生徒会のお仕事で大忙しなマナを見兼ねて 「シャルル
より「普通に」書くためのTest Doubleライブラリ「crispy」 by Yuji Yamamoto on December 5, 2014 この記事は、ソフトウェアテストあどべんとかれんだー2014と、 Ruby Advent Calendar 2014の12月5日の記事を兼ねています。 前日の記事はそれぞれ以下のものでした。 ソフトウェアテストあどべんとかれんだー2014がsue445さんの「Paraductでお手軽マトリクステスト #SWTestAdvent」で、 Ruby Advent Calendar 2014がtbpgrさんの「条件分岐とループベースのロジックからコレクションパイプラインを利用したロジックへ #ruby」でした。 RubyのAdvent CalendarとテストのAdvent Calendarということで、 今日は私が半年ぐらい前からちまちま作っている、c
#Yokohamarb 50回目で発表したけど残念な出来だったので私を変えたN冊を今更紹介する。 by Yuji Yamamoto on November 16, 2014 なんと開催から1週間以上も経ってしまいましたが、報告です。 先週Yokohama.rb Monthly Meetup #50に参加+発表しました。 以下が私の発表です。 緑化のコツ が、かつてないほどガッカリな発表だったので、Slideshareには上げません。 以下反省点。 事前の練習不足なためか、尋常じゃないぐらい緊張してしまい、体が震えてまともに喋れなかった。 過去にも何度か同じ失敗をしている。どういうパターンでこうなるのかまだはっきり分からないのが悔しい。事前に自分のテンションを高く持って行けてないとこうなるような気がする。 「緑化のコツ」ではなく「電車プログラミングの方法」として発表すべきだった。 毎日通勤電
Neo4jについてちょちょいと調べたまとめ by Yuji Yamamoto on June 8, 2014 Neo4jについて、Eightでも使えないかな、なんて考えつつ調べていました。 なので本日はそれについて備忘録的なのを。 なお、調べた時点のNeo4jのバージョンは2.0です。 そしてこの文章はNeo4jを実際に使ってみた感想ではなく、 ちょちょっと本やブログ記事などを読んで得た程度の知識である点をご了承ください。 そもそもNeo4jって? 「property graph」というデータモデルを採用した、GraphDBの一種です。 この分野では最も有名なものとして知られている模様です。 ひとまず、このへんの用語のお話は、参考にした下記のサイトや電子書籍にお任せします。 「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜 GraphDBに
「やらなければならないこと」としてのHaskellのMonad というタイトルで発表しました。 by Yuji Yamamoto on May 11, 2014 関数型LT大会にて、発表させて頂きました。 「やらなければならないこと」としてのHaskellのMonad 上記の通りこのサイトにもアップロードしましたが、 やっぱりSlideshareにもアップロードしました。 slidyを使うと印刷するだけでPDFにできるから便利ですね! うわぁ小さくて見づれー。本番ではブラウザで拡大率調整してたしなぁ。 早くslidyのcss整えないと。 関数型LT大会、面白かったですね。 個人的な主な収穫を上げるならば、 LLVMのバイトコードをHaskellで書くためのpackageがあることとか、 PureScriptというAltJSがアツそうだということとか、 Operational Monadの実
今日話すこと・話さないこと やたら難しいと言われるHaskellのMonadについて私なりの理解を説明してみます。 これ↓
ImageMagickの仕様がしれっと反転していた件 by Yuji Yamamoto on April 13, 2014 最近ちょっと仕事で、ImageMagickのRuby向けバインディング、 RMagickを触ることになり、 Ruby Freaks Lounge 第26回 RMagickを用いた画像処理(1)リサイズ という記事に書いてあった「リサイズ後足りない部分を継ぎ足す」 というセクションに書いてあった方法を試してみたのですが、情報がもう古いようで、 ImageMagickのバージョンによってはうまく行かないことがありましたので、 原因と対策を共有したいと思います。 やりたいこと:画像を決まったサイズの枠に収めるよう、アスペクト比を維持したままリサイズしつつ、余った部分を透明にする 最初は、下記のように、前述の記事に書いてあったコードをほとんどコピペして、私の開発環境で試しまし
Attoparsecを使っていてハマったところをいくつか by Yuji Yamamoto on January 5, 2014 Haskellでちょっとしたコマンドを作りました 自分専用のスクリプトとして、と考えていたのですが、 作っているうちにいろいろ技術的なことを共有したくなったので、 Githubで公開しました。 (とはいえ、あくまで自分用なのでhackageには上げません) 中身は単純で、cabal build vm-backup-snapshotしてから実行すると、 VirtualBox上で1作成した「Ubuntu」という名前のVMから、 一番古いスナップショットを削除したり、 名前に現在時刻を付けたスナップショットを作成したりできます。 (書いていて今更気づきましたが、いくら自分用とはいえ、 VMの名前ぐらいハードコードしないほうが良さそうですね…) 詳しくは main.hs
Neo4jで遊びながらここ最近のドキドキ!プリキュアを振り返ってみよう by Yuji Yamamoto on December 22, 2013 この記事は「プリキュア Advent Calendar 2013」22日目の記事です。 書いている時点ですでに日付を超えてしまいました…。あしからず。 21日目の記事は @speedmod さんの 「プリカラ部♪と部長のこと #cure_advent」でした。 そういやうちの近くにもプリキュアソングがムービー付きで歌えるカラオケありましたねー。 今回やってみたこと みなさんに感化され、私もエンジニアらしいことをしたいなぁ、と思い、 最近気になっているNeo4jを使って、 ドキドキ!プリキュアの最近のお話を振り返ってみました。 性質上、 ネタバレを含んでいます ので、まだ最近のお話をご覧になっていない方はご注意ください。 また、私自信Neo4jを
Railsで謎のSystemStackError stack level too deepが出たとき。 by Yuji Yamamoto on February 24, 2013 ひとりハッカソン、とは最早呼べませんがRailsをネタに記事を一つ。 最近仕事で2、3日に一つはRailsに関して新たな発見をするので…。 ある日、動作確認するのも忘れて夢中であれこれ書いてはコミットし、 書いてはコミットしを繰り替えしていたらこんなエラーが。 SystemStackError in HogeController#request stack level too deep (「Hoge」の部分はあなたがめっちゃ「request」という アクションを実装したくなるようなリソースで脳内変換してください。 e.g. Ransom) え、ナニコレどこにstack level too deepになるような要素
このページを最初にブックマークしてみませんか?
『igreque : Info -> index』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く