半空洞男女関係

思ったこととかプログラミングしてるときのメモとか色々かいてます。メールは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 ワンラ…

続編 of vagrant-itamaeを使っている時にitamaeのpluginがうまく使えなくて困ってる

vagrant-itamaeを使っている時にitamaeのpluginがうまく使えなくて困ってる - 半空洞男女関係 vagrant-itamaeを使っている時にitamaeのpluginがうまく使えなくて困ってる - 半空洞男女関係 Vagrantは自前でRubyを持っている bundle execしても自前のRubyにGE…

vagrant-itamaeを使っている時にitamaeのpluginがうまく使えなくて困ってる

itamaeとvagrant今日はじめた 状況 vagrantを入れた(installer) pluginもいくつか入れた vagrant-itamae (0.1.0) vagrant-share (1.1.3, system) vagrant-vbguest (0.10.0) vagrant-itamaeを使ってvagrant provisionするとitamaeさん走るようにした itamaeさ…

PHP開発する

大学の講義の一環でPHP + MySQL + JS使ってチームで何か作らなきゃいけなくなった。端的にいうとPHPやらないといけない。右も左も分からないので調べながらやってみた。 開発サーバ 昔はApacheとかnginx + php-fpmとかでなんか頑張らないといけなくてとにか…

動けば良いの感想

動けば良い - hitode909の日記 動けば良いの感想大学とかだと、わりと動けばいいの連続な気がする。極論、論文書ければひとまず良いから、ちゃんと動くならそれで良いのかなとか思った。でもその後発展的な研究とかしたいときに、そのまま動けばいいで行くと…

MacでWeb開発するときに使うと便利なやつ

主に大学の人向け、Sublime Textとかはわかってると思うのでそうじゃないやつを XAMPP XAMPP Installers and Downloads for Apache Friends XAMPP Installers and Downloads for Apache Friends Apacheとか色々一から入れなくてもPHPとかの環境が全部GUIから…

Maxuino 衝撃の事実

複数のArduinoを使えて便利!!!!!(2つまで確認した)

Windowsで仮想のMIDIポートを作る

あまりMIDIについて詳しくないのだけれど、Macだと仮想のMIDIポートが作れて、from Max1 とか from Max2みたいなポートに対してMaxから吐けたり、他のソフトウェアで受けたりできる。SoundflowerのMIDI版みたいなのがあるそれを使って、楽器を演奏するパッチ…

maxuinoでLチカ(Max6/maxuino-b017)

MaxでArduino使う時はmaxuinoっていうのを使うのが定番らしい。ヨッパオルグにMaxuinoの使用例があったのでそれを参考にしてインストールをすすめた。 第4回:Maxuinoを使用して、Max/MSPとArduinoを連携する | yoppa org 第4回:Maxuinoを使用して、Max/M…

p5.jsを使って自作のスクリーンセーバーを作る

夜中のテンションで作るの良くない。ずっと見てると目が痛くなる。 mactkg/p5.js-screen-saver mactkg/p5.js-screen-saver · GitHub 作った。p5.jsで書いたスクリプトがそのままスクリーンセーバーになるやつ。ソースコード、ほとんどnotona/ugoira-screen-s…

p5.jsで自分自身のdomを取ってくる

マウスのイベントとか、細かい制御とかしたくなるとどうしてもp5.jsだけでは済まなくなってjsを書きたくなる。そういう時に自分自身のDOMが簡単に取ってこれると便利。結構簡単に取ってこれる。 var sketch = function(s) { s.setup = function() { s.create…

コード、みてください

普段はオフラインで動くアプリケーションを作ったり、小さなデモを作ったりして過ごしている。あと最近やっていたのはクローラとか、簡単なアクセスポイントとか。 1人でコードを書いて、ハイ出来ましたと表だけ見せて、意見をもらうことが多いように思う。…

ハッシュへのアクセス

my %hash; %hash->{key} = 'value'; って書いたんだけど、これダメで、use warning;するとUsing a hash as a reference is deprecated at...ってwarningが出る。 my $hash; $hash{key} = 'value'; これでよい。 これでやると、参照を返したいときに return \…

初めてのPerl: 第1章, 第2章

初めてのPerlやってるんで今までやってきた言語とちょっと違うところとかを書いてみる 第1章 こんにちは世界 第2章 基本的に大体代入とかできるっぽい シングルクォート文字列リテラル vs ダブルクォート文字列リテラル シングルクォートの文字列リテラルは…

openFrameworksを今始めるためのリソース(2014/06)

download http://openframeworks.jp/ のdownloadはバージョンが古いので本家から落とした方がいい tadoさんがアップデートしてくれたヤッター!なので http://openframeworks.jp/ からでもOK http://openframeworks.cc/download/ 内容に変化はないはず 資料 …

小学校低学年が中心のScratchワークショップをお手伝いした

CANVASという団体が行っている「キッズクリエイティブ研究所」というワークショップシリーズがある。毎回様々なテーマに関してワークショップを行う。造形や工作だけでなく、プログラミングなどもある。今回はScratchワークショップということで、メインファ…

openFrameworksがGSoC2014に参加するらしい

最近of-devを購読し始めた。というか割と前に購読していたつもりだったのだけれど、うまく購読できていなかったようだったのだ。割とof-devは面白くて、色々なネタが降ってくる。最近はGSoCについてのトピックも盛んで、そろそろ動かないとまずいよね、とofT…

openFrameworksでシェーダを扱う

openFrameworksでシェーダ扱える。ofShaderというオブジェクトがあるので、そのオブジェクトにvertexシェーダとfragmentシェーダのファイルを読み込ませて使う。僕の理解ではvertexシェーダが頂点の位置を動かし、fragmentシェーダがある頂点の色を指定する…

攻殻機動隊ネタ:笑い男摸倣ツール Catcher in the Rye をやってみた

攻殻機動隊ネタ - 工学ナビより、「笑い男摸倣ツール Catcher in the Rye」。 日曜日にkyle mcdonald先生のワークショップを受けられることになったので、そのワークショップ内で使うツールを準備していました。gitで色々addonを落としている最中に、そうい…

あるハッシュタグの付いたつぶやきをひたすらGrowlで通知し続けるコードを書きました

大学の授業の発表会でちょっとしたインタラクティブ性を生み出したかったので作ってみた。あるハッシュタグを入れてつぶやくと画面のGrowlに登場できるのでなんか楽しい。ミラーリングしておけば僕もハッシュタグつきのつぶやきを読めることはなくても、勢い…

RubyでGrowl使う

Growlは2.1とかをXcodeでコンパイルしてインストールする。証明書とか適当にやってあげるだけであとは特別やらなくて大丈夫だった。 GrowlNotifyとGemをインストールする http://growl.info/downloads からGrowlNotifyをダウンロードしてインストールする。…