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

Furudateのブログ

プログラミングやネットワーク系の知識・技術がメインのブログ。技術メモ帳的な感じになるかと。岩手から発信していきます。

【PHP】CakePHPで特定のバリデーションルールを解除

PHP

こんにちは。 CakePHPではモデルの$validateにバリデーションルールを指定しています。 ここで指定するとsaveのときや $this->Model->validates() で自動でバリデーションをしてくれてとても便利です。 しかし、場合によってはバリデーションルールの一部を…

【PHP】CakePHP2でcurlを使ってREST APIを叩く処理

PHP

こんにちは。 最近、自作したAPIをCakePHPを使って叩こうとしたのですが、何を使えばいいか迷いました。 PHPを使って外部のリソースを取得したりAPIを叩くとき、file_get_contentを使う方法があります。 しかし、パフォーマンス的にはcURLを使ったほうが良い…

【Excel】文字列処理の便利な関数まとめ

こんにちは。 今回はExcelについてです。 Excelで改行削除とかスペース削除とかの文字列処理をしたいときに使える関数をまとめておきます。 今回は完全に自分の備忘録です。 関数名 説明 CLEAN関数 改行コードを削除(厳密には印刷されない制御文字を削除) …

【PHP】CakePHP2.x系での別モデルの使用方法まとめ

PHP

こんにちは。 久々にCakePHPについての更新です。 今回は小ネタ的な感じですが、あるコントローラーから別のモデルを使いたいとき、あるいはあるモデルから別のモデルを使いたいときの方法をまとめておきます。 以下では、hogeコントローラー、hogeモデルに…

nvmをHomebrewでインストールしてみました

こんばんは。 今までnode.jsをHomebrewでインストールしていたんですが、今更ながらnvmで管理することにしました。 nvmはnodeのバージョン管理ツールです。 nvmはHomebrewで入れたのでインストールから設定と使い方までメモしておきます。 nvmのインストール…

MacにTermExtractをインストールして使ってみる

こんにちは。 最近自然言語処理のツールを色々といじっています。 今回は専門用語自動抽出ツールであるTermExtractというものをインストールして使ってみたいと思います。 ツールのページはこちら。 Web版もありますが今回は自分のシステムに組み込みたいこ…

Wikipedia上位下位関係抽出ツールを使ってみた

おはようございます。 最近研究関連で言語処理の分野を見ています。 今回はWikipediaのダンプデータを使って用語の上位下位関係(is-a関係)を抽出するツールがあったので、それを使ってみました。 ツールはこちら。 なお、後述しますが抽出にはかなり時間が…

Mecab-perlのインストール

こんばんは。 Mecabについて、これまでPHPのバインディングやRubyのバインディングをインストールしてきました。 次はperlのバインディングをインストールしたいと思います。 やり方はRubyのときとほぼ一緒だと思いますが・・・ # mecabのバージョンに合わせ…

BerkeleyDBとperlのDB_Fileモジュールのインストール

こんばんは。 今回はperlのDB_Fileモジュールというものを使いたかったのでそれのインストール方法をメモしておきます。 このモジュールをインストールするためにはBerkeleyDBというDBMSの一つをインストールする必要があります。 DB_FileはBerleleyDBの一部…

Cabochaをインストールしてrubyで使えるように

こんばんは。 今回はCabochaをMacに入れてみたいと思います。 Cabochaは係り受け解析器です。 今回はすごく簡単でした。 なお、mecabがインストールされていないと動かないので注意です。 インストール まずはインストールです。 こちらからダウンロードして…

vimのよく使うコマンドや便利なコマンドなど

こんばんは。 今回はvimについて、よく使うコマンド、便利なコマンドなどを細かい部分を含めてメモしておきたいと思います(よく忘れるので…)。 基本的なコマンド まずは基本的な部分です。 :(コロン)を使わない基本的なコマンドをここに記載します。 カー…

git submodule の使い方

Git

こんにちは。 今回は個人的に最初ちょっと扱いづらかった git submodule について基本的な使い方をメモしておきたいと思います。 git submoduleは外部のgitリポジトリを自分のリポジトリのサブディレクトリとして扱うことができるようになるものです。 clone…

mecab-rubyのインストール方法

こんにちは。 今回はMecabをRubyで使えるようにするために、OS Xにmecab−rubyをインストールします。 mecab−rubyはソースをダウンロードしてきてインストールします。 ただ、gemでもインストールすることができるのでビルドしたくない方はそちらで。 しかし…

rbenvでコンパイラ関連のエラーが出たときの処理

rbenvで「C compiler cannot create executables」っていうエラー文が出たときの対処法。 ちょっと詰まったのでメモしておきます。 Homebrewで apple-gcc42をインストール Rubyをインストールする際にgccのバージョンを指定する $ brew install apple-gcc42 …

Google日本語入力の設定

こんにちは。 突然ですが自分はMacのIMEにはGoogle日本語入力を使っています。 Windowsのときからずっと使っているのですが便利ですよねこれ。 しかし、すこし不便に思うところもありました。 Macの場合は command + space で入力モードを切り替えますが、使…

Gist.vimのインストールと使い方

おはようございます。 ブログに書くソースコードをGistにアップロードしようと思って、何か良いのないかなーと思ってたらgist.vimというvimのプラグインがあったのでそれのインストールと使い方をメモっておきます。(結構今更感ありますが・・・) といって…

mecabにWikipediaのタイトル一覧とはてなキーワード一覧をユーザ辞書として追加し、PHPとRubyで使ってみる

こんばんは。最近mecabをいじっています。 今回はmecabにWikipediaのタイトルとはてなキーワード一覧をユーザ辞書として追加してみたいと思います。そしてプログラム上で使ってみます。 といっても、結構他の人がやっていてやり方を分かりやすくまとめてくだ…

mecabのインストールと辞書追加

こんばんは。 今回はMacにmecabを入れ、PHPで使えるようにしたいと思います。 なお、私の場合はphpenvでPHPを管理しているので、以下はそちらに合わせた環境構成となります。 mecabインストール まずはmecabのインストールです。 Homebrewで簡単に出来ます。…

HomebrewでApache、PHP、MySQL、phpMyAdmin追加

こんばんは。 ローカルでの開発環境として今までMAMPを使っていましたが、MacにはMAMPを使わずともApacheやPHPなどがあるので、どうせならそちらを使いたいと思い、MAMPを使わない環境構築をしてみました。 今回は、Apache、PHP、MySQL、phpMyAdminを使える…

【Excel】条件付き書式でセル内の文字列が改行されているかを判断する

こんばんは。 今回はエクセルについての豆知識です。 エクセルで最近条件付き書式を使って強調表示とかをよく使います。 その際に、”セル内の文字列が改行されている場合セルの書式を変更する”というような条件付き書式を設定したかったのですが、ここで結構…

Homebrewで入れたものまとめ

こんにちは。 今回はHomebrewで入れたものについてまとめたいと思います。自分のメモ用です。 随時更新すると思います。 インストールしたもの一覧 curl git node wget perl-build plenv pyenv rbenv ruby-build rbenv-default-gems openssl readline Ruby, …

ターミナルの便利なショートカットとコマンドまとめ

こんにちは。 今回はターミナルについて、ショートカットキーとかコマンドの小技とかまとめたいと思います。 これで作業効率を劇的にアップさせましょう! ターミナルの便利なショートカット 使用頻度は完全に主観です。 Altキーを使えるようにするには、タ…

【Ruby】HomebrewでrbenvをインストールしてRubyの最新版をインストール ついでにpyenvとplenvも入れる

こんばんは。 MacにはデフォルトでRubyが入っていますが、バージョンが古いです。 今回は、Rubyのバージョン管理ツールであるrbenvをHomebrewで入れ、rbenvからRubyの最新版を入れてバージョンを切り替えるようにします。 ついでに、同じようにPython、Perl…

Macのバッテリー情報をグラフ化したやつ

こんばんは。 私の大学でアドベントカレンダーやってます。 その関係で、この記事のタイトルにもなっている、Macのバッテリー情報を取得してグラフ化するものについてQiitaに初投稿してみたのですが(前から使ってはいましたが)、いやー便利ですね。 kobito…

vimのプラグインについて

こんにちは。 最近色々とVimのプラグインについて調べていたので、ここでまとめてみたいと思います。 .vimrcはこちらで公開しているのでよろしければ。 今回はまずVimのプラグインを自動管理してくれるNeoBundleというツールを入れ、それから各プラグインをN…

dotfilesをGitHubで管理する

こんにちは。 最近tmuxやvimのプラグインにも手を出し始めました。 その結果.vimrcや.tmux.confなどのドットファイル(設定ファイル)を割と頻繁にいじるようになったので、これらをGitHubで管理しようと思います。 ちょっとめんどくさそうで後回しにしてい…

tmuxの導入とよく使うコマンドまとめ

こんばんは。 tmuxをご存知でしょうか? 自分は知ってはいたのですが使い方がよく分からず、使っていませんでした。 しかし、その便利さに気がついてからはもう必須となりました。 sshしているときに複数のターミナル(画面)を使いたい時も便利ですし(OS X…

Mac(OS X)ではcronじゃなくてlaunchdでやる

こんにちは。 前にcrontabの書き方についてこちらの記事に書きましたが、Macの場合はlaunchdを使ったほうが良いみたいです。 今回はlaunchdについて書きたいと思います。 launchdとは? launchdはデーモン、アプリケーション、プロセス、スクリプトの起動・…

【PHP】CakePHP2の環境構築と初期設定

こんばんは。 今更ですが、CakePHP2系列の環境構築と初期設定のやり方をまとめておきます。 ここではTwitterBootstrapの導入まで行います。 複数人で開発するときに環境構築のところで色々エラーが出て非常にめんどくさい思いを今したので・・・。 1. CakePH…

crontabの書き方と安全な使い方

こんばんは。 今回、何気に今までcrontabをあまり使っていなかったので、その使い方とかをまとめてみたいと思います。 cronとは cronはUNIX系のデーモン(常駐プログラム)の一種で、ユーザが設定したスケジュールに基づいて指定したコマンドとかを自動で実…

【PHP】MAMPでCakePHPのbakeコマンド実行したらMySQLに接続出来なかった時の対応

PHP

久しぶりに記事更新です。 今回はCakePHPについてです。 MacのMAMP環境でbakeコマンドでモデルを作成しようとした際、mysql.sockが No such file or directory となってしまい、MySQLに接続出来ませんでした。 色々調べてみた結果、こちらの記事に解決策が書…

【JavaScript】ローカルファイルにテキストを出力して保存

こんにちは。 久々の更新になってしまいました。 今回はJavaScriptについてです。 先日とある人から「ボタンを押した数をカウントしてテキストファイルに保存したい」という要望がありました。 要望だけ見ればものすごく簡単です。 ただ、今回はWebサーバ環…

【Android】DialogFragmentのdismissで落ちるときの対策

こんにちは。 これまでDialogFragmentについて何回か触れてきましたが、どうもたまに dismiss で落ちることがあるようです。 DialogFragmentの表示を消すときは、基本的に以下のようにして消していました。 if (dialogFragment.getShowsDialog() && dialogFr…

【Android】AsyncTaskでバックグラウンド処理とキャンセル対応

こんばんは。 今回は、Android(Java)でバックグラウンド処理(非同期処理)をする方法について、メモします。 また、バックグラウンド処理中にプログレスダイアログを表示させ、キャンセルにも対応するようにしました。 Androidでバックグラウンド処理をし…

【PHP】DBpedia Japaneseから情報を取得する

PHP

こんばんは。 最近、オープンデータの勉強をしました。 そこでSPARQLについて使い方を少し学んだので、これを使って前々からやりたかったDBpediaの情報をPHPで取得するということを今回はしたいと思います。 SPARQLをPHPで使おうとすると、ライブラリ等を使…

【Android】キャンセルボタン対応のProgressDialog

こんにちは。 前回のエントリーでDialogFragmentについて触れました。 この記事の中でProgressDialogを実装していますが、今回はこのProgressDialogにキャンセルボタンを付けたいと思います。 それでは早速コードを書きます。 なお、インスタンス生成時の引…

【Android】DialogFragmentを使ってみる

こんにちは。 前回、こちらのエントリーでAlertDialogについて触れました。 このエントリーの最後にも書いてあるのですが、現在はDialogFragmentが推奨されており、こちらを使うのが良いようです。 そこで、今回はこれを使ってAlertDialogとProgressDialogを…

【PHP】PHP 5.5 でプログラムの更新が反映されないときの対応

PHP

こんにちは。 MAMPでPHPをいじっていたところ、なぜかソースの変更がすぐに反映されず、何回かリロードしたらやっと反映されるという現象が発生しました。 これの理由はキャッシュが影響しているそうです。 そこで、こちらの記事を参考に以下のように設定し…

【Git】SSH Keyのファイル名を変更したときの対応

Git

こんにちは。 MACに乗り換えてからGitHubとの接続設定してないなーと思い、ssh-keygenで鍵を生成しました。 その際に、単純にid_rsaだと後々他のとSSH接続しようとしたときに被ってしまう恐れがあったので、ファイル名を変更しました。 しかし、その際にSSH…

Eclipseの初期設定

こんばんは。 MacにEclipseを入れたのですが、やったほうがいい初期設定とか忘れていたのでメモしておきます。 Android-SDKのインストール とりあえずAndroid開発環境の構築です。 MacはWindowsに比べて簡単な感じがあります。 とりあえずSDKをダウンロード…

SublimeText 2 環境設定とプラグインについて

こんにちは。 今回はテキストエディタについてです。 WindowsからMacに移行してから、今まで使っていたさくらエディタからSublimeText 2 に乗り換えました。 SublimeTextは多機能なため、色々と設定項目やプラグインがあります。 そこで、今回はSublimeの設…

【Mac】購入後の初期設定とインストールしたアプリ

こんにちは。MBPを昨日から本格的にいじり始め、今日やっとWindowsから大体の移行が終了しました。 結構時間かかりましたが、やっと満足いく環境になったかなと思います。さて、それではWindowsからMac(OS X 10.9 Marvelous)に乗り換えたときに、便利だと…

MacBook Pro Retina買いました!

こんにちは。自分は今までWindowsユーザでしたが、ついにMacユーザとなりました!やはり色々と開発なり何なりをするうえでUnix環境は便利だし、Windowsだとちょっとしたことが出来なかったり(色々と設定すればできますが)だったので、Macに乗り換えました…

【Android】画面起動後にフォーカスを当てるViewを指定するのと指定した文字の後にカーソルを移動する

こんにちは。今回はAndroidのフォーカスについてです。画面起動後、EditTextなどにフォーカスを自動で当てたりしたいときがあります。 その方法を今回はメモしておきます。 起動後にEditTextにフォーカスを当てる 早速コードです。 レイアウトファイルで定義…

【Android】ボタンの表示・非表示

こんにちは。今回はAndroidでのボタンの表示・非表示です。 簡単なのですが、つい忘れがちなのでメモしておきます。さっそくソースです。 Button btn1 = (Button)MainActivty.this.findViewById(R.id.Button01); btn1.setVisibility(View.VISIBLE); // 表示 …

【Git】GitやGitHubでよく使うコマンド一覧

Git

こんばんは。今回はGitやGitHubでよく使いそうなコマンドをまとめておきます。 自分のメモ的な意味合いもありますが、これさえ覚えておけば基本的な部分は全部出来るようにしたいと思います。 絶対に使うコマンド git initまずはこれ。基本ですね。リポジト…

【Git】Windowsにmsysgitをインストール

Git

こんにちは。前の記事で、GUIベースのGitクライアントツールであるSourceTree for Windowsをインストールしました。今回は、CUIベースのツールで、Windowsでも出来るmsysgitをインストールして、Gitの環境構築を行い、簡単にGitHubを使ってみたいと思います…

【PHP】サムネイル画像作成

PHP

// dstの値から最適なサイズにリサイズ(縦横比を) function getImageSizeForSmartResize($dstWidth, $dstHeight, $srcWidth, $srcHeight){ $factor = min*1; return array($factor * $srcWidth, $factor * $srcHeight); }// サムネイル画像作成 function c…

【PHP】includeとrequireの使い分け

PHP

こんにちは。今PHPを教えているのですが、その際にincludeとrequireについて触れたのでここにも書いておきたいと思います。 外部ファイルを読み込むinclude()とrequire() PHPで外部ファイルを読み込みたい場合は、include()関数かrequire()関数を使います。…

【CSS】CSSファイルを分割する際のファイル名とCSSリセット

CSS

参考にさせていただいたサイト CSSファイルの分割 | d-spica効率よく作るために私がしているCSSファイル分割方法|WEB Drawer[CSS]2012年最も人気のあったCSSリセットとどれを使えばいいかの指針、と上手に使うポイント | コリス