ブックマーク / qiita.com (382)

  • Vim幼稚園からVim小学校へ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? emacsキーバインドに慣れ親しんだせいで長らくVim幼稚園のままだった私が来ましたよ。キーバインドを一度に覚えようとすると挫折しやすいので、以下のように少しずつボキャブラリーを増やすのがたぶん吉。 特記しない限りノーマルモードが前提。後、.vimrcでの設定については最小限にしか触れない (emacsでつい設定ファイルをいじってしまいがちだった反省から) ので各自好きにしてください。 Level 1 最小限の使い方だけ覚えて、ぶっつけでサーバーの設定ファイルを更新したりしていた。10年以上この状態。 iでその場でインサートモード aで

    Vim幼稚園からVim小学校へ - Qiita
    yanap1214
    yanap1214 2014/07/10
  • railsをdockerで動かしたい場合の構成はどうするべきか - Qiita

    FROM base # rubyインストールに必要なパッケージを用意 RUN apt-get update RUN apt-get install -y --force-yes build-essential curl git zlib1g-dev libssl-dev libreadline-dev libyaml-dev libxml2-dev libxslt-dev # rbenv, ruby-buildをインストール RUN git clone https://github.com/sstephenson/rbenv.git /root/.rbenv RUN git clone https://github.com/sstephenson/ruby-build.git /root/.rbenv/plugins/ruby-build RUN ./root/.rbenv/plugins

    railsをdockerで動かしたい場合の構成はどうするべきか - Qiita
    yanap1214
    yanap1214 2014/07/09
  • 半年くらい仕事でAndroidアプリ開発していて役に立った本 - Qiita

    Androidってあまり良いが無い印象なんですが、実際に仕事で少しでも役に立ったをシェアしたいと思います。 WEB+DB PRESS Vol.81 「Androidアプリ開発最前線」という特集が当に役に立つ。 Android Studio、Gradle、テストやCIなど、まとまった情報がまだ少ない、最近のモダンなAndroidアプリ開発事情に関するノウハウがまとまっている。この特集書いてるのもクックパッドの人達なので間違いない感じ。 改訂2版 Android SDK逆引きハンドブック 定番の逆引き。1冊あると便利。 Android UI Cookbook for 4.0 ICS アプリ開発術 Androidデベロッパーにはお馴染みの、あんざいゆきさんのAndroid4系のUIが主に紹介されてる。サンプルコード便利。 Master of Fragment これも、あんざいゆきさ

    半年くらい仕事でAndroidアプリ開発していて役に立った本 - Qiita
    yanap1214
    yanap1214 2014/07/07
  • SwiftとiBeaconを使ってお母さんが自分の部屋に近づいて来た事を警告するアプリをつくる - Qiita

    はじめに シチュエーション 部屋で作業をしているとき、突然お母さんが部屋に入ってきたという経験はありませんか? そんな状況を避ける為に、今回はお母さんが部屋に近づいてきたことを知らせる夢のようなアプリを 「iBeacon」を使用することで作ってみたいと思います。 iBeaconとは iOSで地図などに使用されていた「Core Location」にiOS7以降に新たに加わった機能です。 CoreLocationは元々GPSからデバイスを検出していた為、近距離や屋内での使用には不向きでした。 iBeaconはBluetooth LEを使用することで、近距離でのデバイスの位置情報を容易に取得できるようにしたものです。 アプリの仕組み まずお母さんにはestimote社から発売されている ビーコンを大切なものだから..と言って常に持ってもらいます。 http://estimote.com/ ⬇️

    SwiftとiBeaconを使ってお母さんが自分の部屋に近づいて来た事を警告するアプリをつくる - Qiita
    yanap1214
    yanap1214 2014/07/03
  • SerfとConsulの記事まとめ - Qiita

    概要 Serf と Consul の情報を整理しました。どちらも一般的な単語なので、ネットで検索しようにも、ノイズが多く、情報が埋もれがち。そこで整理したのがこちらです。 もし抜けがあったり、追加がありましたら、コメントなりリクエストいただければと思います。 (なお、順番は時系列にしようかと思いましたが、あまり整理されていません。このあたりもどうしようかな・・・。ひとまず日語中心です。) Serf http://www.serfdom.io/ 週末雨だったのでSerfをさわってみた - ni-blog http://orihubon.com/blog/2014/06/29/serf/ Serf を使ってみた - jedipunkz' blog http://jedipunkz.github.io/blog/2013/11/10/serf/ Serf+HAProxyで作るAutomatic

    SerfとConsulの記事まとめ - Qiita
    yanap1214
    yanap1214 2014/06/27
  • Railsが時代に合わなくなってきた - Qiita

    追記 RailsでJS辛い問題に関しての結論:http://qiita.com/kaiinui@github/items/dad6180f1910c6a4bfd5 -- 近年、(1) Web/App両対応が増えてきたこと、(2) WebでもJSを多用するようになったこと、の二つがあり、以下の点でRailsが微妙になっている。 ViewのJavascriptRailsから独立している API層のサポートが微妙 最初に書いておきますが、特に決定的な解決策もなく、辛いから今後解消されてほしいよね、な話です。 ViewのJavascriptRailsから独立している Railsはとても堅牢。 モデル、コントローラ、ルーティングと、変にいじらない限りはほとんどテストが要らない。 必要なのは、モデルに新たにpublicメソッドを付けたときくらいだろう。 実際、バックエンドはそうそうバグが出ない。

    Railsが時代に合わなくなってきた - Qiita
    yanap1214
    yanap1214 2014/06/27
  • 【翻訳】DockerとVagrantによるRails開発環境 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? (2014年の記事ですよ。) オリジナル:"A Rails Development Environment with Docker and Vagrant" by Ben Dixon http://www.talkingquickly.co.uk/2014/06/rails-development-environment-with-vagrant-and-docker/ (デプロイ経験あまりないので訂正、つっこみなど大歓迎です。訳しづらかったところは原文も入れてます。Benさんから翻訳&&シェアOKの許諾もらっています。このテーマでさら

    【翻訳】DockerとVagrantによるRails開発環境 - Qiita
    yanap1214
    yanap1214 2014/06/21
  • ただのWebエンジニアがスマホサイトを開発するにあたって知っておきたいこと - Qiita

    今更だけど、スマホサイト開発未経験のエンジニアが、スマホサイトを開発して気づいたことやハマったことなどの雑多なまとめです。 対象はiOS, Androidです。 シェア率(日) 最近の動向など 2014年4月のスマートフォン販売シェア、日ではiOSがトップ、欧州ではWindows Phoneのシェアが各国で増加(Kantar調査) | juggly.cn Apple、2014年第1四半期において日スマートフォン市場のシェアを36.6%獲得!ドコモ版iPhoneで大躍進 | gori.me(ゴリミー) 2013年第4四半期 国内携帯電話出荷台数ベンダー別 シェア 2013年第4四半期および2013年 国内携帯電話・スマートフォン市場規模を発表 より iOS, Android共に半々くらいのシェア率で考えれば良さげ。 Androidシェア(世界) iOSのOSは基的には最新のバージョン

    ただのWebエンジニアがスマホサイトを開発するにあたって知っておきたいこと - Qiita
    yanap1214
    yanap1214 2014/06/12
  • エヴァンゲリオンでわかってしまうJavaScript - Qiita

    はじめに 全国1億2000万人のエヴァンゲリオンはわかるけど,JavaScriptはちょっと、、、な皆さんこんにちは。 JavaScriptのプログラミングは、エヴァンゲリオンよりは簡単なのですが、なぜかプログラマにしか浸透しません。 エヴァンゲリオンの諸概念を理解している方であれば、すでにJavaScriptプログラミングは理解していると言っても過言ではありません。 そのあたりをそういうことにして、編にとりあえず行きましょう。 あわせて読みたい 半年で40kg痩せた!ダイエットでわかるリーンなプロジェクトマネジメント手法 1.地球とミックスイン まずは、エヴァンゲリオンの世界における地球をJavaScriptで表現してみたいと思います。 ここで登場するのはもちろんエヴァンゲリオン世界のトリックスター、ナディアと我らをつなぐものこと「第一始祖民族」ですよね。 彼らは隕石に「白き月」と「黒

    エヴァンゲリオンでわかってしまうJavaScript - Qiita
    yanap1214
    yanap1214 2014/06/11
  • Swift Language Guide "The Basics" - Qiita

    The Swift Programming LanguageのLanguage Guideの"The Basics"の章をざっとまとめたものです。 Objective-Cを始め、既に他の言語を習得されてる方向けです。 英語は苦手なので、ソースコードから逆読みしている箇所もあります。 間違いや補足等あれば、教えて頂ければ幸いです。 次章 Basic Operators 文末 行末又はセミコロンまでが文。行末のセミコロンは必須ではない. 定数

    Swift Language Guide "The Basics" - Qiita
    yanap1214
    yanap1214 2014/06/08
  • fluentdとDockerとBigQueryで1時間でビッグデータ解析基盤を作る - Qiita

    最近話題のDockerGoogle Cloud Platformを用いて大規模データのための解析基盤を作ります。今回はデータソースとしてTwitter Streaming APIを利用しますが、アクセスログなどに応用することももちろん可能です。コードは一行も書きません。解析基盤をつくためにマシンを用意する必要はもちろんありません。 BigQueryについては、 Googleの虎の子「BigQuery」をFluentdユーザーが使わない理由がなくなった理由 #gcpja が参考になります。 利用するプロダクト/サービス Google Cloud Platform Google Compute Engine BigQuery Docker fluentd fluent-plugin-twitter fluent-plugin-bigquery Twitter Streamping API

    fluentdとDockerとBigQueryで1時間でビッグデータ解析基盤を作る - Qiita
    yanap1214
    yanap1214 2014/06/08
  • git rebase -i のための rebase.autosquash オプション - Qiita

    rebase.autosquash オプションって何? git rebase -i hoge を実行した時に、特定のcommitが指定したcommitの後に移動した状態で編集用テキストを開くオプション コミットログがfoo fooのcommitが存在する場合、squash! foo foo というコミットログでcommitを行うと、git rebase -i hoge を行った時に、下記の状態で編集用テキストが開く

    git rebase -i のための rebase.autosquash オプション - Qiita
    yanap1214
    yanap1214 2014/06/01
  • 提言: コミットメッセージの一行目には要求仕様を書け - Qiita

    これは Git (や Subversion などのバージョン管理システム) にコミットする時により良いコミットメッセージを書くための提言です。この提言は特にメッセージの一行目だけを対象とします。せめて最も重要な一行目だけでも良いメッセージを書いて欲しいからです。提言をズバリ一言で表すと 一行目には要求仕様を書け です。 背景 プロジェクトによっていろいろ慣習の差はあるものの、一般的には「コミットメッセージの一行目は変更内容の要約を簡潔に書け」とされます。特に Git は、各コミットメッセージの一行目だけを取り出してそれを一覧表示するなど、一行目を特別に処理する機能が多いので、一行目にできるだけ多くの情報を凝縮させることは重要です。またメッセージを一行しか書かない不届きな慣習のプロジェクトでは、十分な情報を持たないメッセージは無用の長物と化します。 良くないコミットメッセージ しかし私は、情

    提言: コミットメッセージの一行目には要求仕様を書け - Qiita
    yanap1214
    yanap1214 2014/05/30
  • RubyにHaskellよりも強力なパターンマッチを実装した - Qiita

    require 'egison' include Egison match_all(object) do with(pattern) do ... end end match(object) do with(pattern) do ... end with(pattern) do ... end ... end パターンマッチに成功すると、withに渡されたブロックが実行され、その結果が返されます。 このライブラリのパターンマッチでは、パターンマッチの結果が複数あるということがあります。 match_all構文はそのすべてのパターンマッチの結果それぞれについてwithに渡されたブロックを実行し、すべての結果をまとめた配列を返します。 match_all構文は1つのwith節を取ります。 一方、matchは複数のwith節を取ります。 先頭のwith節のパターンから順番にパターンマッチに成功

    RubyにHaskellよりも強力なパターンマッチを実装した - Qiita
    yanap1214
    yanap1214 2014/05/28
  • 10年くらいJavaScriptを書いて思ったこと。 - Qiita

    HTML内にjsを書くな。 jsDocを書け。 構文エラーのわからないエディタを使うな。 言語に足りない部分はツールで補え。 Chrome基準で作ると後で速度差に苦しむ。 1ファイルに数百行も書くな。 GruntやRequierJSを使ってモジュール化しろ。 描画に関するチューニングは後からできない。作り直しならできる。 $(function(){}) で全部囲むのはやめろ。 グローバルおじさんは無名関数で囲んで叩け。 半端な覚悟でsetTimeoutを使うな。 動的なページに組み込むより先に静的なHTMLで動くようにしろ。 自分が直せない怪しいライブラリは使うな。 どうせブラウザによって挙動違うのでECMAの仕様とか自己満足。 ネイティブアプリに勝とうとする時間を他のことに使え。 慣性スクロールが欲しいならMacを使え。 Flashのほうが簡単ならFlashでやれ。 Netscapeは死

    10年くらいJavaScriptを書いて思ったこと。 - Qiita
    yanap1214
    yanap1214 2014/05/27
  • ログ集計/時系列DB/可視化ツールの調査結果 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 近年、自分の中で集計/可視化は Fluentd(datacounter)+Growthforecast で定番化していました。 しかしプロダクトで新たに集計/可視化の要件が出てきたことと、 最近可視化ツール周りで 「Kibanaってなんじゃ?」「Graphiteってなんじゃ?」「InfluxDBってなんじゃ?」 など、このツール達は一体何なんだろう…?というのが前々から気になっていました。 今回良い機会なので ◯◯は何をするものなのか? というのを一つ一つ調べてみました。 いわゆる「触ってみた系」の記事なので だいぶ浅い感じです。 大分

    ログ集計/時系列DB/可視化ツールの調査結果 - Qiita
    yanap1214
    yanap1214 2014/05/22
  • シェルスクリプトのオプション設計ガイドライン - Qiita

    僕はコマンドラインで使うシェルスクリプトを書くことがけっこうあるんだけど、インターフェイスというか呼び出し方はとても大事だと思ってるので、そこにわりと時間をかけて考えるようにしてる。実装はいつでも変更できるけど呼び出し方を変えた時は利用者にも変更を強いるので、できれば最初から良い設計で作りたいと思っている。 そこで、僕がシェルスクリプトのオプションとか引数とかの仕様を決める上で注意していることをまとめてみた。シェルスクリプトや、その他コマンドラインのツールを作るときに参考にしてほしい。 シェルの種類は bash や zsh を想定してるけど、実装によらない話なのでどんなシェルでも使えると思う。 エラーの時に Usage (使い方ヘルプメッセージ)を表示するのはやめる エラーになった時に Usage (使い方ヘルプメッセージ) を表示するスクリプトがあるけど、やめたほうがいいと思う。例えばこ

    シェルスクリプトのオプション設計ガイドライン - Qiita
    yanap1214
    yanap1214 2014/05/21
  • 我々はどのようにして安全なHTTPS通信を提供すれば良いか - Qiita

    HTTPS通信は複数のプロトコル、手法が組み合わされて実現されている。そのため、暗号化手法それぞれのリスク、ブラウザの対応等様々な用件があり、全てを理解するにはちょっと時間とリソースが足りない。結局のところ、我々はどのようにして安全なHTTPS通信を提供できるのか。色々調べていたところ、MozillaがMozilla Web siteに使用する、HTTPSの推奨設定を公開している。 Security/Server Side TLS - MozillaWiki このドキュメントはMozillaのサーバ運用チームが、Mozillaのサイトをより安全にするために公開しているもので、他のサイトにそのまま適用できるかは十分に注意する必要がある。例えばガラケー向けサイトとか。そのまま使えないとしても、HTTPS通信の設定をどうすれば良いか、理解の一助になるはずだ。 この記事は上記MozillaWiki

    我々はどのようにして安全なHTTPS通信を提供すれば良いか - Qiita
    yanap1214
    yanap1214 2014/05/20
  • zshの個人的に便利だと思った機能(suffix alias、略語展開) - Qiita

    のような形式で実行できる。 こちらで紹介されている.cファイルを実行すると自動でビルド->実行までしてくれるような設定が可能で、もはやなんでもできそうな感じがする。スゴイ 現在は下のように設定している。練習がてらjavaを追加。 alias -s txt='cat' alias -s html='google-chrome' alias -s rb='ruby' alias -s py='python' alias -s hs='runhaskell' alias -s php='php -f' alias -s {gz,tar,zip,rar,7z}='unarchive' # preztoのarchiveモジュールのコマンド(https://github.com/sorin-ionescu/prezto/tree/master/modules) alias -s {gif,jpg,j

    zshの個人的に便利だと思った機能(suffix alias、略語展開) - Qiita
    yanap1214
    yanap1214 2014/05/18
  • WebブラウザだけではじめるRuby/Railsプログラミング - Qiita

    これからプログラミングを始めてみたい人に向けて、Webブラウザだけですぐに使えるRuby/Railsのクラウド開発環境 (Nitrous.io) を紹介します。 Rails環境構築の壁 プログラミングを始めるためには、開発環境を構築する必要があります。RubyRailsの開発環境の構築方法はRails Girls インストール・レシピが参考になりますが、いくつかのソフトウェアをインストールする必要がありました。 RubyRails データベース (SQLite) エディタ (Sublime Text, TeraPad) ターミナル (iTerm, PuTTY) バージョン管理 (git) RailsInstallerは、これらのソフトウェアをワンクリックでインストールしてくれますが、最近は更新されておらずRuby1.9.3 + Rails 3.2とバージョンが古くなっています。なお

    WebブラウザだけではじめるRuby/Railsプログラミング - Qiita
    yanap1214
    yanap1214 2014/05/18