コンパイラかく語りき

import { Fun } from 'programming'

2016-04-01から1ヶ月間の記事一覧

【Ruby】割り算と剰余のメソッド復習

Rubyにはたくさんのメソッドがありますが、割り算や剰余を求めるためのメソッドがあるんですね。ビックリしました。 このページを参考にして、学習します。 www.rubylife.jp 写経写経。 gist2c79c5914680e5089045cd38af9e229d なるほど。。divとquoを使えば…

Swift実践入門1 レッスン1

Swiftの勉強です。 ひとまず、公式のSwiftツアーをほぼ終えました。 chuckwebtips.hatenablog.com 最後のほうのプロトコルやエラーハンドリングは実は未消化です。 基本的な文法を学んだ所で集中力が尽きてしまいました。クラス・構造体・Enumあたりまでは学…

ElmでつくるTodoList(5)

Elm

引き続き、ElmでTodoListをつくっていきます。 chuckwebtips.hatenablog.com ここで、ちょっと修正を行います。 Elmのプロの方からブログにコメントをいただけたので、そのフィードバックを反映します(嬉しい!) 型のimport TodoListを作り始めた頃、親子…

SwiftTourをやってみる(Enum編)

引き続きSwiftTourを消化していきます。 developer.apple.com 今回は時間がなかったため、Enumの箇所のみ写経しました。 gist90c7f94c1a39a8d341562dd77cfd13e8 Enumの箇所のみ、とは言え自分にとってはEnum自体が新鮮で、圧倒されました。 たぶん、まだしっ…

ElmでつくるTodoList(4)

Elm

ひきつづき、TodoListをつくっていきます。 chuckwebtips.hatenablog.com 今回はちょっとした機能追加をします。 現在、Todoを追加する際には、空文字でも追加できてしまいます。 (2つめのTodoが空文字) そこで、空文字の場合はAddボタンを押せないように…

【Ruby】先頭の1文字を大文字にする

Rubyで先頭の1文字を大文字にする方法です。 結論から言うと、capitalizeメソッドを使えばOKです。 ref.xaio.jp gist60583a25c54aad08dafe0c1d1b25de77 いやあ、Rubyってホントになんでもありますね。 最初こんな風に書いてた自分が恥ずかしいです。。 gist…

Elm-Architecture入門(6)

Elm

ちょっと間が空きましたが、Elm-Architectureの学習のつづきです。 前回の学習はこちら。 chuckwebtips.hatenablog.com この間に何をしてたかというと、TodoListを作っていました。 ずっと写経ばかりだったので、手を動かしてみようかなと。 chuckwebtips.ha…

SwiftTourをやってみる(中盤)

中盤です。引き続き、Apple公式のswift tourをこなしています。 今回はクラスとオブジェクトに関して学びました。 gist243819b3890246b8824394658f0acbeb 継承っぽいものがあったり、ゲッタ・セッタがあったり、基本的にはJavaと一緒ですね。 ただ、イニシャ…

SwiftTourをやってみる(前半)

Swiftの勉強記録です。 前回は輝かしいハロワデビューをしました。 chuckwebtips.hatenablog.com 今回からは、Swiftのシンタックスやデータ型に触れていきます。 techstars.jp こちらのありがた〜いブログポストによると、たくさんのチュートリアルサイトが…

SwiftでHelloWorld!

今日からSwiftに入門します。 なにはともあれ、HelloWorldですね。 qiita.com Swiftを書いて実行する環境は、特にこだわりもないので、XCodeを使います。 XCodeのざっくりとした使い方は、ドットインストールで学んできました。 dotinstall.com XCodeが初め…

【Ruby】Timeクラス入門

競技プログラミングで時間を扱う問題が出ました。 RubyでTime関数を書いたことがなく、良い機会なので軽く勉強してみました。 gist550d361d5256c1f74a5c3de7fc31d568 Time.atで時間の起点を指定できるのがいいですね。 フォーマット指定のstrftime関数も覚え…

ElmでつくるTodoList(3)

Elm

ひきつづき、ElmでTodoListをつくっていきます。 前回は、Todoに任意の文字列を入力できるようにしました。 chuckwebtips.hatenablog.com 今回は、それぞれのTodoに終了機能をつけていきます。 終了機能の実装 チェックマーク まず、見た目から追加します。 …

ElmでつくるTodoList(2)

Elm

ひきつづき、ElmでTodoListをつくっていきます。 前回までで最小構成ができたので、ここからはTodoListらしい肉付けをしていきます。 chuckwebtips.hatenablog.com テキスト入力 現在、Todoの追加はボタンのクリックのみです。 ボタンをクリックすると、do s…

ReactNative入門(2)

ReactNativeの学習を続けていきます。 chuckwebtips.hatenablog.com 前回まででセットアップが終わり、XCodeで画面を立ち上げることができました。 といっても、指示通りにやるだけですが。。 今回からは、公式のチュートリアルに従って映画リストを作成して…

ElmでつくるTodoList(1)

Elm

今回から、ElmでTodoListを作っていきます。 ちなみに、elmでtodolistを作成する場合、以下のレポジトリが参考になるかもしれません。 github.com チュートリアルというほどではないですが、学習の参考になるはずです。 ただし、ただの写経になってしまいそ…

【glob】ignoreで除外ファイルを指定

globで初めてignoreを指定したのでメモ。 まずはコード。 gist2e4b810930e2c89a05b282b1f686734b ※ elmプロジェクトを例にしました。通常は、node_modules/**/*.jsとかにすれば良さそう。 ignoreする場合は、第二引数にオブジェクトを渡せばOK。キーをignore…

ReactNative入門(1)

今日からReactNativeの勉強を始めます。 ReactNativeとは、JavaScriptでネイティブアプリが書けてしまうすごいやつです。 ずっと勉強したかったのですが、どうやら前提知識としてReactができる必要があるらしく、遠回りをしていました。 年始からReactとRedu…

Elmシンタックス(3)

Elm

引き続き、Elmのシンタックスのお勉強。 前回は再帰関数について学びました。 chuckwebtips.hatenablog.com 今回は、union typeのうちeitherというものについて学びました。 union typeってなんやねんと思ったのですが、要は直和型っぽいです。 ただ、こんな…

【Ruby】コレクション系メソッドおさらい

Rubyを始めて4ヶ月。だいぶ慣れてきました。 ここらで配列操作系のメソッドをおさらいします。 gistですみません。。 gistd977462ee6b2417050933bd9bf759945 最初はeachだけでがんばっていたのですが、ようやくmapやinjectを使えるようになってきました。 …

【Ruby】max_byで最大要素の取得

Enumerableクラスのmax_byが地味に便利だったのでメモ。 リファレンス↓ ruby-doc.org Enumerableの要素に対して、評価式を渡して、大きいものを返します。 コード例は以下のとおり。 gist8829cdac7dead0afd066b9d7a80aaac7

Elm シンタックス(2)

Elm

Elmのシンタックスについて、ひきつづき勉強していきます。 前回は基本的な関数の用法について学びました。 chuckwebtips.hatenablog.com 今回は関数の中でも、再帰を使った処理について学びました。 http://elm-lang.org/examples 写経したコードがこちら。…

Elm シンタックス(1)

Elm

Elmのシンタックスについて、軽く勉強しました。 まだまだ記法に慣れておらず、公式のサンプルを写経しました。 今回は、以下のCore > functionsを消化。 http://elm-lang.org/examples 書いたコードがこちら。 gist35a6ce778af8c49457a0df837d20f579 Elmで…

"魅惑のElm標準ライブラリ"を読んだ

Elm

Qiitaのこちらの記事を読みました。 qiita.com Elmで定義されているデータ型とその内部実装について、解説がなされています。 以下、読みながらのメモとなります。 直和型 基礎知識としまして、Elmにおいて直和型は以下の様にctorフィールドを持つObjectとし…

Elmのコンパイルにウォッチ機能がないから外部ファイルを作った

残念ながらElmのコンパイルにはwatchオプションがありません。つまり、「ファイルの変更を感知してコンパイルを行う」といったことができません。 そこで、Nodeの標準パッケージを利用して、擬似的なwatch機能を作ってみました。 gist8b7482df27f3e1b80f4823…

【node.js】execでunixコマンドを実行する

Node.jsのお勉強です。 Nodeの標準パッケージのうち、chukd_processというものを使えば、unixコマンドが利用できると知ったのでメモ。 Child Process Node.js v0.11.11 Manual & Documentation コマンド実行関数 ざっと見たところ、コマンドを実行できる関数…

【node.js】fs.watchでファイルを監視

タスクランナーやバンドラのwatch機能ってあるじゃないですか。あれらはもちろん知っていたのですが、nodeの標準パッケージにもwatchがあるんですね。初めて知りました。 というわけでメモ。 fs.watch 使い方:fs.watch(filename[, options][, lister]) 指定…

Elm-Architecture入門(5)

Elm

引き続き、ElmArchitectureの勉強をしていきます。 chuckwebtips.hatenablog.com 前回は動的にカウンターを作成する方法を学びました。 今回は、削除機能を改良して、それぞれのカウンターに削除ボタンをつけるようにします。 github.com レンダリング関数の…

npmパッケージ「array-flatten」

npmのパッケージを触ってみるシリーズ。 chuckwebtips.hatenablog.com chuckwebtips.hatenablog.com array-flattenとは 配列を平坦化してくれるパッケージです。 詳しくは後述の例を参照ください。 github.com インストール $ npm install array-flatten 使…

ちょっとES2015を書いて、手元で実行させたいときにやること

メモ書きです。 npmのパッケージをインストールして、それを手元で作動させてみる。みたいな時があると思います。 タスクランナーを走らせたりバンドルするまでもないけど、さくっとトランスパイルしたい。 そんな時、babelをターミナルで動かすと便利だなと…

Elm-Architecture入門(4)

Elm

引き続き、Elm-Architectureのサンプルを見ていきます。 chuckwebtips.hatenablog.com 前回は、複数のカウンターを作成しました。 今回は動的なカウンターを作成します。 github.com カウンターモジュール カウンター自体は前回作成したものを再利用します。…