サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ストレッチ
ayato.hateblo.jp
2014-07-25 学生時代、英語が嫌いだった僕が英語を話せるようになるまで 英語 僕は英語が嫌いでした。3ヶ月くらい前まで。学生*1の頃、僕は通知表をもらう度に"えんとつ"や"あひる"が英語の項目のところによく並んでいたし*2、真面目に受験勉強をするといったことを経験したことがないので僕の英語の実力は恐らく平均的な中学生以下です。でした。 そんな僕が英語を楽しいと感じて、なんとかネイティブと会話できるくらいになるために勉強してきたことをちょこっと書いてみます。興味がある人はどうぞ読んで参考にしてもらえればと。一口に「英語が出来るようになりたい」と言っても、実際には人によって何で勉強したくて、何が出来るようになりたいのか違います。例えば ネイティブと会話出来るようになりたい 日記を英語で書けるようになりたい 英語の歌を綺麗に歌えるようになりたい 技術書や小説のオリジナルを読めるようにな
2013-12-04 コードレイプされて本気でプログラマ辞めようかって脳裏をよぎった Java 開発 つらい現実。 「だから言ったのに」事案2013-12-04 11:05:15 via web 自分の書いたプログラムが大陸人の手によって改悪されまくってて涙で前が見えない。2013-12-04 11:16:49 via web あのね。。拡張for文で書いてたのにfor(int i=0; i<items.length; i++)って書きなおされてたんだ…。2013-12-04 11:18:41 via web てか、嘘でしょ。なんでSetをtoStringして文字列表現にして「,」でsplitするとか考えるの…。意味分かんないんだけど…。2013-12-04 11:19:51 via web こう、胸の奥がキューッてなってる。苦しい。2013-12-04 11:21:11 via web
日記 プログラマとしての最低基準って何? 言語の仕様を知ってることが最低基準? 3つ以上の言語を手足のように扱えるのが最低基準? モノを作れることじゃなくて、色んなことをたくさん知ってることが最低基準? 「なんで、こんなことも知らないの?」って人のやる気削ってるだけじゃん。 2013-07-18 17:16:45 via web なんだろう。昨日くらいからJavaの参照の値渡しに関する話がバズってる。 あえてリンク貼らないけど、だいたいこれ読んでる人は知っているでしょう。 そんな中で、どうしても目に入ってくる雑音*1が気になる。 「10年間も知らなかったの?」とか「こんなの知ってて常識だよね」とか「言語仕様を読むよね、普通」とか「レベルの低い技術者は辞めたらいいのに」とかとかとかとか。 間違いを正してあげようとするのは良い事だと思う。だけど、それに余計な言葉をひとつもふたつもくっつける必要
普段お仕事している中で何故かコードレビューをしている時間がわりとあって、暇さえあれば(暇がなくても)コードレビューしている。 そんな中でどういうところを見たらいいのか、あるいは見るべきなのかというのが自分の中である程度蓄積された気がするので書いてみる。あと最後に普段考えていることを少し書いた。 前提 現在の僕の参加しているプロジェクトはこんな感じ Rails プロジェクト( AngularJS 使ったりしている) Git 使ってる( Pull Request ベースの開発で以下が merge 条件) 2 人以上に approve される テストが通ること(継続的インテグレーションの実施) 静的コード解析は導入している( Rubocop, jshint, pre-commit など ) テストのカバレッジは計測していない(月一くらいで測ってるらしいんだけど、だからどうっていう話はない) プ
2013-12-09 顧客に価値を届ける、ってなんだっけ 開発 日記 最近、@syobochimのブログを読んでいたら、こんな言葉が書いてあった。 顧客に価値を届けたい。 私はいま、価値届けられてるんだろうか。 アジャイルサムライを読んだら意識高まってつらい - そこに仁義はあるのか(仮) 僕はどうだろうか。今のプロジェクトはありていに言えば"炎上"している。 そんな中で「誰の考え方が一番正しい」のか分からなくなった。ので、今日はそんな話を書いてみようと思う。 この話の登場人物 あやぴー 僕です。 マツダさん 僕と同じ会社の先輩。エンジニア歴10年位。 モリさん 僕と同じ会社の上司にあたる人。エンジニア歴20年位の大ベテラン。 イノウエさん 元請けの会社に8月くらいに中途で入社したエンジニアさんで立場的にはプロジェクトリーダー(PL)的な感じ。転職するまでPL1とかVBとかのお仕事を
2014-02-24 Railsエンジニア(仮)にジョブチェンジしました 日記 開発 Java Rails 2/17から新しい環境で働き始めて*1なんとか1周間乗り切りましたってことで近況報告的な。過去4年間システム開発に携わってきて、それまでJava*2一辺倒だった僕がRailsエンジニア(仮)*3になったお話です。ちなみにJavaは言語でRailsはフレームワークだ!っていうツッコミを貰う前に書いておくと、やっぱりRailsってRubyというよりはRailsって感じなので、この辺はRailsを書いている人なら分かってもらえるかなーと。 Railsエンジニア(仮)にジョブチェンジするためにやったこと まず、大事なことがふたつありました。 上司の理解を得ることが出来てサポートしてもらえること やりたい仕事をするための知識/スキルを持っていること 1については元々僕が転職するときに既に社長に
2014-01-29 「テストデータを修正しました」に学ぶ 開発 日記 先日こんなことがあった。僕「このテストデータを使って、テストしてください」 海の向こう「日本から提供されたテストデータを使うとエラーがでます。なので、テストデータを修正しました。これで正常に動作することを確認しました」 ふざけるなああああああああああ(涙— ぷろぐらみんぐしょしんしゃ (@ayato_p) 2014, 1月 27どうやらIT系の人たちに刺さりまくったようで1000RT Overという自己*1最高記録を更新しました。オフショア開発やっていると「わりとよくある」日常だと思う。僕も過去4年間のエンジニア生活の中で何度となく出会ってきた。その度に「オフショア開発やりたくないよー」って思うわけなんだけど。 何故こんなことが起こるのか 可能性としては以下のような感じでしょうか。 自分たちは正しいという絶対の自信を持
数日前@naoiwata師匠に「JavaScriptにパターンマッチってないですよね?」って聞いていたら「Underscore.jsならあるかも」みたいなことをそそのかされたので少し触ってみた。 Underscore.jsは関数型プログラミングをしたい人のための軽量ライブラリだという認識でだいたい良いと思います。最近、「JavaScriptで学ぶ関数型プログラミング」みたいな本も出ているみたいで、ちょっと中身みたけどUnderscore.jsの使い方ぽい感じの本だったので興味ある人は読んでみるといいかと*1。 ちなみに僕が求めているパターンマッチは文字列の正規表現ではなくて、関数型言語でいわれるようなパターンマッチ。Gaucheのutil.match的なやつ。 で、とりあえずUnderscore.jsなんぞということでバーっとひと通りみてみた。 Underscore.js だいたい大きく6
2014-05-08 環境が良くなって自分自身に起きた変化とか 開発 日記 今年に入ってから徐々にだけど、ツキが回ってきた感じがある。 Railsプロジェクトというものに入り始めてからだと思う。まぁまだ2つめだけど確実に自分を取り巻く環境は今までより良くなっていて、昔みたいな負の感情エネルギーを溜め込むことが少なくなった。少なくなったというか、仕事でのストレスはゼロに近いと思う。*1Railsを仕事でやり始めてから、経験出来たことを列挙してみると Gitを使ったチーム開発*2 アトラシアンのサービスフルセットで使える*3 テストがある 継続的インテグレーションされている!!*4 Scrum*5 コミュニケーションツールにHipChatやSkypeなどが普通に使われている 英語が公用語!! Chefとかナウいものが普通に使われている 社内勉強会的なものが行われている 定時で帰れる!!*6
良い本だった。この本についてのレビューは色んな所にあると思うし、僕があまり何かを書く必要はないかなって気はする。 だけど、まぁちょろっと感想とか最近の JavaScript 周りについての所感というか、僕が感じているところについて合わせて書いてみる。 目次抜粋しようと思ったけど軽く鈍器なので、それなりに目次あってコピペするだけ無駄感あるので適当にリンク先参照してください。 パーフェクトJavaScript:書籍案内|技術評論社 感想的ななにか この本の前に僕は幾冊かの JavaScript 本を読んでいるので正直必要ないかなって思ってた。それから、 2011 年発売なのでちょっと古いかなって思ったけど全然そんなことなくてよかった。理由としては ECMA Script 5 の内容で書かれているからっていうのと、まだ 6 は策定中(だよね?)だから内容的には全然問題ないです。周辺のエコシステム
まえがき だいたい 2 週間くらい Clojure を書いているとライブラリのバグを綺麗に踏み抜いたりマクロの沼に引きずりこまれたりと、まぁやたらとデバッグする機会があります。それで先日からライブラリを clone して書きなおして lein install して…などしていたのですが、一緒に Clojure 書いている Clojure チョットデキル人に「そんなことしなくてもいいよ」と色々教えてもらったのでだいたい現時点で僕が知っている幾つかのデバッグ方法を書いておこうと思う。ただし、これは Clojure 一般というよりは Emacs/Cider-mode という環境に依存している部分が多いと思うので他の環境を使っている人はもしかしたらかなり役に立たないかもしれません。アプローチそのものは他の IDE などでも実装されているかもしれませんが僕はよく知らないので悪しからず。 Print
まえがき 日本で Clojure を使い始めた 1 人の Clojure プログラマとして、この 1 ヶ月で感じたこととか Clojure をとりまく環境とか書いておきたいなと思う。 日本では流行ってない? 2010 ~ 2011 年頃、空前の Clojure ブームがあったらしい。原因は「 Programming Clojure 」の翻訳本である「プログラミング Clojure」が 2010/01 に出版されたからだと思う。 プログラミングClojure 作者: Stuart Halloway,川合史朗出版社/メーカー: オーム社発売日: 2010/01/26メディア: 単行本(ソフトカバー)購入: 10人 クリック: 338回この商品を含むブログ (72件) を見る だいたい、日本語で Clojure の情報を検索しようとすると 2010 ~ 2011 年頃の古い記事が結構ヒットしてく
2015-06-29 社会人 6 年目の僕から新社会人だった頃の僕に教えてあげたい幾つかのこと 日記 最近、僕より若いか同い年くらいの前途ある若者と話をする機会があって、だいたい新社会人だとか学生だったりで将来とか仕事とかについて相談を受けたりすることがあるんだけど、そんな彼/彼女らを見ていると「出来ることなら昔の自分にも教えてあげたいことが沢山あるなー」という気持ちになってくる。ので、まぁもし僕が自分自身の若い頃に助言を出来るならこういうことを教えるだろうなーというようなことを書いてみる。ひいては今プログラマを目指している若者たちに対するおじさんからのメッセージになるといいかなと思う。 エディタをひとつ使いこなしたほうがいい ひとつだけでいいのでまともに何かを極めて欲しい。なんなら IDE でもいいけど、そのへんは自分が今使っている言語に合わせて変えて欲しい。サクラエディタや UnEdi
immutable??mutable?? ということで、immutable(イミュータブル:不変)とmutable(ミュータブル:変更可能)なオブジェクトの話です。 そもそもimmutable/mutableってなんだろう?というところから書きたいと思います。 |> immutable(不変)オブジェクトとは オブジェクト(インスタンス)そのものの状態を変更できないこと。 Javaにおける代表格はStringクラスです。事実Stringは自分自身の状態を変更するメソッドを提供していません。 ※replaceメソッドなんかは勘違いされやすいですが、自分自身が変化することはないと覚えていれば分かりやすいかと。 不変オブジェクトとして、必要な条件は下記の通り。 オブジェクトの内部状態を変更可能なメソッドを提供しない。(つまり、getterは用意してもsetterやそれに準ずるものは用意しない)
というわけで、最近周りの人にLisp(といってもSchemeだしGaucheだけど)を布教する機会が多くなってきたのと、ちょっとセットアップの仕方教えてよ!って要望があったので、Gaucheで遊ぶまでの道のりを優しく丁寧に書いてみる。 (元も子もないことを言えば、プログラミングGaucheあたりを読めば、綺麗に解説してあったりするんですけど、まぁココみれば全部分かるよ!くらいで書いてみたいと思う) 対象読者はMacとUbuntu使ってる人です。あしからず。*1 目次 Gaucheのインストール Emacsのインストール Emacsの設定 Gaucheリファレンスを読む準備 Gaucheのインストール ・UbuntuとかDebianな方 sudo apt-get install gauche ・Macな方 brew install gauche ・ソースからインストールしたい方 ダウンロード
Java僕のことです。はい。 ちょっと調べながら書きます。 ちなみに僕がプログラミングを本格的(?)にしたのってここ2年くらいなんですよね。 就職すればプログラマになれるって本気で信じてました。あの頃の僕は死んでください。 んで、このままじゃダメだって気付いて勉強し始めたの最近なんで、ちょっと生暖かい目で見てください。 んで、なんでスレッドセーフかというと。。 JavaにStringで"文字列"の"X文字目"に"渡された文字列"を追加するメソッドないっけ?ってAPI眺めてる。— 綺人(社畜のゴミコード食らい)さん (@ayato0211) 2月 8, 2012 この発言のあとにStringBuilder.insert使えばいいじゃないって言われたんですね。 で、幾つか会話を重ねた後に、StringBuilderはスレッドセーフじゃないよって言われて、「スレッドセーフってなんだ?」という状態
2014-04-21 自宅で2週間仕事をしてみてわかったこと 開発 日記 ひとりぼっちは…寂しいもんな…。いいよ。一緒にいてやるよ。 by 佐倉杏子 そんな感じです。 ayato0211 2014-04-21 21:53 コメントを書く RSpecでパラメタライズドテストを書く »
自分の理解も曖昧だったので改めてRESTとはなんなのか整理する。 まぁきっかけは@syobochimが半分と最近WebアプリケーションのURIやそれに紐付く諸々で悩むことがあったので、どうせなので調べてまとめようって思った。 あと、"なうでヤングなモテWebアプリケーション"を作る上で、しっかり押さえてないとまずいと思ったっていうのもある。JAX-RSの本もRESTfulできゃっきゃうふふする系ぽいし(適当)、ここで一度ちゃんと抑えておくのも悪くないはず。というか、比較的webに近い立ち位置にいるのにちゃんと理解していないのはまずい。まずい。 RESTとは Representational state transferの略っていうのはどこにでも書いてあるのでまぁ良いとして、Wikipedeiaさんあたりに書いてある幾つかの制約をセットにしたものをRESTと読んでいるみたい。 Client-
ずっとこういう設定ないのかなーって思ってた機能があったのでテンション上がっている。 IDEAのSettingsのEditor->Smart Keysにある [Surround selection on typing quote or brace]という項目にチェックを入れるだけ。 これでダブルクォートとか括弧で囲みたい範囲を選択した後に、開き括弧とかダブルクォートをタイプすればokというわけです。 地味だけどたまーに、すっごくたまーにだけどこの機能欲しい時があるので嬉しい!
無事に社会人歴 5 年を終え 6 年目の春をサイボウズスタートアップスという会社でスタートできたのでブログに書こうかなと思います。 時間がない人のために3行まとめ サイボウズスタートアップスという会社に Clojure 使いになるべく 入社しました 目次 なんとなく長くなりそうな気がしているので気になるところだけ読んでもらえればと。 転職しました 前職について 去年一年の活動について これからのこと 転職しました というわけで転職をしたわけなんですが、きっかけはたまたま見かけた求人情報でした。「これから Clojure を採用していこうと思っている」という旨の書かれた求人情報を見たときに、「本気で言ってるなら話でも聞きに行ってみようかな」と思い比較的軽い気持ちで面接を受けることにしました。 後述しますが、前職や前の現場に対する不満はほぼなく仕事もそれなりに楽しくやっていたので、転職と
Slack で動く bot を作る(とりあえず発言だけ) - (define -ayalog '()) ということで今回もサクッと。 Slack で bot 作ってという無茶ぶりを某 naoiwata-san に言われたので、とりあえず API とか調べてたら思いの外簡単に出来そうだったのでやってみたという話です。軽くググると Heroku + Hubot あたりでやったという記事が幾つかあるので、多分世の中的にはそれでベターなんでしょうけど、なんとなくそれでやっても自分で作った感が皆無になってしまうのでわざわざ作ってみました。 とは言うものの、そんなに難しくないです。っていうか難しくないです。 まず Integrations から Outgoing WebHooks を選択して追加します。 https://my-account.slack.com/services/new この URL
japanclojurians.doorkeeper.jp 参加者募集中ですよ。 目次に「まとめ」って書いてるのに「まとめ」のページ作ってなかったのが今日のハイライト。 だいたい参考にしたのは仕様とか設計とかのページ。ここ以外のブログ記事とかみても結局同じこと書いてあるので略。 Reader Conditionals - Clojure Design - Clojure Development Clojure - reader Clojure 出来る勢が沢山いる中で発表するの怖かったけど、後で懇親会で聞いたらわりと皆さんこの機能そんなに使っていないようで、まぁ多少は役に立てたかもしれないなーというところ。 ちなみに使ってない理由も「ライブラリとか作ってないからあまり…」というのもあれば、「そもそも同じファイルに必死になって書く必要あるの?見通し悪くならない?」みたいなのもあって、うーん確か
ハッカーと画家については、以下の呟きがその素晴らしさを示していると思う。 前々から気になってたんだけど「ハッカーと画家を読んでLispをやるべきだと思った人」って本当にいるの? 私はそんな人は実は存在しないんじゃないかと疑ってるんだけど。 2011-12-10 10:36:24 via web すべてのプログラマが読むべき10冊 SICP、PAIP、CLtL2、On Lisp、LOL、実践Common Lisp、プログラミングGauche、Lisp in Small Pieces、The Art of the Metaobject Protocol、ハッカーと画家 2010-11-25 15:45:48 via Silver Bird 「ハッカーと画家」読んでLisp始めたり、有名なプログラマがスゲーと言ってたの見てSICP買ったりなので、テレビで「ダイエットにはバナナ」と聞いてスーパーに
この前、@alea12とぜろゆ嬢と3人で焼肉行ってた時に、Gaucheで10回Hello,worldを表示するのを見せたら、Rubyのコードでドヤ顔されて悔しかったのでRubyのtimesっぽい書き方ができないか試してみた話。 見せたのは以下のコード。 (for-each (lambda (x) (print "Hello, world")) (iota 10)) なんか、Hello,worldって10回出力するだけなのに、直感的じゃない?個人的には少し微妙。 以下、やってみた お題「10回標準出力にHello, worldを出力する」 Rubyでループのやり方の例を出すときによくやるアレですね。 10.times do p "Hello, world" end 短いし、素直で読みやすいね! Rubyのこういう部分好きだなーって思う。だけど、Schemeは前置記法という呪いに囚われているの
Revert Bufferというのがあるらしい。 M-x revert-buffer RET yes RETで、読み込みなおすことができる。 まぁだけど、出来ればブラウザみたいにC-rとかで簡単に読み込みなおしたいって思うじゃない。 あと、確認のyesを入力するのも手間だと。 そうしたらこんな感じにすれば良さそう。C-rはインクリメンタルサーチのバックにデフォルトで割り当てられているので、C-cを挟んでしまうのが安全ぽい。 (defun revert-buffer-no-confirm () "Revert buffer without confirmation." (interactive) (revert-buffer t t)) (global-set-key (kbd "C-c C-r") 'revert-buffer-no-confirm) でも、いっそ変更があったら自動的に読み
最高に面白かった。軽く紹介したいと思う。 結論から書くと掛け値なしに良い本でした。 Rails 書く人は Railser と揶揄されがちですが、 Rails を普段書いてるけど Ruby はよく分からんという人にもオススメです(無粋なツッコミする人がいるので少し補足すると、 Rails を使っていると Rails が基本的な泥臭い仕事はやってくれるのでメタプログラミングや継承階層の仕組みについてめちゃくちゃ明るくある必要がないんです( IMO だし、知ってるに越したことはないけど)。例えばメソッドフック的なことだって before_action メソッドが肩代わりしてくれるので、そのような仕組みを自分で作る機会はグッと減ります。となると、そういうことをしたいときに Ruby はどう動いててどういう仕組みでそういうことを出来るのか、ということに思いを馳せる機会は減ると思います。そういう意味で
以前、 underscore.js というものを紹介したことがあったのだけど、今回は Lazy.js という underscore.js like なライブラリを紹介したいと思う。 ホームページはこちらから。 Lazy.js - v0.3.2 インストールはコマンドプロンプトで npm install lazy.js --saveThat's all!! so really easy. 何故、 Lazy.js を使うのか イントロダクションを読めば分かるけど、 underscore.js で大きなコレクションを扱おうとするとパフォーマンスが気になってきます。そうなると、愚直な手続き的なコードを書かざるを得なくなる。 イントロダクションから抜粋すると例えばこういう例 //これは Lazy.js を使って Array を作っているけど些細な問題なので気にしないでください。 var array
日記, Ubuntu土曜日の優雅なひとときをいかがお過ごしでしょうか。僕は気がついたら18時になっていたので、ショックを受けています。 ところで最近、TwitterやFacebookなどに接続しないと連絡を取れない相手が増えてきて、連絡を取りたいが為にSNSを開くっていうのがちょっと億劫に感じてきました。 SNS中毒と思われても仕方ない程度に、SNSにどっぷり浸かっている僕がいうのもなんですが、こう…なんというかめんどくさいんですよね、最近。情報太りというか、色んなものが入ってきちゃって見たくもないものが見えてしまう感じ。 知らなかったこととか知りたいと思ってたことが、するっと入ってくるのは嬉しい反面、ノイジーというか。 というわけで、脱SNSを図る為にIRCサーバーを立ててみた。 なぜIRC?シンプルなテキストだけやり取りできれば問題ないモバイル(iPhone)とPC(主にMac)のどち
朝からこんな記事を見かけたのでちょっと読んだ。 Big Sky :: peco で migemo が使える様になった。 僕は普段、 Xubuntu しか使っていないし最近は日本語ファイルとかディレクトリとか作らないからあんまり嬉しくないんだけど、 peco というツールの存在を知れたのが良かった。 早速ざっくり install した。 peco/peco · GitHub go lang を入れるのは簡単だったけど、 $GOPATH をどこにするか少しだけ悩んで結局 $HOME/go にした。 あとは少し以下の設定を足したら結構いい感じになったので僕は満足している。 function peco-select-history() { local tac if which tac > /dev/null; then tac="tac" else tac="tail -r" fi BUFFER=
次のページ
このページを最初にブックマークしてみませんか?
『(define -ayalog '())』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く