タグ

programmingに関するmanatenのブックマーク (382)

  • 『関数型プログラミングに目覚めた!』のレビュー(Day-1) - Qiita

    var plus = function(a, b) { return a + b; }; var s = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] .reduce(plus); console.log(s); が対比されています。 [0,1,2,...,9]はダサいか? 書に対する感想として幾つか見かけたものに、「関数型コードの[0,1,2,...,9]という配列リテラルベタ書きの方が命令型コードよりダサいではないか!」というものがありました(0〜999まで足せと言われたらどうするつもりなのか!)。しかし、まさに0〜999まで足すにはどうしたらいいのだろう、という問いを書の登場人物自身が問い(p. 45)、配列リテラルではなくrange関数を使って配列[0..999]を生成するコード例が示されます(p. 109)3。ですので、何度も繰り返されるコード例[0,1,2,

    『関数型プログラミングに目覚めた!』のレビュー(Day-1) - Qiita
  • きれいなソースコードを書くために必要な、たったひとつの単純な事 - よくわかりません

    「構造のきれいなプログラムを書けるようになるためにはどうすればいいのか?」という質問を受けたので、「はて?どうしているだろうか?」と考えてみました。あ、形式知にきちんとなっているようなテクニックみたいなもんじゃなくて、モノローグなので、あまり凝ったものは期待しないように。 http://blog.shibu.jp/article/28983162.html 自分なりにもっと凝縮版を。渋川さんが言っている事全体もその通りとは思うけど*1、もっと簡単で、しかも射程が広い、と自分が思っている事。 渋川さんはちょろっと触れてるだけだけど、自分はこれが最も基的で汎用的、かつ、ソースをきれいにする原動力となる上にバグをも減らしてコードの汎用性まであげる、コーディングのエンジンみたいなものと思ってる。それは、 「すべてに正しい名前を付けて、そして、正しい名前であることを維持する」という鉄の意志 クラス

    きれいなソースコードを書くために必要な、たったひとつの単純な事 - よくわかりません
  • あなたのソースを汚くして生産性も下げている、たったひとつの間違い - よくわかりません

    この内容には私も全面的に賛成で、クラスやフィールド、メソッド、名前空間など、とにかく文字として表れる名前には、必ず、例外なく、正しく誤解のない命名を徹底することが非常に重要だ。 http://blog.livedoor.jp/lalha/archives/50261226.html 先のエントリは、danさん*1やlalhaさんにまで言及いただき大変光栄で、なにより多くの人に読んでもらえた。多謝。 一方で、自分で読み直すと「先のエントリ」は、いくぶん観念的でいまいちよく分からないところもあるかなと思った。というわけで、より実践に結びつきやすいように、「何に気をつければいいのか」「どういう考え方でコードを書けばいいのか」を書いてみる。 lalhaさんがエントリで強調したかったという (1) 適当に書いたコードは後でとても大きな被害をもたらす可能性が高い への包括的な対策であり、 (2) たく

    あなたのソースを汚くして生産性も下げている、たったひとつの間違い - よくわかりません
  • コードレビューの話

    新卒エンジニア向けにコードレビューを「する」話をしました。 http://hisaichi5518.hatenablog.jp/entry/2014/10/29/165721

    コードレビューの話
  • 不慣れなコードベースで短期間に生産性を高めるための7つの方法 | POSTD

    新しい仕事プロジェクトを始める時に、コードベースを一から作ることはめったにありませんよね。なじみのないコードと格闘するのは骨が折れますし、新たに取り込む情報の多さを考えると、気の遠くなる思いがします。Rubyを使っていた環境からNestoriaに移った私の場合は、新しいコードベースの学習に加えて、Perlまで勉強しなくてはならなかったため、二重の苦しみを味わいました。そんな私が、できるだけ短期間で生産性を上げるために使った7つの方法を紹介します。 謙虚になろう プログラミングと聞いて、真っ先に”謙虚さ”を思い浮かべる人はいないかもしれません。何しろ”傲慢”が プログラマの三大美徳 の1つに数えられているくらいですからね。そうは言っても、なじみのないレガシーコードに出くわしたら、あまりにも分からないことが多すぎて、何度もミスをしてしまう自分にきっと嫌気がさすでしょう。このような場合は、謙虚

    不慣れなコードベースで短期間に生産性を高めるための7つの方法 | POSTD
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • FunScript:F#からJavaScriptへのコンパイラー

    プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6健太 田上

    FunScript:F#からJavaScriptへのコンパイラー
  • 本の虫: 多くのプログラマは言語を表面的な理解だけで使っている

    一般のプログラマの多くは、プログラミング言語というものを、ごく浅い表面的な理解だけで使っている。これは、いわゆる「入門書」によるところが大きい。入門書は、言語をできるだけパターンで教えようとする。かくかくしかじかの場合には、とらとらうまうまのように書いておけばいい、などといった具合だ。 たとえば、配列の全要素や、aggregateの全メンバーをゼロで初期化したいとする。多くのC++プログラマは、以下のように書く事であろう。 int a[100] = {0} ; このコードは、正しく動く。配列aの要素は、すべてゼロで初期化される。しかし、C++という言語を考えた場合、{0}と書く必要はない。空の{}で十分なのである。 int a[100] = {} ; では何故、多くのC++プログラマは{0}と書くのか。それは、多くの参考書が、そのように書いているからに過ぎない。大多数のC++プログラマは、

    manaten
    manaten 2014/08/26
    職業コーダーと言語ヲタの違いといってしまえばそれまで感。だが、本当の仕事人なら自分の道具のルーツ・思想はできるだけ知っておくべきだと思う
  • 『霧島、火消しやめるってよ』これ書いたらエンジニアをやめるべきコード9選 - paiza times

    2014年7月30日より開催中のpaizaオンラインハッカソン(略してPOH![ポー!])Lite「天才火消しエンジニア霧島 もしPMおじさんが『丸投げ』を覚えたら」ですが、たくさんのご参加ありがとうございます。引き続き開催中ですので、まだチャレンジしていない方は是非チャレンジください。 今回の物語では、主人公霧島京子の発注元にあたる1次請けSIerPM火村氏に、いかにアホなコードを書かせるかという事で色々悩んだのですが、ネタとしては面白いが可読性が悪すぎてヒントにならないという事でお蔵入りしたコードを紹介ます。 ■しょうもなさ過ぎてお蔵入りに… 今回は、これまでのオンラインハッカソンVol.1、Vol.2よりも難易度を下げて、より参加しやすい形を目指して、タイトルもPOH Liteとしました。物語の中で提示される元受PMの火村氏が書いたコードを読めば「愚直な解き方はある程度分かる」とい

    『霧島、火消しやめるってよ』これ書いたらエンジニアをやめるべきコード9選 - paiza times
    manaten
    manaten 2014/08/21
    こんな整理されたコードはクソコードとは言わない
  • JavaScriptのプロトタイプチェーン - Qiita

    元ネタ:JavaScriptはいかにしてprototypeを捨てクラスベース継承を得るのか - なんたらノート第三期ベータ なんか色々突っ込みたかったので。 この人はプロトタイプチェーンでクラスベースの言語と同じことをやろうとしているのかな。 プロトタイプチェーンは、ただの道具 npm にあるほとんどのライブラリがチェーンを活かして作られてない理由が説明できない。 プロトタイプチェーンは、それ自体ただの道具です。ほとんどのライブラリで使われないと有用ではない、なんてことはないはずです。 そもそも、プロトタイプチェーンの仕組みは結構利用されています。気づいていないだけ、じゃないですかね。 メソッドとそれ以外のプロパティ ちょっとまって、JavaScript のプロトタイプチェーンの教科書でこの、n という初期化パラメータを持つオブジェクトの継承はどういうふうに実装したっけ?? プロトタイプチ

    JavaScriptのプロトタイプチェーン - Qiita
  • The Rust Programming Language

    A language empowering everyone to build reliable and efficient software. Performance Rust is blazingly fast and memory-efficient: with no runtime or garbage collector, it can power performance-critical services, run on embedded devices, and easily integrate with other languages. Reliability Rust’s rich type system and ownership model guarantee memory-safety and thread-safety — enabling you to elim

    The Rust Programming Language
  • プログラマーがイラレで絵を描けるようになると、こうなる - ppworks.jp

    プログラマー、絵が描けないじゃないですか(偏見) こんなじゃないですか。 なので描けるようになりたいなとずっと思っていて、ベジェ曲線って滑らかでナンカヨサソウ、とチャレンジしました。 「ベジェ曲線」習熟ドリル 7,8年前に買ったのがこれ。そう、チャレンジは2回目なのです。前回は3ページぐらいで挫折してました。んで、最近急に暇になったのをキッカケに「よしやろう」という気になり始めたのです。 改訂二版〈Illustratorで学ぶ〉「ベジェ曲線」習熟ドリル 作者: 中村高之出版社/メーカー: ラピュータ発売日: 2005/04メディア: 単行購入: 2人 クリック: 8回この商品を含むブログ (4件) を見る (2014.1.10追記) なんと、長らく手に入りにくかったこちらの書籍が新装改訂版で再登場とのこと。 表紙が若干、損していた分、今回はスタイリッシュで内容と合っていてヨサソウです。

    プログラマーがイラレで絵を描けるようになると、こうなる - ppworks.jp
  • 関数型言語を学ぶことは実務でどう役に立ったか - Rejasupoem

    関数型LT大会で「実社会の問題を解決する関数型言語」というタイトルで発表しました。 というのも、会社で「すごいHaskellたのしく学ぼう!」の輪読会をしていて、最初こそ10人以上の人が参加していたのだけど、章が進むごとにどんどん人が離脱していって、主催者としてはなんとか完走したいという思いがあったので、調べたのですが、 ヒアリングから、この二つの線がクロスしたときに、人は離脱するという知見が得られました。 ということで、Haskellに対して実用性を見出したいと思いながら半年を過ごしたのですが、実用的 = 仕事で使うということであれば、今の現場でHaskellに移行するのは現実的ではありません。 でも、Haskellには関数型言語のエッセンスが詰まっていて学びが多かったと思っていて、直接的には使っていないけど、概念として役立つことがあると思ったので、それを伝えるために今回文章に起こしまし

  • gitignore.io - Create useful .gitignore files for your project

    Create useful .gitignore files for your project by selecting from 571 Operating System, IDE, and Programming Language .gitignore templates

    gitignore.io - Create useful .gitignore files for your project
    manaten
    manaten 2014/04/24
    便利そう
  • オリジナル(捏造)コーディング用語集

    スクラップブックコーディング ググって見つけたサンプルコードを適当に貼り付けて、なんとなく動いているソースを作り出すこと。 それがなぜ動いているのかはしっかり理解していないけど、とりあえず動いているみたいだからいいや。 これを行う時は「ぬーすんだ そーすで しーごとするー」と口ずさみながら行うとちょっとだけ救われた気持ちになる。 ブラックジャックパターン 様々なプログラミング言語を継ぎ接ぎのように組み合わせて動作させる手法。 使っている言語に必要なライブラリがなかったために、その箇所だけ他の言語を使うといった場当たり的な対応を繰り返していると出来上がる。 自然としっかりしたモジュール化が行われるため、すべての言語に精通していれば逆に可読性は良くなる場合もある。 銀の流れ弾 「システム開発における数々の問題を一挙に解決することができます!」という怪しげな触れ込みとともに喧伝されている「最新て

  • Oni Labs: StratifiedJS

    StratifiedJS is Free and Open-Source Latest Stable Release Branch: 0.19 Stratified JavaScript Bringing JavaScript into the modern age. Today. For every browser & nodejs. Introduction StratifiedJS modernizes the JavaScript language for use in non-trivial web applications: No more asynchronous spaghetti. Underpinned by ideas from the Orc process calculus, SJS offers all the advantages of asynchronou

  • Hack · Programming Productivity Without Breaking Things

    HackHack is an object-oriented programming language for building reliable websites at epic scale Hack reconciles the fast development cycle of a dynamically typed language with the discipline provided by static typing, while adding many features commonly found in other modern programming languages. Hack provides instantaneous type checking by incrementally checking your files as you edit them. It

    Hack · Programming Productivity Without Breaking Things
  • 些末なコードレビュー - naoyaのはてなダイアリー

    朝起きて布団から出るのがつらいので、HBFav をつらつらと眺めていた。 あるサービスの JavaScript が重いとか、そのコードが難読化されてないとか、担当者とおぼしき人間が書いたコメントがそのまま残ってるから消しましょうよとか、そんなことが書かれていた。JavaScript が重い、という話は結局そのサービスの JavaScript が重かったのではなく、ユーザーが自分で導入した広告が重いというだけの話だった。 コードが難読化されていない、趣味の製品ではなく会社の製品なのでコメントそのまま残ってるから消しましょう・・・実にくだらない。 ところで話は変わってコードレビューについて。 コードレビューに慣れないチームが、何の考えもナシにコードレビューを始めるととにかく気になったこと大小様々な指摘が行われることになる。一見、いろいろな指摘が出て議論が活発になっているように見えるが、だいたい

    些末なコードレビュー - naoyaのはてなダイアリー
    manaten
    manaten 2014/03/13
    コメントを消す消さない云々は、開発者が赤裸々なコメントを世界中に晒して恥ずかしい思いをしないためであり自衛であるので、外野がとやかくいうことではない。お前の母ちゃん出ベソと一緒である
  • PHPが糞言語なのはどう考えても参照をポインタだと思っているお前らが悪い - なんたらノート第三期ベータ

    この投稿はPHP Advent Calendar 2013の12日目の記事です。 PHP恒例行事の参照と三項演算子のdisりですが、そろそろあさってな議論はやめませんかという話です。 今年のPHP-dis大賞といえばこちら。 PHPとかいう糞言語|いんまのブログ ※ 追記: これ書かれたのは2012年でしたすんません。 なんで君たちそんなコードが必要なのかね、と。結論から先言うと、きみたちがPHPが使えないって思うのは、そんな挙動に左右されるようなコードを書くからでしょ、だからCとかRubyとかそういう簡単な言語でわかった気になっている初心者はまったくもう...というわけでPHPの言語文法の基礎んとこ、いきますね。 まず、PHPのarrayは「値」です。もちろん文字列も「値」です。値は値なんだけど、それはミュータブルです。PHPのarrayもしくは文字列の代入は、一見すると、ポインタを使わ

    PHPが糞言語なのはどう考えても参照をポインタだと思っているお前らが悪い - なんたらノート第三期ベータ
  • 伝説のPHP作者「Rasmus Lerdorf」名言集を聞くと嫌PHP厨がファビョる

    今のPHPを作ったのは、何十人もの開発者ですよ。私は1人目の開発者だったに過ぎません。 問題を解くのが好きなだけで、プログラミングは大嫌いです。 いかにプログラミングを避けるかを考えていたら、コードを再利用するためのツールとしてPHPができました。PHPは、歯ブラシみたいなものですね。毎日使うものですけど、だから何でしょう?誰が歯ブラシのなんて読みたがります? パーザを書くのは苦手です。当にダメなんです。今でもね。PHPには「protected属性」も「仮想メソッド」もありますよ。情報学科の教官が「重要だ」っていうやつは何でもね。僕自身は、こんなものどうでもいいと思ってますけど。プログラミングを好む人がいるのは知ってますが、全く理解できないですね。 僕はホンモノのプログラマではありませんから、やっつけ仕事ですよ。ホンモノのプログラマは、「動いてるように見えるけど、メモリリークだらけじゃ

    伝説のPHP作者「Rasmus Lerdorf」名言集を聞くと嫌PHP厨がファビョる
    manaten
    manaten 2014/02/24
    この作者にしてPHサーあり