2018年4月25日をもちまして、 『CodeIQ』のプログラミング腕試しサービス、年収確約スカウトサービスは、 ITエンジニアのための年収確約スカウトサービス『moffers by CodeIQ』https://moffers.jp/ へ一本化いたしました。 これまで多くのITエンジニアの方に『CodeIQ』をご利用いただきまして、 改めて心より深く御礼申し上げます。 また、エンジニアのためのWebマガジン「CodeIQ MAGAZINE」は、 リクナビNEXTジャーナル( https://next.rikunabi.com/journal/ )に一部の記事の移行を予定しております。 今後は『moffers by CodeIQ』にて、 ITエンジニアの皆様のより良い転職をサポートするために、より一層努めてまいりますので、 引き続きご愛顧のほど何卒よろしくお願い申し上げます。 また、Cod
プログラミングをより深く理解するための近道は、プログラミング言語を実装してみること。SchemeのサブセットをRubyで実装していくことで、プログラムはどう実行されるのか、その基本がはっきり分かります。 ※本書はCC BYにより配布されています。上記の「買い物かごへ」ボタンからは有償で購入できます。無料で入手したい場合は、下記リンクよりダウンロードしてください。なお、有償版も無償版も内容は同一です。 EPUB版PDF版内容紹介プログラムは書けても、その基礎となっている計算機科学(コンピュータサイエンス) の理解があやふやな人を、著者は多く見てきました。プログラミングに自信があるという人が、もう一歩先に進める道を示したいというのが、この文書を書き始めた動機です。 この文書を読むことで次の効果が得られることを期待しています。 プログラミング言語とは何かを深く理解することで、プログラミングのレベ
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist
きっかけ 『メタプログラミングRuby』を読み直す。再読して気づいたけど、書いてあることの大半は、Rubyのオブジェクトモデルの解説だ。言い換えると、Rubyにおいてクラスやメソッド、インスタンス変数がどんなふうに作られて、実際にはどこに置かれているのか、メソッドが呼び出された時裏でどのような処理が動いているのか、などについてだ。もちろんというか、RubyのVMがどう動いてるかとかそういうレベルの話じゃなくて、Rubyのソースコードがどのようなモデルに基づいて解釈されるかってことだ、。 それをまとめると、次のようになるようだ。 Rubyのクラス定義やメソッド定義は、宣言じゃない。コンパイル時じゃなくて実行時に『実行されて』クラスやメソッドを定義する。 Rubyの構文には、それと等価なメソッド呼び出しが存在する defによる関数定義と等価なdefine_methodメソッド classによる
はじめて作ったマイナーモードを修正〜. このマイナーモードは, ruby-mode上でのみ動作し, キーワードendに対応する行をハイライトします. ハイライトする形式は, ミニバッファへの表示, オーバレイ, もしくはその両方の中から選べます. あまり意味は無いと思いますが, ハイライトしないという動作も選べます. ダウンロード EmacsWikiに置きました. 以下よりダウンロードしてください. EmacsWiki: ruby-block.el 設定 以下の文を.emacsに追加するだけです. (require 'ruby-block) (ruby-block-mode t) ハイライトする方法は, 以下のように指定します. この中から好みの方法を選んで記述して下さい. ;; 何もしない (setq ruby-block-highlight-toggle 'noghing) ;; ミニ
最近VagrantとかChefとかCapistranoとか、それなりにrubyのプロダクトを触るようになったし、別の言語の良いプロダクトも見ないといけないという気分になったから、とりあえずemacsの環境を整えようと思い出した。まずは基本から。 ruby-mode modeはruby-modeを使えばいいっぽい。多分標準で入ってると思う。rubyは.rbつかないような奴も多いので、それは適当にruby-modeに紐づくようにする。中身を見てrubyと判別するやつもあるような気がするけど、まだそれは使ってない。 (autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files" t) (add-to-list 'auto-mode-alist '("\\.rb$" . ruby-mode)) (add-to-list '
Lispの強さ 最先端の機能を提供してきたLispですが、その強さは特定の機能に見いだせるわけではありません。むしろ、いろいろな機能を実験してみるのに非常に便利なため、その中でよいものが生き残ったと考えるべきでしょう。Lispの先進性は、Lispの強さの副作用とでも呼ぶべきものなのです。 その強さを表現するキーワードは「動的」です。インタープリタそのものであるevalを持っているLispは非常に動的で、単なるデータだけでなくプログラム自体を取り扱うことができます。Javaなどにもリフレクションという名前でプログラム自体を扱う機能が提供されていますが、データとプログラムが同一のフォーマットで表現されるLispの動的性にはかないません。プログラム自体を扱うプログラミング、メタプログラミングによって、Lispの上にいわば別の新しい言語を作り出すことが簡単にできます。新しく言語処理系を書かなくても
FORTRAN vs. LISPではじまった言語の歴史 そもそもプログラミング言語とは何なのか。セッションの冒頭、まつもと氏はこの本質的な問いに対し、以下2つの異なる定義を示した。 その1 :プログラム=手順書・手順書記述用人工言語 その2 :プログラム=理想記述・思考表現用人工言語 その1を"機械のため"とするなら、その2は"人間のため"の定義となる。機械が理解できるように手順を記述するのか、それとも達成したい理想を人間にわかる言葉で記述するのか。まつもと氏は「機械のためか人間のためか、せめぎあう2つの立場が交錯してきたのがプログラミング言語の歴史」とする。 その立場の違いが際立つのが、プログラミング言語が登場したばかりの1950年代に見られる"FORTRAN vs. LISP"という構図だ。いずれも機械と人間という2つの立場をそれぞれのやり方で取り入れた言語である。 1954年に誕生
そのとおり。あまり使われていませんが、Lispには優れたところがたくさんあります。わたしは、ポール・グレアムほどのLispハッカーではありませんが、Lispプログラマーの端くれ*として、今回はその素晴らしいLispについて簡単に紹介してみようと思います。 Lispの歴史 Lispの歴史は古く、その誕生は1958年だといわれています。1958年といえば、まだほとんどのプログラミング言語が登場していない時期です。このころすでに存在していたプログラミング言語で生き残っているのは、FORTRAN(1954年)とCOBOL(1959年)くらいのものでしょう。 Lispがプログラミング言語として特異なのは、もともとプログラミング言語として設計されたものではなく、数学的な計算モデルとして設計されたことに原因があると考えます。Lispの設計者として知られるジョン・マッカーシー(John McCarthy)
この度、独自ドメイン取得したので、ブログ・サイトを移転します。 今日をもちまして、はてなダイアリーは更新を終了します。 ブックマーク、RSSは解除していただいて構いません。 今後は新サイトでよろしくお願いします。 http://rubikitch.com/ 学校やら勉強会やらセミナーやら本やらで、 いろいろ学ぶ機会があると思います。 けれども多くの人たちはとある 大事なことをやっていません。 それは 『復習』 です。 小中学校時代を思い出していただけたらわかると 思いますが、学校から帰って家で勉強するときは、 復習もきちんとやっていましたよね? だからこそ、赤点ばかりにならずに きちんと身に付いたのです。 思春期の定期テストの山だったり受験を乗り越え られたのは、復習をしっかりしていたからです。 けれど大人になると日々の仕事で せいいっぱいなのか、学生時代の 「復習」という大切な習慣を 置
Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 「Gaucheでメタプログラミング」と題して、これからGaucheを使ったプログラミングの連載を書かせていただきます吉田裕美です。よろしくお願いいたします。 Gaucheとは 今回の連載で取り上げるGaucheはハワイ在住の日本人ハッカー、川合史朗さんが作った、Lispの一種であるSchemeのオープンソース処理系です。 Gaucheの特徴は、PerlやRubyのように気軽に使える軽い処理系だということです。Perl同様に正規表現や文字列操作が行え、ちょっとしたツールの作成にも使えます。しかし、非常に強力なCommon Lisp風オブジェクトシステムを持ち、Lispならではのマクロに加え、Webやグラフィックスなどの豊富なライブラリも持っているので実用
Twitterのタイムラインが面白すぎて、ついうっかり言語を擬人化して脳内で言語女子会なるものを開いてしまいました。なお、登場人物と実在の人物は1対1に対応しません。 undefinedとnullの両方必要なの? とあるプログラミング言語が集う女子会にて: Perl: そういえばさ、なんでJavaScriptちゃんってundefinedとnullの両方もってるの? JavaScript: えっ、未定義の変数にアクセスした時undefined返したいじゃない? Python: 例外投げて死ねばいいじゃん Ruby: 例外投げて死ねばいいよね Python & Ruby: ねー♡ Java: いやそこは参照型ならnull、数値型なら0で初期化すべきでしょ C: これだから最近の若い子は…初期化にだってコストが掛かるんだからね!デフォルトで初期化するなんて無駄遣いよ!必要な人だけが責任をもって初
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く