プログラミング言語の最初の1歩を解説するサイト「How I Start」から、Peter Bourgon氏によるGo言語(golang)の始め方について。Goのシンプルさと標準ライブラリの使いやすさに焦点を当てた、分かりやすい解説。 Goは、信頼に値するスマートな人達によってデザインされ、大規模かつ成長を続けるオープンソースコミュニティによって継続的に改善されている、愛すべき小さなプログラミング言語である。 Goはシンプルであることを標榜しているが、時にはそのしきたりが少々分かりにくくなる時もある。ここでは、私がGoのプロジェクトをどのように始めたか、そしてどのようにGoの慣習に従うようになったかをお見せしようと思う。Webサービスのバックエンドを構築してみよう。 環境設定 もちろん、最初のステップはGoのインストールだ。オフィシャルサイトで、使用しているOSのバイナリディストリビューショ
Ruby on Railsというフレームワークを使うとrails new Hogeとかでアプリケーションのひな形ができちゃって、rails serverでサーバーが立ち上げられたりするわけですが、これは一体どうなってるんだというのを追っていけたらなと思います。誰にでもわかるように書きたいです。今回こそはくじけずに書ききりたい。 railsとbin/railsの違い railsはシステムにインストールされたrailsコマンドを呼ぶ(/Users/ユーザー名/.rbenv/shims/railsみたいな)。 bin/railsはそのプロジェクト下のbin/railsのコマンドを呼ぶ。 bin/rails Railsプロジェクトを作ると、binというディレクトリの中にrailsというファイルがある。これをエディタで開いてみる。 $ vim bin/rails 中身はこんな感じ。 #!/usr/b
docker rails dockerでrailsを動かす場合にどうするのが良いかなーと試行錯誤し、構成も落ち着いてきたのでまとめます。 一番最初はとりあえずってことで、railsリポジトリ + railsを動作させるコンテナの組み合わせで試してみました。 Dockerfileの内容 FROM base # rubyインストールに必要なパッケージを用意 RUN apt-get update RUN apt-get install -y --force-yes build-essential curl git zlib1g-dev libssl-dev libreadline-dev libyaml-dev libxml2-dev libxslt-dev # rbenv, ruby-buildをインストール RUN git clone https://github.com/sstephens
herokuデプロイに必要な作業をダイジェストでお送りします。 ■Gemfilesの追加記述 gem 'sqlite3', group: [:development, :test] gem 'rails_12factor', group: [:production] gem 'pg', group: [:production] ■config/database.yml production: adapter: postgresql encoding: utf8 database: pool: 5 username: password: ■herokuへデプロイ heroku create myapp git push heroku master heroku addons:add heroku-postgresql heroku run rake db:migrate heroku ope
こんにちは。CTOの馬場です。 最近利用する機会が増えてきたdockerネタです。 nginxを動かすときのTipsを3つ紹介します。 foregroudで起動する dockerではコマンドをforegroundで動かさないとコンテナが停止してしまいます。 nginxはデフォルトはデーモンとして動くので、foregroundで動くように設定しましょう。 nginx.confで設定するならこうです。 daemon off; Dockerfileの起動コマンドで指定するならこうです。 CMD ["/usr/sbin/nginx", "-g", "daemon off;"] 動的な設定を外部化する イメージの中に設定値を入れちゃうのはダサいですよね。 コンテナ起動時に動的に設定したいものです。 dockerの場合は docker run 時に -e で環境変数を指定できるので使いましょう。 do
こんにちは。 アメーバピグでNode.jsを使って開発をしている中村と申します。 平日はエンジニア、土日は主夫として働いています。 さて、早速ですが、この記事ではESLintを使って、JavaScriptのソースコードのバグを発見する手順をご紹介したいと思います。 ESLintとは ESLintはNicholas C. Zakas氏が中心となって開発しているJavaScriptのLintツールです。 JavaScriptのLintツールといえば、最近ではJSHintが定番だと思います。 ESLintはJSHint同等の機能を持つ他、解析ルールが完全にプラガブルになっており、独自ルールを自由に追加できるという特徴があります。 例えば、JSHintでいうところの、strict(strict modeで実行されるかをチェック)というオプションは下記のURLのように個別のルールとして実装されていま
はじめに dockerでrailsを動かす場合にどうするのが良いかなーと試行錯誤し、構成も落ち着いてきたのでまとめます。 お試しバージョン 一番最初はとりあえずってことで、railsリポジトリ + railsを動作させるコンテナの組み合わせで試してみました。 Dockerfileの内容 FROM base # rubyインストールに必要なパッケージを用意 RUN apt-get update RUN apt-get install -y --force-yes build-essential curl git zlib1g-dev libssl-dev libreadline-dev libyaml-dev libxml2-dev libxslt-dev # rbenv, ruby-buildをインストール RUN git clone https://github.com/sstephen
社内勉強会で発表しようと思ったけど、寿司の運搬という重大任務を仰せつかって、流れてしまったスライドを転載 direnv is an awesome successorof ***env's. from Kenji Omoto (なお原稿では乱立する"***env"をマスコミは「目があって角が2本」としか認識していない国民的ロボットシリーズに、 anyenvをそれらを合体させたプラモ作例、 direnvを白くて角が1本のシンプルなデザインな新作に例えましたが、 大人の事情で削除しています。) pyenvはawesome Pythonには、プロジェクトそれぞれに専用の環境を作ってPythonのバージョンやライブラリを切り替えることができる、virtualenv, virtualenvwrappperというツールがあります。 Rubyなどの他の言語にも、virtualenvのようなツールがありま
はじめに Gitはとても便利ですが、GitHub上で不適切に公開されている秘密鍵を使ってAWSに不正アクセスする事例が発生 というようにAWSアクセスキー、シークレットキーを誤って登録してしまうととても恐いことになります。利用者側で気をつけられるようにGitのフックをつくってみましたので報告します。 Git フックとは? Gitにはフックというなにかの操作の前後にスクリプトを実行できるような仕組みがあります。これを使うことにします。コミットの前に気づければよいのでpre-commitを使うことにします。サンプルファイルが .git/hooks/pre-commit.sampleにありますが、今回はシンプルにしたいので、.git/hooks/pre-commitをスクラッチで作ります。 アクセスキー混入防止フック とてもシンプルです。git diffをしてその中に KEYという行があり、さら
定期的にこういう内容を書いて公開している気がする。昔の記事もあるのでそちらを読めばいいのだが、また書く必要性が生じてきたのであらためて書きます。 現代では AWS のようなクラウドや VPS など格安で手軽にインターネット上にサーバーを持てるようになった。しかしインターネットで誰でもアクセスできる環境でサーバーを稼働させるということは、常に人間やロボットの攻撃に晒されるということを同時に意味している。したがって初心者だからだとか、会社の中ではこうやって仕事をしているからといった言い訳は一切通用しない。セキュリティ設定をきちんとしなければ内部への侵入をたやすく許し、思わぬデータの漏洩につながるのである。とはいえセキュリティというのはトレードオフを考慮しなければいくらでも強化できるものでありキリがない。ここでは最低限これだけはやっておこうという現実的な落とし所を提示し、人々への啓蒙をはかるもの
Shin x blog Advent Calendar 2013 の 16 日目です。 最近話題の Docker 色々と触っています。 触ってみる中で、普段の開発現場でどのような用途に使えそうなのかを考えています。こうだ!という結論が出ているわけではないのですが、一度書き出してみます。 前提 Webシステムの開発現場を想定しています。 言語は普段使っている PHP ですが、内容にはあまり関係無いです。 開発機には Mac OSX を使っています。 検証環境(サンドボックス) まず一番に思いつくのが、検証環境としての利用です。Docker を使えば、OS のみがインストールされている状態のコンテナを手軽に作成できるので、そこでミドルウェアのインストール、設定などを自由に行い、検証が済んだら、破棄します。 OSX 環境では Docker は動かないので、Vagrant + VirtualBox
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く