サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Google I/O
qiita.com/k-motoyan
都道府県をシステムで扱う時、多くの場合JISX0401の規格に基づいたコードが振り分けられることがほとんどかと思います。 都道府県は全部で47件と数が少ないためプログラム中にハードコードされる実装も多いかと思いますが1、 そもそも規格があるのだから規格に沿ったライブラリを公開してそれを利用するほうが、規格という共通認識・その実装の再利用といった観点から良いはずです。 多くのプログラミング言語には、JISX0401に沿った都道府県の情報を得るライブラリが存在しているかと思いますが、Golangにおいてはその存在が確認出来なかったため今回実装して公開を行いました。 ライブラリの名称は過去Rubyを利用していた時代に愛用していたchocoby/jp_prefectureをリスペクトし、同じ名前をつけさせていただきました。 https://github.com/diverse-inc/jp_pre
新しいプログラミング言語を始めるにはエディタは非常に重要ですよね。 Haxeを開発するにあたって、現在実用レベルに足るエディタは以下の2つになると思います。 FlashDevelop VS Code FlashDevelopについてはインストールすればすぐに利用出来るようになりますが、VS Codeはちょっと設定が必要です。 本投稿ではVS Codeを利用するための設定を記載していきます。 手元にMacしかないため、Macで設定することを前提に記事を書いています。 Windowsで同じように設定出来るかは分かりません。 必須環境 Haxe3.4以上 この投稿を書いている時点ではhaxeの安定版は3.2です。 3.4を利用するにはHaxe公式サイトからインストーラーをダウンロードしてください。 プラグインのインストール haxeのプラグインを検索すると2つ出てきますが、__Haxe Supp
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
この発表のタイトルにHaxeが含まれていますが、”型のあるフロントエンドの世界”という当勉強会のタイトルにちなんで付けているだけで、Haxeに対する不満は殆ど出てきません。 あらかじめご容赦下さいm(__)m まぁ、でもHaxeという名前も出したのでHaxeについてもちょっとご紹介しておきましょう。 Haxe使ってた理由 DeadCodeEliminationでコンパイル後のコードが必要なコードだけになる! 標準ライブラリがそこそこ豊富(フロントエンドのJavascriptと比較して) 構造的部分型便利! コンパイル時にAssetをコードに埋め込める機能 コンパイル早い 何か言語機能が欲しくなった時のマクロ Haxeやめようかなって思った理由 Haxeの弱点はエディタが少ないことにあるのは既知の事実かと思いますが、これまで愛用していたIDEAのHaxeプラグインの更新が止まってしまい、Ma
もともとPHPをメインにWEBアプリケーションの開発をしておりましたが、転職を機にRubyの世界に足を踏み入れました。 約1年ほどRubyの世界に浸ってみて、「PHPだったらこうだったのに」というのをN番煎じだ!とか言われないようにピックアップしてみます。 忙しい人向けのまとめ アプリケーションサーバーは言語が持つか、言語で実装されるかの違いだ、PHP書いてるやつは取り敢えずphp-fpmを触りなさい Rackと聞いたらPSR-7を思い浮かべなさい、Rackはそれにちょっとばかり実装を足したものだ RubyはThreadが使えるけど、IO関連の処理にしか効果はない オープンクラスは素晴らしい オペレーターメソッド/オペレーターオーバーロードは素晴らしい メソッドの関数化を覚えておくと、Ruby書いてる気持ちになれる IDEはPHPのほうが優れているので、Rubyの言語機能とのトレードオフと
最近知ったのですが、EC2にS3のバケットをマウントすることが出来るようです。 つまり、S3にRDBMSのファイルを置いて、そこに対してシステムがアクセスするようにすればRDSを利用せずに永続化したデータを利用することが出来るようになります。 S3をマウントする s3fs-fuseというライブラリを利用することで、S3のバケットをEC2にマウントすることが出来るようになります。 ubuntu14.04を対象にインストールからセットアップの手順を記載します。 (GithubのReadmeの内容がほぼそのまま書いているだけです。) インストール sudo su root apt-get update apt-get install automake autotools-dev g++ git libcurl4-gnutls-dev libfuse-dev libssl-dev libxml2-
werckerはcliツールを提供している模様。 http://devcenter.wercker.com/docs/using-the-cli/index.html これが何をしてくれるツールかというと、 local環境でwercker.ymlのタスクを実行してくれるという代物。 従来のCIツールは*.ymlを作って試しにデプロイしてみて失敗したらSSHでそのコンテナに入って調べるだとか、 ひたすらCIを回して原因を調べていくとかかなり面倒な作業が必要だったりするんだけど、 wercker cliを使えばローカル環境で、wercker上でCIが回るのと同じ感じでタスクを実行してくれる。 インストール(Macのみ) wercker cliはローカルでdockerコンテナを起動しているので、dockerをインストールする必要があります。 brewでboot2dockerをインストールします。
昨今のフロントエンド技術は進歩が圧倒的に早く、 jQueryわかります!MV*フレームワーク使ったことあります! という程度ではもはや技術についていけなくなってしまっているこの頃です。 技術に追いついていけるだけの基礎体力をつけるべく、GUIプログラムにおけるMVCパターンのデザインパターンについて学習したことを書いていきます。 まずはObserverパターンから… と思ってGUIにおけるMVCをいろいろ調べていたのですが、必須なのはObserverパターン(とその派生)だけだったという結論に至ったのでこれ以上javascriptのデザインパターンについては投稿するのやめました。 MVCについては、下記投稿や、 smalltalkのMVCについて目を通しておけば大丈夫だと考えます。 MVC、本当にわかってますか? smalltalk mvc 投稿者のバックグラウンド 参考までに書いとく。
VPSを選択するメリット 性能とコストのパフォーマンスが良い 構成の自由度が高い VPSのデメリット 構成するためのコスト(作業工数)が高い 転送量が増えるとアカウントをいきなり取り消されることがあるらしい ミドルウェアのバージョンアップなどの運用コストがかかる スケールアップが難しい PaaS コードの変更を反映させるだけでアプリケーションをすぐに動作させることが出来る、動作環境(プラットフォーム)を提供するサービス。 サーバーを直接触ることが出来ない代わりに様々なAdd Onが提供されているので、それらを利用して動作環境を拡張していく。 主なPaaS Heroku Google App Engine Engine Yard Herokuを利用して以下の様な環境を構築した場合、__約50$/月(1$=120円レートの場合、6,000円/月)__となった。 AWSとほぼ同程度の金額で利用出
タイトルはPHPに絞ってますが、他の言語でも同じようなことは出来ると思います。 前提 インターネットに接続できること Gitを使っていること shellがちょっと分かること CI環境を準備するのは大変 何を目的としているかわからないメソッドに対してテストを書いたり、 CIサーバー(サービス)を導入するために偉い人を説得したり、CIは始めることが一番大変なのではと思います。 手元にあるものだけで手っ取り早くCIしたいですよね? Gitのpre-commmitを利用しましょう Gitを利用していればcommitしない人なんていませんね。 commitするたびにツールが走ればいいんです。 gitのpre-commitにチェックツールを走らせるように書いておくだけ、 物凄くお手軽にCI環境が構築できますね! pre-commitで使えるツール 色々使えるツールがあります。 php -l これはイン
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? どうしてもMacのFinderの使い方に慣れることが出来ないので、windowsに回帰しようかと検討中。 windowsにしたら絶対に入れておきたいツールをリストアップしておく。 コマンドプロンプト系 windowsデフォルトのコマンドプロンプトが低機能すぎて使えない。 power shellはコマンドを覚えるのが面倒くさい。 やっぱりshellが使いたい。 git gitコマンドが使えるようになってbashも一緒についてくる。 chocoratey windows用パッケージ管理マネージャ。 昔使ってみた時はインストール出来るパッケー
いつの間にやらZephirのバージョンが0.5に上がっていました。 Zephirで開発されているphalconのほうもこの間とうとうベータ2になったようです。 PHP5.6のリリースやJITコンパイラの実装計画、hackの登場など今年のPHP界隈は色々と話題を欠かさないですね。 (最近のPHP本体のアップデートにCVE系のアップデートが多いのが気になりますが。。。) そんな盛り上がりを見せる中、PHPカンファレンス2014の開催ももうすぐということで、 登壇する代わりにQiitaにZephirの話を載せてPHPの盛り上がりに火をくべることにしましょう。 What's Zephir ? Zephirが何か?についてはQiitaの以下の投稿を見ればどんなものなのかは理解出来るでしょう。 メモリ操作を気にせずにPHPエクステンションを作れる言語”Zephir” Zephir使えばPHP Exte
PHPが型を厳密に定義するためにはいくらかのテクニックが必要である PHPという言語は皆様御存知の通り動的に型付けを行う言語であり、予め値や振る舞いがどのような型を持つかを定義することが出来ません。 そもそも実行時にコンパイルされる言語なので型という概念をもって云々言うのは違う気もしなくもないのですが、 最近の便利なツールのお陰で静的型付け言語のような事前の型情報チェックというのはPHPでもある程度可能になってきています。 ある程度の型付けが可能とは言っても、多くの静的型付け言語のような型を持つことを前提に言語機能が実装されている訳ではないため、静的型付け言語のもつ機能を実現しようとした場合にはある種テクニックのようなものが必要となってきます。 Haxeという静的型付け言語が変換するPHPのコードを見て、 「PHPが静的な型付けで書かれるならこうなる!」 というPHPので静的型付け言語のよ
{ "require-dev": { "behat/behat": "3.*", "behat/mink": "1.*", "behat/mink-extension": "*", "behat/mink-goutte-driver": "*", "behat/mink-sahi-driver": "*", "behat/mink-selenium2-driver": "*", "behat/mink-zombie-driver": "*" } } behat/behat behatの本体です。 テストシナリオを自然言語に近い形で記述し、実行する機能を提供します。 behat/mink ブラウザのエミュレーションツールと組み合わせてテストを行う機能を提供します。 behatと組み合わせて利用することが可能です。 behat/mink-extension behatで利用できるテストの機能を
Scrutinizerが凄い!! ScrutinizerというサービスがPHPの静的解析出来て凄いというスライドを読んで試しに使ってみたら思いの外すごかった。 公式サイトURL https://scrutinizer-ci.com/ スライドの記事 http://www.slideshare.net/hinakano/scrutinizer-ciphp オープンソースのリポジトリ(publicリポジトリ?)なら無料で利用出来るようです。 静的解析が優秀! Scrutinizerでは初期設定の段階で、php-sim、pdepend、php-analyzerツールが有効になっています。 これらツールの他に設定で、 PHP Code Sniffer PHP Change Tracking Analyzer PHP CS Fixer PHP Mess Detector Security Advis
<section> <form id="sampleForm"> <label> 半角英数字以外を入力してみよう <input type="text" id="input" placeholder="半角英数字で入力" pattern="^[0-9A-Za-z]+$" required> </label> <button type="submit" id="submit">送信</button> </form> </section> <script> "use strict"; var form = document.getElementById("sampleForm"), input = document.getElementById("input"), submit = document.getElementById("submit"); input.addEventListener
zephirとは? zephirはphpエクステンションを生成することに特化した開発言語です。 http://zephir-lang.com/ 特徴として、 メモリ操作を気にすることなくコードが書ける 静的型付け+動的型付け PHPの組み込み関数を利用する事が出来る PHPライクなシンタックス といった特徴が挙げられます。 PHPを書けるエンジニアなら習得するのは容易で、簡単にエクステンションを作成することが可能です。 インストール centos6.5で検証しました。 Gitがインストールされていること、remiリポジトリを参照出来る事を前提としています。 yum install -y --enablerepo=remi gcc automake autoconf pecr re2c php-devel # 適当なディレクトリに移動 cd /usr/local/src git clone
マイグレーション? マイグレーションは一般的には 移行する という意味になります。 WEB開発界隈では一般的にマイグレーションツールというと、 テーブルスキーマの更新などをソースコードレベルで管理運用できるようにするツールのことを指すことが多いです。 Ruby on Railsで開発を行った事がある人などは馴染みが深いかもしれません。 PHPでは? 大丈夫です、PHPにもちゃんとあります。 symfonyが利用するコンテナ doctrin にはmigration機能が用意されています。 cakePHPだってbundleとしてmigrationツールは用意されています。 今流行りの高速フレームワークphalconにもdevtoolsという開発ツールの中に用意されています。 それぞれ使い方などは異なりますが、ソースコードレベルでテーブルスキーマを管理することが可能です。 そんな有名なPHPフレ
知ってると便利かなーと思ったコンパイルオプションをリストアップしてみました。 コンパイル対象はJSに限定しています。 基本オプション -cp コンパイル対象ファイル・ディレクトリ コンパイル対象のhxファイルが置かれたディレクトリを指定します -main クラス名 スタートアップクラスを指定します。 packageを作成している場合は、クラス名の前に指定します -js 出力JSファイルパス 出力するJSファイルを指定します。 -lib ライブラリ名 利用するライブラリを指定します。 --next 複数のコンパイルを記述する場合、--nextに続けてコンパイル対象ファイルなどのオプションを記述します。
最近chefでレシピを書くのが楽しくてしょうがなくなってきました; 今回はchefのレシピ第三弾としてMySQLのレシピを書いてみました。 どんなレシピ? mysqlの5.5か5.6をインストールします。(attributeで変更) my.cnfに一部の設定が出来ます。(attributeで変更) mysql5.6でもパスワードが空で設定されます。(5.6はデフォルト値が設定してあるので、変更してます) rpmからインストールしています。 ソースコードは? 恐縮ながらgithubにmy_cookbooksというリポジトリを作成して、 自分で書いたレシピを管理しております。 https://github.com/k-motoyan/my_cookbooks レシピを見てみる レシピはこんなふうになりました。 mysql5.6の時はパスワードを設定する処理が走ります。 (if文で制御してるけど
chefではレシピを汎用的に書くためにattributeというものを作っておくといいそうな。 opscodeに上がっているレシピでよくみかけるnode[hoge][fuga]みたいなものです。 今回は早速覚えたattriburteの機能を使ってGitをソースコードからインストールするレシピを書いてみた。 Gitはバージョンアップのスピードが早いので、パッケージでインストールではちょっと古めのバージョンがインストールされる。 centOSに限っては問題多い1.7.1のバージョンが未だに入ってくる!! このレシピはきっと大いに役に立つに違いない(とっくに他の誰かがもっと良いレシピを作って公開しているとは思うけど...)。 レシピ レシピのディレクトリはcookbooks/git/で作成したことにします。 まずは、gitのattributeを定義しておくためのファイルを作成しよう、cookboo
世間的には休日なのに仕事をしていると、脳の創造的活動を司る領域が破壊されていくような気がしてしまいます。 ある日見たWWFの404ページに感銘を受けて、いつか面白い404ページを作ってみたいと思っていました。 いい機会なのと、息抜きを兼ねて404 Not Foundページをちょっとファニーな感じに作ってみました。 ※注意:この投稿は技術的にためになるようなことは殆ど書いていません。 どんなNot Foundページを作ったの? 背景画像がランダムで選択されます。 背景画像に沿ったテキストが表示されます。 「404 Not Found」のテキストがランダムでアニメーションします。 サンプルページ ロード時間とか一切考慮していない ブラウザ互換も全く気にしていないchromで試しただけ。 素材やライブラリについて このNot Foundページを作るにあたって以下の素材・ライブラリを利用しています
このページを最初にブックマークしてみませんか?
『qiita.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く