読者です 読者をやめる 読者になる 読者になる

Ponylangで型付きアクター生活[3] Expression編

注意 ここにある内容はpony2.x時代にドキュメントに書かれていた物なので、もう古い可能性が高いです。最新の情報は公式ドキュメントを参照してください。 はろぽにー ₍₍ (ง´・_・`)ว ⁾⁾ この挨拶流行るんですかね(´・_・`) 引き続きPonylangの紹介です。 公式ド…

Ponylangで型付きアクター生活[2] TypeとActor編

注意 ここにある内容はpony2.x時代にドキュメントに書かれていた物なので、もう古い可能性が高いです。最新の情報は公式ドキュメントを参照してください。 はろぽにー₍₍ (ง´・_・`)ว ⁾⁾ ということで引き続きPonyの機能を見ていきます。 Type 本家だとこの編で…

Ponylangで型付きアクター生活[1] Hello World編

注意 ここにある内容はpony2.x時代にドキュメントに書かれていた物なので、もう古い可能性が高いです。最新の情報は公式ドキュメントを参照してください。 全国の静的型付けじゃないと手が震えてしまうみなさんこんにちは。 アクターでも型を付けたいですね…

Scientific Linuxでfluentdが入らなかったので何とかした

Scientific Linuxだと以下のようになってfluentd(というかtd-agent)が入らなかった件についてです。 [vagrant@localhost ~]$ curl -L https://td-toolbelt.herokuapp.com/sh/install-redhat-td-agent2.sh | sh % Total % Received % Xferd Average Speed T…

ScanSnapをUSB接続したときにScanSnapManagerが自動起動されると幸せになる

Mac

ブログのネタがなくなりました(´;ω;`) ScanSnap、すごい便利に使っているんですがUSB接続したときにScanSnapManagerが開いてほしかったので開くようにしました。 step1 ControlPlaneの用意 ControlPlaneというのを使います。 ControlPlane | Context Sensi…

マルチスレッドでもActorでもない並行処理

前回Javaのマルチスレッドについて勉強して、辛すぎる(∩´﹏`∩)となったので、akkaを勉強するぞ―!と思っていたのですが、気になる資料を見つけました。 並行処理の統一モデルへの動向 コンピュータ業界はオブジェクト指向を基に関数型言語に移行する動きにあ…

Java並行処理プログラミングを読んだ

本の感想を書くことによりいい感じにブログネタを切らさないようにする生活(´・_・`) だいぶ前から読んでいた本をついに読み終わりました。 Amazon.co.jp: Java並行処理プログラミング ―その「基盤」と「最新API」を究める―: Brian Goetz, Joshua Bloch, Doug…

SQL実践入門を読んだ

DBとかSQL周辺は、なんだかmysqlとかpostgresqlとかあって、selectとinsertとかjoinとか出来るよね。 みたいなミジンコ並みの理解しかなかったので、少しDB力を上げるべく本を読むことにしました。 雑ながらも知りたい内容はいくつかあって、 実行計画とか気…

Freeモナドが分からなくてもFreeマグマなら何とか分かる気がした。[Scala]

Freeモナド、難しいですよね(´・ω・`) ということで今回は、Freeモナドの「Freeの部分だけを味わっちゃう」コースを用意しました。 つまりFreeモナドではなくてFreeマグマ(マグマについては後述)とかFreeモノイドとかを見て、何となくFreeなんちゃかがどう…

いまさらHackに入門(Dockerfile付き)

HackがあればPHPでも型がつけられる!とか色々言っている割にインストールすらしてないありさまな状態から脱出すべく入門しました(´・_・`) ちなみにHackというのはジェネリクスや返り値の型指定など、PHPのタイプヒンティングを強化したような機能をもってい…

Scalaに存在演算子を求めるのは間違っているだろうか

追記 間違っていないことを示していただけました → 「Scalaに存在演算子を求めるのは間違っているだろうか」の解答例 - scalaとか・・・ さらにLensでも → 「Scalaに存在演算子を求めるのは間違っているだろうか」をLens/Prismで解いてみる - 独学大学情報学…

Scalaのtraitはどのようなclassファイルに変換されるか

おもしろい順に記事を投稿していたら、とっても古くなってしまいました。(´・_・`) しかし、内容自体は古くなってはいないと思うのでそのまま投稿します。(ง ˘ω˘ )ว Scala2.12とかJava8とかデフォルト実装付きinterfaceとかは知りません(・ ω ・) traitの実装 …

jQueryで双方向データバインディングなフレームワークenjo.jsを作ったけど爆発四散した話。

初めてフレームワークっぽいものを作ってMVVMで双方向データバインディングだヤッターと思っていたら一瞬で爆発四散した話です。 enjo.js ひたすら設計を頑張ってたらいい感じにフレームワークっぽくなりそうと思って、ガガガっと書いたら それっぽいものが出来…

case classをtupleに変換したり、tupleをcase classに変換できるIso traitをマクロで作る

Scala初心者がShapelessのHListでderivingをどうやるのかを学んだ話 - だいたいよくわからないブログでは、HListに対しての演算を定義すればcase classに対しての演算をいちいち定義する必要がない。(case classをHListに変換→HListで演算→演算後のHListをc…

まだ実行時ソートで消耗してるの? 〜ScalaでHListを使ったコンパイル時クイックソート 〜 (後編)

前回に引き続き、型レベル自然数リストのコンパイル時クイックソートです。 再びコードはこちら( ⁰⊖⁰) matsu-chara/HListQuickSort · GitHub 目次 前の記事 前準備 型レベル自然数 型レベル自然数の比較 この記事 HList HListの分割 QuickSort HList さて、…

まだ実行時ソートで消耗してるの? 〜ScalaでHListを使ったコンパイル時クイックソート 〜 (前編)

Typelevel quicksort in Scalaで、 型レベル自然数リストのコンパイル時クイックソートなるものが紹介されているので、 おもしろそうだなと思って実装してみました。 こちらの記事ではshapelessのHList実装を参考に作られているのですが、 今回は、Scala - …

JVM用アセンブラJasminでバイトコードちっくなものを書こう

classファイルの中身 Javaって書いたことあるけど、.classってどんな感じになっているのか知らなかったので、ちょっといじってみました。 javapで逆アセ .classの逆アセンブルはjavapコマンドを利用すると可能です。 class Foo { } のようなFoo.javaをjavac …

Scala初心者がShapelessのHListでderivingをどうやるのかを学んだ話

ScalaにはHaskellのようなShowやEqをderivingしてくれる機能は無いんですか?と質問をしたところ typelevel.scala | Deriving Type Class Instances (Part 1)を紹介してもらったのでものは試しとやってみることにしました。 本題に入る前に、このページ中の…

Traits: Composable Units of Behaviourを読んでサマリーを書きたかった人生だった。

プログラミングを学ぶ際に、プログラミング言語に関する論文を読む。 という概念を最近学んだので、いい感じにいい感じなやつを教えてもらって読みました。 メモ書き程度ですが、簡単に面白かったところを紹介します。 最初はサマリー書くぜー₍₍ (ง ˘ω˘ )ว ⁾…

テスト書ける系fizzbuzz 〜generatorを添えて〜

みなさん、こんにちは。 今日は新春ということで、fizzbuzzについてお話します。 世の中には大きくわけて2つのfizzbuzzがあります。 一つ目はテスト書ける系fizzbuzzです。 もう一つはテスト書けない系fizzbuzzです。 今日はみなさんに併せて3種類のfizzbuzz…

Promiseを外部からresolveする方法

DeferredとPromise PromiseをDeferredっぽく使いたかったけど、微妙に使えなかったのでうまくいく方法を探した( ⁰⊖⁰) DeferredとPromiseの違い JavaScriptのPromiseとjQueryのDeferredの間には微妙な差があります。 setTimeOutしてconsoleに表示を出すような…

Githubを便利に使うために使っているChrome拡張機能まとめ

画像を入れたりしてわりとがんばってQiita向けの記事を書いたけど、ちゃんと検索してみたら自分が紹介しようと思ってた奴がすでにほとんど紹介されててつらい( ⁰⊖⁰) 記事は書いてしまったので、こっちに残骸を残します。 Qiitaの紹介記事 Githubを劇的に使い…

FlurryのAPIから昨日のダウンロード数を取得してhubotに喋らせるやつ

KPI可視化(\( ⁰⊖⁰)/) matsu-chara/flurry-hubot npmはこちら→hubot-downloads-from-flurry

ターミナルからyo、pushoverでスマホに通知を送る関数

時間のかかるタスクの終了時にぽんとしかけておけば通知を送ってくれるので、 すぐ使えるようにしておくと便利かもしれません。 通知だけであればyoで十分ですが、一分に一回しか送れないので場合によっては不便かもしれません。 pushoverを使うとyoと違いメ…

hubotでtwitterのTLを取得して、sayコマンドで喋らせるやつを作った

twitterのTL読み上げ機をつくりました。 sayコマンドを利用するのでmac限定です。 確認してませんがIRCとかに入れて室内の発言を全部発音させたりも出来ると思います。 matsu-chara/say-hubot システム環境設定>音声入力と読み上げ>テキスト読み上げから日…

feedlyの未読フィードをhubotで消化できるやつ作った

最近、feedlyのフィードをTwitterで処理する(Feedly と Github timeline を twitter に流すようにした - tototoshi の日記) というのを実践してます。 RSSが一日100件を超えたあたりから限界(と労力の無駄)を感じていたので、渡りに船とばかりに使わせて…

vimに日本語をしゃべらせる(mac)

スケット団のスイッチ君みたいにしたかったので SayKotoeri2をインストール (https://sites.google.com/site/nicohemus/home/saykotoeri2) .vimrcに au BufReadPre,BufNewFile *.kotoeri set filetype=kotoeri " *.kotoeriの拡張子設定 au BufWritePost *.ko…

この夏、syachickyでターミナル起動時にさわやか御社株価を表示しちゃおう!

こんにちは。突然ですが、やはり企業戦士たるもの会社の数字は把握しておかなければなりませんね? 企業としてもっとも重要な指標はもちろん平均残業時間株価ですね。 株価じゃなかったとしても今回は株価とします。 とはいえ、そういった数字はなかなか頭に…

zshの個人的に便利だと思った機能(suffix alias、略語展開)

zshデビューしたので、個人的に便利だと思った機能をまとめた。 suffix alias alias -sを利用することで拡張子に応じたコマンドを実行してくれるようになる。 例えば python hello.py # hello. のような実行においても alias -s py='python' としておくと ./…

Sublime TextのPackage Controlでインストールしているもの一覧の取得

コマンドパレットからpackage control listとかでインストール済みパッケージ一覧を見ることができるんですが、テキストじゃないので人に渡せなかったりして辛かった件。 公式みたら installed_packages list in Packages/User/Package Control.sublime-sett…

Cannot find executable for CFBundleの直し方がやっと分かった

iOSシミュレータで開発していて、ずっと出ていた謎のエラー"Cannot find executable for CFBundle"。特に実害はないし直し方がわからなかったので(シミュレータをリセットするとしばらくでなくなる)泣く泣く放置していたけどようやく分かった。 xcode - Ca…

ニコニコのニュースを切り替えるだけのChrome拡張機能作った

つくった。 Chrome ウェブストア - ニコニコ動画 ニュース用ショートカット "p", "@" で前のニュースに切り替え ";", ":" で次のニュースに切り替え "[" でニュースを開く "]" で新しく開くタブをアクティブにしないでニュースを開く 上記画像の赤枠の部分を…

iOSのMKMapでズームレベルを取得して段階的にズームアウトさせる

MKMapでズームアウトボタンを実装したかったんですが、 latitudeDeltaとかlongitudeDeltaとかdegreeで渡す必要があって、 一段ずつズームアウトするときはどのくらいのdeltaにすればええねん('_`) という問題。 Set the Zoom Level of an MKMapView に正解に…

windowsのsublimeでbuild system作成に必要なselectorの調べ方

sublime textのbuild systemを作成する話。 ビルドシステムを自動検出するために必要なselectorの設定方法が、 macのはすぐみつかったんですがwindowsは一瞬分からなかったのでメモ。 設定方法は Tools→Build System→New Build Systemとして { "cmd": ["php"…

SimpleSwitchButtonなるものを公開した

https://github.com/matsu-chara/SimpleSwitchButton iOSでsmart newsとかmixi newsみたいなジャンル選択をポチポチするやつとか画像ベースのラジオボタンが欲しかったんですが、 ボタンを統一的に扱うのが面倒だったのでSimpleSwitchButtonCollectionという…

Silexのコントローラ遅延読み込み時のサービス読み込みについて(ServiceControllerServiceProvider)

前回ServiceControllerServiceProviderで、ちゃんとコントローラの読み込み遅延されるね。という確認をしたので今回はサービスの読み込みもちゃんと遅延するね。という確認をします。 コードはmatsu-chara/SilexLazyControlerLoadSample2 · GitHubに有ります…

SilexのServiceControllerServiceProviderについて

SilexのServiceControllerServiceProvider使うと、URLマッチ後にコントローラサービスのインスタンスが生成されて、普通にマウントしてるとマッチしようがしまいが必ずインスタンス生成されるんだよなーという認識でいたのですが、本当にそうなってるか確認…

RESTful API作成用silexスケルトン silex-simple-restについて

この記事ではvesparny/silex-simple-rest · GitHubを紹介します。 silex-simple-rest silex-simple-restはReadmeに A simple silex skeleton application for writing RESTful API. と書いてあるとおり、RestAPI作成の際に便利なスケルトンです。 これを使う…

Google Maps SDKでfile not foundエラーがでて辛かった話

はまったのでメモ 環境 Google Maps SDK for iOS 1.6.1 Xcode ver5.0 症状 自分のプロジェクトを他の人にpullしてもらうとフレームワークが見つからないと言われてビルドできない。 具体的には下記エラーが出る。 #import <GoogleMaps/GoogleMaps.h> //file not found 一方で自分の手</googlemaps/googlemaps.h>…

イルカと泳ぎにいけない人のためのクロージャ入門

最近友達にクロージャって何?という口頭試問質問を突然されるので僕が現時点でこうかな?と思っているクロージャについてまとめてみました。 間違ってるところとかあったら教えてください。 具体的な例題を普通に書いたあと、クロージャで書きなおしていき…

sublime-phpcsでPSR-2準拠のコーディング

みなさんPSR-2してますか。してませんか。しましょう。 PSR-2(日本語) PSR-1に準拠しなければなりません。 インデントには4つのスペースを使用し、タブは使用してはいけません。 行の長さに対してハードリミットがあってはいけません。ソフトリミットは1…

D3.js+AngularJSなRadianのチュートリアルを進めながらグラフ書いてみた(データプロットまで)

続編 前回はとりあえず線が引けて便利だね!というところまでだったので、 データをつっこんで線を引かせるところをやっていきます。 ということで今回もチュートリアルをさらう。 plot-data 前回同様、template.htmlを編集していく。 <plot height=300 aspect=2> <lines x="[[dat.a]]" y="[[dat.b]]"></lines> </plot> <plot-data name="dat" format="csv" cols="a,b"> 1,5 2,10 3,14 4,1</plot-data>…

PHPでの名前付き引数について

名前付き引数は、オプションの管理に便利な機能です。 グラフ作成の際に、軸名を指定すれば付くし指定しなければ省略されるだとか、 色を指定してもいいし省略すれば自動で適当につけてくれたりするなど plot(x, y, linewidth=2.5) plot(x, y, color="red", …

pandocでmarkdownからgithub風シンタックスハイライトされたhtml生成(ついでに数式)

再びpandocとmarkdownネタ。 前回はこちら markdownからhtml生成できてすごい!となったんですが、 見栄え的にはGithub風になっていると落ち着くということで出来ないかどうか調べたところ出来そうだったので方法をメモ github.css github風のCSSを公開して…

phpでarray_zip()相当のことをしたい

がっつり既出ネタ array_zip phpでarray_zip()みたいなことをしたい。 つまり、pythonのzipのように リストを二つ渡すとタプルのリストを生成してくれる関数がほしい。 # -*- coding: utf-8 -*- a = [1,2,3] b = ["a", "b", "c"] zip(a,b) # [(1, 'a'), (2, …

sedを使いつつvisual studioを無理やりゴリゴリ回す方法

研究室向けシリーズその4このシリーズ書くのに疲れていますが最後なので頑張ります。 前回batで処理を自動化したと思うのですが、研究室内のプログラムは割とパラメータが#defineされているケースがあってプログラムの実行時引数に指定するのは面倒だったり…

コマンドプロンプトと戦え(batを書こう)

研究室向け資料その3研究では色々自動化しておいた処理がたくさんあります。(パラメータを少しずつ変えながらシミュレーション、先週とは違うモデルでもう一度解析など)手作業でごりごりと気合でやっても出来るんですが、先生の「あ、これこっちの条件でも…

foldlとfoldrについて理解したところと、まだよくわからないところ

Haskellネタ。 通算n度目のfold関係ぐぐり事案が発生したのでついにまとめる。 Haskell初心者どころか入門中なので間違ってたら教えて下さい。 foldl, foldrの何がわからないのか foldlとfoldrってとっつきにくいというかfoldlは、まあ分かる。 foldl (-) 0 …

D3.js + AngularJS な Radian のチュートリアルを進めながらグラフ書いてみた(関数プロットまで)

グラフ書きたいですね。グラフ書きたいんだけどいろいろ書いたりするの面倒だな。 かっこいいのがいいのならHighchartsがいいなーとか色々調べたりしてました。もうちょっと手軽感ほしいなーと思っていたら新しい良さげなものを教えてもらったので、使った感…

vagrantのcentOSでprivate networkを設定するとエラーになる件

vagrantの環境設定をしていたのですが、centOSをクローンして使おうとprivate networkの設定をいじると The following SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed!ARPCHECK=no /sbin/ifup eth…