タグ

プログラミングに関するledsunのブックマーク (23)

  • CodeCombat - Coding games to learn Python and JavaScript

    Our innovative game-based learning technology has transformed the way students learn to code. Game-Based LearningWith our unique approach, students embrace learning as they play and write code from the very start of their adventure, promoting active learning and a growth mindset. Text-Based CodingOur custom code engine and interpreter is designed for beginners, teaching true Python, JavaScript, an

    CodeCombat - Coding games to learn Python and JavaScript
    ledsun
    ledsun 2015/03/05
    演繹的思考の訓練によさげ。プログラミング言語間の差はあんまりなさげ
  • MOONBlock

    (c)UEI Corporation

    ledsun
    ledsun 2015/03/05
    Scratchっぽい /チュートリアル欲しい / JavaScriptの入門向きっていうのは、ちょっと違う感じ
  • 2015年の最優先事項は関数型プログラミング! | POSTD

    —もはやOOP(オブジェクト指向プログラミング)は”クラウドモンスター”から私たちを守りきれない おそらくあなたは、”Clojure”、”Scala”、”Erlang”といった言葉や、”Javaにラムダ式が導入された”という話を聞いたことがあるでしょう。そしてそれらの言葉が”関数型プログラミング”と関連があるのをご存じかもしれません。プログラミングコミュニティに参加していれば、おそらく既にこのテーマが議題に上がっているでしょう。 Googleで”関数型プログラミング”を検索しても、目新しいものは何も見つかりません。言語の中で2番目に古い言語は、関数型プログラミングを利用しています。1950年代に登場した、Lispという言語です。では一体なぜ人々は、今になって関数型プログラミングに沸き立っているのでしょうか? およそ60年も経っているのに? 初期の頃、コンピュータは実に遅かった 信じられない

    2015年の最優先事項は関数型プログラミング! | POSTD
    ledsun
    ledsun 2015/02/19
    「データと専用メソッドが必ずしもセットでなくてよい。近くにいてくれればそれで良い。」と、最近思っています。
  • ヨドバシ定期便を作った - おともだちティータイム

    Amazon 定期おトク便大好きっ子の僕は定期便を 30 以上登録して、日常のあらゆるものを勝手に送ってもらう生活をしていた。 しかし、ここ 1 年くらい Amazon 定期おトク便の対象商品が減って (買い合わせ対象になると定期便で送れなくなる、一度の配送が 3000 円を越えていたとしても) いった結果、定期的に買うものを自動化できなくて凄い辛い思いをしていた。 そして今月ついに箱ティッシュが買えなくなり、なぜか 1890 円もする異常なティッシュを勧められるようになってしまった。 これは困った。多少高くても定期的に送られてくる便利さを見込んで使っていたのだけど、さすがに箱ティッシュに 1890 円払うつもりにはなれない。そこで Amazon 定期おトク便を全て解約した。 そして、ヨドバシドットコムの操作を自動化することを目標とした。 なお、自動化は、お手軽なツールで出来るものでは無く

    ヨドバシ定期便を作った - おともだちティータイム
    ledsun
    ledsun 2015/02/11
    自分が使うツールを作るの、いいよね
  • 決めようぜ最高のプログラム言語を綱引きで :: デイリーポータルZ

    PHPがdisられる時代は終わった~っ! いくぜおまえら~!」「PHP!」「PHP!」(PHPはこの後一回戦で敗退しました) さる2015年1月29日。横浜大さん橋ホールで行われたエンジニア勉強会イベント「CROSS 2015」にて「第一回 プログラム言語対抗綱引き」が行われた。 コンピュータの世界を支えるプログラム言語がその至高性を競い腕力でぶつかる、言語間戦争に決着をつける大会である。 40人の勇者(プログラマー)により死闘を繰り広げたのはC、PerlPHPPythonRubyJavaScriptGoJava。 結果、Goの圧倒的勝利で幕を閉じたのだった。あらためて記事でその全貌をレポートしていこう。 知ってた? 綱引きの掛け声の「オーエス」ってあれ、「OS(オペレーションシステム)」のことなんだぜ? 英語版もご用意しております! English article↓↓↓

  • コードレビューについて - (define -ayalog '())

    普段お仕事している中で何故かコードレビューをしている時間がわりとあって、暇さえあれば(暇がなくても)コードレビューしている。 そんな中でどういうところを見たらいいのか、あるいは見るべきなのかというのが自分の中である程度蓄積された気がするので書いてみる。あと最後に普段考えていることを少し書いた。 前提 現在の僕の参加しているプロジェクトはこんな感じ Rails プロジェクト( AngularJS 使ったりしている) Git 使ってる( Pull Request ベースの開発で以下が merge 条件) 2 人以上に approve される テストが通ること(継続的インテグレーションの実施) 静的コード解析は導入している( Rubocop, jshint, pre-commit など ) テストのカバレッジは計測していない(月一くらいで測ってるらしいんだけど、だからどうっていう話はない) プ

    ledsun
    ledsun 2015/01/19
    社内のコードレビューしている人たちを見て「コードレビューは品質向上じゃなくて教育だよな」って気はしてた。
  • 技術力がつかない負の流れに陥ってしまった。 - 東京アンダーグラウンド

    最近自分がとらわれている負のスパイラルについて、思うところがあって書いてみた。 吐き出せば楽になれるかもしれない。 例外的な人はもちろんたくさんいると思うけど、一般的にSIer社員は技術力が低いと言われている。 たしかに自分の周りのSI社員にまともにコードを書ける人なんていないし、話に出るのは1990年代から2000年代のテクノロジーだ。 業務中にプログラミングをするときは、それが業務を改善するためのものであっても、周りの目を気にしてIDEを開く。 隙間の時間に、ほんの少しだけ。 手を動かさないと技術が身に付かないのは事実で、そういう意味だと、SI社員が技術を身に付ける時間は非常に限られている。 少なくとも、業務中に技術的なことをやる時間はほとんどないので、何かを身に付けたいときは、業務外に頑張って時間をとって勉強しなければならない。 家に帰ってからが勝負になる。 例外的な人になるためには

    ledsun
    ledsun 2015/01/16
    1. 会議を半分欠席する。「顧客と電話」とか「資料作り」とか適当な理由をでっちあげる。 2. 人事権のある上司に「コードの書ける部署に異動させろ(さもなきゃ辞める)」と言う。
  • すべてのソースコードが手元にあるのに不要な抽象化を行うのはよくない

    「よい」とされているプログラミング手法のひとつに差分プログラミングがある。クラスを継承して親クラスとの差分だけのコードを書けば、親ですでに実装されている機能はそのまま使えて、かつカスタマイズもできるというやつだ。 たとえばGUIのボタンをカスタマイズしてマウスオーバーするとなにかちょっと特殊なことを行うボタンを作りたいとしたら、ボタンクラスを継承して、マウスオーバーのイベントハンドラをちょいちょいとカスタマイズしてやればよい。差分プログラミングは大変素直でよいプログラミング手法のような感じがする。 よいのはよいと思う。 しかしこういういい例だけをみてそれをどこでも真似しようと思ってしまうと、不必要な抽象化を積み重ねる困ったプログラマになってしまう(そういう人は結構たくさんいる)。自分でプログラムを書く場合には、よくできたクラスライブラリやフレームワークをお手にして抽象化を行うのは、ほとん

    ledsun
    ledsun 2014/12/29
    変更は予測できない。事前に抽象化を入れても使わないことが多い。変更が起きたら、修正が一箇所にする抽象化入れるリファクタリングして、変更する。無駄が減る。
  • そのオブジェクト指向入門は間違っている(大げさ) - Webアプリエンジニア養成読本 AdventCalendar2014 25日目最終日! - uzullaがブログ

    はい、Webアプリエンジニア養成読 AdventCalendar2014です。突然トリをやる事になってしまったので、どうしたもんかとおもいます…。 「最終日だぞ…ちゃんとかかないといけない…しかしネタはない…そうだリンク集を作ろう!」とか思ったんですが、そもそもアドベントカレンダーってリンク集だよねって気付いて愕然としているクリスマスの夜です。現在朝の4時、これを書き終えて寝たい。 さて…何を話そう ここまでWebアプリエンジニア養成読アドベントカレンダーということで続けてきました。そして今日は25日、ついに最終日です! Webアプリエンジニア養成読 Advent Calendar 2014 - Qiita Webアプリエンジニア養成読[しくみ、開発、環境構築・運用…全体像を最新知識で最初から! ] (Software Design plus) 作者:和田 裕介,石田 絢一 (uz

    そのオブジェクト指向入門は間違っている(大げさ) - Webアプリエンジニア養成読本 AdventCalendar2014 25日目最終日! - uzullaがブログ
    ledsun
    ledsun 2014/12/25
    オブジェクト指向プログラミングにクラスは必須じゃない。オブジェクトの型を定義したい人だけが使えばいい。(再度、混乱に突き落とそうとする)
  • 新人プログラマに正月休み中を使って読んでみてほしい技術書をセレクトしてみた。 - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 はじめに 今年、書いた幾つかの記事のタネであったり、新卒教育の際に参考書籍としてあげたものを中心にリストアップします。一応amazonへのリンクも貼っておきますが、先輩が持ってたりすると思うので、冬休みに借りて一気に読んでおくのもいいかと思います。 その時々、必要な技術の習得に日々追われているんじゃないかと思いますが、いつまでも使

    新人プログラマに正月休み中を使って読んでみてほしい技術書をセレクトしてみた。 - Qiita
    ledsun
    ledsun 2014/12/19
    新人プログラマに「データベース・リファクタリング」とか「PofEAA」とか読ませて、どんな仕事させるつもりなんだろう?
  • 例外入門以前 - Qiita

    例外 Advent Calendar 2014の継続について 参加者が集まらなかったという経緯から独りAdvent Calendarとして始めた「例外 Advent Calendar 2014」ですが、諸事情により継続が困難となったため私Kokudoriの6日以降の投稿はありません。変に注目だけを集める形になってしまい申し訳ありません。 以下、諸事情というか、言い訳。 『契約による設計から見た例外』という記事にて述べた「契約」に対する私の理解が根的に間違っていました。 そこから芋づる式に例外に関する私自身の考えが間違っていた、あるいは理解が浅かったことに気づきました。このような理解力では例外について私見を述べることさえ不可能となり、結果頓挫という形になりました。 考えうる限り最低で残念な結果になってしまいました。当に申し訳ございませんでした。 初めに原則を考え出して、それから例外を見つ

    例外入門以前 - Qiita
    ledsun
    ledsun 2014/12/02
    マジで中身入るの?ちょっと、すごすぎない??
  • 「ほとんどのユニットテストが役に立たない理由」を読んで | POSTD

    数ヶ月前、私はJames O Coplienの ほとんどのユニットテストが役に立たない理由 という記事に出会いました。Jamesはほとんどのユニットテストは無意味であると考えていて、タイトルは内容をそのまま正確に表しています。彼は 追加記事 で議論をさらに展開しています。私は彼の議論に大変興味をそそられました。というのは、私はユニットテストから多くの利益を得ているからです。私たちはどうしてこのような異なる見解を持つに至ったのでしょうか? 私が何かを見逃したのでしょうか? 結局のところ私は彼の見解に賛成できませんでした。以下は彼の記事に対する私の意見です。 ユニットテストが必要な場合 私の経験では、ユニットテストはアルゴリズムロジックに対して行う時に最も有益です。結合度の高いコードについてはその性質から特に有益ではありません。結合度が高いコードはユニットテストのために多くのモックオブジェクト

    「ほとんどのユニットテストが役に立たない理由」を読んで | POSTD
    ledsun
    ledsun 2014/11/26
    文脈の違いでは?インターフェースが明確なライブラリ作るのにTDDはすごくいい。ごちゃっとしたアプリケーションのテストハーネスとしてユニットテストを用意する手間は割に合わない。
  • (あなたの周りでも見かけるかもしれない)インスタンス変数の間違った使い方 - Qiita

    (2021-8-28追記) この記事の改訂版を書いてみました。改訂版の方が易しい内容になっているので、プログラミング初心者の方はこちらを参考にしてみてください。 はじめに:「引数があるよりは、ない方が良い」? 先日、同僚の西見さん(@mah_lab)がこんな技術ブログを書いていました。 インスタンスメソッドとクラスメソッドはどのようにして使い分けるべきか?(Rubyの場合) 同じ内容を僕だったらどういうふうに書くかな~?と思って、ちょっと書き始めてみたんですが、わかりやすく実践的な説明をするのは意外と難しく、内容も西見さんのブログとほぼ同じになりそうだったので、途中で断念しました。 というわけで、インスタンスメソッドとクラスメソッドの使い分けが未だにあやふやだという方は、ぜひ西見さんのブログを読んでみてください! ・・・なんですが、1点だけ気になる点がありました。 それはインスタンスメソッ

    (あなたの周りでも見かけるかもしれない)インスタンス変数の間違った使い方 - Qiita
    ledsun
    ledsun 2014/11/16
    「結果をインスタンス変数に入れる」は悪手。戻り値で返すのは良い改善策。/2つの関数は分けたままの方が保守性が高い。例えば「GUIからcsv_dataを入力したくなったら?」
  • エンジニアは自由を獲得するために戦うべき|増井雄一郎が説くギークにとっての幸せなキャリア | キャリアハック(CAREER HACK)

    エンジニアとしての理想的な生き方とは? 「ギークに学ぶ『これからのエンジニアのキャリアとは?』」と題し、トレタCTO増井雄一郎氏を招いて開催された学生向けセミナーをレポート。 Wri.pe、Titanium Mobile、Node.js、MobiRubyRuby on Railsなどの開発エンジニア、そしてミイルやトレタのCTO・経営者としてキャリアを積んできた増井氏は、これまでの仕事人生をどのような考えから歩み、今後のキャリアをどう見据えているのか? 【プロフィール】 株式会社トレタ CTO 増井雄一郎 Yuichiro Masui @masuidrive 1976年、北海道生まれ。大学時代に起業。2003年にフリーランスとなり、Ajax、Ruby on Railsなどを使ったWEBアプリ開発や執筆を行なう。2008年に渡米し、中島聡氏らとともにアプリ開発会社を立ち上げ。帰国後は、Ap

    エンジニアは自由を獲得するために戦うべき|増井雄一郎が説くギークにとっての幸せなキャリア | キャリアハック(CAREER HACK)
  • JavaScriptはオブジェクトについて参照渡しだなんて、信じない - Qiita

    おはようございますの人もいれば、こんにちはの人もいて、こんばんはの人もいれば、スラマッパギの人もいますね。ということで日はどうも、まとめてスラマッパギ。 えーと、今日はちょっとした発表があります。といっても当にちょっとしたものなので、ちょっとだけ耳を傾けてお聞きください。ええ、JavaScriptの代入についてです。そう、値渡しだの参照渡しだのダマシだの「村長だ、ワシ」だの、そんな話です。 ということで、ちょっとこれから始めようかなと、ちょっと思います。 さっそくだが、見よ!この値渡しを! var a, b; a = ["hoge", "fuga"]; b = a; // 値渡し b; // => ["hoge", "fuga"] b[0] = "hogera"; b; // => ["hogera", "fuga"] a; // => ["hogera", "fuga"] 値渡し!

    JavaScriptはオブジェクトについて参照渡しだなんて、信じない - Qiita
  • 善意のひどい訳について - アスペ日記

    2014/10/14 追記: 補足記事を書きました。なぜ誤訳指摘をしたか ぼくは、ずっと昔から「ひどい翻訳」というものに憤りを感じてきた。 以前、別の記事に書いたこともある。 統計学を拓いた異才たちのようなひどい翻訳を見るたびに、どうして世の中からはこの手の悲劇がなくならないのかとため息が出る。 この前、またひどい翻訳を目にする機会があった。 C言語でプログラミングする際の覚書 ちょっと原文と比較すると致命的な誤訳がいくつも見つかる、最低クラスの翻訳だ。 やれやれと思いながら、翻訳のひどさを嘆くコメントをはてブに残して、ツイッターに流した。 pretty printers を優秀なプリンターと訳しているのを見て、これはちょっと手のつけようのない何かだと悟った / “C言語でプログラミングする際の覚書(Notes on Programming in C) - YAMAG…” URL 2014

    善意のひどい訳について - アスペ日記
    ledsun
    ledsun 2014/10/12
    長文の構文解析には訓練が必要。この目的では大学受験英語も捨てたものじゃないです。とはいえ、最初の訳者が居るからツッコミも入れられるわけで・・・ありがたいことです
  • Pythonを退職します - Line 1: Error: Invalid Blog('by Esehara' )

    Pythonが嫌いになったの? Pythonについて嫌気が差したとか、Pythonが嫌いになったわけではありません。これからも一番好きな言語は恐らくPythonですし、実際のところ、機会があればPythonは書こうと思います。ですので、決して言語としてPythonが嫌いになったわけではありません。 そもそも、職業プログラマとして、ちゃんとしたオブジェクト志向を教えてくれたのはPythonでした。Pythonは、その言語仕様からして、出来るだけ簡潔かつ、綺麗に書けるし、Pythonについて深く知れば、プログラミングとはどういうことなのかについて、詳しく知れるほどの、わかりやすい言語であることは事実ですし、初心者向け言語として、Pythonは強く押したいという気持ちは今も変わりませんし、ずっとPythonならびにそのコミュニティに関して感謝の気持ちはずっと忘れないでしょう。 また、近年ではPy

    Pythonを退職します - Line 1: Error: Invalid Blog('by Esehara' )
    ledsun
    ledsun 2014/10/06
    プログラマが2つめの言語にチャレンジするときの決意表明としては重すぎると感じます。
  • プログラマとして30年以上の経験から得た教訓 | POSTD

    私は、プログラマとして30年以上仕事をしてきた中で、学んだことがあります。そのいくつかを以下にご紹介します。もっと挙げることもできますよ。 実物を見せないと、顧客の希望は分からない。 このことは最初の仕事で学びました。顧客は、実物を見るまでは、何が当に必要なのかがよく分かりません。言葉で長々と説明するよりも、機能検証のためのプロトタイプを提示する方が確実に役立ちます。 十分な時間があれば、あらゆるセキュリティは破られる。 現代社会において、セキュリティを保つことは信じられないほどの難題となっています。プログラマは常に完璧を求められますが、ハッカーは1回でもハッキングができれば成功なのです。 セキュリティが破られた場合、事前にその状況に備えた対策を講じているかどうかで結果が変わってくる。 最終的にセキュリティが破られることを想定する場合、その時に起こることに備えて対策を立てておく必要があり

    プログラマとして30年以上の経験から得た教訓 | POSTD
    ledsun
    ledsun 2014/10/03
    ぐっとくるわー
  • ソニックガーデンで行われているコードレビューの具体例をお見せします (SonicGardn Study #11 の補足として) #sg_study - give IT a try

    はじめに 2014年8月11日の晩に放送されたソニックガーデンのweb勉強会、SonicGardn Studyでは「いつまでクソコードを書き続けるの? 〜出来るプログラマだけが知っているコードレビュー7つの秘訣〜」というタイトルで、弊社ソニックガーデンの西見さん(@mah_lab)が講演してくれました。 デキるプログラマだけが知っているコードレビュー7つの秘訣 from Masahiro Nishimi いつまでクソコードを書き続けるの? 〜出来るプログラマだけが知っているコードレビュー7つの秘訣〜 - YouTube この放送の中でも触れられていたように、ソニックガーデンではコードレビューを大事にしています。 ただ、勉強会のスライドの中では具体的なコード例や指摘の例がほとんど出てこなかったので、「実際どんな感じなの?」という疑問を持った方もいたんじゃないかと思います。 そこで今回は「入社

    ソニックガーデンで行われているコードレビューの具体例をお見せします (SonicGardn Study #11 の補足として) #sg_study - give IT a try
  • 1300 みたいなのを 1.3 K bytes みたいに整形するメソッドってどういう名前にすれば良いのか - おともだちティータイム

    y***s: 英語にくわしいフバさんに質問なんですが y***s: 1300 みたいなのを 1.3 K bytes みたいなのに整形するメソッドってなんてメソッド名にすればいいんですか fuba: -h When used with the -l option, use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte in order to reduce the number of digits to three or less using base 2 for sizes. fuba: man ls にはこんなかんじでかいてる y***s: なるほど shunirr: human readable fuba: to_human_readable_string みたいなのだるそうではある sh

    1300 みたいなのを 1.3 K bytes みたいに整形するメソッドってどういう名前にすれば良いのか - おともだちティータイム
    ledsun
    ledsun 2014/07/23
    おもしろかった