半空洞男女関係

思ったこととかプログラミングしてるときのメモとか色々かいてます。メールはidそのままgmail

プログラミング

react-routerのチュートリアルをやった

github.com 英語も簡単だし分かりやすくて良い。おすすめ。以下メモです。 React Router Tutorial 2: ルートを描画する RouterがRouteを管理する Routeにはコンポーネントと対応するpathを渡す RouterにはhashHistoryを渡してやる。historyは色々オブジェク…

float* => vector<float>

#include <vector> #include <iostream> using namespace std; int main() { float data[] = {1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0}; // 例えばコールバックで float* が渡されるとする // 音声なので長さがわかっている(ここでは10) float* p = data; int lengt</iostream></vector>…

プログラミングとはなにか

プログラミングってデータの流れを制御することかもと思った。プログラミングって何?って言われた時に、コンピュータに命令してこう動きなさいって決めることだよっていう説明は定石だと思うけど、それはあっているようで説明していないような気もする。 プ…

気持ちいいけど遅い

members.filter(e => { return e.id !== targetId }).forEach(e => { e.yo(); }); こんな感じのコード書いてて、これって冷静に考えると2回回ってるなと思い、 members.forEach(e => { if(e.id !== targetId) { e.yo(); } }) こう書きなおした。前のほうが気…

clearIntervalで2回同じID呼んでも大丈夫なのか

ソースコード let count = 0; const id = setInterval(() => { console.log(count++); if(count > 5) { console.log("clear!(first)"); clearInterval(id) } }, 300) setTimeout(() => { clearInterval(id) console.log("clear!(second)"); }, 2500) setTime…

本日の学び

pochi.hatenablog.jp ActiveRecordオブジェクトを介さずに削除する。(直接SQLを発行するイメージ) ということですんで、 after_update とか効かないですね。Rails慣れてきて、メソッド名で挙動が割と違う系でハマってもなんとかなるようになってきました。…

Clojureを触った

ほんのすこしだけClojureで遊びました。 (defn argcount ([] 0) ([x] 1) ([x y] 2) ([x y & more] (+ (argcount x y) (count more)))) こんなにシンプルに書けてすごい。 (defn make-adder [x] (let [y x] (fn [z] (+ y z)))) (def add2 (make-adder 2)) (ad…

料理は重要です.きちんと同時に出来上がったほうが温かくて美味しいので,どういう手順で進めればよいかを考えながら作ります.これにはこれくらいの時間がかかるから,などを考えて,論理的に組み立てていく必要があります.つまり,料理をすることで論理…

arrow functionでハマる

function O () { this.value = 200 // Type A this.f = () => { console.log(this.value) } } // Type B O.prototype.g = () => { console.log(this.value) } var obj = new O() obj.f() //=> 200 obj.g() //=> undefined 今までずっとTypeBのスタイルでクラ…

何回か試してタイムアウト的なコード

10回試して条件にあったらおしまいみたいなコードをjsで書くとしたらこんな感じでしょうか. setImmediate(function loop(times, limit) { console.log(times + "/" + limit) if(Math.random() > 0.7) { console.log("yay!") return } if(times < limit) { s…

webpack試した

最近gulpでごにょごにょするやつをようやく使い始めたんだけどwebpackも気になっていたのでためしてみることにした. 大体tj氏のfrontend-boilerplateっていうのを参考にしたんだけど,そのまま使うと意味がわからなくなりそうだし,自分はまだReactとか使わ…

HomebrewでARToolkit2を使う #FMSCV

本記事はNCC Advent Calendar 2015*1の10日目の記事です.昨日は @Magic_Gancelot の,RubyでTweetをChatworkに流す - めもりすずこ でした。 私の通っている大学ではコンピュータビジョンという授業がありまして,簡単に言うとOpenCVなどその周辺技術で画像…

オートリロードで快適Chrome Ext. 開発

Chrome ext.開発しててめんどくさいのはext.のreloadです.chokidarとExtensions Reloaderを組み合わせればjsの変更を検知してext.のreloadをかけられます.Mac用です.open コマンドのところを良い感じにすれば他のOSの人も使えると思います. Extensions R…

atom-vim-mode-plusとex-modeをとりあえず組み合わせて使う

keymap.csonに 'atom-text-editor.vim-mode-plus:not(.insert-mode)': ':': 'ex-mode:open' って入れる. ex-mode/ex-mode.cson at master · lloeki/ex-mode · GitHub を参考にした. もしかしたらこの辺りでエラーが出るかもしれない. ex-mode/command.cof…

ScratchXの開発を爆速で開始できるテンプレートを作りました

github.com とりあえず使う http://ngrok.com/ アクセスして諸々設定済ませて, $ git clone https://github.com/mactkg/scratchx-template.git your-ext $ cd your-ext $ npm install $ gulp これだけでとりあえず動くScratchXのextensionが作れます. src/…

Promiseの確認

gist.github.com もう少し調べると良いと思うけど、毎回毎回 return new Promise(function (resolve, reject) { .... }); と書くのは大変な気がするんだけどなにかいい方法はあるのかしら。スニペットかな

突然プルリクが来た

Memory leak by BaptisteTheoriz · Pull Request #5 · mactkg/ofxThreadedGifLoadergithub.com 去年はてなインターン中に作っていたと思われるアドオンが最近になって微妙に使われてるらしくて、メモリリークの問題が深刻らしい。直したぜというプルリクが突…

YAPC::Asia Tokyo 2015でボランティアスタッフした。トークの感想とスタッフやってみての所感

YAPC::Asia Tokyo 2015yapcasia.org YAPC::Asia Tokyo 2015でボランティアスタッフしてきた。YAPCはじめてで、今までもTwitterでちらちら見るという感じだったけど、去年はてなインターンに行くまでPerlとか書いたことなかった上に、一昨年くらいまでYAPCはP…

Scala ハンズオン Day1

興味が出たので試験勉強の息抜きにやってる。 bati11/learn-scalagithub.com 省略 まず、Scalaでは全ての値はオブジェクトです。そのため、1に対してメソッド呼び出しができます。1.+(2)というように+メソッドを呼び出しています。 そして、Scalaではメソッ…

MongoDBでMapReduceのスクリプトを書いてる途中でデバッグする

map/reduceの関数内で print() 使うと良い。 Homebrewで入れてる時はログが /usr/local/var/log/mongodb/mongo.log にあるのでtail -fで自動読み込みさせておけば良い。 tail -f /usr/local/var/log/mongodb/mongo.log

P3DでもProcessingの描画命令を乗っ取る

Processingで描画命令を乗っ取る - 半空洞男女関係mactkg.hateblo.jp を書いた。するとコメントで、P3Dで動かないという指摘があった。 P3Dで同じことをやりたいのですが、単純に size(800, 400, P3D); createGraphics(width, height, P3D); としただけでは…

Processingで描画命令を乗っ取る

追記20150720 P3Dだと動かなかった(動かなかったコード)のだけど直してブログ書いた。 P3DでもProcessingの描画命令を乗っ取る - 半空洞男女関係mactkg.hateblo.jp ちょっとしたエフェクトとかしてくれるタイプのものを書くときに、 effect.begin(); // なん…

サーバーにrbenvでruby動かす環境構築する

基本的にはこれ見たけど、 Ubuntu Server 14.04 で rbenv を利用して Ruby をインストール - Qiitaqiita.com 自分のためにコマンドだけ抜き出してメモとか。↑の記事は読んでておもしろい サーバーはdigitaloceanのMongoDBのやつ。そんなに長く立ち上げないし…

Processingでサポートされていない配列を雑にソートする

1次元の配列に対してのソートはProcessingで用意されていて、Arrayに対してsort()をかけるといい感じになる。 sort() \ Language (API) \ Processing 2+ reverse()もあるから、逆順にソートしたければ、簡単にできる。 でも2次元の配列に対してソートをかけ…

Processingで画面上のキャンバスから切り取って画像を保存する

学校の課題で、直線検出みたいな課題をしてる、デバッグ用に色々書いているけど、提出すべきなのは一番左の画像一枚。PImageに対して書き込んでるわけではないから、うまく切り取って保存できないという時があるでしょう。 素直に save()したあとにトリムし…

Pythonで出力に色つける

Pythonで実験してる時、ただのテキストを出力するとだんだんテンションが下がる。見た目をちょっと変えるだけで楽しくなる。 出力に色つけるの、エスケープでやればよいのだがかなり大変。あんなの覚えていられない。Pythonのpackageでcoloramaっていうのが…

ScratchXからiPhoneとかMacにPush通知を送るやつ作った

http://scratchx.org/?url=http://makerbox.net/scratchx-pushbullet/pushbullet.js ↑のリンクから試せます。 ScratchXっていうScratchのExtensionを導入しやすくしたみたいなバージョンが出てた。 本家MITによるScratchのIoTやWeb APIの実験的な拡張。Scrat…

gitって別にGUIから使ってもいいじゃん

この前ふと思ったんだけど、別にgitってCUIから使う必要ないし、普通にGUIで使えば良いと思った。 大学でCUI使い慣れている人居ないから、GUI、例えばGitHub for Macとか、SourceTreeでおすすめしたほうが良いと思うんだけど、GUIをそもそも自分が使わないこ…

Gollumが編集されたらHook受けてSlackに通知する

config.rbに書く 結構雑だけど…あとで直します require 'net/http' require 'uri' require 'json' GOLLUM_HOST = "GOLLUMを置いているルートのURL" SLACK_API_URL = "SlackのIncoming WebHooksのURL" Gollum::Hook.register(:post_commit, :hook_id) do |com…

Pryで実験したあと打ち込んだコードを出力する

Pryで色々実験した後、1つのスクリプトにまとめたいことがある。いちいちコピペするのはだるいので調べてみたら、_in_で履歴が見れるみたいなので、それを出力してやればいけた。 open("log.rb", "w+") do |f| _in_.each do |h| f.write(h) end end ワンラ…