…
![sight 次世代を生み出すテクノロジーの視点 - Si-ght.jpにようこそ。](https://cdn-ak-scissors.b.st-hatena.com/image/square/c39dbd0598d5bb3dbc7442618b0da5580379b091/height=288;version=1;width=512/https%3A%2F%2Fwww.si-ght.jp%2Fwp-content%2Fthemes%2Fcocoon-master%2Fscreenshot.jpg)
僕の場合、実現したいことをコードで書けない時には、ひたすら似たコードを読んで理解して写して…を繰り返す。そのうちに手元に大量の自分のサンプルが溜まっていく。その繰り返しがパターンの細分化を促し、書けるコードの幅を広げていく。書けるコードを気持ちよく書き続けてるだけでは新しいコードは書けないからだ....と、向き合えるようになるには時間がかかった。 書き慣れたコードの延長で書いていると、自分でコードを書けている実感があって、リファレンスなど何も見ずに自分の力でプログラミングできている感があるのだが、ある時これはただ「慣れ」の感覚を高めているように思えた。素早く書けること自体は、それはそれで一種のスキルで素晴らしいのだけど、実現したいことをコードで書けるようになる、という観点で振り返ったときに、どうしても成長を感じなかったのだ。それ以来、まずいと思い、実現したいことを思い描き、それを実現するた
コンテンツブロックが有効であることを検知しました。 このサイトを利用するには、コンテンツブロック機能(広告ブロック機能を持つ拡張機能等)を無効にしてページを再読み込みしてください。 ✕
関数の適切な長さとは? マーチン・ファウラー氏は、長さより意図と実装の分離、そしてよい関数名が重要だと指摘 一般にプログラムは多くの関数などから構成されています。関数には数百行に渡る長いものから数行程度の短いものまでさまざまな長さがありますが、果たして関数にとって適切な長さというのはあるのでしょうか? マーチン・ファウラー氏は関数の長さについて書いたコラムで、重要なのは意図と実装の分離であり、適切な名前を付けることが大事だと指摘します。同氏のブログは翻訳が許可されているので、記事「FunctionLength」の本文を翻訳しました。 FunctionLength(関数の長さ) 私のキャリアにおいて、関数の長さはどれくらいであるべきか、という議論を何度も聞いてきた。これはより重要な問いに置き換えることができる。それは、どのくらいの長さのコードになったらそれを関数にすべきか、ということだ。 い
※本記事は、2016/8/15に投稿されたTechAcademyマガジンからの転載記事である。 プログラミング初心者向けにもっとも効率的な学習方法のための要点を紹介する。独学でエンジニアになった人の経験談に基づいているため、これからエンジニアを目指す方には参考になるだろう。学習方法や目標設定などについて細かく解説する。 本稿は、Codementorのブログ記事を、Codementorより了解を得て日本語翻訳し掲載した記事になります。 本稿のテーマは、プログラミング学習において『何をすべきで何をすべきでないか』です。また、最も効率的な学習方法のための要点をお伝えします。 これらの要点は、独学でエンジニアになり、現在オーストラリアのThoughtWorksに勤めているNatasha Postolovski氏の経験に基づいたものです。 現在、これまでより多くの人々がプログラミングを学習し始めてい
こんにちは。 タダケン(@tadaken3)です。 プログラミングを学習する方法は、たくさんあります。入門書、プログラミングのスクール、オンラインでの学習サイト、プログラミングの入門動画などなど。たくさんの方法があってどれが効果的なのか迷ってしまいますよね。 そんなあなたに取って置きの方法をお伝えします。それは写経です。ボクはプログラミングを習得するには「写経」が一番いいと考えています。 とにかく書き写す プログラミングをはじめて学ぶ方は、まずはサンプルコードをひたすら書き写すのがオススメです。プログラミングは「言語」なので、習得するにはどうしても書いて覚える必要があります。言語なので書けば書くほどうまくなるというのが持論です。 書いているうちにその言語の特徴や文法が体に染み付いてきますし、「書いて動かす」を繰り返すことでプログラミングの勘所みたいなものが養われます。とくにプログラミング初
Photo by Peter Alfred Hess こんにちは。谷口です。 最近はオンラインでプログラミングが学べるサービスも増え、プログラミングの勉強を始めるハードルはかなり下がってきました。paizaでも、プログラミングが動画で学べるサービス「paizaラーニング」を公開しています。 ただ、一方で「独学でプログラミングの勉強を始めたけど、どうしてもわからないところがあって挫折してしまった」経験がある人も多いでしょう。 例えば エラーの意味がわからなくて解決できない 正しいコードを書いているつもりなのに思ったとおりに動かない 環境設定で詰まってしまって先へ進めない ネットや本で調べてもわからないことがあるけど周りに聞ける人がいない といった経験は誰しもあるのではないでしょうか。 多くのエンジニアがそれらを乗り越えて今のスキルを築いてきたのだと思いますが、一方でプログラミングの勉強を始め
HOME JavaScript入門 ここでは、ビギナーの方を対象としたJavaScriptの解説を行っています。 JavaScriptは、Webページに組み込んでいろいろなアクションを起こすことができます。 是非JavaScriptを覚えて、一ランク上のWebページ作りに励んでみて下さい。 当サイトでは主に「初めてJavaScriptを触る人」、特にプログラム自体初めての方を対象にしています。 初めての方は様々な専門用語が出て来ると非常に難しく感じることがあるので、ここでは極力専門用語を使わないようにしています。 ここで書かれてあることをマスターしたなら、 後は色々なサイトでレベルを磨いていってください。 なお最初に断っておきますが、JavaScriptを理解するにはHTMLをある程度使える必要があります。 HTMLを十分使えない方は、まずそちらを勉強なさって下さい。 HTMLを理解してい
まとめました JJUG CCC 2017 Springの発表資料(スライド)を纏めました。 現在非公開になっているものは見つけ次第、追記していこうと思います。 また、漏れてたり間違ってたり追加があったり後に非公開になったりした場合は @ryoichi_obara までお知らせ頂ければと思います。 スライドが無くて、Togetterがあるものはそちらにリンク貼っていたりします。 A0 日本Javaユーザーグループ 年次総会 日本Javaグループ2017年定期総会 #jjug from 日本Javaユーザーグループ www.slideshare.net ABCD1 JJUG CCC 20th fireside chat 未公開 E1 ふつうのJavaコーディング F1 Hipsterで学ぶ!Springによるサーバサイド開発手法 GH1 非機能要件とSpring Boot ABCD2 Java
ただし、注意したいのが言語によってサポートされているレベルが異なる点だ。CEDETはさまざまな言語に対応しており、対応言語リストはCEDET Supported Languagesで確認できるが、CEDETのすべての機能を利用できるのはC/C++およびJavaのみだ。ほかの言語の場合、サポートされる機能が大きく限られてしまう。たとえばスマート補完機能はC/C++およびJava以外ではほぼ利用できないほか、スマートジャンプやシンボルリファレンス機能についても、C/C++およびJava以外ではソースコードの解析が不正確になるようで、正しく関数や変数を認識できない場合がある。 いっぽう、Speedbarは一部の表示が不正確になるものの、基本的にはすべての言語で利用できる。Semanticによるスマートジャンプやシンボルリファレンスについても、やはり同様に一部不正確なところは見られるものの多くの言
「簡単にできることを、複雑にやる必要はない。」 ~プログラミングを行なっていると、いつもそう痛感する。 プログラミングで、ストレスなく、思いのままにコードを書く方法を会得したいと思っていた。 「リーダブルコード」という本の中に、参考になる話があった。 (p.158) おばあちゃんがわかるように説明できなければ、本当に理解したとは言えない。 ――アルバート・アインシュタイン 誰かに複雑な考えを伝えるときには、細かいことまで話しすぎると相手を混乱させてしまう。 自分よりも知識の少ない人が理解できるような「簡単な言葉」で説明する能力が必要だ。 自分の考えを凝縮して、最も大切な概念にすることが必要になる。 これは誰かに理解してもらうだけでなく、自分の考えをより明確にすることにもなる。 コードを読み手に「プレゼント」するときにも、これと同じ能力を使うべきだ。 ソースコードというのは、プログラムの動作
別名ラバーダックデバッキング(達人プログラマー)テディベアデバッグ(プログラミング作法)告白デバック(Code Compelete)どういうこと?デバッグの「簡単で」「効果的な」手法です。プログラミングにおいて、発生している問題や、問題を抱えているコードを「誰か」に説明します。すると、問題の原因に自ずから気づき、自己解決できることがあります。この場合の「誰か」は、バスタブに置いたゴムのアヒル(ラバーダック)のように、話を聞きながら定期的にうなずくだけで良いのです。なにかを言う必要はありません。実際にやってみると、場合によっては、説明し始めた途端に原因に気づいて「あ、もういいや、変なところがわかったよ。ごめん、ごめん」などと言うことになり、照れくさい思いをすることもあります。どうして?「順を追って説明する」という単純な行為ですが、このことは問題の原因を自ずと明らかにします。この行為は簡単に思
この問いに対して、自分なりの答えを言語化できたのでまとめます。 目次 目次 疑問 実践する機会 自分なりの答え 「コードを書く瞬間の思考」にアドバイスを貰える 他の方法で代替できない ペアプロの欠点 まとめ 疑問 きっかけは、下記の方々のやり取りをTwitterで見かけたからです。 「それをできる人とペアプロする」以上に短期間で新しい技術を身につける方法を知らない。— Jxck (@Jxck_) 2017年2月3日 ペアプロが最速だろうなあ https://t.co/SdbZZ2EypI— Takuto Wada (@t_wada) 2017年2月3日 サッと調べると「最速なのは同意」という意見が大半でした。自分もこれには同意するのですが、「なぜペアプロが最速なのか?」という疑問を持ったのです。 ペアプロ、最速だと思うんだけど、なぜ最速なのかがハッキリわからない。「わからないことがすぐに聞
プログラマというのは、道具に慣れることが、実力があがることにならないのですよね。だから、勉強せず業務経験だけだとレベルが低いままということになってしまう。 Javaを10年さわり続けて、Strutsを5年さわり続けても、それだけでは、与えられた画面を手際よく作成できるようになるだけで、たとえばStrutsすらよりよく使えるようになるわけではなかったりする。 Javaにしても、「volatileってなんですか?」という問いに、まあ知らないのはしかたないとしても、解説を見ながらですら答えられない可能性がある。 プログラムの反復生産は、プログラミング能力の向上にあまりつながらない。設定や記述に慣れるだけだ。そして、この「慣れ」というのには「難しいからそもそも実装を回避する」というようなものも含まれる。実力の向上は、作業ができるレベルで止まってしまう。 プログラマとしての実力をあげるための勉強が自
言語女子会: undefとnullは両方必要?、言語女子会2: varは必要?/privateがない?の続編です。 Rubyに恋愛相談 Python: 最近悩んでるのよね… Ruby: んー、何に? Python: 自分はどんな人が好きなのかなぁ…とか… Ruby: あー、そんなの簡単よ!一緒にいて楽しいことよ! *1 Python: そんなの誰とだって仲良くなったら楽しいんだから差別化にならないじゃん Ruby: そうとは限らないわよ、たとえば、あっ… C: ごめーん、会議が長引いちゃって遅れちゃった!(髪の毛ファサーっ) Python: ああ…なるほど… C C: 何の話?え、恋愛に悩んでる?そんなの簡単よ。卓越性よ。 Python: 卓越性?? C: そうよ。なんらかの分野で「わたしが一番」という状況を作ることよ。そうすれば男の側からいくらでも寄ってくるわ。 Python: なるほど
執筆した井上誠一郎氏ら共著者に敬服。お疲れさまでした。 パーフェクトJavaScript (PERFECT SERIES 4) 言語仕様のpart2(2〜7章)まで読みました。その後はパラパラっと流し読み。まずは言語仕様までの内容について雑感を述べます。 JSには既にサイ本と呼ばれるバイブルが存在しますが、サイ本は「仕様を淡々と解説している本」といった印象を持っています。対してパーフェクトJavaScriptは「仕様における用語を整理し、分かりやすくまとめて解説している本」といった印象でした。そして表紙がダサいです。ガラケーがのってます。サイ本に対してガラケー本といったところでしょうか。・・・って不名誉な名称だからやめとこうと思いましたが、パーフェクトJavaScriptと長いのでやっぱり使います。 対象読者 入門書ではないと「はじめに」で言い切っています。対象読者についてもそのページで言
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く