Pebble Coding

ソフトウェアエンジニアによるIT技術、数学の備忘録

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

doxygen形式の関数コメントを生成するvim plugin(C、Objective-C対応)

Vim Advent Calendar 2013 29日目の記事です。こんにちは@pebble8888です。 昨日は@kobadesuさんのはてなブログへVimからポストする でした。 普段のプログラミング作業で、関数のdoxygenコメントを書く時間をなんとか短縮できない かと思い、ひな形コメント…

C++11

C++11の気になる機能 スライド流し読みして気になったのをpickup. auto型推論 iterator定義のコーディング量が減りそうだけど使うかなあ。 decltype型推論 宣言の仕方覚えるのに時間かかりそう。 ラムダ式 Objective-Cで言うBlocksですが、覚えられるかなあ…

Windowsの美しいテーマ(壁紙)をMacで使う

Windows7以降、壁紙を拡張したテーマというファイル形式が新しく出てきました。 画像ファイルと音声ファイルをまとめて圧縮したものなのですが、 テーマの場合はMacの壁紙に設定するのに若干手順が必要なのでその手順です。 Microsoftが無料で提供する壁紙の…

mysql コマンド覚え書き

mysql久々にいじったらコマンド完全に忘れていたのでメモ。 ルートでログイン。パスワート要入力。 $mysql -u root -p データベース名リストアップ mysql>show databases; テーブル名リストアップ mysql>use {データベース名}; mysql>show tables; OSXでbrew…

gitkを改良してWindow位置を復元する

私の開発環境の一つはMacBookProと27Inch Thunderbolt Displayを使ったデュアルディスプレイ環境です。 頻繁に使うコマンドの一つにgitk --allがあるのですが、 このgitkコマンド君、ウィンドウ位置を復元してくれません。 普通に実行すると、MacBookProの本…

C++,Objective-C の使い手のためのRuby講座

Rubyのクラスの理解に苦しんでおります。 Rubyのこの概念はC++,Objective-C でいうところのコレだよって感じに 強引に理解していこうと思います。 RubyはわりとObjective-Cに似ているので、そこから理解した方が 早く理解できそうです。 なぜかRubyの本にはO…

railsでDBのテーブルに外部制約キーをつける場合の注意

railsでデータベースのテーブルに外部制約、CASCADE DELETEをつけたい場合は、 Gemfileにforeignerをつけてmigrateするか、SQLを手で作らないといけないらしい。 参考URL http://d.hatena.ne.jp/iriya_0624/20130427/1367082310 注意点として、 rake db:migr…

Xcode4.6.3(2013-08-21時点最新)でメモリリークを調査する際のTIPS

Xcodeでメモリリークを調べる場合はInstrumentsを使います。 Menu - Product - Profileを実行すればよいです。 うまく動かないときは、一旦iOSSimulatorで動かしてから実デバイスで実行してみてください。 私はメモリリークを調べる際は、実デバイスで行って…

sshのユーザー鍵のクライアント側の設定について

完全に忘れていてはまったのでメモ。 ssh周りで調査をするときは ssh -Tv username@serverhost ってやるといい。 クライアントのユーザー鍵を作るときは $ mkdir ~/.ssh $ chmod 700 ~/.ssh $ cd ~/.ssh $ ssh-keygen 鍵の名前をデフォルト(id_rsa)から変え…

Amazon Web ServiceのAmazon LinuxにGitLabをインストールする手順書

AWSにgitlab5.3をインストールまでの備忘録です。 めっちゃ長いです。あしからず。 この手順書ではシステム全体に入っているruby1.8には手をつけず、 gitユーザー環境のみにruby2.0を入れていますが、修正作業が増えるので 問題がない場合はシステム全体のru…

AWS無料枠

AWSが無料キャンペーンをやっていたので、使ってみた。 25$分の無料クーポンゲットらしい。 元々1年間は以下の範囲で無料のようです。 EC2) Linux 750H/Month マイクロインスタンス(メモリ613MB,32/64bit) ちなみに24h30=720H マイクロインスタンスはディス…

Kaoriya版MacVim利用時のTIPS

vim

Kaoriya版MacVimで嫌なのが、設定を~/_gvimrcファイルに書かなくてはいけないこと。 これが嫌でオリジナルMacVimを使っていたのだが、日本語入力中におかしくなったり、 制御コードを含むSJISファイルのDiffが文字化けしたり、残念すぎるので、Kaoriya版MacV…

printfによるデバッグ(Objective-C/VisualC++/Ruby/Python/Go/JavaScript/Java)

私がデバッグする際はprintfなどでデバッグ情報をコンソールに出力し、 止めたいところではassert()を埋め込んでおきます。 Objective-Cでは、以下のようなデバッグ出力をマクロを使います。 #define ALog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY…

windows用gvimインストール

vim

いつもWindows環境にgvimを入れる際につまづくのでメモ。 香り屋版は使用しない。 理由は私の.vimrcだとBundleでインストールしたカラースキーマがなぜか反映されないから。 インストールは以下にあるvim73-x64.zipというのをダウンロードして使用する。 htt…

vimでObjective-Cのblocksのハイライトがおかしいのをなんとかする

vim

vimでObjective-Cのblocks(JavaScriptの無名関数のようなもの)が使われているソースを表示すると、 このように「波括弧(curly bracket)の文法が間違ってるで〜、兄さん」と 丁寧に赤くハイライトされます。 しかし、これは正しい文法なので、ハイライトされ…

VimユーザーのためのSublimeText2の設定

vim

円安が進んでしまって、もっと前にSublimeText2のライセンスを買っておくんだったorz それはそうとSublimeText2のキーバインドをvim仕様にする方法が面倒なので、 手順書を作りました。 1) インストールはここから http://www.sublimetext.com 2) メニューか…

MacOSX 10.8 + VirtualBox4.2.14 + CentOS 6.4 64bit(+Guest Addition) +フォルダ共有

いろいろやっていて、結局、最新版使えば問題なかったってオチだった。 Vagrantとか必要なかった。 最新MacBookProおよびAirはUSB3ハブなのでUSBメモリは使えないがホストOSの共有フォルダが使えれば十分だ。 以下、インストール手順 1) VirtualBox 4.2.14 f…

Virtual Box4.2.10+CentOS6.3(64bit)+Guest Addition インストール

CentOS6.3のguest additionのインストールでコケる。 Building the main Guest Additions module [FAILED] ログを見るとmakeがないというエラー。 んん?makeコマンドは入っとるぞ。 ググりまくって回答を見つけた。 カーネルソースパスへのシンボリックリン…

vagrantとVirtualBox4.2.14の相性

WEB+DB Vol.75の記事(ChefとVagrantによるインフラのコード化)の通りにやったら、 vagrant upコマンドで失敗した。 ~$ vagrant up Bringing machine 'default' up with 'virtualbox' provider... [default] Importing base box 'centos'... There was an err…

MacOSXにPlayの環境をセットアップする

さて、Ruby on railsもなんとなく理解できたので、別のWEBフレームワークも試してみたい。 ということで、目をつけたのがJavaのMVCフレームワークであるPlay。 JavaのMVCフレームワークというとStrutsがデファクトスタンダードらしいですが、 今から始めるな…

MacOSXのvimでREADME.mdを編集しながらブラウザでプレビューする [その2]

vim

なぜかsuan/vim-instant-markdownのvimプラグインはMountainLion環境で動きやがらないので、別のvimpluginを見つけてきました。こちらは、コマンドを打つ必要がありますが、大事なのは動くことです。 git://github.com/nelstrom/vim-markdown-preview.git ru…

MacOSXのvimでREADME.mdを編集しながらブラウザでプレビューする[その1]

vim

[追記] この方法はインストールに時間がかかる、かつ、動かない場合がありますので、 その2の方法がおすすめです。 どうしてもリアルタイムプレビュー機能が欲しい方はこの方法をトライしましょう。 vim pluginを入れるだけなのですが、ちょっとハマったの…

gem installが遅いのを改善する

gem install がやたら遅いので、何故こんなに重いんだろうと思ったら、 大抵はドキュメントのインストールで時間がかかっているようだ。 ドキュメントなんて要らねえ!ということで、なんとかする方法がないかと思ったらありました。 ~/.gemrcファイルを新規…

CentOS上のrailsアプリをapacheでポート80で動かす。

passengerというのはrailsで作ったアプリを80番ポートでapacheで動くようにしてくれるもの。apacheをソースからコンパイルし直す必要があるみたい。 後々、足りないと指摘されるので、事前に必要なモジュールをインストールしておく。 #yum -y install httpd…

CentOS6のデスクトップで日本語全角文字を入力できるようにする。

#yum -y groupinstall "Japanese Support" ~/.bash_profileのファイルの末尾辺りに以下の2行を追加する。 LANG=ja_JP.UTF-8 export LANG OS再起動する。 メニューから システム-設定-入力メソッド を選択し、「IBusを使用する(推奨)」を選び、「入力メソッ…

CentOS6.4の特定ユーザー環境にruby2.0とrails4をインストールする手順書

事前準備 C/C++コンパイラのインストール sudo yum -y install gcc gcc-c++ develop用OpenSSLのインストール sudo yum -y install openssl-devel sqlite使う場合はdevelop用sqlite3のインストール sudo yum -y install sqlite3-devel ruby 2.2.0をインストー…

ruby ソースコード中の改行

rubyは基本的に改行を文の終わりとして認識する。 そのため、続けたい場合はバックスラッシュを入れればいいのだが、 そんなプログラム見たことない。 この方の記事 によると、ある程度は自動認識してくれるらしい。 結論としては、文が長くなってしまった時…

Dashが素晴らしい

rubyのメソッドなのかrailsのメソッドなのか訳が分からなかったんだけど、 DashというMac用の無料アプリをインストールし、RailsとRubyのヘルプ入れたら、 完璧だった。。素晴らしい。 これ入れてない人はどうやっているのだろうか?

ruby on rails メモ

pythonに浸かってからrailsに戻ってきたら、きれいに全部忘れていた。。 もったいなさすぎるので、ruby on railsに関することはメモしておくことにする。 それにしても、rubyやpythonは省略記法がやたら多いので、同時にやってたら 間違えやすい気がするんだ…

vim コマンド覚え書き

vim

微妙な使用頻度で使いたいときにはいつも忘れているvimコマンドをメモして置く。 CTRL-W 押した後にH ウィンドウが縦に2つ並んでいる状態から、左右に並んだ状態にする。 CTRL-W 押した後にK ウィンドウが横に2つ並んでいる状態から、上下に並んだ状態にす…