TONY0922のブログ

学んだことを適当に記録していくブログです。主にRubyで仕事してます。最近はJavaScriptとObjectibe-C始めました。Titanium関連もちょいちょい触ってます。更新頻度はそんなに高くないので、ご了承下さい。

Go事始め

転職先で使うことになったので、勉強を初めてみた。 とりあえず、以下のサイトが良いらしいので、ここから初めて見る。 A Tour of Go それが終わったら、下記の記事を見ていきたい。 ASCII.jp:Goならわかるシステムプログラミング

3回目の転職活動で利用した転職サービスの雑感

転職(その2) Advent Calendar 2016 11日目の記事です。 久しぶりに転職活動を行ったので、その雑感を書いていきます。 筆者のスペック Ruby、Javaでシステムの受託開発がメインで要件定義 〜 開発まで一通りやらせてもらった。 いままでは受託オンリーの…

iTerm + tmux 使用時にvimの色設定が反映されない。

iTrem と tmux 使用時にvimrcで設定した色設定が反映されなかった時は、 下記の設定を行うと良い。 ※ zshを使用しているが、bashでも同じと思われる。 alias tmux="TERM=screen-256color-bce tmux" set -g default-terminal "xterm" 最後に反映を忘れずに。 …

【Objective-C】翌日の指定時間のNSDateを取得する。

xcode 5.1.1 Mac OS 10.9.3 翌日の指定時間を取得したかったので、色々調べた結果 下記のような感じで書けそう。 NSDate* date = [NSDate date]; NSCalendar *calendar = [NSCalendar currentCalendar]; NSDateComponents *dateComps = [calendar components…

リファクタリング:Rubyエディション を読んだ。 〜 6章まで

リファクタリング:Rubyエディション作者: Jay Fields,Shane Harvie,Martin Fowler,Kent Beck,長尾高弘出版社/メーカー: アスキー・メディアワークス発売日: 2010/02/27メディア: 大型本購入: 9人 クリック: 321回この商品を含むブログ (47件) を見る 久しぶ…

Gitポケットリファレンスを読んだ

Gitポケットリファレンス作者: 岡本隆史,武田健太郎,相良幸範出版社/メーカー: 技術評論社発売日: 2012/07/10メディア: 単行本(ソフトカバー)購入: 7人 クリック: 103回この商品を含むブログ (25件) を見る プロジェクトでGitを使う機会が増えてきて、 通…

パーフェクトRuby を読んだ。

パーフェクトRuby (PERFECT SERIES 6)作者: Rubyサポーターズ,すがわらまさのり,寺田玄太郎,三村益隆,近藤宇智朗,橋立友宏,関口亮一出版社/メーカー: 技術評論社発売日: 2013/08/10メディア: 大型本この商品を含むブログ (16件) を見る Ruby歴3年ですが、こ…

capistrano の topメソッド

topメソッドが何してくれるのかわからなかったので、調査。 Definition top() Module Capistrano::Configuration::Namespaces 使い方 namespace :cache do task :warm_up do # ... end end namespace :deploy do namespace :cache do task :restart do # ...…

KiwiをCocoaPodsからインストールしようとしたら、ハマった

使用環境 Xcode 5.1.1 iOS 7.1 CocoaPods 0.32.1 既存のプロジェクトにKiwiを導入したくて、 CocoaPodsにKiwiをインストールさせるために以下を書いた。 platform :ios target "App_Kiwi", :exclusive => true do #テスト用プロジェクト pod 'Kiwi' end そん…

CocoaPodsのインストールで色々ハマった。

iOS開発にてKiwiを使って、テストコードを書くために まずはCocoaPodsをインストールしようとしたのだが、色々ハマったのでメモ。 OS X 10.9.2 XCODE Version 5.1.1 $ gem install Cocoapods "/Users/user_name/.rvm/rubies/ruby-1.9.3-p362/bin/ruby" -ruby…

インターフェースデザインの心理学を読んだ。(その4)

インタフェースデザインの心理学 ―ウェブやアプリに新たな視点をもたらす100の指針作者: Susan Weinschenk,武舎広幸,武舎るみ,阿部和也出版社/メーカー: オライリージャパン発売日: 2012/07/14メディア: 大型本購入: 36人 クリック: 751回この商品を含むブロ…

インタフェースデザインの心理学 を読んだ。(その3)

インタフェースデザインの心理学 ―ウェブやアプリに新たな視点をもたらす100の指針作者: Susan Weinschenk,武舎広幸,武舎るみ,阿部和也出版社/メーカー: オライリージャパン発売日: 2012/07/14メディア: 大型本購入: 36人 クリック: 751回この商品を含むブロ…

インタフェースデザインの心理学 を読んだ。(その2)

インタフェースデザインの心理学 ―ウェブやアプリに新たな視点をもたらす100の指針作者: Susan Weinschenk,武舎広幸,武舎るみ,阿部和也出版社/メーカー: オライリージャパン発売日: 2012/07/14メディア: 大型本購入: 36人 クリック: 751回この商品を含むブロ…

Ruby覚える新人さんには資格勉強を勧めるよ!!

以前、Rubyを仕事で使うにあたって、 ついでに、Ruby認定技術者試験Silverを受験しまして、 無事合格できたので、簡単ですがこれから受ける方のためにアドバイスを つらつらと書いていこうと思います。【準備期間】 約一ヶ月 (Rubyを既に業務で使われている…

実践ハイパフォーマンスMySQL 第2版 を読んだ。

実践ハイパフォーマンスMySQL 第2版作者: Baron Schwartz,Peter Zaitsev,Vadim Tkachenko,Jeremy D. Zawodny,Arjen Lentz,Derek J. Balling,伊藤直也(監訳),田中慎司(監訳),吉川英興(監訳),株式会社クイープ出版社/メーカー: オライリージャパン発売日: 2009…

インタフェースデザインの心理学 を読んだ。(その1)

インタフェースデザインの心理学 ―ウェブやアプリに新たな視点をもたらす100の指針作者: Susan Weinschenk,武舎広幸,武舎るみ,阿部和也出版社/メーカー: オライリージャパン発売日: 2012/07/14メディア: 大型本購入: 36人 クリック: 751回この商品を含むブロ…

iOS Core Data徹底入門 を読んだ。

iOS

iOS Core Data徹底入門作者: 國居貴浩出版社/メーカー: 秀和システム発売日: 2013/11/01メディア: 単行本この商品を含むブログ (1件) を見る【対象】 中級者【感想】 もっと早く読んでおけばよかった一冊。データを永続化させるのにファイルから始まって、SQ…

Effective Objective-C 2.0 を読んだ。

iOS

Effective Objective-C 2.0作者: Matt Galloway出版社/メーカー: 翔泳社発売日: 2013/11/20メディア: Kindle版この商品を含むブログ (1件) を見る【対象】 中級者 ~ 上級者【感想】 プライベートでiOSアプリ作成してるんだけど、 そこで色々悩んだ事柄が結…

iPhone/iPad 開発ポケットリファレンス を読んだ。

iOS

iPhone/iPad 開発ポケットリファレンス作者: WINGSプロジェクト,片渕彼富,山田祥寛出版社/メーカー: 技術評論社発売日: 2013/11/23メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る【対象】 iPhone開発する人ならだれでも【感想】 iOS関…

レベルアップObjective-C を読んだ。

iOS

レベルアップ Objective-C (Software Design plus)作者: 沼田哲史出版社/メーカー: 技術評論社発売日: 2013/11/12メディア: 大型本この商品を含むブログ (1件) を見る【対象】 初心者 ~ 中級者向け対象【感想】 Xcodeの基本的な使い方やデバッグのやり方が …

Titanium MobileのAlloyでControllerで作成したViewにtssの定義を適応させる。

Titanium SDK:3.2.0 Alloy:1.3.0Controllerで作成したViewはそのままだと tssで定義したclassを当てはめることができないので、 Dynamic Styleを使うと良い。index.tss // Button全てに以下の定義が適用。 "Button" : { backgroundColor : "black" } ".but…

Titanium MobileでAlloyでアプリ名を日本語にする

Titanium SDK:3.2.0 Alloy:1.3.0・プロジェクトのappフォルダと同階層に「i18n」フォルダを作成 ・i18n/ja/app.xmlを作成。 ・app.xmlを編集 <resources> <string name="appname">日本語アプリ名</string> </resources> これで、ビルドするとiOSとAndroidの両方でアプリ名が日本語になります。

Titanium MobileのiOS用スプラッシュ画像はちゃんとしたpng拡張子を使おう

お前は何を言って(略Titanium MobileでiOS用のスプラッシュ画像を使うために gifファイル用意してたんだが、pngしか設定できないようなので、 拡張子をリネームして、下記のファイルを設定した。Default.png Default-568h@2x.png Default@2x.pngiOS Simulato…

Titanium Mobileで親Viewにイベント伝搬させない

Titanium SDK:3.2.0 Alloy:1.3.0親Viewと子Viewに同じClickイベントを設置した時、 デフォルトでは子ViewのClickイベント後、親Viewのclickイベントが発生します。 var parentView = Ti.UI.createView({ height : Ti.UI.FILL, width : Ti.UI.FILL }); pare…

Titanium MobileでBase64でエンコードされた画像を表示。(Android/iPhone)

Titanium SDK:3.2.0 Alloy:1.3.0サーバーからBase64でエンコードされた画像データを表示したかったのだが、 AndroidとiPhoneでハマったので、メモ。 // 画像取得先のURL(仮のもの) var url = "http://hogehoge.com/getImage"; var xhr = Ti.Network.crea…

Titanium MobileのSQLite3でBooleanを使用する際の注意点(Android/iOS)

Titanium SDK:3.2.0 Alloy:1.3.0SQLite3のカラム型でBoolean型は存在しないので、 代わりにInteger型を使用することになると思うのですが、 iPhoneだとtrueを設定しても、SQLiteでは自動的に「1」が登録されます。しかし、Androidでは自動的に変換は行われ…

Titanium MobileにてBackボタンを無効化する。(Android/iOS)

Titanium SDK:3.2.0 Alloy:1.3.0両OSでBackを無効化したかったので調べた。 色んな所で使用したかったため、グローバル関数にしてみた。・alloy.js Alloy.Globals.disableBack = function(windowObj) { if (OS_IOS) { // iOSはナビゲーションバーを使用し…

Titanium Mobile でOSのバージョンを取得する。(iOS/Android)

Titanium SDK:3.2.0 Alloy:1.3.0Android 2.3.3で試す場合 gist8799810OSのバージョンは「4.0.4」とか「2.3.3」と言った表記なので、 そのまま数値にすると「NaN」になってしまう。したがって、「4.0」や「2.3」などに整形する必要がある。

Titanium MobileでiPhone開発後にAndroid対応をしてハマる所

Titanium SDK:3.2.0 Alloy:1.3.0 ・requireでモジュールを読み込めない。 モジュールの定義が「exports」だと、Androidで読み込めない。 「module.exports」を使うこと。・画像ファイルの指定方法が異なる。 # 画像を/app/assets/images/background.gifに…

Titanium Mobileでrequireを使用して、モジュールを読み込む方法(Android/iOS)

Titanium SDK:3.2.0 Alloy:1.3.0定数管理したJSファイルを読み込もうとしたんだが、・constants.js (app/lib/constants.js) exports = { test : { name : "hogehoge" } } ・alloy.js Alloy.Globals.constants = require("constants"); console.log(Alloy.G…

Titanium Mobileでナビゲーションバーの半透明を無くす方法

Titanium SDK:3.2.0 Alloy:1.3.0下記で解決した!!class = "container"として、 gist8767899

Titanium Mobile で定数管理

Titanium SDK:3.2.0 Alloy:1.3.0Alloyで定数を管理するファイルを作成して、 グローバル変数で読み取る方法を考えた。■ 定数ファイル (app/lib/constants.js) module.exports = { config : { code001 : "XXXXXXXXXX", code002 : "YYYYYYYYYY" } }; ■ alloy…

Titanium Mobileでtsvファイルから初期データを入れる。

Titanium SDK:3.2.0 Alloy:1.3.0tsvファイルから初期データ読み取って、テーブルに入れる方法を考えた。■ tsvファイル 1行目 column1 column2 column3 2行目 aaa AAA 111 3行目 bbb BBB 222 4行目 ccc CCC 333 5行目 ddd DDD 444 /** * tsvファイルからイ…

Titanium Mobile で navigation window にて「戻る」ボタンを非表示

Titanium SDK:3.2.0 Alloy:1.3.0 // ウィンドウオブジェクトのidがwindow $.window.leftNavButton = Ti.UI.createLabel({text:' '}); カッコ悪いけど、これが一般的っぽい。

Titanium Mobile で整形した日付を取得する

Titanium SDK:3.2.0 Alloy:1.3.0SQLiteではデータ型が存在しないので、text型で保存するのが定番らしい。 Alloyには日付操作ライブラリ「moment.js」が提供されているので、 それを使って、text型の日付が取得できる。 var moment = require('alloy/moment…

Titanium Mobile(Alloy)でModelにID属性を定義したい

Titanium SDK:3.2.0 Alloy:1.3.0configあたりで下記のように書くと出来ました。 exports.definition = { config: { columns: { // 制約をここに書く。 "id": "integer PRIMARY KEY AUTOINCREMENT", "column001": "text", "column002": "text" }, adapter: …

Titanium Mobile にて 特定のテーブルのレコードを全消去する

Titanium SDK:3.2.0 Alloy:1.3.0Truncateがなかったので、パフォーマンスがアレですが、 下記でテーブルのレコードが全部、消せます。 var collection = Alloy.createCollection('model_name'); collection.fetch(); while (collection.length) { collecti…

Titanium Mobileでトランザクション(trunsaction)。

Titanium SDK:3.2.0 Alloy:1.3.0AlloyでトランザクションをやってくれるAPI等はまだ提供されてないみたい。 なので、下記な感じで書きましょう。 var db = Ti.Database.open('_alloy_'); db.execute('BEGIN TRANSACTION'); db.execute(String.format("inse…

Titanium Mobileでデータベースを参照したい(iOS version)

Titanium SDK:3.2.0 Alloy:1.3.0SQLiteのクライアントソフトは「Lita」がおすすめ。・Lita http://www.dehats.com/drupal/?q=node/58【手順】 1. Titanium stadio で iOSシュミレータ立ち上げ2. Litaを起動。3. 「DBFile」でビルドしたアプリのsqlファイル…

Titanium mobileでNavigationWindowで数階層下にあるViewからRootWindowまで一気に戻る。

Titanium SDK:3.2.0 Alloy:1.3.0iOSのnavigationControllerでpopToRootViewControllerAnimatedみたいな操作が出来ないかなーと思って、 色々調べたけど、標準ではAPIが用意されていないみたい。したがって、遷移してきた画面をグローバル変数として 配列で…

Alloyで画面下部に広告スペース載せるときのレイアウト見本

Titanium SDK:3.2.0 Alloy:1.3.0画面下部に高さ50の広告エリアを表示する際の 指定方法が結構、ハマったので書いておく。・Viewファイル <Alloy> <Window> <View class="notAdViewArea"> </View> <View class="adViewArea"> </View> </Window> </Alloy> ・Tssファイル ".notAdViewArea" : { backgroundColor:"green", bottom:"50dp" } ".adViewArea" : { backgro…

Titanium Studio ショートカット 一覧 Alloy版

Alloyでアプリ作ってる際に知ってると捗るものを一覧化。(Mac用) テキストエディタにフォーカスされてる時 shift + command + C 該当のControllerファイルに移動 shift + command + S 該当のTSSファイルに移動 shift + command + V 該当のViewファイルに移…

Androidアプリ作成で動作保証をどこまでやるべきか。

受託でやる際の注意点を探ってみると下記を見つけた。スマートフォンアプリの開発受託契約において留意すべき事 http://www.slideshare.net/GenichiKataoka/ss-15752418確かにOSのバージョンだけじゃなく、対象機種も絞った方が良いかも。スマホアプリでもAn…

年末年始の目標

JavaScript 言語仕様をひと通り読む Titanium Mobile 簡単なアプリ作成(TODOアプリとか) 作成中のiPhoneアプリをTitnaium用に書き直す(iOSとAndroid) 製作中のiPhoneアプリ デザイン修正 現在認識しているバグを修正 英語学習 Titanium MobileのDocument…

XcodeにプラグインのXVimを入れてみたよ。

XcodeにプラグインのXVimを入れてみたよ。以下、インストール手順は下記参照 https://github.com/JugglerShu/XVimこれで、Xcodeには無かった「行の結合」とかができるようになった。

Xcodeのプラグインを一括で管理してくれる「Alcatraz」

Xcodeのプラグインを一括で管理してくれる「Alcatraz」というソフトがあるらしい。https://github.com/mneorr/AlcatrazATTENTION: Xcode 5 is work in progress We're working on releasing Alcatraz 1.0 for Xcode 5. Please be patient and don't create i…

CentOS 5.7でVimが起動できなくなった。

rvmの更新をした後くらいに何故かvimが起動できなくなってた。 $ vim "vim: error while loading shared libraries: libruby.so.1.8: cannot open shared object file: No such file or directory"下記の記事を見て、 http://forums.fedoraforum.org/showthr…

ProjectEular Problem 4 「最大の回文積」

http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%204左右どちらから読んでも同じ値になる数を回文数という。 2桁の数の積で表される回文数のうち、最大のものは 9009 = 91 × 99 である。 では、3桁の数の積で表される回文数のうち最…

ProjectEular Problem 3 「最大の素因数」

http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%20313195 の素因数は 5, 7, 13, 29 である. 600851475143 の素因数のうち最大のものを求めよ. class PrimeFactor def max_prime_factorized(num) i = 2 factors = [] while i < num i…

ProjectEular Problem 2 「偶数のフィボナッチ数」

http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%202フィボナッチ数列の項は前の2つの項の和である. 最初の2項を 1, 2 とすれば, 最初の10項は以下の通りである.1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...数列の項の値が400万を超えな…