タグ

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

  • .zshrcで見かけるautoloadの意味と使い方 - Qiita

    今回はこの autoload が何をするものなのか解説します。 autoloadはシェル関数を読み込む autoload はシェル関数を 自動読み込み するシェルの組み込み関数です。上記のスクリプトの場合、 compinit というシェル関数を自動読み込みします。 シェルコマンドは PATH に入っていればそれだけで実行可能でしたが、シェル関数の場合は関数を定義しなければ使えません。 autoload はファイルシステム上にある関数定義を読み込むための関数なのです。そして autoload 探索するディレクトリは FPATH に入っています。 余談ですが FPATH だと : 区切りの文字列、 fpath だと配列になります。PATH と path と同じですね。 シェル関数とシェルコマンドの違い autoloadを使ってみる % mkdir ~/functions % FPATH="${

    .zshrcで見かけるautoloadの意味と使い方 - Qiita
  • Faker を i18n locale :ja で使うときは Faker::Config.locale を :en にセットしなおすべし - Qiita

    Faker を i18n locale :ja で使うときは Faker::Config.locale を :en にセットしなおすべしRuby Faker は各種 locale に対応しているので Rails アプリなどで default locale を :ja にセットすると人名のダミーデータが日語化されたりして便利なのだけど Faker::Internet.email がぶっ壊れてテストデータの email バリデーションエラーが出まくってハマった。 default locale :en で使う場合 問題無し。普通はこういう状態を期待する。 require 'i18n' I18n.locale # => :en require 'faker' Faker::Config.locale # => :en Faker::Internet.email # => "sanford@jac

    Faker を i18n locale :ja で使うときは Faker::Config.locale を :en にセットしなおすべし - Qiita
  • 100行で書く俺様プログラミング言語コンパイラAltJS編 - Qiita

    プログラミングをしたことがあるひとなら、誰でも1度くらい自分の理想の言語を作ってみたいと思うのではないでしょうか。このテキストは、オリジナルのプログラミング言語のコンパイラ作成を通して、パーサコンビネータの使い方を紹介していくものです。 2分でわかる、俺の俺による俺のためのプログラミング言語を作る大まかな手順 自分のオリジナルなプログラミング言語を作るには、典型的には次のような手順を踏みます。 既存のプログラミング言語を使ってみる その既存の言語の気に入らないところを徹底的になじる(ただし心のなかで) 己の内に秘める中二力を卍解し、最強プログラミング言語の仕様を妄想する コンパイラを作る その言語を教典とする宗教団体を設立し、慈悲深き終身の独裁者を名乗る 自分の言語が思ったよりしょぼいことに気付く 桶屋が儲かる このテキストではこのうち手順 4 だけ、特にコンパイラのパーサ部分を解説します

    100行で書く俺様プログラミング言語コンパイラAltJS編 - Qiita
  • 新・三大JavaScriptフレームワークの実践(Backbone.js Knockout.js Angular.js) - Qiita

    Todoリストの機能 1.テキストボックスから、Enterで追加できる 2.登録したTodoはダブルクリックで編集可能になり、Enterで編集確定できる 3.登録されているTodoの総件数がフッターに表示される 4.完了したTodoがある場合、それらをリストから消すボタンが表示される 5.全選択/解除を行うチェックボックスがある 個人的な結論 趣味開発で使うならAngular.js・仕事で使うならKnockout.jsをお勧めしたい。 まず、フレームワークを選択する際は、以下3つの選択基準を持つとよいと思う。 1.開発の規模 大規模ならBackbone.jsはお勧めできる。 書き方が決まっていて、チュートリアルに目を通せば(面倒なのは置いておいて)何を作らなければならないかは簡単に理解できる。そこそこの人数で長い時間の開発を行うなら、UIチームはアプリケーションとView、サーバーサイドは

    新・三大JavaScriptフレームワークの実践(Backbone.js Knockout.js Angular.js) - Qiita
  • 複数の辞書のマージ方法いろいろ - Qiita

    Help us understand the problem. What is going on with this article?

    複数の辞書のマージ方法いろいろ - Qiita
    syanbi
    syanbi 2013/09/21
    itertools.chain知らんかった
  • Google I/O 2013のGo言語に関するセッション一覧 - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    Google I/O 2013のGo言語に関するセッション一覧 - Qiita
  • 空のディレクトリに.gitkeepを配置するコマンドラインツール - Qiita

    SubversionからGitに移行する過程で、空のディレクトリをリポジトリに追加するのを忘れないようにしないといけません。Gitは空のディレクトリはバージョン管理しないので、何らかのファイルを置く必要があります。何らかのファイルは.gitignoreやemptyなどありますが、個人的にはRails風に.gitkeepを置くようにしています。 基的には、find . -type d -name .git -prune -o -type d -empty -exec touch {}/.gitkeep \; を実行すればOKです。今回は作ったツールは、.gitkeepを配置する前にどのディレクトリが空っぽか確認する機能や、このコマンドの.gitkeep部分を指定できたりなど、オプショナルな機能を追加したものです。 使い方 空っぽのディレクトリ一覧を出す:

    空のディレクトリに.gitkeepを配置するコマンドラインツール - Qiita
  • オープンソースMBaaS「deployd」を使ってみる - Qiita

    Deployd とは Deployd は、モバイルアプリケーションなどのバックエンドAPIを作成するためのオープンソースソフトウェアです。いわゆる「MBaaS (Mobile Backend as a Service)」とよばれるクラウドサービスが提供しているサービスの基盤の部分が実装されたものと考えてよいでしょう。 特徴 プラットフォームの動作環境としてNode.js、および永続システムとしてMongoDBを採用しています。REST形式のAPIを通してJSONメッセージで通信します。つまり隅から隅までJavaScriptベース、ということです。クライアントアプリがHTML5であればJavaScriptのクライアントライブラリも提供されています。もちろん、REST APIを直接利用するのでも構いません。 プラットフォームはイベントAPIを利用して拡張できるようになっており、妥当性検証や複数

    オープンソースMBaaS「deployd」を使ってみる - Qiita
  • Rails4時代の高速テスト環境 Rspec+Guard+FactoryGirl+Spring[NEW!] - Qiita

    Rails4時代の高速テスト環境 Rspec+Guard+FactoryGirl+Spring[NEW!]RailsRSpecGuardFactoryGirlspring Railsのテスト環境の定番といえば Rspec Guard FactoryGirl Spork このへんの組み合わせが定番だったんではないでしょうか。 Sporkでテスト環境をプリロードして、Guardでファイルを監視してガンガンテストを回してと。 今回はこのSporkを最近メキメキと頭角を現してきているSpringに置き換えて よりモダンな高速テスト環境の作り方を説明します。 Springのいいところ このSpringなにがいいって、設定がすごく簡単。 おまけにGuard+Rspec以外にもrails generateやrake routesなど他のコマンドも高速化してくれます。 一度体験したらもう戻れません。 必要

    Rails4時代の高速テスト環境 Rspec+Guard+FactoryGirl+Spring[NEW!] - Qiita
    syanbi
    syanbi 2013/09/18
    早い事例だ
  • 君は知っているか、あのCompassのstatsコマンドを! - Qiita

    CSSをリファクタリングしようと思うと、どっから手をつけたら良いかわからなくないですかね?僕はわかりません。 特にSassのような@importでいろいろファイル分割していると、あれこれなんのファイルだったお(^ω^;)ってことがよくありませんかね?僕はないです! ということで、あなたがCompassプロジェクトを使用しているのならば、config.rbのある場所で下記のコマンドを打ってみましょう。 そうすると下記のようなCSSに関する情報が表示されます。 どこで何回ミックスインが定義されて使用されているか、ファイルサイズがどれくらいかプロパティがどれだけ宣言されているかなど、一目瞭然ですね。これで、どこからリファクタリング・手をつけていったらいいのかなど参考にできるかと思います。 ちなみに、statsコマンドのヘルプは下記 $ compass stats --help Usage: co

    君は知っているか、あのCompassのstatsコマンドを! - Qiita
    syanbi
    syanbi 2013/09/18
    おお
  • 今っぽい Vagrant + Chef Solo チュートリアル - Qiita [キータ]

    Vagrant と Chef Solo ってとてもベンリそうに見えてたのですが、ネット上にあるのは断片的な情報が多かったり、そもそもいろんなやり方があって混乱してたので、サックリ始めるためのチュートリアルを書きました。これをきっかけにベンリな Vagrant ライフを堪能して頂ければ幸いです。 [追記10/10/2013] Window 上の Vagrant でも問題なく動きました。ただ1点注意があって、UAC のポップアップに反応しないと、Vagrant か VirtualBox 側でタイムアウトになってしまうので、ポップアップを見張るか、放置したいなら一時的に無効にしておくとよいです。 [/追記終わり] [追記 10/23/2013] VirtualBox 4.3 だとまだうまく動かないようです(私も host-only adapter の作成で VirtualBox 側のエラーになり

    今っぽい Vagrant + Chef Solo チュートリアル - Qiita [キータ]
    syanbi
    syanbi 2013/09/16
  • 巨大な Helios を取り巻く gem 群について調べてみた - Qiita

    Helios は これ。 単なる勉強ログなのでおそらくあまり参考にはなりません。 また、Sinatra 関係が多かったのでざっくり省略してあります。 1. Helios を構成する iOS 連携ライブラリ群 すべて Heroku のmattt (Mattt Thompson)氏によるもの。 1-1. cupertino mattt/cupertino · GitHub Automate administrative tasks that you would normally have to do through the Apple Dev Center websites. Life's too short to manage device identifiers by hand! Ruby から Apple Developer Center にアクセスできる驚異のライブラリ。 ターミナルか

    巨大な Helios を取り巻く gem 群について調べてみた - Qiita
  • ラムダ式で学ぶクロージャとDSL - Qiita

    はいこんにちはこんにちは! 今日はラムダ式でクロージャとDSLの解説をします。 ガチなラムダ計算の話ではまったくないのでご安心ください。函数型プログラミング言語の話でもないので怯える必要はありません。 それと、実用なDSLそのものではなく、どちらかといふと ふざけたDSL をシンプルに作ってみました! といふ例題なのでその点はご承知おきください。 謎のコピペとDSL まづはこちらのソースコードをお読みください。 # -*- Coding: utf-8 -*- scripter = ->(*args){->{puts args.join("\n")}} title = ->(text){"『#{text}』\n"} paragraph = ->(*args){args.join("\n")+"\n"} chara = ->(name){ ->(text){"#{name}「#{text}」"

    ラムダ式で学ぶクロージャとDSL - Qiita
  • tmux でマトリックスっぽいスクリーンセーバーを表示する - Qiita

    tmux 上で一定時間操作しないとこんな感じになります。 画像だと分かりづらいですが文字もちゃんと動きます。 cmatrix をインストール まずは、cmatrix コマンドをインストールします。 CMatrix by Chris Allegretta Mac の場合

    tmux でマトリックスっぽいスクリーンセーバーを表示する - Qiita
    syanbi
    syanbi 2013/09/10
    未来だ!
  • git rev-parse でできること - Qiita

    git の記事などを見ていると、よく rev-parse というコマンドが出てきます。 rev-parse単体でググっても使い道がよくわからないので、メモ変わりにrev-parseでできることをここに書いてみます。 【参考】 git-rev-parse(1) Manual Page https://www.kernel.org/pub/software/scm/git/docs/git-rev-parse.html 使用可能なリファレンス(ref)を渡すとハッシュを返す ハッシュ $ git rev-parse 1838ad4786...02cc4e713a >> 02cc4e713a10dc68bcba40919f0f23eb62b45ec4 >> 1838ad478661d8cdb544c9adf921d08a97f7cc91 >> ^02cc4e713a10dc68bcba40919

    git rev-parse でできること - Qiita
  • NGINX Plusでできることまとめ - Qiita

    NGINX Plusでできることをまとめてみた。 NGINX Plusとは NGINX Plusはみんな大好きオープンソースHTTPサーバであるNginxのサポート付き商用版である。Nginxを開発しているNginx Inc.が提供している。とはいえ、サポート付きというだけではなく次のような機能が増えている。なお、下3つについてはあまり興味がなかったので、今後説明がでてくることはない。 ステータス、レスポンスなどによる高機能なヘルスチェック - Application health checks JSON/JSONPで取得できるステータス - Activity monitoring HTTP APIでノードを追加/削除できる - On-the-fly reconfiguration HLS対応 - HTTP Live Streaming (HLS) HDS対応 - HTTP Dynamic

    NGINX Plusでできることまとめ - Qiita
  • パッケージ名は、単数形?複数形? - Qiita

    Should package names be singular or plural? をざっと翻訳 (as of 2013.8.31) 訳注:意外と見逃しがちなネームスペースの単数形と複数形の問題。比較的シンプルにまとまったQAを見つけたので訳してみました(コメントは訳していません。java.beans は例外であったり、リレーションについては異論があったりするようです)。 Question (42 votes) by NickC しばしば、ライブラリにおいてパッケージはひとつの概念で構成されるクラス群を含みます。たとえば、 xml 、 sql 、 user 、 config 、 dbです。皆さん、至って自然にこれらのパッケージ名は単数であることが正しいと感じるのではないかと思います。 com.myproject. xml .Element com.myproject. sql .Con

    パッケージ名は、単数形?複数形? - Qiita
  • リポジトリごとに user.name や user.email の設定を強制する - Qiita

    社内やオープンソースのプロジェクトに並行して参加していると、gitconfig の user.name や user.email をリポジトリごとに切り替えたくなることがある。リポジトリを作るたびに git config user.name "My Name" すればいいのだが、 user.name が存在しないか空文字列だと環境変数 NAME の値を暗黙的に使う仕様になっているため、設定をうっかり忘れてしまうとなかなか気づけない。名前やメールアドレスを間違えたまま何度もコミットしてしまうと修正が厄介である。 Git 2.8以上 最近の Git で設定忘れを未然に防ぐには git config --global user.useConfigOnly true を実行する。これを設定するとユーザー情報について環境変数を暗黙に参照することがなくなる。グローバルな gitconfig で use

    リポジトリごとに user.name や user.email の設定を強制する - Qiita
  • IIR chap 14: ベクトル空間分類 - Qiita

    Introduction to Information Retrieval の14章輪読用 Gunosy研究会 #31 の資料です Introduction ナイーブベイズでは用語を用語列か2値ベクトルで表現した 章ではベクトル空間モデルを用いて文書を表現し,テキストを分類する. 基的な考え方 ベクトル空間モデルでは各用語に対して1つの実数値の要素をもつベクトルとして各文書を表現する 通常TF-IDFを用いる R^|V| のベクトルとして表現される ベクトル空間分類は連続性仮説(contiguity hypothesis)の元に成り立つ 同じクラスの文書は連続した領域を形成し,他のクラスの領域とは重なり合わない. 連続領域に写像されるかどうかは文書の表現方法による 重み付け・ストップワードなど ex: "グループによって書かれた文書"と"個人によって書かれた文書"を区別したいケース 一

    IIR chap 14: ベクトル空間分類 - Qiita
  • Pythonの例外クラスのインスタンスを直接、例外クラスの引数にするな! - Qiita

    注:下記のコードは、raise from構文を使っているのでPython 3.3でしか動きませんが、基的な話はPython 2.7でも変わりません。 今回は、Pythonの例外クラスのインスタンスを直接、例外クラスの引数にするのはマズいという話をしたいのですが、そもそも 「 例外クラスのインスタンスを直接、例外クラスの引数にする 」という状況がよく分からない。 という方もいらっしゃると思いますので、少し具体的な状況を設定してみます。 まず、Pythonでspamモジュールを作成して、モジュール例外の基底クラスとしてSpamErrorを用意し、SpamErrorとPython標準のIndexErrorを継承したカスタム例外クラスSpamIndexErrorを作ったことにします。 実際に書くとこんな感じですね。

    Pythonの例外クラスのインスタンスを直接、例外クラスの引数にするな! - Qiita