タグ

2014年7月9日のブックマーク (11件)

  • プログラミング言語を作る yaccとlex

    yacc/lexとは Cでプログラミング言語の処理系を実装するのであれば、 多くの場合、yaccとlexというツールを使います。 実のところ、Cとyacc/lexで簡単なプログラミング言語を作る、というのは、 以前、「C言語ヨタ話 」で書いた「 電卓を作ってみよう」 の焼き直しになります。yaccとlexの説明もそちらに簡単に書いたので、 そちらを見てください――と言いたいところですが、 まあここでも軽く説明します。 内容的には重複、というかコピペしている部分もありますが。 プログラミング言語の処理系は、通常、以下のような手順を取ります。 字句解析 ソースプログラムを、「字句(トークン)」の並びに分割する処理です。 構文解析 トークンの並びから、解析木を構築する処理です。 この後、Cなどの機械語を吐くコンパイラや Javaのようなバイトコードを吐くコンパイラなら、 「コード生成」という処理

  • 伊藤直也が語る「仕事の流儀」第2回──スタートアップにリモートワークツールを推奨する理由|CodeIQ MAGAZINE

    伊藤直也氏が語る「仕事の流儀」の第2回は、KAIZEN platform Inc.の立ち上げに参画して実感したリモートワークツールの重要さについて。 スタートアップ企業でエンジニアが快適に開発できる環境とはどのようなものか、KAIZENでの事例をもとに、いま感じてることを語ってもらった。 by 馬場美由紀 (CodeIQ中の人) リモートワークをしながら「全員同席」するためのツール KAIZENのようなスタートアップ企業で、かつリモートワークをする社員もいる環境で、どんなふうにアジャイル開発を進めていくか。 それが最近の僕の重要な関心事です。 ちょっとKAIZENのリモートワーク風景を見てほしいんですけれど……(Sqwiggleというオンラインミーティング・ツールで自宅で仕事をしているエンジニアを呼び出し、会話を始める)。 Sqwiggleを起動すると、カメラが有効になっていて、こんな感じ

    伊藤直也が語る「仕事の流儀」第2回──スタートアップにリモートワークツールを推奨する理由|CodeIQ MAGAZINE
  • Xcode6とSwift&iOS8のアプリ開発で踏んだ地雷たち - Qiita

    Xcode6で新規のアプリを開発した時に気づいたことをまとめます。 アプリの仕様は以下のとおり。 開発言語はSwift Cocoapodsで既存Objcのライブラリを利用 デプロイターゲットはiOS8以上 Storyboardを利用 AutolayoutとSizeClassesを利用 開発環境は以下のとおり。 Xcode6はBeta2を利用 検証実機はiOS8 beta2をインストールのiPhone5 【頻度中】コンパイルエラーXXXHeaderファイル has been modified since the precompiled header fatal error: file '/Applications/Xcode6-Beta2.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPho

    Xcode6とSwift&iOS8のアプリ開発で踏んだ地雷たち - Qiita
  • GoogleのHTTPロードバランサーの破壊力があり過ぎる #gcpja - Qiita

    そもそもGoogle Compute Engineのロードバランサー、GCE LBは、1インスタンス・1グローバルIP・ウォームアップなしでいきなり100万リクエスト/秒を捌けてしまう謎性能を備えていて、既存の他社クラウドのLBだけこれで置き換えたい! という声もちらほら聞かれるほどの強力LBサービスであった。 From Compute Engine Load Balancing hits 1 million requests per second! そして今回、正式公開ではないLimited Preview版ではあるものの、GCE LBの新機能としてHTTP Load Balancingが発表された。その性能と機能の破壊力があり過ぎるので、GCPブログ記事のリンクをシェアするだけではあまりにもったいない! と思い、要点を訳してみた。 DNSに頼らない、1グローバルIPによるUS、EU、A

    GoogleのHTTPロードバランサーの破壊力があり過ぎる #gcpja - Qiita
  • goz - Go's News

    goz Go's News Erlang Rust 2018-11-22 // 2018-11-29 2018-11-29 via reddit.com Go 2, here we come!  [blog.golang.org] 2018-11-29 via reddit.com Build a DNS server in Golang  [medium.com] 2018-11-29 via reddit.com Structure of API project, i.e.: Where should what part of the code be?  [www.reddit.com] 2018-11-28 via reddit.com ObjectBox: new super-fast DB to store for Go objects (structs)  [objectbox

  • /tmpと/var/tmpの仁義無き戦い - Qiita

    課題 /tmpと/var/tmpどっちも大体一緒だからいいんじゃないかと思って/tmpにファイルをつくろうとしたら、プログラムが使用するものは/var/tmpにと叱られた。確かに、基幹系システムのディストリビューションだと何故か/var/tmp派の人が多かった気がする。じゃあ、linux系特有の宗派の問題なのか?と思い調べてみた。 何が他のディレクトリと違うか 通常のディレクトリは、基的にはファイルは削除しない限り消えない。 /tmpに関しては再起動するとファイルが綺麗さっぱり無くなる。 /var/tmpは再起動しても消えないがいつの間にかファイルが消えることがある。 うーん、やはり使用してきたディストリビューションのルールか、業務の慣例的なルールなのかなぁ。 やはり/tmpと/var/tmpは宗教論争なの? そういうわけではないらしい。FHS(Filesystem Hierarchy

    /tmpと/var/tmpの仁義無き戦い - Qiita
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Yacc - Wikipedia

    Yacc(英: yet another compiler compiler、ヤック)はパーサジェネレータの一つである。1970年代にAT&TでUNIX用にスティーヴン・カーティス・ジョンソンが開発した。 概要[編集] 名称[編集] Yacc は yet another compiler compiler(またひとつのコンパイラコンパイラ)に由来する。コンピュータ黎明期には「自動プログラミング」と呼ばれたプログラミング言語処理系の技術の進展の方向として、当時、機械語プログラムを生成するコンパイラの次はコンパイラを生成するコンパイラコンパイラであろう、ということで盛んに研究がされており、そのためコンパイラコンパイラを名乗る研究が他にもあれこれ存在した。 パーサはコンパイラの全てではないので、コンパイラコンパイラと呼ぶには Yacc のようなパーサジェネレータは不足と言えなくもないが、特段意識さ

  • つながり駆動開発 or 「pecoのキー処理周りは全部パクりました」 : D-7 <altijd in beweging>

    先週 @k0kubunさんがpecoで複数キーの入力シーケンスに対してアクションを起こす(例:C-x, C-cで終了する、みたいなの)PRをしてくれたのでそれをマージした。pecoには楽しいお兄さんが色々コントリビュートしてくれているので、そのPRを見た瞬間にこんなコメントが mattn@mattn_jpこりゃあ、コナミコマンド作るしかねぇべ / “Accept key sequence by k0kubun Pull Request #124 peco/peco GitHub” http://t.co/YwjJo9Ao1A 2014/07/03 01:06:44 おお、いいですね、ということで実装してみようとしたところ… うっ… 設定ファイルから読み込んで動的に作る無名関数からレキシカルな変数へのスイッチングしてて、これをプログラム内部から他に作る方法がねぇ!w 設定ファイルからはできる

    つながり駆動開発 or 「pecoのキー処理周りは全部パクりました」 : D-7 <altijd in beweging>
  • 開発現場で活用するVagrant

    4. Vagrant (c) 2014 Masashi Shinbara @shin1x1 軽量で、再現可能かつポータブルな 開発環境の構築、設定を行う

    開発現場で活用するVagrant
  • CentOS 7 がリリースされたので、情報をまとめてみたよ!

    CentOS の新しいメジャーリリース、 CentOS 7がリリースされました! お断り:ここの情報は非公式なもので、ベストエフォートで提供されています。 国内ミラー状況 公式サイトには掲載されていませんが、国内の有力ミラーサイトがすでにミラーを終えています。 http://ftp.iij.ad.jp/pub/linux/centos/7/ http://ftp.ne.jp/Linux/distributions/CentOS/7/ http://ftp.riken.jp/Linux/centos/7/ http://ftp.jaist.ac.jp/pub/Linux/CentOS/7/ バージョン番号の変更 今回からバージョン番号が 7.0-1406、というように、末尾に数字がつくようになりました。 7.0 は upstream である Red Hat Enterprise Linux