Ich lerne Ruby on Rails for Africa

Railsとアフリカで苦戦するブログ

【挫折しない本#01】地図アプリから学ぶiPhoneアプリ開発の全体像

年末年始にiPhoneアプリ開発の勉強を始めたくて以下の本を買いました。 さくっと開発しながら引っかかったところとかをメモっておきます。Amazon.co.jp: 絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】: 高橋 京介: 本 Amazo…

【追記あり】iOSアプリ開発しようかと思って書籍調べた(目次だけ)

今まで、ずっとHTMLだー、PHPだー、CakePHPだー、Ruby on RailsだーとWeb系ばっかり攻めてたので、もうそろそろスマホのネイティブアプリ制作にも手を出してみたいお年頃。 iOSアプリ開発始めるために、とりあえず本一冊買うか!ということで、なんかとりあ…

Laravel4でLang::getで変数を含める方法

例えば「ツアーの検索結果」を 「"検索条件"の検索結果」みたいに出すことにしました。 従来の方法 <h1>Lang::get('global.search_result')</h1>こんな感じでした。 やりたいこと 例えば、$conditionsというのに検索条件の文字列が入っていて <h1>{{{ $conditions }}}の検</h1>…

Laravel4でリレーション先のupdated_atでリレーション元をソートしたかった件

Postモデル hasMany Commentモデル みたいなリレーションの時に、コメントがついていれば 最新コメント順でPostを並べ替えたいと思っていました。要は、管理画面とかでコメント着いた順に並んでて それにアクセスしたいな、って感じが要望です。 問題 単純な…

Laravel4のroutes.phpでルーティング効かないと思ったら順番の問題

Laravelのroutingも便利なもので、 Route::resource('users')のようにすると 以下のようなルーティングが自動生成されます。 Laravel - The PHP framework for web artisans.さらに、そこから余計なものを作らない時には 以下のようにonlyで絞ることが出来ま…

Laravel4でCodeSleeve/laravel-staplerのコマンド「stapler:refresh」が実行出来ない件

問題 このLaravel4で開発をしていて、画像アップロード系の処理にstaplerを使ってます。で、デザインが大きく変わったことで、今のデザインに合わせると、画像が必要な幅よりも小さくなってしまって、画像が粗くなってしまってます。つまり、必要となる画像…

Laravel4でRedirect::routeでアンカーリンクを設定する

申し込みのフォームとかでvalidationではじかれた際に、 Redirectでページに戻るんですが、フォーム入力部分まで アンカーリンクでジャンプしてほしい。 return Redirect::route('articles.show', ['article_id' => $article->id, '#form'])こんな感じにする…

Laravel4でリレーション先のテーブルのカラムに対してLIKE句を使う方法

よくあるWebアプリケーションでFacebookログインして、ユーザー登録させて、Facebookから情報引っ張って来てる状態を想定してます。 前提条件 各モデルは以下のようなものを想定します。 Userモデル 後述するFacebookUserモデルをhasOneしてます。 このモデ…

git動かしたら「Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.」と言われたら

git

メッセージ読めよ、みたいな話なのかもしれないけど、 プログラミングを始めたばかりの頃はそれが何を意味してるのかすら分からなく困ったのでメモ。 $ git status Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via…

Laravel4でClass 'Models\User' not foundと言われた

Laravel4では新しいクラスファイルを作成した場合、プロジェクトルートにて、composer dump-autoloadを実行しなければならない。 このコマンドを実行することによって、ShopControllerの存在がプロジェクトに認識されることになる。 Generating autoload fil…

CakePHPで本番環境で不要なエラーを表示させない方法

普段開発の時には、エラーメッセージで何が間違っているかを読んで開発を進めて行きます。 しかし、エラーメッセージから色々なことを読み取ることが出来るので、本番環境ではエラーメッセージを表示しないようにする方が良いです。デバッグレベルの設定はス…

Laravel4をApacheで動かそうと思ったら、トップディレクトリしか動かなかった件

Laravelでは、phpのビルトインサーバーを使って、 php artisan serveとコンソールで打ってあげると、localhost:8000でアクセス出来るようになります。ただ、わざわざコマンド打つのも面倒くさいし、バーチャルホストの設定をして、本番環境のように「sugi511…

フロントエンドで遊ぶためにGrunt入れようと思ってHomebrewでnodeインストールするところから始めた

フロントエンドでサクサク遊ぶためにGrunt入れようと思ってHomebrewでnodeインストールするところから始めた、という話です。Gruntってやつは、決まったタスクを自動でガシガシこなしてくれます。 例えば、coffeescriptとsass使って開発してると、compassと…

jQuery Scroll Depthが便利すぎて手放せない件。

LPとか縦に長いホームページのアクセス解析ってどうやってますか?Google Analyticsならデフォルトでも色んなデータ見れるので重宝してるんですが、それでもLPとか縦長のページだとどこまで読まれてるんだろう?とかどれぐらいの滞在時間なのかな?とか色々…

Gitの本欲しい

Gitと仲良くなれる!Web制作者がGitを危なげなく便利に使うためのノウハウを学べるオススメの本 -Web制作者のためのGit入門 Gitと仲良くなれる!Web制作者がGitを危なげなく便利に使うためのノウハウを学べるオススメの本 -Web制作者のためのGit入門 | コリ…

Apacheがメモリ足りなくて息しなくなったので、調べてみた。

運用してるサービスが、アクセスもそんなにないのに何か動きが遅い・・・ 再起動させてみると、復活するが少し時間が経つとすぐにダメになる・・・ということで、psコマンドで確認したところ、apache2さんが30個ぐらいプロセス立ち上げて合計90%ぐらいのメモ…

画面サイズに合わせてタブをアコーディオンに切り替えるレスポンシブ対応jQueryプラグイン「Easy-Responsive-Tabs-to-Accordion」がすごい

いやー、タイトル頑張った。 LPとかキャンペーンとかサービス紹介のページとかで、 タブ使って説明したりするじゃないですか?あれ、スマホサイズにきちんと合うようにしても スマホだとUI的にタブってあんまりうまく機能しない(させずらい)し どうしよう…

レスポンシブ対応のスライドギャラリーのslickで強制的に左右のボタンを出す方法

slick - the last carousel you'll ever needめちゃめちゃ高機能でレスポンシブ対応なslickなんですが、気を利かせすぎてくれて、不必要な時には左右に動かすボタンが出ない! で、強制的に出す方法はないかと思い探していたら、同じ仲間が居ましたw Hello. …

Laravel4をcomposer create projectしてたらエラーでた

mcrypt PHP extension required. Script php artisan clear-compiled handling the post-install-cmd event returned with an error [RuntimeException] Error Output:mcryptがないらしいので、確認 $php -m | grep mcryptない。返事がない。ということで、h…

Laravel4のView(bladeファイル)内で変数に何か代入する

bladeファイルをとりあえず使ってたんだけど、 簡単にechoしてくれるし、条件分もループも書きやすいんだけど、 変数に代入するとかいう普通の式の書き方を知らないことが判明。 {{-- */$foo = “var"/* --}}こうすると、 という風に変換される模様。bladeの…

Twitterがアナリティクス・ダッシュボードを公開したので、使ってみた

私のツイートを読んだ人数は? Twitterがアナリティクス・ダッシュボードを公開(日本語も) - TechCrunch 7月にTwitterは素晴らしい機能をローンチした。非常によく出来たアナリティクス・ダッシュボードだ。Google AnalyticsのTwitter版ということろで、ツ…

.bashrcが読み込まれなかったので、bash_profile作った。

₍₍⁽⁽(ી(*゚▽゚*)ʃ)₎₎⁾⁾ノリノリ!で環境設定していたんですが、何やらターミナルを起動させたときにbashrcが読み込まれてない。ということで、.bash_profile作って下記のように設定。 if [ -f ~/.bashrc ] ; then . ~/.bashrc fi これでOK!₍₍⁽⁽(ી(*゚▽゚*)ʃ)₎₎⁾…

新しい環境に移行したらvagrant upできなかった。(環境構築してなかっただけ)

まるっとboxファイルなども移行させたんだけど vagrant upコマンドを打てるまでに色々あった。chef入ってないとか云云かんぬん。 Chefとか入ってない Gemfile作ってるので余裕!と思ったら、Bundlerが入ってなかった。 > gem instawll bundler > bundle inst…

新しいMac買ったので、ことえりのユーザー辞書も移行した。

[箱] Mac OS X Mavericks ことえり 辞書のインポート・エクスポート 方法 | [箱]ものくろぼっくすこれを参考にしました。というか、記事として何も書くことないレベル。 エクスポート 設定 > キーボード > ユーザー辞書で開いて、対象の辞書登録されたものを…

新しいMacを買ったので、環境構築など全部やり直してみた

会社から貸与されたMacを普段使っているのですが、さすがにもうそろそろ自分のMacを買おうと思いMBPを購入!タイムマシンで丸っと移し替えても良かったのですが、割とクリーンなところからやり直したいな、と思い全部0から入れることにしました! 起動直後 G…

【解決済】Laravelでlaravel-js-localization使ってたら、突然動かなくなった

andywer/laravel-js-localization · GitHubLaravelで言語ファイルをlang/ja/user.phpみたいな形で用意すると思うんですが、それをjs側からも簡単に呼び出して扱ってしまおう、っていうのがこいつの仕事。一つのリソースから読み出すって良いね₍₍⁽⁽(ી(*゚▽゚*)ʃ…

Laravel4でインストールした時に「Error in exception handler.」

まさにこのまんま。Apacheで動かして、ブラウザでアクセスした時に「Error in exception handler.」。このメッセージしか出ないもんだから困った。 で、調べてみると権限系での問題らしい。 /var/www/laravel/app/storage/logs/laravel.logこのファイルに対…

peclでimagickでMacに入らなかったのをなんとか入れた話

Mac OSにimage Magickをインストールして、 それをphpでも呼び出そうとした時の話で、 imagickというのが必要で、 sudo pecl install imagcikコレで入るはずだったんだけど、入らなかった。OSX に PECL::imagick をインストール : Serendip - Webデザイン・…

使ってないsendmailを停止して自動起動しないようchkconfigした

使ってないsendmailを停止して自動起動しないようにchkconfigから消し去りました $ sudo /etc/rc.d/init.d/sendmail stop sm-client を停止中: [ OK ] sendmail を停止中: [ OK ] $ sudo /etc/rc.d/init.d/sendmail status sendmail は停止しています sm-cli…

CakePHP2でログイン周りのセッション時間変えてみた

タイトルのとおりなんですが、弊社で開発してるメディアの管理画面がセッション切れるのが早いぜ、という苦情が入りまして、変更しようと思ったのがことのはじめ。core.phpにセッションの設定があるので Configure::write('Session', array( 'defaults' => '…

【解決済】vagrantの共有フォルダの権限がどうにも変えられねーぜ!!

という訳で、表題のとおりです。vagrant sshとかなんとかしてvagrantの中に入って CakePHPを作ったのは良いが、 よくあるあるのtmpフォルダの権限が足りません問題。とりあえず、nginxちゃんに権限を渡さないといけないんだけど、 chmodもchownも効かない模…

【解決済】Apacheからnginxに乗り換えたらPHPのセッションが効かなくなった件

表題のとおりですよ、ええ。 既に動かしてるサービスでアクセス過多で Apacheちゃんが止まっちゃったので、 ningxに乗り換えたんですよ。順調に動いているかのように見せて 管理画面にログインが出来ない!!なぜか出来ない・・・nginxで動かしてる別サービ…

普通の会社で仕事できる人になるたった1つの方法

社会人になって、はや二年ですがたかだか二年、されど丸二年。Webの制作会社とかにも居たので一応クライアントとか 色々な社会人に触れて来たような気はする訳です。そこで仕事できる人になるための1つの方法が分かりました。それは 普通のことを普通にこな…

CakePHPの大量にクエリを投げまくるバッチ処理でメモリ不足にならないように

CakePHPでバッチ処理作った時にメモリ不足になったので。色々調べるとこんなことが出来るらしいのでメモ。 $this->Model = ClassRegistry::("Model"); $this->Model->cacheQueries = false; // 無効化 こんな感じ。Modelの属性なのでFooモデルだとFoo.php内…

大学院中退して働き始めて丸2年経った

気付けば大学院中退してか2年経ってました。つまり社会人2年目が終わり、3年目に突入しました。フリーランスのようなニート期間を3ヶ月挟みましたが、 1社目は設立半年も経ってないようなベンチャーで 2社目は入社当初は設立3年目のベンチャーでした。 (詳…

プログラマが知るべき97のこと

この前、はてぶか何かでバズってたのを見て買いました。 構成 97のことがつらつらと書かれているのではなく、 基本的には見開き2ページで収まっていて見やすい。実査には97のことに加えて、まつもとひろゆきを含む 日本人プログラマーからの10のことも追加さ…

tableにborder-radiusは効く!しかし、box-shadowは丸まらない。

マジ、表題の通りです。泣きそう。 頂いたデザインではねーテーブルがあってね、可愛いんですよ、角丸な感じで。しかもドロップシャドウをかけて良い感じになってるんですよ。 カワイイ、カワイイ。 <table> <tr> <th>テースト</th> <td>1つ目</td> <td>2つ目</td> <td>3つ目</td> </tr> <tr> <th>下の段</th> <td>ポテチ</td> <td>アクエリ</td> <td></td></tr></table>…

Cakephp2.xで複数のログインを実装する方法

ユーザーがログインするシステムを作ってるとどうしても、adminもログインして管理画面を持つようになりますよね。そこに対して、別のモデルでのログイン機構を作るのに手間取ってました。が、良い記事を見つけて解決出来そうです。1ヶ月前になんで見つけら…

Ruby on Railsのbudle installでrmagickで詰まってしまった。

Ruby - gem install rmagickを通す - Qiita一応解決済み。 rmagickのインストール中にbundle installが詰まってしまった。個別で、gem installしようとしても詰まる(´・ω・`) 結局、何かと思ったら、そもそもimagemagickがインストールされてなかった模様。bre…

【エンジニア採用】割と良かったスキルを測る方法メモ

最近は、新卒・中途ともに弊社のエンジニア採用担当として、採用の場に立つことが多くなって来ました。弊社は別にスーパーマンではなく、割と普通のWebエンジニアを求めているので、即戦力ももちろんなんですが、数ヶ月の教育を施した後に戦力になってくれる…

なんだかんだで生きていける

もうそろそろ、働き始めて丸2年。大学院中退して、スキルも大してないのに 1年も経たない間に会社も辞めてしまって 一体オレの人生どうなるんだろう、と一時期は思っていたけど もうそろそろ、どうにかなるっぽい最低限のとこまでは来れた。 けど、色々な意…

今度使ってみたいものメモ

Foundation | The Most Advanced Responsive Front-end Framework from ZURB体感!JavaScriptで超速アプリケーション開発 -Meteor完全解説:連載|gihyo.jp … 技術評論社

ソーシャル肉マッチングサービス!ソーシャル肉ルーティングリリース!!

ソーシャル肉ルーティング - 肉が大好きなすべての人々のために - ついにリリースできた!ソーシャル肉ルーティング! お腹を空かせた学生のための、肉食就活サイト とか 肉食就活 | 腹を空かせた就活生に肉をおごってくれる人を募集する肉食就活生サイト と…

さくらのVPSのCentOS6.4で、PHP5.5を入れる方法

さくらVPSのCentOSでさくっと yum install phpでも、しようものなら、バージョンの低いPHPがインストールされてしまう(´・ω・`) そうなると、残念ながら $test = [ 'a' => 'test', 'b' => 'test2' ];のようなスマートなarrayの書き方が出来なかったりする。 そ…

Cakephpで作ったアプリケーション用にAmazon EC2でマイクロインスタンス作ったら、色々詰まった件のメモ

まさに、表題の通りです。実は、今日ほぼ初めてAmazon EC2を触ったんですが、 ドキドキしながらローンチして、そこからApacheとかPHPとかMysqlとか入れてました。 さくっとインストールしたら、PHPのバージョン低い Amazon Linuxで立ち上げたので、 さくっと…

Cakephp2.xのPaginatorで生成されるURLをクエリ型にする

CakePHP2.xでページング機能を実装していて、 Paginatorを使っていて、デフォルトで生成される ○ページ目のURLがコロンを使っていて気持ち悪かった。 (下記のようなURLが生成される) http://sample.com/articles/index/page:3出来れば、クエリ型(と呼ぶの…

メモ

FacebookAPIを叩いて、データを取ってきて Google Drive上のスプレッドシートに、データを書き込む【参考】 nov/fb_graph · GitHubgimite/google-drive-ruby · GitHub

su: Sorry

Macのコンソールではsuコマンドを打っても パスワードが設定されていないらしく su: Sorryと、エラーメッセージが出るらしい。(というか、となりのデスクで出た)シンプルに謝られると笑ってしまったw su: Sorry « できるWEBサイトにする為に何が出来るのか

Cakephpの変数の呼び出し

備忘録として$this->request->data('Model.field') は、セットされてない場合は、nullを返してくれる $this->request->data['Model']['field'] じゃなくて、こっちを使った方が良い。 #CakePHP[参考] リクエストとレスポンスオブジェクト — CakePHP Cookbook…

vagrantでCentOS起動して、LAMP環境構築を今更ながらにやってみる[その2]

前記事の続きです。vagrantでCentOS起動して、LAMP環境構築を今更ながらにやってみる[その1] - Ich lerne Laravel und CakePHP前回は、vagrantでCentOSを起動させて、sshでログインするところまでやりました。今回はとりあえず、 Apache Mysql PHP をインス…