サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
threetreeslight.com
fugitive.vimの使い方を良く忘れる fugitive.vimを積極的に使ってこなかったため、使い方を忘れる始末。 というわけで、備忘録代わりにでも書きたいと思います。 過去ソースを参照しつつ修正するとき方法1::Gdiff左ウィンドウがインデックス。右ウィンドウがワークでdp。 方法2::Gblame左ウィンドウがコミットログ。右ウィンドウがソース ~ : 見たいコミットログを選択して、~でHAED~相当の当該ログのソース P : 見たいコミットログを選択して、~でHAED~相当の当該ログのソース enter : 当該ログのコミットログ そんなこんなでコピペして直したり。 方法3: :Gstatus対象ファイルにカーソルを合わせDでVimDiff表示 git addからcommit、そしてgit pushgit add ( 編集中ファイルのみ ):Gwrite もしくは :Gst
[rails]doorkeeperに対応したOAuth clientを作成 さてOAuth clientを作ります。 OAuth Providerの設定先ほど作ったoauth providerに新しいアプリを登録します。 callback url : http://localhost:4000/users/auth/doorkeeper/callback Provider: user情報取得用APIを作成provider側の作業です /api/me.jsonにてuser情報を返してあげるようにします。 api用のcontrollerを切ります。 $ vim app/controller/api/api_controller.rb module Api class ApiController < ::ApplicationController private def current_reso
今日は 8 月 8 日、無限大の日。数字の 8 を横にすると、限りのないことを示す無限大の記号「 ∞ 」になります。この記号はイングランドの数学者ジョン・ウォリスが導入したとされています。またこの日は入籍日としても人気のようです。8 はそもそも縁起の良い数字ということもあり、「永遠の幸せ」という願いを込めて、多くの人々に選ばれています…
railsのログにセッションIDやリモートIPを表示するようにする remote_ipを吐き出す方法config.log_tagsにて、セッション毎にuuid発行と、アクセスユーザーのipを記録するようにする」。 config/environment/develpment.rb # Prepend all log lines with the following tags config.log_tags = [ :subdomain, :uuid, :remote_ip ] config/environment/production.rb # Prepend all log lines with the following tags config.log_tags = [ :subdomain, :uuid, :remote_ip ] 参考 #318 Upgrading to Rails
Xcodeでショートカット覚えてないと効率低すぎ XcodeはVimに比べ、エディタとしての編集速度が遅い。vimはマウスを使わない、とても高速に移動、編集が可能だ。 ファイル移動、ログの表示なんてお茶の子さいさいだ。 マウスでいちいちクリックなんてしない。 とはいえ、Objective-CでのコーディングはXcodeでなければ、補完とドキュメントの恩恵を得る事が出来ない。 なにせObjective-Cで初心者だから辛い。 もうまじつらい。死ぬ。 そういうときはショートカットを覚えよう〜操作系〜XVimの準備はできたか?vimキーバインドが使えるだけで移動はもちろん高速だ! assistant画面間の移動なんてvimだ!vimなんだ!! ctrl + w https://github.com/JugglerShu/XVim まず、左ペインの表示の切り替えだ!cmd + num(1, 2,
capistrano 3.x系を使ってrailsをデプロイ 発端サテー久しぶりにrails projectでも作るかなー、いつも通りdeployはcapでやろう。 $ bundle install $ cap install よし、中身を設定するかー。 $ vim config/deploy.rb set :application, 'app_name' set :repo_url, 'git@repo:app.git' # ask :branch, proc { `git rev-parse --abbrev-ref HEAD`.chomp } # set :deploy_to, "/var/www/app_name" # set :scm, :git # set :format, :pretty # set :log_level, :debug # set :pty, true # s
[rails][refactoring]railsのボトルネック探しツール railsを実装しているときに、N+1問題回避するためにincludeしたり、処理をかき変えたりするが、やるんだったら最小で最大の効果を上げたい。 むしろ意味の無い所のチューニングには時間を費やしたくない。 そんなときにお薦めなツールをQiitaで見つけたのでご紹介 miniprofiler 各ページ表示やSQLの処理時間を計測し、表示してくれるツール。 class ApplicationController < ActionController::Base protect_from_forgery before_filter :miniprofiler private def miniprofiler if Rails.env.development? || (current_user.try(:role) ==
CTO or VP of Engineering 初めてVP of Engineeringというkeywordを知ったのでメモ。 日本のCTOロールってマネージャー色がとても強いと思う。顧客へのサービスデリバーや、売上げ=合理的という考え方を追求し、技術的なビジョンは追いやられ面白みを失う。 当の本人も、元々コードを書いていたのだろうけど、触る事は久しくなる。 コードから離れれば離れる程、分からない事が多くなる。 分からない事が多くなれば、嫌いになる。自分より出来るヤツから教えてもらう内容そのものが吸収できない自分が嫌になる。 では、テック老害となるか、ビジネスサイドとなるか割り切らなければ行けないタイミングがくるのだろう。 だけど、エンジニアとしてのキャリパスを考えると、それは幸せではないかもしれない。 自分が築き上げてきた自分の知識は、磨き続けなければ銀食器のように直ぐ曇ってしまう。
[objective-c][ios]iosで非同期もしくは平行処理する方法 objective-cにて非同期やる方法を調べた結果をまとめます。 GCDのglobal queueにdispatchして処理する参考:awslabs / aws-sdk-ios-samples - Running the S3Uploader Sample こんな感じで、global queueをもってきて、そこにぶち込んで処理する - (void)processGrandCentralDispatchUpload:(NSData *)imageData { dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(queue, ^{ // Upload image
nilはnullオブジェクトを表し、オブジェクトが未初期化である ことや、クリアされた状態であることを表わすのに使用されます(また、Nilはnullクラス オブジェクトを表します)。他の言語と異なり、Objective-Cでは、nilにメッセージを 送信することが許されています。そのときの返却値は、返却値の型がid型のメッセージ の場合はnilを返し、intのような単純なC言語の型の場合は0を返します。structの ような複合型の場合の返却値は未定義です。nilとNilはともに(id)0と 定義されています。 nilはオブジェクト型に合わせて適切なNULL値を返してくれるオブジェクト。 引数がオブジェクトの場合、コイツですね。 NSNullはクラスであり、Nullを表すオブジェクト。 オブジェクトのためポインタが存在します。 NS系のarrayやdictionary(hash)にメモリ領
mysql(innodb)のチューニングしました DBレスポンスの悪い。やばい、どれくらいヤバいって、超ヤバい。クレーム来るぐらい。 全然得意ではないけど、頑張ってチューニングしました。 チューニング方法を切り分けると3つあると考えました。 innodbのmysql設定のチューニングindexのチューニングSQLのチューニングmysql設定のチューニングCPUリソースが問題CPUのアイドルタイムを見る事で、メモリにあふれてないか調査します。 CPUの利用率を見る事で、CPUパンパンになっていないか調査します。 だめだったら、AWSでハイスペックインスタンス使うか、DBサーバ買い替えましょう。 それが出来ない場合はindexやクエリのチューニングを頑張る。 物理memoryリソースが問題swap領域にあふれていたらpagingされてます。残念無念。 物理的なメモリ足しましょう。 足せない場合
XVimがXcode5.1でいきなり動かなくなった Xcodeを5.1にUpgradeしたら、XVimが動かない。 生命線オワタ。 でもissuesぐぐればあるわあるわ。 解決策XCode 5.1 garbage collection is no longer supported #551 Use latest ‘develop’ branch to build XVim for Xcode 5.1. It can be built with Xcode 5.1. developブランチならいけるのね。なるなる。 というわけで、develop branch持ってきて。 $ git clone [email protected]:JugglerShu/XVim.git $ git checkout -b develop origin/develop $ open XVim.xcodeproj 普通
railsでやったseo対策 あんまりrails関係ないかもしれないけど。 下ごしらえドメイン頑張って考えるブランディングでのオレオレ感も大事だけど、単純なSEOとして考える事も大事だよねと最近思う。 rack_rewriteでドメインを統一www.hogehoge.comをhoge.comへ rack_rewrite titleとmeta descriptionの配置application.html.haml %title=@meta_title %meta{ :name => "description", :content => @meta_description } %meta{ :name => "keywords", :content => @meta_keywords } application_controller before_filter :met
centosにchefでnginxを入れようとするとこける 現状cookbook作って $ knife cookbook create nginx -o cookbooks 設定 $ vi cookbooks/nginx/recipes/default.rb package "nginx" do action :install end $ vi localhost.json // localhost.json { "run_list" : [ "nginx" ] } $ vi solo.rb # solo.rb file_cache_path "/tmp/chef-solo" cookbook_path ["/home/vagrant/chef-repo/cookbooks"] 実行 $ sudo chef-solo -c solo.rb -j ./localhost.json Start
[AWS]お名前.comからRoute53へDNS乗せ換え + ネイキッドドメインへの転送設定 頭の中 静的ファイルだけであればS3で全然問題ない。むしろ快適。 でもS3だとネイキッドドメインが利用できない。 -> 折角だしroute53使えば良いんじゃね! それだけじゃないんですけどね。 why route53?お名前.comにてドメインを取得し、お名前.comのDNSサーバーを利用していましたが、以下の3点よりroute53を利用しようと思います。 レコード設定数の制限フェイルオーバー機能が無いS3に展開した静的webにNakedDomainを設定できる特に2点目については、使いたい理由の最たる理由(別のサービスでそうなる予定)。 サクラVPNを借りていれば、DNSがタダで使えるので1)が目的だったら、サクラで良くね?っていう意見も・・・。 正直に言うと、単に使いたいだけです。 コスト
[rails]order_byにおけるnilの順序 ASCの場合は、大抵nilレコードのデータはお尻にきてくれるので嬉しい。 DESCの場合でもnilデータのレコードはお尻に持ってきたい。 mysql Photo.order('collection_id IS NULL, collection_id DESC') # Null's last Photo.order('collection_id NOT NULL, collection_id DESC') # Null's first postgres Photo.order('collection_id DESC NULLS LAST') #Null's Last Photo.order('collection_id DESC NULLS FIRST') #Null's First 参考:Rails: Order with nulls l
railsを既存アプリケーションのDBにつないで開発 PHPアプリケーションをrailsに一部のせかえる事にしました。 エゴです。えぇ、、、完全なエゴです。効率を考えると全くエゴではないかもしれません。それでもエゴです。 require ruby 2.0rails 4.0rails project作る$ gem install rails $ rails new hoge -T --skip-bundle その他最初にやる作業等(rails template作らないとなぁ、、、)をごにょごにょとします。 dbつくってつなぐまず、DBにつなぎます Gemfile gem 'mysql2' database.ymlをよしなに設定 development: adapter: mysql2 encoding: utf8 database: my_db_name username: root pas
osx 10.9 Mavericksでgit svnが動かない。 git svnが動かない。まずい。 どうやら、SVNへのパスが何処にも見つからない模様。 $ git svn rebase Can't locate SVN/Core.pm in @INC (@INC contains: /opt/boxen/homebrew/Cellar/git/1.8.2.3-boxen1/lib /Library/Perl/5.16/darwin-thread-multi-2level /Library/Perl/5.16 /Network/Library/Perl/5.16/darwin-thread-multi-2level /Network/Library/Perl/5.16 /Library/Perl/Updates/5.16.2 /System/Library/Perl/5.16/darwi
chef-soloでvagrant上の仮想サーバーにLAMP環境作る 基本はdotinstall先生でやった事や、本に書いてあった事をメモる。 workstationの設定(chefをインストール)LEAN CHEF - Workstation Setup require ruby 2.0.0rbenvbundlerいれてきます。 $ mkdir chef-temp $ cd chef-temp $ vim .ruby-version 2.0.0-p247 $ vim .gitignore *.gem *.rbc .bundle /vendor/bundle .config coverage InstalledFiles lib/bundler/man pkg rdoc spec/reports test/tmp test/version_tmp tmp # YARD artifacts
[rails]where句の利用方法とfindとの違い where句の利用方法 http://d.hatena.ne.jp/sinsoku/20110415/1302842107 Arelについて https://github.com/rails/arel http://gihyo.jp/dev/serial/01/ruby/0043 where句とfind句の違い find: オブジェクト一個返すよ。 where : 配列でオブジェクト返すよ。 findと同じ動きにしたいのなら、firstメソッドとかlimitメソッドとかつけるといいよ。た。 http://stackoverflow.com/questions/5213358/difference-between-find-and-where-with-relationships 5 years ago Notes (0)
skype botとしてhubotいれてみた GithubのDevOpsネタでhubotが紹介されていたので、折角なので導入してみようと思います。 GitHub社内のDevOpsを支えるツール「Boxen」と「Hubot」~DevOps Day Tokyo 2013 requirenode v0.10.13npm 1.3.2redisnodeがインストールされていない場合は、ここ Installing Node and npmを参考。 boxenでセットアップするのが個人的なおすすめです。 Boxenを利用したMacのセットアップ Install基本、本家のマニュアルそのままですが、 hubotいれる $ npm install -g hubot coffee-script ひな形を作る。 $ hubot --create myhubot パスが通らなかった場合は、もう一度$ source
rubocopを入れて意識の高いrubyist目指す コードが良い臭いのするコードでありたい。 そのためには、適切なstyle guideに遵守、もとい慣れ親しむ事が必要?というか出来てないから怒ってほしい? そんなときに使うのがrubocop $ rubocop app spec lib/something.rb こんな感じでチェック実行可能。 installまずインストール。個人的にはboxen辺りに仕込んでおきました。 $ gem install rubocop vimに組み込む今回は、vim-rubocopを利用します。 $ vim ~/.vimrc " Ruby static code analyzer. NeoBundleLazy 'ngmy/vim-rubocop', { \ 'autoload' : { 'filetypes' : ['ruby'] } \ } let s:
nanocで同じ名前ファイルを利用できるように。 font-awesomeが通らない。 どうやら同じ名前のfontファイルが問題なようだ。 nanocでのファイル名の取扱い同じ名前ファイルを利用すると基本的にはコンパイルが通らない。 Error: “Found 3 content files for X; expected 0 or 1” 例えば以下のfont fileを配置しようとするとこける。 content/assets/fonts/foo.eot content/assets/fonts/foo.otf これは悲しい。identificationを拡張子を除いたファイル名で取っているため。 nanoc has support for multiple data sources, which provide items and layouts. By default, there i
Boxenを利用したMacのセットアップ 心持ち最近MBAの設定をすることが多い。 自分用13’ MBAかいーの。自分用11’ MBAかいーの。会社用11’ MBAかいーの。自分用11’ MBAこわれーの。で致し方ないので今、古い自分用13’ MBAせっとあっぷしなおしーの。 この後に自分用11’ MBA修理から戻りーのセットアップが待っていると思うと、とてもじゃないけど、セットアップ地獄だるい。 そのため、これを機にBoxen入れることにしました。 Boxenって?Boxen can clone your projects, install your toolchains, apply security policies, configure your favorite music player, set your screensaver, clone your dotfiles, an
rails4 + deviseのinstall deviseのcommit logを見ると、どうやら3.0.0.rcでrails4のStrong Parameters対応しましたよっ!って書いてある。 3.0.0.rcenhancementsRails 4 and Strong Parameters compatibility. (@carlosantoniodasilva, @josevalim, @latortuga, @lucasmazza, @nashby, @rafaelfranca, @spastorino)Drop support for Rails < 3.2 and Ruby < 1.9.3.やったー!それでは 素直に入れる$ vim Gemfile gem 'devise', '~>3.0.0rc' $ bundle install $ rails generate d
次のページ
このページを最初にブックマークしてみませんか?
『iii threetreeslight』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く