タグ

programmingに関するtomomiiのブックマーク (62)

  • プログラミングを教えるときの10のポイント (という論文の紹介)

    1. ギークの遺伝子なんてないことを心に留めようよく、「プログラミングには得意不得意がある(some kids get it, and some kids don’t)」とか、さらには「プログラミングには向いていない子がいる」とか聞きますね。 大学のコンピュータサイエンスの授業の成績分布が、とても良く理解できる生徒と何もわかっていない生徒にくっきりわかれる、という話も聞きます。当でしょうか?Patitsasらの最新の研究によると、実際にはそんなことはなく、くっきりと成績の分布が分れてしまったコンピュータサイエンス入門のクラスは、5.8%に過ぎなかったそうです。 この論文では、「プログラミングには得意不得意がある」という迷信は、プログラミングを学びだしたときに躓きがちな生徒でなく(意識的か無意識的かにかかわらず)、スムーズに学ぶ生徒の方へ教える時間や熱意を費やすことにつながり、ひいてはコン

    プログラミングを教えるときの10のポイント (という論文の紹介)
  • はてなブックマーク数が多い2017年のアドベントカレンダーのランキングを調べた - 唯物是真 @Scaled_Wurm

    QiitaとAdventarにあるアドベントカレンダーについて、個別の記事とカレンダー全体のはてなブックマーク数のランキングを29日の21時ごろに集計した 個別記事上位100件のURLについては軽く目で見て文字化けを直したり最近の記事ではないURLをフィルタリングしてある(スクリプトのバグや作業ミスで抜けてる場合があったらご容赦ください。バグを直していただけるととても嬉しいです) カレンダーごとの合計数のランキング カレンダーとカレンダーに登録されている記事のはてなブックマークの合計数 順位 カレンダー名 はてなブックマーク数 1 Mercari 3411 2 ex-mixi 2870 3 ひとりでデータ分析ガチ勉 2627 4 武蔵野 1920 5 python 1888 6 CrowdWorks 1886 7 はてなエンジニア 1787 8 Livesense - 学 1621 9 ド

    はてなブックマーク数が多い2017年のアドベントカレンダーのランキングを調べた - 唯物是真 @Scaled_Wurm
  • 「プログラミングの常識」を時々見直す必要性について|Rui Ueyama

    自分の中のプログラミングの常識というものは、ときどき現実のハードウェアに合わせて調節しないといけない。ハードウェアが進歩し続けているので、コンピュータで簡単にできることと相対的に難しいことのバランスが変化し続けているからだ。ここでは特にストレージにフォーカスして書こうと思う。 昔はメモリが相対的にとても貴重な資源だったので多くのプログラマがメモリを節約することに血道を上げていた。例えばWindowsの初期の頃に設計されたデータ構造には、メモリをバイト単位ででもいいから節約したいという意図の痕跡がいまでも多く見受けられる。DRAMの次に速い記憶装置はHDDだったので、メモリが足りなくなればHDDにデータを保存せざるを得ないのだが、DRAMとHDDのランダムアクセスの速度差は、机の上のの開いているページを見るのと、そのAmazonで注文して到着するのを待つのと同じくらいのスケールで違うの

    「プログラミングの常識」を時々見直す必要性について|Rui Ueyama
  • 香川大学の学生向けにソフトウェアエンジニアの生存戦略について話をしました - そーだいなるらくがき帳

    7/21に香川大学で講演させていただきました。そーだいさんと言えばRDBでしょ!?みたいな感じで先にタイトルが決まった感じですがRDB全然関係ない感じになりました。 僕が超絶リスペクトしてる id:t-wada さんとそこそこリスペクトしてる上司の id:onishi さんの名言を引用させてもらいました。僕はこの2つの言葉が10年戦えるエンジニアの核心をついてると思っています。 つまり 技術は螺旋なので継続的な知識の更新は必須 手を動かす(一歩目を踏み出す)者が未来を作る という2点を踏まえた上でエンジニアにはそれぞれ得手不得手があるわけです。この得手不得手を理解して自分がどのフェーズを戦場として戦うか?って話をしました。この話は前もブログに話をした内容です。 soudai.hatenablog.com そこで僕の経験談としてDBを交えて話をしました。 サービスを作るのが特に好きなタイプで

    香川大学の学生向けにソフトウェアエンジニアの生存戦略について話をしました - そーだいなるらくがき帳
    tomomii
    tomomii 2017/07/25
    よいなぁ現場で発表を聴きたかった
  • オライリー『退屈なことはPythonにやらせよう』 プログラミング未経験者向けの技術書 - はてなニュース

    オライリー・ジャパンは、単純作業を自動化する方法が学べる技術書『退屈なことはPythonにやらせよう──ノンプログラマーにもできる自動化処理プログラミング』を発売しました。プログラミング未経験者を対象にしており、手作業だと時間がかかる処理を一瞬でこなすPython 3プログラムの作り方が紹介されています。価格は3,996円(税込)です。 ▽ O'Reilly Japan - 退屈なことはPythonにやらせよう Pythonは、さまざまなプログラムを分かりやすく簡潔に書けるという特徴を持つプログラミング言語です。『退屈なことはPythonにやらせよう──ノンプログラマーにもできる自動化処理プログラミング』は、ファイル名の変更や表計算のデータ更新といった単純作業を一瞬でこなせるプログラムの作り方を学べるというもの。基をマスターすれば、プログラミング未経験者でも「面倒な単純作業を苦もなくこな

    オライリー『退屈なことはPythonにやらせよう』 プログラミング未経験者向けの技術書 - はてなニュース
  • Haskellで10を作るプログラムを書いてみたので動画で公開してみた - プログラムモグモグ

    最近Rui Ueyamaさんがコーディング動画をアップされているのを見て、私も動画を撮りたくなりました。題材をしばらく考えていたんですが、10を作るプログラムを書いてみることにしました。 www.youtube.com 後から見直すと色々ミスっていて、わりと焦っていることがわかります。なにかの癖で適当に bc -l とかやったのだけど、音声をあてる時は関係ないオプションだと勘違いしてしまいました。確かにglobされていたのはよくなかったけど、 echo '5 / (5 / (5 + 5))' | bc -l とかで考えてみると -l も必要なんですよね。2つの問題が起きていて混乱してしまった… もともとはProject Euler 93を昔解いたことがあったので、こういう系の問題と分数の扱い方とか括弧の付け方みたいなところはイメージありました。ただ、Project Eulerの問題は式木を

    Haskellで10を作るプログラムを書いてみたので動画で公開してみた - プログラムモグモグ
    tomomii
    tomomii 2017/05/21
    "Haskellを書いていて楽しい時はどういう瞬間でしょうか。若い世代に興味を持ってもらうにはどういうものがあると良いのでしょうか" すてき
  • Python ヒッチハイク・ガイド — The Hitchhiker's Guide to Python

    Python ヒッチハイク・ガイド¶ Python ヒッチハイク・ガイド へようこそ。 これは皆さんの手により生きているガイドです。 貢献したい方は GitHub で fork してください! この手作りガイドは、初心者と熟練者のPython開発者の両方に、Python のインストール、設定、および使用に関するベスト・プラクティスを日々提供するために存在します。 このガイドは、ほとんど 独断的なもの であり、Python の公式文書では ありません 。 ここでは、すべての Python Webフレームワーク の一覧は見つからないでしょうが、強く推奨されているリストが簡潔に見つかるでしょう。 さあ、始めましょう! まずは、あなたの探しものがどこにあるかを確認しましょう。

  • 円周率の16進数表現100億桁目を求めてみた! ― 円周率の世界記録をどのように検証するか ― - プログラムモグモグ

    あなたは円周率を何桁言えますか。3.14159…という、あの数字です。 円周率の小数部分は無限に続き、循環することもありません。 古来より、数学者は円周率の値を様々な幾何学的な近似や公式を用いて計算してきました。 その桁数は計算機の発明により飛躍的に伸び、収束の速い公式の発見や効率の良いアルゴリズムの発明などによって加速してきました *1。 5年前、私がまだ学生だった頃、円周率1億桁の計算に挑んだことがありました。 私にとって高精度計算の初めての挑戦で、様々な試行錯誤で苦労したのをよく覚えています。 itchyny.hatenablog.com 2017年現在、円周率計算の世界記録は22兆桁です。 円周率計算の歴史をご覧いただくとよく分かると思いますが、近年の円周率計算の世界記録からは次のような特徴が読み取れます。 2002年に1兆を超え、最新の記録 (2016年) は22兆桁 (10進数

    円周率の16進数表現100億桁目を求めてみた! ― 円周率の世界記録をどのように検証するか ― - プログラムモグモグ
  • 【ノンプログラマ向け】プログラマの仕事内容を理解する(1) ~「テスト」という工程が必要な理由 | きのこる庭

    前書き 「一緒に働いている以上、プログラマのことを理解して仕事をしたい」そう考えている企画・ディレクションの方は経験則的に少なくない。 ノンプログラマから見て、プログラマの仕事はイメージが湧きづらく、何故その工程にそこまでのコストをかける必要があるのかわからない事が多い。 プログラマは作業の必要性を説明してくれるかもしれないけれど、専門用語も多いしイマイチピンとこなかったりする。 ここで重要なのはまさに「イメージ」だと思う。すなわちイメージを提供するための良質なメタファーだと思う。メタファーが良質であれば より直感的に理解できる。 実際メタファーの力はバカにならない。「Chef」も「Jenkins」も それぞれ 統一的な世界観が学習者の直感的な理解を後押ししてくれる。 というわけで、今回から数回に分けて なるべく「技術的な話」をせずに イメージを想起しやすいストーリーを導入することで プロ

    【ノンプログラマ向け】プログラマの仕事内容を理解する(1) ~「テスト」という工程が必要な理由 | きのこる庭
  • Ruby を始めて2日目の僕が驚いたこと - ぐだぐだ言ってないでコードを書けよ、ハゲ。

    photo credit: Kmark via photopin cc Ruby を初めて 2日目。 Railsチュートリアル第4章で Ruby の基的な使い方を学んだ。 Ruby を使って驚いたことがいくつかあったのでまとめておく。 (プログラミング経験はそれなりにある。C# や JavaScript, PHP など) Rubyist の方は、初めて Ruby に触れたときのことを思い出すきっかけに。 非Rubyist の方は、Ruby に興味を持ってもらえるきっかけになれば。 なお、いくつかのコードは Railsチュートリアルから抜粋している。 end はあるけど begin しない 多くの言語では関数やブロックを中括弧で括る。 Pascal 系言語では begin 〜 end で括る。 Ruby では begin なしで急に end が出てくる。 if string.empty?

    Ruby を始めて2日目の僕が驚いたこと - ぐだぐだ言ってないでコードを書けよ、ハゲ。
  • コードの臭い - Wikipedia

    コードの臭い(こーどのにおい、英: Code smell)とは、コンピュータプログラミングにおいてプログラムのソースコードに深刻な問題が存在することを示す何らかの兆候のことを言う。 コードの臭いが示す深刻な問題は、小さく管理された手順でリファクタリングする短いフィードバックサイクルを廻し、それ以上のリファクタリングが必要なことを示すコードの臭いがないかどうか、設計を検査しなければならない。 リファクタリングを実施するプログラマの視点からは、コードの臭いはいつリファクタリングするか、どのリファクタリング手法を用いるか、発見するための方法である。すなわち、リファクタリングを後押しするものである。 「コードの臭い(code smell)」という呼び方は、ケント・ベックがWardsWikiで初めて用いたようである。マーチン・ファウラーの著書 Refactoring. Improving the D

  • リファクタリング (プログラミング) - Wikipedia

    この記事には独自研究が含まれているおそれがあります。問題箇所を検証し出典を追加して、記事の改善にご協力ください。議論はノートを参照してください。(2020年10月) この記事で示されている出典について、該当する記述が具体的にその文献の何ページあるいはどの章節にあるのか、特定が求められています。ご存知の方は加筆をお願いします。(2014年4月) リファクタリング (refactoring) とは、コンピュータプログラミングにおいて、プログラムの外部から見た動作を変えずにソースコードの内部構造を整理することである。また、いくつかのリファクタリング手法の総称としても使われる。ただし、十分に確立された技術とはいえず、また「リファクタリング」という言葉に厳密な定義があるわけではない。 リファクタリング登場の経緯と目的[編集] リファクタリングが登場する以前は、一度正常な動作をしたプログラムは二度と手

    tomomii
    tomomii 2013/12/03
    奥深い
  • プログラミング初心者に本当に必要なのは情報ではなく師匠という存在だと思う : 941::Tech

    34歳、今日からプログラミングを始めます : 941::Tech って書いたら、色々と教えていただいて誠にありがとうございます。 なんでPerl?って聞かれたら、そりゃYAPC::Asiaの主催をやっているのは大いに関係あるけれどもわりと言語にこだわりはないので、だったら関わりがある言語選ぶのが人情ってもんです。おかげさまで今年のチケットはすでに売り切れております。どうもどうも。 プログラミングについて、やはり皆さん色々と言いたいことはお有りなようでMentionいただかなくても色々とご意見あるようです。人が何かを学ぶ時というのは環境というのはとても大事だと思いますけれども「インターネット普及しまくり、環境恵まれすぎ」な自分がプログラミングを学ぶうえで最初の壁は「情報の取捨選択」かなぁと感じてる。プログラミングというものに対して色々な姿勢や意見があるし、これが正解ということもないからそりゃ

    プログラミング初心者に本当に必要なのは情報ではなく師匠という存在だと思う : 941::Tech
    tomomii
    tomomii 2013/08/28
    思う
  • 楽しいJava入門

    「読み物Java(基礎編)」は初心者向けです。さーっと読み進めてください。「合格Java(基礎編)」でSunのJava2認定試験(310-035)向けの模試の問題を少しずつ増やしていきますので、細かい文法はこちらでチェックしてください。 「読み物Java(ライブラリ編)」は標準ライブラリの中からよく使われるクラスを紹介していきます。

  • Javaの冒頭で始められる「publicstaticvoidmain(String[]args)」の用途の意味が分かりません。 ... - Yahoo!知恵袋

    Javaの冒頭で始められる 「public static void main (String[] args)」 の用途の意味が分かりません。 Javaの冒頭で始められる 「public static void main (String[] args)」 の用途の意味が分かりません。 public:どのクラスからでもOK static:ちょい意味が分からん。 void:戻り値を指定しないメソッドであると示す。 main:メソッド名。 String[]:引数の型。String型 args:引数名。 という風に理解してはいるんですが、 「結局コレをつけるとなんなんだ?」という現在の状況です。 これをつけないと、現段階のプログラムでクラスがエラーを起こして作動しないし、 『この中になんで書きゃなきゃならないんだ?』という状況です。 分かる方、よろしくお願いします。

    Javaの冒頭で始められる「publicstaticvoidmain(String[]args)」の用途の意味が分かりません。 ... - Yahoo!知恵袋
  • public static void の意味を簡単に知っておく

    <IT技術の処方箋:public static void の意味を簡単に知っておく> 基中の基、HelloWorld のプログラムです。 --------------HelloWorldのサンプル---------------------- public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World!"); } } Java初心者に、public static void はチンプンカンプンでしょう。 public,static,voidの意味くらいは簡単に知っておきましょうね。 ●public どのクラスからもアクセスできるということ ●static staticとは固定という意味。 クラス特有の値やメソッドということ。 といってもよくわからないでし

  • public static void main (String args[])

    staticとかの意味はNo1の方の説明以外にありません。 mainは最初に実行されるメソッドという説明がされますので、「クラスを実行する時の引数とは?」と引っかかっているのかもしれませんね。 これはコマンドライン引数と呼ばれます。 たとえば、次のプログラム public class ArgsTest{ public static void main(String[] args){ System.out.println(args.length); for(int i = 0 ; i < args.length ; i++){ System.out.println(args[i]); } } } これを >java ArgsTest abcde fghij(エンター) として実行するとabcdeとfghijが引数となります。 ちなみに、mainはpublicでstaticなメソッドなので、

    public static void main (String args[])
  • プログラミング出来ない奴ちょっと来い

    プログラミング出来る方法教える。 世の中「プログラミング言語」を説くはごまんとあれど「プログラミング」を説くやブログはあまりない。 いや実際に "ない" というのはかなり語弊があるかもしれない。 しかし、通常この種の説明しているに辿り着くまでには多くの時間が必要だ。 普通の人は、多くの間違った方法を試し、その都度試行錯誤を重ね、プログラミング経験を経ることよって、重要な概念を獲得するのだと思う。 例えば、「計算機プログラムの構造と解釈」や「実用 Common Lisp」、「コンピュータプログラミングの概念・技法・モデル」などの書籍は現実の問題に対し "プログラム" をどう書くかという問題に正面から取り組んでいる良書だ。 しかし、どれだけ”普通の”プログラマが上記のような書籍を読んでいるのだろうか。 そして、"普通のプログラマ" がプログラミングを学ぶ書籍として、それらは果たして適切と

    プログラミング出来ない奴ちょっと来い
  • プログラムが書けない人に「仕様変更」について説明するには | tech - 氾濫原

    「仕様変更」という言葉はプログラム書く人じゃないと、そのイメージが掴めないと思う。イメージが掴めない人に対してそれを説明するとしたら何がいいだろう? と思った。 とりあえず、料理に例えたらいいのではないかと思ったので、それに例えて考えてみる。 仕様とはレシピのことであり、最終的には具体的に「べることができる美味しい料理」すなわち「うまく動くプログラム」を作ることを目的としている。 仕様というのは、最初は「イタリア料理」「日料理」「中華料理」程度しか示されない。当然この時点では方針程度しか考えることができない。材を買うこともできない。せいぜい使う調味料を揃えるぐらいしかできない。 もう少し進むと、料理名まで具体化される。スパゲティを作りましょうとか、ピザを作りましょうとかだ。とりあえずここまできたら小麦粉を買おうとかまではできるかもしれない。でも実際に作りはじめることはできない。 さら

  • Sublime Text 3 Beta - News - Sublime HQ

    The first beta of Sublime Text 3 is now available to download for registered users. Some feature highlights are below, followed by our new pricing and upgrade policies, and system compatibility for Sublime Text 3. Symbol Indexing. Sublime Text now scans the files in your project, and builds an index of which files contain which symbols. This backs the new features Goto Definition and Goto Symbol i