サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
qiita.com/esehara@github
(defconst FONT_FAMILY "Ricty") (defun font-size-change(x) (set-frame-font (concat FONT_FAMILY "-" (format "%s" x)))) (defun present-mode () (interactive) (font-size-change 24)) (defun big-font-mode() (interactive) (font-size-change 18)) (defun default-font-mode () (interactive) (font-size-change 14)) (defun small-font-mode () (interactive) (font-size-change 10)) (global-set-key (kbd "C-1") 'big-fo
Help us understand the problem. What are the problem?
はじめに だいたい昔からJavaScriptを触ってたりすると、ECMA-262 Edition 5.1に慣れきってしまって、もうそれでいいじゃんという雰囲気になったりする。しかし、既に5.1だけを使うのは老害なのではないか(はっきりとは断言しない)という危機感によって、今回はECMAScript 2015を勉強しようという話になった。 なぜ5.1は老害なのか まず最初にBabelによって、ECMA Script2015を無理矢理5.1にすることが可能になった。その後、段々と対応ブラウザが増えつつあり、今後おきかわる可能性がある。これはプロダクトの都合。プログラマーとしては格段に書きやすくなった。 参考資料 Amazon 2016年11月に出版されたので、とにかくECMAScript 2015の対応は早かった。本の内容も、めくってみた感じだと、それほど悪くない印象がある。 参考資料2 はて
Help us understand the problem. What is going on with this article?
要するに WIPとは(Work In Progress)の略。Gitなどを利用した開発の場合には、まず最初にpull requestを送り、その上でWIPを宣言するという方法がとられることが多い。実際、どういうものなのか、については、下の記事に詳しい: git commit --allow-empty を使った WIP PR ワークフロー メリットとしては、最初にpull requestを出すことによって、各人がどのような作業を行っているのかがわかりやすくなるという利点がある(と思う。個人的な雑感)。また、開発の現場においても、HeartRailsが採用していたりする。 面倒くさい これを知ってから、そういう風に作業するように意識しているんだが、上のことを愚直にやっちゃうと、ブランチ作って、空コミットを作って、pull requestという流れになる。この流れには3つの工程があるので正直面
すると、leiningenのプロジェクトテンプレートが出来上がって、既に実行可能なQuilテンプレートが作成される筈だ。 さて、貴方がemacsを使っており、Ciderを使っているならば、M-x cider-jack-in したあとに、出来上がったテンプレートのソースコードをおもむろにC-c C-k(バッファ全体を実行する)をやれば、下のようなウィンドウが出てくるはずだ。 あとは、適当にドキュメントを見ながら、改造していけば良い。 ちょっとした知見 詳しくドキュメントを見ていない(最低限のコードが書ければ良いという方針)なので、もしかしたら適切な方法があるのかもしれないが、基本的にQuilでは、何らかの関数でエラーが起きた場合は、ただ処理がストップしてしまうだけで、エラーが出てこなくて困ることがある。そういうときは、下のようなものをセットすると良い。
さて、プログラミング言語を作ろうとしたさいに、出来るだけローレベルな言語を使うことはあるかと思います。例えば、C、C++、OCaml、Haskellなど、そのあたりがプログラミング言語を作るためのプログラミング言語として採用することが多いかと思われます。さて、Go languageも、バイナリに変換出来ますし、その上gorutineという並列処理が言語仕様として入ってます。したがって、Goでプログラミング言語、書くっきゃないね! プログラミング言語とはそもそも何か とはいえ、いきなり言われても、「プログラミング言語ってそもそも何ですか」みたいな話になるかと思われます。もちろん、このあたりについては実装によって変わってくるのかもしれませんが、基本的には三つの過程を経ています。 字句解析 構文解析 意味解析 今回は、この上二つ、字句解析と構文解析についてのメモ書きを公開します。
序文という名の駄文 最近、Qiitaで小説っぽいことを書いているのは、知っている人は知っているかと思いますが、その中で「カリー化について取り上げて欲しい」という要望がありました。 自分で考えてみると、「カリー化が何をすることかはわかるけれど、それが実際何をしているのかはよくわかっていないなー」ということがあったので、最近『計算論 計算可能性とラムダ計算』の、そのあたりの部分を写経していたら、ちょうどそのあたりについて書いてあったので、勉強メモとしてここに書き残しておきます。 ちなみに、ちゃんとした話を読みたい場合は、上の本を購入されることを勧めます。(たぶん、数学用語とか適当なので。編集リクエストとマサカリを期待します) 先に こういうエントリを見た方が早い 食べられないほうのカリー化入門 カリー化と部分適用(JavaScriptとHaskell) カリー化とは ざっくり言ってしまうと、多
前回まで ←第3話 弁当の値段はどれだけお得なのか問題 授業が終わった。今日は数学の授業だった。 最近は『副作用部』の活動もあってか、数学が身近なものに感じられるようになって来たけれど、でも、どうもやっぱり数式を云々するのは、やっぱり苦手だなあという印象も強い。 僕にとっては、まだプログラミングのほうが身近なんだなあ……と思いながら、『副作用部』の前に来ると、ひょろ長い古谷が、コンビニに売られている弁当を目の前に、微動だにしなかった。 「おい、古谷」 ゆっくりと古谷がこっちを振り向くと、半分しか食べ終わっていない弁当の箱を見せる。 「お兄さん……僕の家はシングルマザーで……仕事で忙しいから、弁当がたまにスーパーの半額の奴だったりするんです」 こいつ、以外と苦労人だったりするんだな。 「こないだ、スーパーで、じっと弁当の値段が変わるところを見ていたんですよ。面白いですね。最初は50円が割引さ
前回 ←第2話 月曜昼の使者 僕たちは、部室で昼休みの弁当を食べていた。イリスは相変わらずドーナッツを食べている。 「あのさ、ドーナッツばかりで栄養が偏らない?」 「常に同じものが入れば、同じ結果になるの。それが安心するの」 それは常人の言葉でいうと、偏食っていうんじゃないのかな。そして、部長のほうを見てみると、なぜか弁当箱に『計算論 計算可能性とラムダ計算』が入っている。それ、明らかに昼食じゃないよね……。 そんなほのぼの(?)とした昼食だった筈なんだけど、突然の乱入者が現れた。 「もしもし、この近所に同一なものはありませんか」 その男子は、背の高く、すらりとした美少年であった。ただ顔色が青褪めていて、神経質そうだった。 「あなたに義侠心というものがあるなら、ぼくを同一性へ案内してください……」 「いやそもそも、同一性というのが……」 すると、突然、蓮家が勢いよく部室に飛び込んできた。口
前回へのポインタ 第一話 読まれる前の注意点 Twitterでご指摘されたとおり、今回の文章では「置き換え」と「評価」の区別が混合しているような記述があります。この点は、解説としては致命的なミスでありますので、そのうち修正しようと思います。もし、このあたりの違いに興味がある方は、この区別に関しては、SICPにおける組合せの評価と手続き作用の置換えモデルを参照してください。 副作用部入部初日 不真面目な学生にとっての解放の音。つまり最後の授業のチャイムが鳴り響く。周りの学生はざわつきはじめ、これから何をしようか考えたり、あるいは、部室の準備をしたりしていた。 ーーそういえば、僕は『副作用部』に無理矢理入れられたんだっけ。 まあいいや。法律的にも自由意志に基づかない契約は無効になる筈だし、無視をしようと思って、机の教科書をカバンにしまおうとしたところ、一枚の紙切れが出てきた。どうもコードの一辺
序文: 著者(?)より 多くの人々に、このような拙い文章が目に触れられ、本当に恐縮しています。 自分の構成のまずさから、ちょっとした誤解が生まれているようなので、カッコ悪いですけれど、序文を。 この小説はある程度連続していて、この第一話においては、現状として「関数型プログラミング」の導入くらいの位置付けにして頂ければと思っています(例えば、本来ならば参照透明や高階関数の話などが必要になるかとは思われるのですが、そこは順に追って書ければ、と思っています) もちろん、本文中について問題があるところ、また「関数型プログラミングってこうじゃなかったっけ?」というご意見に関しては、教えて頂ければ、検討し、改善していきたいと思っています。よろしくお願いします。 始まり 新しい門出には必ず希望と可能性に心を踊らせると思う。 この僕も、この高校に入ってから、今後の学校生活についてわくわくしていた。手元にあ
概要 どうもこんばんは。最近は仕事でRailsをハードに使っていたりしているのですが、その中でデザインを組み込んだりするときの場合、例えばサンプル文字として「ああああああああ」みたいな文字列が埋まっている場合があるかと思います。 で、そのとき単純に「ああああああああ」を埋め込んであとから見直すといった場合、最初から文字列を埋め込むと「あれ、他にどこを値として渡すべきなんだっけ」みたいになって正直面倒なので、各種の値を先に定義しておいて、そこから「ああああああああ」を流し込めると便利なのではないかと思って作った。 Install
<?php class API_Test_Skeleton extends PHPUnit_Framework_TestCase { private $test_domain = "api-test.localhost"; private $test_url = "/path/to/test_api_root/"; /* * Post Helper * Thanks * http://www.programming-magic.com/20080226023511/ * and http://abbadabba.coolk2.com/212/ */ private function do_post_request($url,$value) { $headers = array('Content-Type: application/x-www-form-urlencoded','Conten
みなさんこんにちは。.zshrcメンテナンスしていますか? ということで、年末だし大掃除の季節なので、普段自分がどのように.zshrcを整理しているかについてメモを書き残しておこうかと思います。 なお、以下の設定はもしかしたらoh-my-zshを前提としている部分もあります。 .zsh.dというディレクトリを作成する 自分の場合ですと、.zshrcというディレクトリを作成しています。こんな感じですね。 .zsh.d ├── develop │ ├── go.sh │ ├── haskell.sh │ ├── haxe.sh │ ├── jvm.sh │ └── node.sh ├── hell-zsh │ ├── alias.sh │ ├── all_unzip.sh │ ├── english.sh │ ├── todo.sh │ ├── what
Pythonでは関数、クラス、メソッドで最初に現れた文字列リテラルを__doc__に代入し、あとからその関数の意味について調べることが出来ます。これは便利な機能ではあるのですが、しかしただPythonの対話型コンソール画面やIDE、あるいはPython向けの各種プラグインからしか引用できないとなると、とてももったいない。 そこで、Pythonistaがよくつかう、Sphinxというドキュメントツールを使うと、このDocstringをまとめて一つにしてくれます。そのコマンドがsphinx-apidocです。これの詳しい使い方については、公式ドキュメントを見ていただければと思います。上手くいけば、Sphinxのプロジェクトが立ち上がることでしょう。 さて、テスト駆動をやる上において、watchdogであったり、あるいはsnifferにテストをフックして、ファイルが更新されるたびに、テストを起動
さて、みなさん、Webページをスクレイピングとき、どんなライブラリを使っていますか? 以前に、遊びでスクレイピングサイトを作ろうと思った時に、「そういえばPHPでスクレイピングするときってどうやるんだろう?」と思って、色々と調べた結果、下のライブラリを使っていました。 PHP Simple HTML DOM Parser 基本的な使い方は上を見て貰えればわかりますが、ちょっとしたポイントをいくつか解説させて頂ければと思います。 PHP Advent Calenderからタイトル一覧とURLを取得する 例として、PHP Advent Calenderからタイトル一覧を取得してみましょう。 require_once("simple_html_dom.php"); $php_advent_calender_uri = "http://qiita.com/advent-calendar/2013/
元ネタはこちら おそらくある言語に慣れるためには、その言語を実際に使うことだと思います。しかし、誰しもが「こういうのを書いてみたいな」というアイデアを持っているわけではありません。そこで、Clojureを練習するためのサイトみたいなのをいくつか見かけたので、ここで共有しておきたいと思います。 4Clojure 最も有名なClojure練習サイトですね。ここの練習スタイルは、__に対して、なんらかの式を入力することにより、全体でtrueになるようにするタイプのものです。 ClojureScript Koans 欠けている部分を穴埋めして、全体として正しいようにするというものについて、海外のプログラマーの間ではKoanとよばれ(たぶん、禅のKoanから来ていると推測します)、親しまれています。これもその一つ。上のがすこしピンとこなければ、こっちから始めてみるのもいいでしょう。元ネタはCloju
始めに 基本的には、開発はGitで行っています。自分的にはコミットログというのはちゃんと整形しましょう、そうするとあとで何が起きたかトレースするのが楽ですよ、という感じなのですが、意外にもこの辺りについて意識されないようなので、自分の私見を書いておきます。 基本的な情報 基本的には、Erlang が規則としているコミットログが参考になるでしょう。自分は、Gitを使い始めてから二年間ほど、下のようなコミットログを書いています。 このような形式に落ち着いた理由として、まずどの類の修正なのか。何かを追加したのか?何かを修正したのか?それともただ消しただけなのかを明確にします。 そして、そのあとに何処に対して、「追加」あるいは「修正」をしたのか。自分の開発は、基本Webが多いので、だいたい「MVC」か、あるいは「テスト」か、最近だと「ドキュメント」や「レビュー」の類も多いです。 次に、それが属する
gistは、gitのレポジトリとして利用することが可能であり、レポジトリとしてcloneしたら、手元で編集してpushすることも可能になる。 なんかキャプションが雑になっているけど気にしないで! なので、例えば複数ファイルになりがちな読書メモであったり、あるいは他の色々なまとまらないものに関しては、一時的にまとめてぶちこんでおくと非常に便利。一つのファイルをまとめる、簡易レポジトリとして使うのもいいと思う。 (ただし、最初になんらかのファイル内容が無いとダメなので、そこだけ注意) 自分はこういう感じで作ってます https://gist.github.com/esehara/5954616
はてなブックマーク使ってますか?ハードなはてなブックマーカーであるならば、殆どはお気に入りページから最新情報をチェックしていると思うのですが、500人近くfollowしていると、どのユーザーがアクティヴではなくなったかメンテナンスできなくなってきます。 普通にスクレイピングで最後にブックマークした日付を調べるのがいいと思うのですが、しかし、最近のはてなブックマークはJavaScriptでHTMLを組み立てているので、そのままHTMLを取ってきても仕方がない。どうしたものか……と思ってGoogle ChromeのNetworkで通信履歴を見ていたら、謎のURLを見つけました。試しに自分のブックマークで試してみます。 このHTMLがどういう用途で使われているかは謎ですが、とりあえずJavaScriptを使わずに吐き出されたHTMLなので、これを使えば最終日にブックマークした日がわかる!ヒャッホ
テスト駆動開発大好きです。基本的に自分プロジェクトにしろ、開発プロダクトにしろ、テスト駆動すると、とても気持ちが穏やかになります。 しかし、良く指摘されているとおり、テスト駆動は油断するとテスト自体がメンテナンス不可能になるという欠点があります。 恐らく、テスト駆動にはテスト駆動なりのアンチパターンがあります。その一つが、自分の中で立ち位置がハッキリしたので、ここにメモしておきます。 テスト駆動アンチパターン・テストデータをテストスイーツで宣言してしまう 自分が過去にテストデータを使いたいなーという場合、個別のテストスイーツで宣言してしまう場合があります。例えば下のような場合。
このページを最初にブックマークしてみませんか?
『@esehara@githubのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く