Pebble Coding

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

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

Digital Oceanでのサブドメインの設定方法

Digital Oceanでのサブドメイン設定方法です。 ここではメインドメインがpebblesky.com サブドメインがwordhoard.pebblesky.comとambienttrip.pebblesky.comの2つです。 Digital Oceanの設定画面でDNSのタブで、Aレコードを追加します。 ちなみにドメインは…

MacVimでファイルを開いている状態からターミナルアプリを開きそのパスへ移動するvimplugin作った

vim

MacVimでファイルを開いている状態からターミナルアプリを開きそのパスへ移動するvimpluginを作りました。 なぜこんなものを作ったかというと、満足できるgit機能を持つvim pluginが存在しないからです。 結局、ターミナルでgitコマンドやgitk --all &コマン…

MacBook Air でShift+F12

MacBook Aire で[Shift + F12] を動作させるには、[option + fn + F12]を押せばよい。 ちなみに、DreamWeaverでブラウザで表示確認するためのショートカットコマンドです。 絶対忘れそうなのでメモメモ。

iOS/MacOSXのvDSP関数、多すぎてなかなか見つけられないのをなんとかする(基礎編)

iOS/MacOSXのvDSP関数というのは、サンプル数が多くなるほど、for文をまわすより確実に処理速度があがります。 驚くことにSIMD組み込み関数を使うよりも速く、アセンブラ命令によってかなりの最適化が入っているようです。 俺のアプリは信号処理なんてやって…

VC++のバージョン表記対応

覚えられないので、 VC++のバージョン対応 をメモしておく。 Visual C++ 2008 = VC++ 9.0 Visual C++ 2010 = VC++ 10.0 Visual C++ 2012 = VC++ 11.0 Visual C++ 2013 = VC++ 12.0 Visual C++ 2015 = VC++ 14.0 memory_order 列挙型対応 typedef enum memory…

ハードドライブのMacBookProでXcodeビルド時間を短縮する方法

ハードドライブのMacBookProでXcodeビルド時間を短縮する方法です。 MacBookProではハードドライブ(HDD)とソリッドステートドライブ(SSD)の2種類が選べます。 Xcodeで開発する人はSSDを選ぶべきです。 小さなサンプルをビルドするだけならよいですが、ソー…

Rubyでのprintfデバッグ出力

Objective-Cでデバッグログ出力する場合は、 NSLog( @"file[%@] line[%d]", __FILE__, __LINE__ ); こうしますが、rubyでは logger.debug "#{__LINE__}" あるいは、 logger.debug "#{__FILE__} #{__LINE__}" でいけるようです。

railsでmysqlのデータベースの指定テーブルをローカルファイルにバックアップする

Gemfileに以下を追加します。 gem 'backup' gemをインストールし、pathを通す。 $ bundle install $ rbenv rehash Railsのルートフォルダで以下を実行する。 $ backup generate:model --trigger file_backup --archives --storages='local' --config-path='b…

好きなソフトウェア技術書TOP5

ネタがないので、本棚にある好きなソフトウェア技術書でも紹介することにする。 あまり本マニアではないので、多分すごく偏っていると思う。 1) Effective-C++ Effective C++ 第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTI)作者: スコットメイヤーズ,小林健一…

Xcodeのコンソールログファイルの置き場所

~/Library/Logs/iOS\ Simulator/*/system.log

VimでVisualLine選択したテキスト内から/**/,//のコメント部分のみを削除する

vim

この記事は Vim Advent Calendar 2013 180日目の記事になります。 だいぶ前に作ったvim pulginの紹介です。 機能はタイトルの通りです。対応言語はC,C++,Objective-C等/**/,//がソースコメントを表すコンパイル言語です。 利用ケースとしては、 「このソース…

mysqlインストール後に行うrailsのDB環境構築

DB環境構築のためのrailsのスクリプトは全て整っていることを前提とします。 mysqlルートユーザーでログイン $ mysql -u root -p mysql上にユーザーを作成する。 mysql>create user 'username'@'localhost' identified by 'password'; 作成したユーザーにデ…

Mac OSX 10.9にbrewでmysqlをインストールする

全て一般ユーザーで実行します。 1) 中身を確認してから rm -rf /usr/local/var/mysql 初回のインストールであればもちろん不要です。 2) brew install mysql 3) mysql.server start 4) mysql_secure_installation

vimでgit編集中のパスが深い複数のファイルを開く

再生できない方はこちら gitで深いフォルダ構造内のファイルを扱っているとき、commit前に自分が行った修正差分を一通りチェックしますよね? git diffを使ったり、SourceTreeを使ったりすることもありますが、ソースファイル全体をみたいときもあります。 …

Xcode5.1.1(2014-04-19時点最新)でメモリリークを調査する際のTIPSその2

InstrumentsのLeaksでメモリリークを調査する際のTIPSその2です。 Leaksで素早くメモリリークを調べて直すのにはコツが必要です。 SXXP細胞のアレと同じですね。 コツが分かっていないと無駄に時間を使ってしまいます。 そこでTIPSとしてまとめておきます。…

iOSでHTTPS通信の内容をキャプチャする方法のメモ

iOSでHTTPS通信の内容をキャプチャする方法のメモです。 実デバイスでもiOSSimulator(MacOSX)でもできますが、ここでは、 iOS実デバイスがHTTPS通信をキャプチャされる側、MacOSX 10.8をプロキシとして使用します。 以下の記事を参考にさせて頂きました。 ht…

sendSynchronousRequestをBasic認証で使う

NSURLConnectionにはsendSynchronousRequestというクラスメソッドがありますが、 Basic認証は動かない。 ということで自作してみました。 https://github.com/pebble8888/PBURLConnection @interface PBURLConnection : NSObject + (NSData *)sendSynchronou…

Xcodeでヒープ領域アクセスオーバーランを短時間で見つける

Xcodeにはデフォルトでヒープ領域(mallocやnew)のアクセスオーバーランを 検知してくれる機能があります。 ただ、一発で検知してくれません。確実に検知する方法をここでは紹介します。 例えば、以下のようなヒープ領域をオーバーランするサンプルを使います…

Xcode with XVim と MacVim を平行して使う

私は、Xcode with XVim と MacVim を平行して使っているのですが、これをやるためには、Xcodeで開いているソースファイルをカーソル位置を保存した状態でMacVimで開けないと正直やってられません。 この機能が動くようにする手順を書いておきます。 手順1) J…

Objective-Cでのメモリ管理tips

初心者向けにObjective-Cでのメモリ管理関連で私が持っている知識をまとめておく。 1) なるべくARC(Automatic Reference Counting)を使う。 2) IBOutlet にはARCの場合はweak、Non-ARCの場合はstrongを使う。 3) Non-ARCの場合、なるべくretain,releaseを書…

html、xmlを編集する時に便利なvimテキストオブジェクト操作

vim

最近、html、xmlをテキストエディタで大量に編集しており、vimのテキストオブジェクト操作を 覚えないと辛くなってきたので、メモ。 1) cit ( 意味はchange inner tag ) 操作前: <url>www.google.com</url> 操作後:<url></url> 2) ci" ( 意味はchange inner double quotation ) 操…

NSCopyingプロトコルに準拠する場合の実装メモ

NSCopyingプロトコルを実装する時に、いつも書き方を忘れているのでメモしておく。 @interface Bean : NSObject @property (nonatomic,strong) NSString* country; @end @interface Coffee : NSObject @property (nonatomic,assign) NSUInteger coffeeid; @p…

Objective-Cでruby風のシンタックスシュガーを使う

githubを眺めていたら面白そうなプロダクトを見つけたので紹介します。 NSArrayやNSDictionaryにカテゴリを使って、ruby風のシンタックスシュガーを使えるようにしています。 Objective-C と RubyMotion の中間のような感じです。 https://github.com/mneorr…

herokuにreadmineをセットアップする(MacOSX10.8で作業)

herokuの無料枠は10000レコードまでなので、主に個人のWikiとして使うのが目的です。 MacOSX 10.8.5 rbenvでruby2.0.0を入れておきます。(私のエントリ参照) $ git clone git://github.com/redmine/redmine.git $ cd redmine $ git checkout -b production…

Objective-Cでフレームワークやスタティクライブラリを作る際の注意

Objective-Cのカテゴリ機能が含まれるstatic library を作ると、それを使う側は リンカフラグに "-ObjC" 、"all_load" を設定しないといけません。 Appleによる解説 私は面倒なのが嫌いなので、static libraryを作る際にはカテゴリを使わないようにしていま…

Objective-Cの新文法対応OSバージョン

Objective-Cには次々と新しい文法が追加されていますが、 レガシーなOSバージョンでどこまで対応しているのかいまいち分かりづらいです。 Appleの資料に一覧を見つけましたが分かりやすくするため、勝手に日本語化してみました。怒られたら削除します。 OSX…

Xcodeのデフォルトファイルテンプレートを変更する

Xcodeで新規Objective-Cクラスや新規C++ファイルクラスを生成するときに Copyright表示や、インクルードガードがデフォルトで設定されますが、 ファイルをたくさん作っていると、デフォルトの内容を毎回同じように修正していて 効率が悪いので、どうにかでき…

MacOSX 10.9へアップグレードしてしまったマシンをMacOSX 10.8に戻す

MacOSX 10.9にアップグレードするとiPhone Simulator5.0が動かなくなります。 こりゃあこまった。と思ったら、購入時の状態に戻す方法があるようです。 手順はこんな感じ。 1) 必要はファイルを全てバックアップする。 2) OS を Option + Command + r を押し…

iOS/Macプログラミング情報収集方法(プロ用)+学習方法(初心者用)

<情報収集方法> 私のiOS/Macでのプログラミング情報収集方法です。 1) クラス名でググる。 AppleのDocumentがトップにくると思いますが、短時間でアクセスできて便利。 2) Xcodeのコンパイルエラーメッセージでググる。 エラーメッセージを読んでも意味が…