インストール方法に倣って行います。手っ取り早く済ませたい方はこちらターミナル(コマンドプロンプト)を立ち上げます。hamlズラズラズラーっと文字が出てきますが、これだけでインストールは完了です。-v下記のようにバージョンが表示されればインストール成功。書きまくるだけですが、ひとまず作業ディレクトリを用意しておきましょう。場所はどこでも良いのでtry_hamlというディレクトリを作っておきます。グローバルレベルでインストールする方法ですが、開発環境(※ディレクトリ)単位でインストールしたいという方はこちらの手順でインストールすることになります。プラグインです(※bundler自身もgemです)。インストール手順については以下の記事に詳しく書かれているので、ここでは割愛します。インストールいきなりインストールコマンドを実行せずに、まずは開発環境となる作業ディレクトリに移動します。try_haml次に以下のコマンドを実行して作業ディレクトリを初期化します。いうテキストファイルが生成されます。使えれば良いので、これらをまるごと消して以下のソースコードだけを書きます。作業ディレクトリに対してインストールされました。これですべての前準備は完了となります。ファイルを書きだしてみます。先ほど作ったtry_hamlディレクトリ内にindex.hamlというファイルを新規に作成します。作成出来たらテキストエディタで以下のコードを入力します。ファイルを書きだしてみます。ターミナル(コマンドプロンプト)を開き、try_hamlディレクトリに移動します。インストールした場合は、以下のコマンドを入力します。記法について一つずつ解説していきます。生成時にそれぞれ必要に応じて補完されます。ipsum</p>イメージとして、要素を宣言してその引数として入れ子にしたいテキストを渡すといった感じです。入れ子というキーワードが出て来ましたが、要素を入れ子構造にするやり方は次に紹介します。おいて改行とインデントは非常に重要な意味を持っています。ここで気をつけなくてはならないのは、インデントのサイズと数です。半角スペースでも問題ありませんが、それらを混在させることはできません。コンパイラはソースコードを上から順にチェックして、一番最初にあるインデントを基準とみなします。基準と異なるサイズのインデントを見つけるとコンパイルエラーが発生します。入れ子が一段階の場合はインデントの数もひとつにしなくてはなりません。誤ってインデントを2つ続けて入力してしまうとコンパイルエラーが発生します。コードがあるとします。文法上は何も問題ありませんが、この程度のコードなら一行で書きだしたいところです。要素名の後ろに<をつけると、その要素の内側にある改行や空白を全て取り除いた状態で書き出すことが出来ます。>をつけると、その要素の外側にある改行や空白を全て取り除きます。Haml!HTML<p>Hello,<strong>Haml!</strong></p>全て一行に纏められました。上記のように書くことで複数同時に指定することができます。指定すると、div要素とみなされて書き出されます。ついて詳しく知りたいという方は、こちらをご参照ください。DECONCEPTER属性の付け方srcやhref、name、targetといった属性を指定する方法です。これに関しては以下のように二通りの記法があります。title="クラスメソッド開発ブログ">Developers.IO</a>書き出される結果はどちらも同じです。もこの記法で書くことができます。要素と同様に入れ子とインデントを意識する必要があります。コードでのみ有効となるタイプです。ipsum</p>HTMLには書き出されません。宣言部分が書き出されます。用のがデフォルトで書き出されるようになりました。要素では改行や空白文字をそのまま保持しておく必要があります。/></textarea>:preserveフィルターを呼び出し、そこ以下に書かれた文字列は改行や空白文字が(※必要に応じてエスケープされたりして、)そのまま保持されます。タグの記法を省略しただけで、まだまだ超速と呼ぶには物足りません。プログラミング手法を使うことができます。この機能を上手く利用すればとっさの文言修正やレイアウト変更にも難なく対応することができるなど、超速への階段をまた一つ駆け上がることが出来るでしょう。変数を使う変数の定義は一行目にあるように先頭に-をつけ、その後ろに変数名を記述して値を代入します。変数の内容を出力するにはいくつか方法があり、主に以下の様な記法にて出力します。タグと同じ行内で出力するにはタグ名の直後に=をつけ、その後に変数名を記述します。タグの後に改行して通常の文字列と合わせて表示させるには変数を#{}で囲みます。=の後に書くわけですが、文字列全体をダブルクォーテーションで囲う必要があります。(シングルクォーテーションでは変数名がそのまま表示されてしまいます。)例えばユーザー名など画面のいろんな箇所に同じ文言が表示されるといった場合、それぞれの箇所にベタ書きしてしまうと文言変更が発生した際に全箇所修正しなくてはなりません。変数で定義しておけば修正はその一箇所だけで済むので、ケアレスミスを犯すことなく瞬時に修正することができます。elseJavaScript等と同様にifelseが使用出来ます。於いてはelsifと記述します。when同一の条件式に対して2つ以上の候補がある場合は、ifelsifを繰り返すよりもcasewhenを繰り返すほうが整然としたコードにすることができます。<tt>for</tt>文はありますが、文化の違いなのかあまり使われません。代わりに繰り返し回数を明示的に定義する<tt>times</tt>や配列の長さだけ繰り返す<tt>each</tt>が頻繁に用いられます。回繰り返すという言葉そのままの処理です。サンプルにあるようなリストのアイテムや、テーブルの行をダミーで作りたいときなどに便利です。メンバー名を配列に定義し、each関数で1つずつ取り出してリストに表示させています。式を書くときは先頭に-もしくは=をつけるのが基本的なルールとなっています。ファイルに出力したい式(※変数の中身など)に対して使用します。外部ファイルをインクルードグローバルヘッダーやページフッターなど、全画面通して同じ要素のモノに関しては外部ファイル化しておくことができれば、万が一修正することになっても1ファイルのみで済むので非常に効率的な上、つまらないデグレの予防にもつながります。使いやすく改善されているので、ここでは参考程度にとどめておけば良いでしょう。タグの属性値が全てシングルクォーテーションで囲われた状態で出力します。ダブルクォーテーションで属性値が囲われるというのが一般的です。コンパイル時に以下の様なオプション指定することで、ダブルクォーテーション出力させることが出来ます。index.htmlコンパイルコマンドに-qというオプションをつけます。これで以下のように属性値がダブルクォーテーションで囲われました。比べるとかなり記法に違いが感じられて、最初のうちは却ってコーディングスピードが落ちてしまうかもしれません(※ソースは山田)。ルールさえしっかりと身についていれば一日もかからずに使いこなすことが出来るハズです。僕はこれのお陰で一年以上前に書かれた数十ページあるソースコードを機能追加と同時進行でありながら短期間でリファクタリングすることが出来ました。フロントエンドエンジニアは是非とも習得しておきたい技術です。デザイナーの方も自分のアイデアを素早く形に起こすためにも習得しておいて損はありません。プログラマー集団にデカイ顔をされないためにも、こういった技術を身につけておくと彼らからの見る目が違ってくること請け合いです。本格的な使い方について紹介していきます。自体を書く上でもより便利な関数が予め用意されているなど、誇張ではなく本当に超速でプロトタイピングが出来るようになります。1,344,745目覚めてみるとそこには誰の姿もなかった。昨晩飲んだらしいウィスキーのグラスだけがテーブルの上に残っていた。僕はそれをビートルズ中期のジョン・レノンのような虚ろな目で眺めた。誰も僕を責めるわけではないし、誰も僕を憎んでいるわけではない。それでもみんなは僕を避け、どこかで偶然顔を合わせても最もらしい理由を見つけてはすぐに姿を消すようになった。僕はいま自分の置かれている立場に名前を付ける必要があった。フロントエンド・エンジニア僕は口に出して呟いた。悪くない格言のようにその言葉は一人の部屋に響いた。僕はていねいに時間をかけて六本の鉛筆をナイフで削り、そして全く使い道のない鉛筆を机の端に並べてからパソコンの電源を入れた。「ブログを書こう」ゆっくりと立ち上がったその瞬間に、後ろから僕を呼ぶ声がした。プロジェクトリーダーの声だ。熟練の山師が鉱脈を探し当てるかのように、その声には淀みがなかった。僕はパスルのピースをはめるかのように次の新しい案件にアサインされるのだ。「やれやれ」と僕は呟いた。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。〜ITエンジニアのお仕事とホンネ〜1月30日に新卒向けの会社説明会〜ITエンジニアのお仕事とホンネ〜を開催します。濱田孝治80EKS初心者の方向けに、EKS周辺のAWSリソースがどのように関連して動作しているのかをステップバイステップでEKSCTLが担っている役割を中心に説明しました。菊池修治45こんにちは、菊池です。VPNの冗長化について、最近何度か続けて社内で質問を受けましたのでまとめようと思います。大前諒祐26MediaLiveでの配信終了時に自動でアーカイブファイルをMediaConvertで変換する仕組みを作ってみました。武田隆志1179このエントリは、2018年、2019年に公開したAWS全サービスまとめの2020年版です。これまではいくつかに分割して公開していましたが、1エントリにまとめてほしいという要望をもらっていたため、今年は1エントリに集約してみました。クラスメソッドの関連会社であるアノテーション株式会社の研修として依頼を受け、チームと心理的安全性、それに礼節というテーマで話をしてきました。CAFEのサービスが「LINEアプリ」として利用できるようになりました。これまではLINEのトークから利用する形でしたが、LINEサービス内から利用できるようになりました。これまでより便利に、シームレスにご利用いただけます。Cafe328件のシェア(そこそこ話題の記事)インフラ未経験の私が内定から入社までに読んだ技術書11冊ブログ記事2020年01月16日Yui328インフラ未経験で入社した私がインフラを勉強するために読んだ技術書11冊を感想とともにまとめました。濱田孝治272「ふわわぁ、眠いな。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。