CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
はじめに 計算機用言語の処理には決まった方法があります。文字列で与えられた言語は、字句解析によってトークンに分けられ、構文解析によってトークン同士が結びつけられ、意味解析によって解釈されます。 字句解析を行うプログラムが字句解析器(lexer)、構文解析と意味解析を行うのが構文解析器(parser)です。字句解析器としてはlexあるいはflex、構文解析器としてはyaccあるいはbisonが有名で、資料も豊富にありますが、いずれもC言語で利用することを想定したソフトウェアです。 PHPで利用できる字句解析器としてはPHP_LexerGeneratorが、構文解析器としてはPHP_ParserGeneratorがあります。本稿では、簡易電卓を実装するという例を通じてPHP_LexerGeneratorとPHP_ParserGeneratorの使い方を紹介します。 必要な環境 XAMPP fo
対象読者 JavaScriptフレームワーク・ライブラリの選定に悩んでいる方 本格的にJavaScriptを触るのが初めてという方 jQueryでの大規模なフロントエンド開発に限界を感じている方 必要な環境 Node.jsがインストールされていることが推奨です。 React.jsとは何か React.jsは最近注目を浴びているFacebook製のライブラリで、MVCアーキテクチャでいうViewにあたる機能を提供します。 前提として、JavaScriptの世界でMVCのVといえば、紛れもなくDOM(Document Object Model)のことを指します。特に何も意識しないで作った場合、都合の良いDOMからデータを引っ張り出しては別のDOMを書き換えるといった、行き当たりばったりな作りになりがちです。そこで、MVCの考え方を導入することにより、データを画面とは独立した構造体として切り出し
まつもとさん自身によるStreemについての解説は、今後日経Linuxで順次掲載されるようです。まつもとさんがStreemについて解説する内容は、おそらく、プログラミング言語設計に関する高レベルなものとなるのではないでしょうか。 本記事はそれとは無関係に、2015年1月に公開されているStreemについての低レベルな解説、つまり現時点のStreemのソースファイル(の一部)の読み解き方を示します。具体的には、GitHubのStreemリポジトリにある「lex.l」と「parse.y」という2つのソースファイルについて解説します。 Streemのソースファイルは、https://github.com/matz/streemからダウンロードできます。画面右下にある[Download ZIP]ボタンをクリックしてください。 lex.lとparse.y ダウンロードしたStreemソースファイルの
また、Organization[1]の数も360を超え[2]、リポジトリ数もOrganizationのものだけでも2000近く作られています[3]。 新規のプロジェクトは基本的にGitを利用しており、既存プロジェクトもほとんどがSubversion(以下SVN)などからGitに移行しました。 本記事では、Ameba事業本部がどのようにGitを組織内に普及させていったか、その運用体制、現場でどのように利用されているのかをご紹介します。 [1] 複数アカウントをまとめるグループ機能です。リポジトリは個人単位だけでなく、Organization単位で作ることもできます。 [2] プロジェクト単位で1つのOrganizationを用意しています。 [3] 個人アカウントで作成したり、他からforkしたリポジトリは除いた数です。 GitHub Enterprise導入への道のり GHE導入以前の標準
この連載は、Javaをいきなりやることになってしまった新卒の人や、Java以外の言語の使用経験しかない人など、Javaの初心者なのに業務アプリ(ビジネスで使われるアプリケーション)の開発で即戦力にならないといけない人達に向けての連載になります。標準のJavaでできることはもちろん、DB操作のためのSQLやよく使われるライブラリの使い方など、単なるJavaのみの紹介ではなく、Javaでの業務アプリの開発に必要とされる基礎知識全般について連載を通じて学んでいくことを目的としています。 はじめに 今回の記事では、Java(ジャバ)で業務アプリを開発するための開発環境の構築を行います。また、Javaのアプリケーションの開発では統合開発環境(IDE)を使って作業することがほとんどです。統合開発環境とはアプリケーションの開発をサポートする環境で、この連載では多くの現場で使われているEclipse(エク
本シリーズは、WebブラウザをUIとして利用した業務システムやアプリケーション(以下、Webシステム、Webアプリケーション)のテストをテーマとして、Webブラウザを使ったテストを自動化するOSSのツール「Selenium2」を紹介します。業務システム開発の現場で適用してきたノウハウを元に、これまでSelenium2について知らなかった人から以前使った経験がある人まで、より実践的な「使える」内容を盛り込んでいきたいと思います。 1. はじめに 今回は、Selenium2を利用して作成した自動テストをフル活用すべく、JenkinsというCI(継続的インテグレーション)ツールを利用して、Selenium2のテストを自動実行する方法について説明します。また、IE、Firefox、Chrome、Safariなど多様化するブラウジング環境でのテスト方法やテストの並列化についても説明します。 2. J
はじめに SQLが提供する結合演算には、その特徴に応じて内部結合、外部結合、クロス結合などさまざまな名前が与えられています。普通、これらの結合の多くは、異なるテーブルまたはビューを対象として行われます。しかし、SQLは結合が同一のテーブルまたはビューに適用されることを禁止していません。同一のテーブルを対象に行う結合を「自己結合(self join)」と呼びます。自己結合は、使いこなせば非常に便利な技術ですが、動作がイメージしにくいため敬遠されがちです。そこで本稿では、この自己結合の便利さを例題を通して学び、その動作を分かりやすく解説します。 自己結合を理解することは、実務上のテクニックを身につける以外に、もう一つ利点があります。それは、集合指向(set-oriented)というSQLの重要な特徴を理解できることです。オブジェクト指向言語が世界をオブジェクトとして表現するように、SQLは世界
はじめに 皆さんは、Seasarファウンデーションをご存知でしょうか。2005年12月にNPO(非営利団体)として運営が開始されたオープンソースソフトウェア開発コミュニティです。 S2Container.PHP5は、Seasarファウンデーションの1プロジェクトとして開発が進められています。S2Containerとは、DI(Dependency Injection)とAOP(Aspect Oriented Programming)をサポートする軽量コンテナで、Javaで開発されました。S2Container.PHP5はS2ContainerをPHP5に移植したものです。2005年の5月にSeasarファウンデーションで開発がスタートし、2006年4月29日にS2Container.PHP5-1.1.0が正式にリリースされています。 本稿では、PHP5環境で動作するS2Container.P
2009年12月のACM SIGMOD Recordで、Kyu-Young Whang他がユビキタスなデータベースという概念に合致する研究用プロトタイプや市販用のDBMS製品を調査しています。本記事ではUDBMSの必要条件を分析し、それに対するSQL AnywhereサーバーおよびUltraLite DBMSのサポート状況について説明します。 (原文:SQL Anywhere as a ubiquitous DBMS、2010/07/10投稿) 今週の水曜日に私の手元に届いたACM SIGMOD Recordの最新号(2009年12月)の中で、Kyu-Young Whang他がユビキタスなデータベースという概念に合致する研究用プロトタイプや市販用のDBMS製品を調査(後述の参考資料1)しています。この論文の要旨は次のとおりです。 モバイルコンピューティング技術の進歩により、センサー、携帯電
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く