タグ

qiitaに関するsyanbiのブックマーク (101)

  • 100行で書く俺様プログラミング言語コンパイラAltJS編 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? プログラミングをしたことがあるひとなら、誰でも1度くらい自分の理想の言語を作ってみたいと思うのではないでしょうか。このテキストは、オリジナルのプログラミング言語のコンパイラ作成を通して、パーサコンビネータの使い方を紹介していくものです。 2分でわかる、俺の俺による俺のためのプログラミング言語を作る大まかな手順 自分のオリジナルなプログラミング言語を作るには、典型的には次のような手順を踏みます。 既存のプログラミング言語を使ってみる その既存の言語の気に入らないところを徹底的になじる(ただし心のなかで) 己の内に秘める中二力を卍解し、最強

    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

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

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

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    空のディレクトリに.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
  • 君は知っているか、あのCompassのstatsコマンドを! - Qiita

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

    君は知っているか、あのCompassのstatsコマンドを! - Qiita
    syanbi
    syanbi 2013/09/18
    おお
  • ラムダ式で学ぶクロージャと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

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    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

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Introduction to Information Retrieval の14章輪読用 Gunosy研究会 #31 の資料です Introduction ナイーブベイズでは用語を用語列か2値ベクトルで表現した 章ではベクトル空間モデルを用いて文書を表現し,テキストを分類する. 基的な考え方 ベクトル空間モデルでは各用語に対して1つの実数値の要素をもつベクトルとして各文書を表現する 通常TF-IDFを用いる R^|V| のベクトルとして表現される ベクトル空間分類は連続性仮説(contiguity hypothesis)の元に成り

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

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Pythonの例外クラスのインスタンスを直接、例外クラスの引数にするな! - Qiita
  • RSpec の it { … } と速度の話 - Qiita

    TDD, BDD にはテストを実行する速度がすごい重要なのはみんな知っていると思うけど、 it { … } 記法が速度にどう影響するか知ってる? という話。 場合によっては、 subject + it, its で何行も並べるより、まとめられるなら 1 つの example にまとめたほうが速いです。 # May be slow describe 'foo' do subject { get :foo } before do # Prepare the model (e.g. FactoryGirl) end it { should be_ok } its(:body) { should match(/foo/) } # ... after do # Clear the DB (e.g. DatabaseCleaner) end end 前提 before や let! でたくさんモデルを

    RSpec の it { … } と速度の話 - Qiita
  • めちゃくちゃにコンフリクトしたファイルを一歩一歩マージする方法 - Qiita

    あるファイルに大量のコンフリクトが発生し解決が面倒なとき、パッチを使ってファイルに1コミットずつ変更を適用する方法を示す。この方法のメリットは: ファイルへの変更を1コミットずつ適用・コンフリクト解決することができる それぞれのコミットを適用する前に、コミットをパッチファイルの形で編集できる 注目するファイル以外への変更をいったん無視し、そのファイルに関係する変更に集中できる の3点である。複数コミットの変更が混ざった大量のコンフリクトマーカーを手作業で消すような状況に陥ったとき、この方法を使えばいくぶんかは楽にマージ作業を進められる。 概要 マージ中に特定のファイルに大量のコンフリクトが起きたら、マージを中止する。一時作業用ブランチを作り、そのファイルに1コミットずつパッチを当てて編集する。パッチを当て終わったらマージをやり直し、コンフリクト解決作業中に、コンフリクトしたファイルを一時作

    めちゃくちゃにコンフリクトしたファイルを一歩一歩マージする方法 - Qiita
  • ダメな技術書の見定め方 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 技術書を自分のお金で買うようになってから、かれこれ十数年。 ダメな技術書が放つ独特のニオイがやっとわかるようになってきたので、書いてみました。 以下、主観を多分に含みます。「あー、あるある」と思いながら軽く読んでくださいね。 (逆バージョンの「良書のみつけかた」は、近日公開予定でございます。) ダメな技術書の「あるある」 誤字・脱字が多い 推敲に時間を割いてないことの証拠である。よって誤字・脱字が多い技術書としてもクソである確率が高い。 正誤表・サポートページがない 多少の誤字・脱字は仕方がないとしても、それを Web で補う気す

    ダメな技術書の見定め方 - Qiita
  • zsh で無名関数を作る - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    zsh で無名関数を作る - Qiita
  • コールバック……駆逐してやる…この世から…一匹…残らず!! - Qiita

    このテキストは JavaScript のコールバック地獄に疲れたひとのためのコールバック駆逐術指南書です。対象読者は JavaScript道初段くらいの人です。このテキストを読むと、以下のそれぞれの手段における非同期処理制御の仕組み、利点および欠点がわかるようになるかもしれません。 コールバック地獄 jQuery.Deferred async.js Concurrent.Thread generators co fibers Web Workers (※なぜか『進撃の巨人』の一部ネタバレが含まれるので注意してください) それは『何故人はコールバックするのか』という話でしょうか? 非同期処理って面倒ですよね。JavaScriptではいわゆる コールバック地獄 というやつにしばしば陥りがちです。たとえば、Ajax でふたつのファイル hoge.txt と piyo.txt を持ってきて、それら

    コールバック……駆逐してやる…この世から…一匹…残らず!! - Qiita