病みつきエンジニアブログ

機械学習、Python、Scala、JavaScript、などなど

2012-01-01から1年間の記事一覧

「LINEで送るボタン」をObjective-Cで実装してみた

iOS

この記事は古いです※ごめんなさい、本当に簡単なんです・・・設置方法|LINEで送るボタン にて、公式の「LINEで送る」が公開されたので、Objective-Cで実装してみました。 といっても別に難しくなくて、上記記事のURLをSafariで開くように、Objective-Cで指…

株式会社サイバーエージェントの「TECHNOLOGY CAMP」行って来ました

『テクノロジーキャンプ』開催|株式会社サイバーエージェント | 株式会社サイバーエージェント「tech camp」「テクノロジーキャンプ」まあいろいろ表記のゆらぎがありますが、株式会社CyberAgent主催のインターン(?)に8月に行って来ましたので、その感想を…

gcc 4.2 でC++11のSTLを使う

C++11(C++0x)が発表されてから一年経ちますが、いかがお過ごしでしょうか。 言語のコアが拡張されていますが、多くの方にはあまり関係ないことでしょう。 しかし、標準ライブラリは別です。新しい標準ライブラリ(Technical Report 1)では、メルセンヌ・ツイ…

Core Animationでバウンド表現

iOS

バウンド表現は、簡単なものなら簡単にできます。どちらかと言うとバネ表現と言ったほうが適切かもしれませんが。基本的なアニメーションの仕組みなどの説明は省きます。「Core Animation」でおググりください。 下記コードで再現できます。 // _label is th…

就職するのか、大学院に進学するのか

このブログは誰に伝えるのか、誰が見るのか、というのを考え、 あまり個人的で面白くない内容は書かないようにしておりますが、 まあ、たまにはいいだろうということで、プライベートなメモ帳に記すと同時に ブログの方にも書きます。前提として、私自身はあ…

iOSのアプリケーションをどう設計するか

iOS

いくつかソースを見てきたのですが、 時と場合による としか言いようがない感がすごいですね。ただ、当たり前ですが、 基本的にはMVCに則って作っていくのが良いです。 そして、Modelをちゃんと切り分けるというのが、テストをする上で非常に大事になってく…

PhantomJS のオーバービューーーーーーー

PhantomJS なるものがあるので、使って見ることにします。 PhantomJS が何なのかを説明する前に、インストールから入ります。 インストール PhantomJS: Download and Installから、最新のものをダウンロードします brew install phantomjs Quick start 適当…

Adobe Edge Animate で任意のタイミングで再生する

Adobe Edge Animate には、「自動再生」という項目があり、自動で再生したり、しなかったりができます。 で、自動再生しない場合に、自分の好きなタイミングで再生出来ないか? ということで、その方法です。概念的に、Edge Animate では、ステージに対して…

シェルでブックマーク的なことをする

僕はzshを使っていますが、どのシェルでも共通な、ブックマークシステムを紹介します。といっても、ディレクトリとシンボリックリンクを使うだけです。まず、ブックマークを突っ込むためのディレクトリを作ります。 mkdir ~/b そして、~/bのディレクトリには…

Nexus7を1日使ってみた感想

完全イメージで語ってる感否めません。 かすかな記憶を頼りに書いてる感も否めません。 UIや滑らかさがだいぶ変わった 店頭などでホットモックを触った方はわかるかも知れませんが、ぬめぬめ動きます。 Project Butterなるプロジェクト名だそうで。 滑らかさ…

Capistranoでdeploy前にpushする

なんかもうどうしようもないぐらいにgit-pushを忘れてしまうので。config/deploy.rb を before "deploy:update" do system "git push origin #{branch}" end です。やってることとしては、 deploy:updateの前に処理をする(2.x DSL Configuration Tasks Befor…

Objective-C でWebSocketの通信をする(SocketRocket)

iOS

今流行(?)のWebSocketちゃんですが、Objective-Cで触るための日本語のサイトがあまりなかったので。 手順としては、node.js でWebSocket のサーバーを作り(not Socket.IO)、SocketRocketを使ってそのサーバーに接続します。 node.js、Objective-Cともに触っ…

僕がプログラミングを学ぶときに気をつけていること(検索編)

※この記事は、事実に基づいた定量的なものではなく、あくまで個人的な経験則です 役に立つかはわからないですが、他の人に教える機会があって、気づいたことなどをまとめています。 検索編以外があるかは謎です。何かに躓いたとき、Google先生を使って検索す…

Amazon S3 を使ったログ保存の仕方

多分、Linuxのコマンドに慣れてないと上手く出来ないと思うので、書いておきます。 Log rotation これについては、あまり書くこともないです。logrotate で検索してみて下さい まず、Log rotationは、ログファイルを、1週間なり、1ヶ月なりで、ローテーシ…

simple_form をTable 要素で使う

simple_form は、Rails 用のform_for の拡張みたいなものです。 普通、form_for を使うと、タグ等について自分で書いていかないといけませんが、simple_form を上手く運用すると、view内にはform に関連するタグを書く必要はありません(的な感じ) 逆にいう…

ZMQ(ØMQ)、動いたり動かなかったり

ØMQ のサンプルコードが謎に動かなかったりして、困った。。。 要求としては、PUSHをする側をC++で作ろうとしていて、PULLはnode.jsでします。 https://github.com/imatix/zguide のサンプルコードを使いました。 同じような処理なのに動いたり動かなかった…

RABL が若干わかりつつあるまとめ

RABL(Ruby API Builder Language) は、JSONのView生成用のライブラリです。 RailsなどのフレームワークでAPIサーバーを立てる際、普通JSONで応答したりしますが、 もうちょっと複雑なViewを組めます。チュートリアル的使い方はhttp://railscasts.com/episode…

複数リポジトリを1ドメインのディレクトリ構成にまとめたいとき

ちょっとわかりにくいですが、httpでの接続時に yamitzky.com ├── index.html ├── sub_repo1のpublicディレクトリ │ ├── images │ └── index.html └── sub_repo2のpublicディレクトリ ├── images ├── index.html └── stylesheets └── site.cssみたいな感じに…

QRcode generation plugin without jQuery

https://github.com/yamitzky/render-qrcodeTo use the plugin, first, you have to load javascript like the following; <script type="text/javascript" src="render.qrcode.min.js"></script> then, you have to make an element a QRcode appended to. <div id="qrcode-element"></div> finally, call qrcode() functi…

jQuery を使わずにQRコードを生成するプラグイン作った

作ったんじゃなくてパクったんじゃないかな、っていうね! https://github.com/yamitzky/render-qrcode使い方は簡単で、 <script type="text/javascript" src="render.qrcode.min.js"></script> とかやってプラグインを読み込みます。書き込む要素を <div id="qrcode-element"></div> とかやって作っておきます。 document.getElementById('qrcode-element').qrco…

rbenv を使っている環境で crontab が上手く動いてくれないときは

crontab は、事前に設定されたShellで、設定されたPathを通した上で、実行されます。 つまり、現在使っているShellや、SSHで接続しているShell、もしくは.bash_profileに書かれているようなPathは、全無視されます。上手くいかないときは/etc/crontab を編集…

Rubyにかぎらず標準入力に色をつける

Rubyだけでなく、他の言語でも(多分)使えるやりかたです。 (他にCで試してみましたがオッケーでした。pythonだとprint文で上手く行かないので、他の関数を使うといけるかも?)単純に、文字列中に"\e[数字m"と書いてあげるとオッケーです。数字は color_dict …

CoffeeScriptのクラス定義を、グローバル(別ファイル)にする

http://d.hatena.ne.jp/nantekkotai/20110909/1315582529のようにコンパイルオプションで対応するのでもいいのですが、 Railsやmiddlemanなど、自動でコンパイルするのでコンパイルオプションを与えられない時のために。クラス定義をしているファイルの最後…

Rails3でバリデーションなしで保存する

@model.save :validate => false でオッケーですよhttp://api.rubyonrails.org/classes/ActiveRecord/Validations.html

使ってるvimプラグイン晒し

Vim

よく使う [自作]reload-vim 書き込んでリロードを実現するvimプラグインなんですが、未公開← 書き込んだら自動でリロードするような設定よりも(livereload)小回りが聞くので、気に入ってます。rails.vim rails使うなら必須な感じの。 Rcontroller italic;">c…

Capistrano でRailsアプリを自動deploy

導入や紹介は、このslideshareが非常によくまとまってると思います。 Capistranoで自動デプロイ View more presentations from toyoshi 導入などはhttp://d.hatena.ne.jp/ntaku/20111115/1321358900などにあります。 だいたい設定が必要になるのは config/de…

Railsのfields_forがガン無視された問題

<%= f.fields_for @user.profile || Profile.new do |p| %> <% end %>に、直すといいです。「Model.new」くっつけると。

middlemanを使ったフロントエンド開発

middlemanというものが、静的なサイト(html/css/jsだけのサイト)を作るのに、かなーり便利です (これを使って性的なサイトを作りました) 何が便利かというと 開発用サーバーになる テンプレートエンジン(erb) coffee scriptやscssなどを自動で変換 もちろん…

gl.enchant.jsでCollada(.dae)ファイルが動かないときは

詰まってしまったので。←韻踏んでる原因としては.daeファイルのcontent-typeが間違ってるっぽい?のが原因です。 XHRすると、responseTextにデータが帰ってくるのは当然ですが、XMLファイルの場合は自動でXMLDocumentにparseしてresponseXMLに突っ込んでくれ…

zshっていうのがすごいらしい

zsh

今まで馬鹿正直にbashを使ってたんですが、この際だし変えてみるかーみたいな感じで。まずはMacの標準シェルをzshに。10秒で出来るみたいです。 Mac のログインシェルを bash から zsh に10秒で変更する方法 | ウェブルで、ちょっと遊んでみる cd ~/Desktop …