この記事はLisp Advent Calendar 2017の二日目の記事です。 はじめに この記事は、Common Lispという初めての人には初めましてな言語の入門記事です。 この世には、Common Lispというとってもカッコいい言語が存在します。その言語はANSIで規格が定められており、宇宙空間で動いたり深海で動いたりし、メタプログラミングが可能で、しかもC言語並に速いという、超クールな言語なのです。歴史あり、逸話ありのLispであって、実用的と言われるLispです。そんな言語、いますぐに始めてみたいと思いますよね? しかしググってみると、なんだか処理系っていうの (?) がたくさんあったりしてどれを選んでいいのかわからない。rbenv的なものはないの? パッケージマネージャは? アプリケーションのビルドとかどうしたらいいの? ぱっと実用的なプログラムをどう書いたらいいかわから

いまや Webフロントエンド開発に欠かせなくなったNode.js。併せて使うことが多いnpmの使い方を基礎から学びましょう。 Node.jsは、サーバーでJavaScriptアプリケーションが書けます。V8JavaScriptランタイムで動作し、C++で書かれているため高速です。当初、アプリケーションにサーバー環境を提供する目的でしたが、ローカル環境のタスク自動化ツールとしても利用されています。Grunt、Gulp、WebpackなどのNode.jsをベースにしたツールによる新たなエコシステムは進化を続け、フロントエンド開発の形を変えるまでに至りました。 Node.jsのツールやパッケージインストールしたり管理したりする方法を、Node.jsのパッケージマネージャーであるnpmが担っています。npmには必要なパッケージをインストールするほか、パッケージを扱うための便利なインターフェイスが

はじめに ドキュメントを書くための言語としておそらく今一番ポピュラーなのはMarkdown だと思いますが、 かっちりした仕様書やユーザーマニュアルなど、より本格的なドキュメント作成にはやや機能不足と感じることがあります。 私も以前、ドキュメントを Gitbook で作れないか検討したことがあったんですが 表を書くのがめんどくさかったり、図のキャプションなどに対応していなかったことから断念しました。 そこで、今回はMarkdown よりも表現力の高い言語として知られるAsciiDoc を試してみます。AsciiDoc は O'reilly でも採用されているほか、Pro Git やJavaScript Promise の本 などの非常に完成度の高い技術ドキュメントがAsciiDoc で書かれています。 (参考記事) ・テクニカルライティングの未来を先取り ーAsciidoc

人間がブラウザを用いて手作業でできることは、プログラミングによって自動化できます。 業務でのWebシステムの操作 巡回サイトでの定型処理 Webアプリケーションの自動テストetc. 例えばPerlではWWW::Mechanizeというモジュールを用いて上記のような自動操作が可能です。同様にRubyにもMechanizeというライブラリがあります。 しかしながら、これらのツールはFirefoxやIEといった各種ブラウザを完全にエミュレートできておらず、例えばJavaScriptが多用されているサイトだと自動化が簡単には達成できなかったりします。そこで、Seleniumという、ブラウザをエミュレートするのではなくブラウザを操作するツールを用いることで作業を自動実行することを試みます。 Seleniumについて Seleniumはブラウザを自動操作するためのプロジェクト群です。簡単な自動化であ

タイトル長い。すまぬ。PHPerとして約10年近く。Ruby自体は案件によってちょこっとだけ触ったことがある程度。Rails自体を本格的にさわるのは今回が初めて。PHPだとCakePHPを中心にZend/Symfonyなどいくつか。そんな僕が今回、Rails4デビューをして、WebAPIを作り、RSpecでテスト駆動開発風味で、GitHubプルリクベースの、CircleCI経由デプロイをするまでの開発の流れをひと通りやってみて、分かったことがいくつかあったので、それをまとめてみた。過去の自分のために。 注意点としては、今回作ったのはWebサービスではなく、スマホゲーム(ネイティブ)のサーバサイドWebAPIという点。なので、いわゆるViewに関わる部分はあんまり出てこないです。すまぬ。 それと、ひと通りの流れをチュートリアル的に解説するような記事ではなく、躓いたポイントだったり、当時分かり

Sinatraで、入力した値を表示させるだけの超簡単なアプリをつくる方法を手順化して説明します。 1.環境作成 yum install openssl-devel httpd gem install sinatra gem install thin まずはApacheの設定やsinatraのインストールをします。 sinatraはそれだけで起動するとweblickを使うのですが、thinをインストールしてあるとそちらを優先して使うので、今回はthinもインストールしておきます。 2.ファイルの作成 ファイル名は適当に「test.rb」で作成します。 require 'sinatra' get '/top' do "Hello World" end まずsinatraをrequireします その後にルートにアクセスが来た場合の処理を書きます。 3.起動して確認ruby test.rb 「h
シェルスクリプト入門として, 基本的な書き方をまとめました. 長いですが, 1ページにまとめてみました. 良かったら目次も参考にしてご覧になって下さい. 目次 シェルスクリプトとは 作り方, 実行の仕方 コメント ユーザーからのキーボード入力を受け付ける 変数 通常の変数 特別な変数 演算子 数値計算演算子 比較演算子 コマンドを繋げる演算子 条件文に使える比較演算子 条件文 制御構文(分岐) if文 case文 制御構文(ループ) for文 while文 until文 select文 文字列処理 文字列置換 削除 複数行のテキストの出力(ヒアドキュメント) 関数 シェルスクリプトとは シェルスクリプトとは, シェルの動作をまとめて記述したスクリプトのことです. 決められた文法にしたがって処理を記述することによって, シェルでの処理をまとめて行ったり, 作業を自動化できたりします(例 複数
2.2 スキーマの規約 Activeレコードは、DBテーブルのカラムのために、カラム用の命名規則を使用します。 外部キー これらのフィールド名は、(単数形テーブル名)_idと命名すべきです。(例:item_id、order_id) このフィールドは、モデルで関連性を作成した際にActiveレコードを探す対象になります。 主キー デフォルトでActiveレコードはidと名付けられた数値型のカラムをテーブルの主キーとして使用します。Railsのマイグレーションを使用してテーブルを作成した場合、このカラムは自動的に生成されます。 また、Activeレコードインスタンスに、追加機能を作成するカラム名も存在します。created_at レコードが初めて作成される際に、自動的に現在の日時を取得して登録します。 updated_at レコードが更新される度に、自動的に現在の日時を取得して登録・更新
http://localhost:4567 を開きます。 ThinがあればSinatraはこれを利用するので、gem install thinすることをお薦めします。 目次 ルーティング(Routes) Sinatraでは、ルーティングはHTTPメソッドとURLマッチングパターンがペアになっています。 ルーティングはブロックに結び付けられています。 get '/' do .. 何か見せる .. end post '/' do .. 何か生成する .. end put '/' do .. 何か更新する .. end patch '/' do .. 何か修正する .. end delete '/' do .. 何か削除する .. end options '/' do .. 何か満たす .. end link '/' do .. 何かリンクを張る .. end unlink '/' do ..
※2016/04/24 追記 昨年末にItamae meetupで話した時のスライドリンクを追記しました。 Databag >itamae-secret の話やConsul連携の話が追加されています。 http://www.slideshare.net/tsuyoshitorii5/itamae-meetup-vol1public 現在自分が運用管理しているChef-soloプロビジョニングの仕組み 1 をItamaeに移行した時のお話をしようと思います。 管理規模としては大規模ではなく、小〜中規模的なところかと思います。 (ロールによってレシピ切り分けたり、環境毎にレシピ用意したりなど…) 最初に:Itamaeについて https://github.com/itamae-kitchen/itamae 軽量なChef と考えればよいでしょう。 Chefの複雑さを取り除き、必要十分な部

2013年05月08日18:21JavaScript 実際のサイト上で動作するチュートリアルが簡単に作れるIntro.jsが便利すぎる件 さて、先日簡単なチュートリアル作ろうと思ったんですが、どうやるのが良いのかなーと思って悩んでました。キャプチャ取ってそこに説明文を書いて…ってしてもいいんですけど、キャプチャだと一部分なのでサイト上のどの辺なのかわかりにくかったり、サイト側は変更したのにキャプチャが古いままとかになったりしちゃいますよね>< とか思って探してみたらこちらの Intro.js が便利だったので紹介してみます。 さて、この Intro.js を使うとですね、サイト上で動作するチュートリアルを簡単に作れるんですよ。使い方も簡単で、動作させたい要素に対して data-intro (表示する説明文) と data-step (チュートリアルの何番目に表示するか) を指定します。チ
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く