タグ

Programmingとprogrammingに関するWatsonのブックマーク (1,069)

  • 56歳からコードを書き始めて食べていく方法

    私は56歳、最近プログラミングを始めたんだ。 なぜかって?やりたいからに決まっているじゃないか。ようやく最近コツをつかめてきてね。でもコツをつかめたからといって簡単にはいかない。正直なかなか手こずっている。でもいいんだ。 アルゴリズムに挑戦して我を忘れるのは楽しいし、まだテストしたい事があって「あと数分だけ」と繰り返し自分に言い聞かせるのもいい。「今度こそ上手くいったかも、、」とドキドキしてから「やったぞ!ついに動いた。」となる瞬間も大好きだ。 でもこんな私には今まで趣味と呼べるものが何ひとつなかった。自分に見返りがない事に時間を費やすのは嫌だったんだ。ただ楽しみのためだけに何かをするのが好きじゃなかったのさ。休みの日にやる事といったら、ちょっとした小遣い稼ぎになるような事ばかりだった。 オーケー。もちろんコーディングだって小遣い稼ぎさ。上手くやればかなり稼げる。これだってあなたから見れば

    56歳からコードを書き始めて食べていく方法
  • Linux シグナルの基礎

    TLPI (The Linux Programming Interface) 再々。 TLPI の輪読の際に @matsumotory よりシグナルセットあたりをまとめるようにと指令が出たので、拙遅な感じでまとめました。 シグナルとは プロセス間通信の一種。「プロセスにシグナルを送信すると、そのプロセスの正常処理に割り込んで、シグナル固有の処理(シグナルハンドラ) が実行される」プロセス側では、シグナルを受信した際の動作(シグナルハンドラ) を設定することや、シグナルをブロックすることも可能。 コンソールで、プロセスを終了させるためにkill -9 <PID>とかCtrl+Cとかした際にも、対象プロセスにシグナルが送信されている。 ちなみに、PID「1」の initsystemd にkill -9 1しても何も起らない。(そういえば昔、oom-killer に init を殺された覚

    Linux シグナルの基礎
  • Amazon.co.jp: プログラミング作法: Brian W. Kernighan (著), Rob Pike (著), 福崎俊博 (翻訳): 本

    Amazon.co.jp: プログラミング作法: Brian W. Kernighan (著), Rob Pike (著), 福崎俊博 (翻訳): 本
  • ソフトウェアの修正プログラムのことをなぜ「パッチ(当て布)」と呼ぶのか?

    ソフトウェアやOSの不具合や動作の更新・修正を行なうアップデートプログラムのことを「パッチ」と呼びますが、なぜ「継ぎ当て用の布」を意味する「パッチ」と呼ばれるのかがわかるツイートが投稿され、注目を集めています。 And that, kids, is why we call it a "Patch". pic.twitter.com/zjiXGcS29A— Codealike (@Codealike) 2017年1月13日 上記のツイートはアメリカ初の電気機械式計算機「Harvard Mark I」に使われていた紙製のプログラムシートを撮影したもの。パンチ穴を読み取って計算を行なっていたため、もし穴を空ける場所を間違えた場合、プログラムシートに当に「布」を継ぎ当てて穴を埋め、正しい場所に穴を空け直してプログラムの修正を行なっていたわけです。 布のパッチは後に「磁気テープ」になり、リムーバブ

    ソフトウェアの修正プログラムのことをなぜ「パッチ(当て布)」と呼ぶのか?
  • 量産型プログラマを撲滅したい

    プログラマの生産性の差は、出来る人と出来ない人で10倍とも100倍とも言われる。そんな馬鹿な、と思われるかもしれないが、事実だ。 むしろ、一緒に働かせると、出来るプログラマが、下手に作られたプログラムの修正をしなければいけなくて、全体の生産性を落とすことになる。 つまり、出来ないプログラマはチームで働くと、生産性をマイナスにするのだ。厳しいことを言えば、いない方がマシなのである。 ソフトウェア開発にの手はいらないのだ。 では、出来ないプログラマとはどんな人たちか。 コピペで書くプログラマだ。他で動いているプログラムをコピペして、なんとなく直して書いているプログラマだ。 なぜプログラムが動くのか、どう書けば動くのか、わかっていない。 ただ沢山のプログラムを書くだけの量産型プログラマだ。こういう人のプログラミングは、デバッグさせてみて、横で見てるとすぐにわかる。 まず、エラーメッセージを見な

    量産型プログラマを撲滅したい
  • 自分の言葉で書かれたコミットメッセージが好き

    誰にも質問されていないけど回答すると、ぼく個人としては「レビュー指摘事項を反映」的なコミットメッセージにはやんわり否定派で、どうしてそう変更すべきと思ったのかを自分の言葉で書く方がベターと思っています。 — juné29💩公式アカウント (@june29) January 11, 2017 140文字には納まらないな、と思ったのでちゃんとエッセイを書く人間になろう! たとえばぼくがレビューを担当させてもらって「ここはAの方がよいと思いました」とコメントしたとして、そのときに「レビューで指摘された箇所を修正」というメッセージ付きのコミットが追加されたとする。そのあとぼくが思い直して「いや、他の箇所も考慮すると、やっぱりBの方がよさそうです」とコメントしたとする。また「レビューで指摘された箇所を修正」というコミットが追加される。 こういうやりとりだと、「レビュー」というプロセスというよりは「

    自分の言葉で書かれたコミットメッセージが好き
  • nullが生まれた背景と現在のnullの問題点 ― null参照問題(前編)

    Cの系譜を継ぐC#ではnullが長らく使い続けられてきたが、最近ではその存在が大きな問題だと認識されている。前後編でこの問題を取り上げ、今回(前編)はnullを取り巻く事情について考察する。 ← 前回 連載 INDEX 次回 → 近年、nullの存在は、billion dollar mistake(10億ドル規模の損失をもたらす過ち)と呼ばれるくらい忌避されるものになっている。 nullは、低コストでそこそこ安全に参照を扱えるという意味で悪くない妥協ではあるが、技術が進歩した現在ではもう少し賢い参照の扱い方があるはずである。C#のように、これまでnullを認めてしまっているプログラミング言語で、今からそれを完全になくすというのは現実的ではないが、nullに起因する問題を少しでも避ける手段はこれからでも追加していけるだろう。 今回は、nullが生まれるに至った背景から始め、nullが抱える問

  • Big Sky :: Matz の「言語のしくみ」を読んだ。

    Twitter で「言語のしくみ」読みたいなって呟いたら Matz 人から「献しましょうか」とメンション頂いて即答でお願いしました。ありがとうございます。 ひさびさ紙のを通勤電車の中で立ちながら読んだので手がだるくなりました。なんだか懐かしい感じがしました。 さてこのですが、一言で言うとこんなです。 Ruby のパパこと Matz が雑誌の連載に追われながら試行錯誤して作ったプログラミング言語「Streem」を解説する 聞こえが悪かったらすみません。言いたいのはこの「試行錯誤」がとても良いエッセンスになっている点なのです。実際にはその連載記事をまとめた物に対して、この当時はこの様に考えていたが後になってみると実は良く無かったといった振り返り「タイムマシンコラム」で構成されています。 この連載が1つのに纏められた事でプログラミング言語設計者の葛藤が非常に良く表されているな、そう

    Big Sky :: Matz の「言語のしくみ」を読んだ。
  • プログラミング言語「PPAP」を作りました - yhara.jp

    I have 80 Pen I have 65 Apple Uh! Put-Pen Uh! Put-Pen Uh! Put-Apple Uh! Put-Pen ソースコード https://github.com/yhara/ppap-lang FizzBuzzも書けます。 宣伝 このような奇妙なプログラミング言語に興味がある人にぴったりな書籍が存在します。 今ならマナティというマイナビのIT電子書籍ストアから購入すると割引になっており、2,041円でPDFが手に入ります。1月10日までです。これに合わせようと思ったのに年始になってしまった。 マナティ年末年始キャンペーン|Tech Book Zone Manatee Rubyで作る奇妙なプログラミング言語|Tech Book Zone Manatee 言語仕様 「I have」はレジスタの宣言です。以下はPenというレジスタを用意し、初期

  • 文字列アルゴリズムの学びかた - Hatena Developer Blog

    こんにちは!はてなアプリケーションエンジニアの id:takuya-a です。 みなさんは、このような疑問をもったことはありませんか? grep はどのように文字列を検索しているのか? MeCab はどうやって辞書を高速にルックアップしているのか? パーサやコンパイラを作りたいけど、何から始めればいいのか? 稿では、「文字列アルゴリズムとはどんなものなのか?」「なぜ重要なのか?」「何を知っておくべきか?」「どうやって勉強すればいいのか?」といった疑問にお答えしていこうと思います。 文字列アルゴリズムの意外な応用や、モチベーションを保ちやすい勉強のしかた、文字列アルゴリズムを勉強するために行った社内での取り組み、実装するときのコツといったトピックについても触れています。 このエントリは、はてなエンジニアアドベントカレンダー2016の22日目の記事です。昨日は id:syou6162 さんに

    文字列アルゴリズムの学びかた - Hatena Developer Blog
  • apollo11号のソースコードを読みつつ - aerith7’s blog

    これはなに? はじめに AGCあれこれ Temporary I HOPEHOPEHOPE ASTRONAUT NOW LOOK WHERE YOU ENDED UP ふと気になりました いい時代ですね 1201&1202エラー なにそれ? カ、カルマンフィルターだー!!! カルマンフィルターの開発経緯 その他面白コメントアウト集 TRASHY LITTLE SUBROUTINES(つまんないサブルーチン) NUMERO MYSTERIOSO(神秘の数字) OFF TO SEE THE WIZARD COME AGAIN SOON HONI SOIT QUI MAL Y PENSE(悪意を抱く者に災いあれ)、NOLI ME TANGERE(私に触れるな) PINBALL_GAME_BUTTONS_AND_LIGHTS.agc おわりに 反省 参考文献 これはなに? この記事はeeic Adv

    apollo11号のソースコードを読みつつ - aerith7’s blog
    Watson
    Watson 2016/12/22
    よく月に着陸できたなー。
  • プログラミング勉強を加速させる7つの習慣 - Qiita

    記事は自分が運営するブログに転載しています 株式会社LITALICOでWebエンジニアRails)を担当しています、@YudaiTsukamotoです。 この記事は『LITALICO Advent Calendar 2016』16日目の記事です。 はじめに 私は学生時代は情報工学の専攻でもなければ、趣味でプログラミングをやっていたわけでもなく、 社会人になってWebエンジニアとして初めてまともにプログラミングを勉強し始めました。 入社するまでに独学で勉強の真似事をしてはいましたが、そもそもどうやって勉強していいのか全然わからず、 を読んで写経をして何故だか理由はよくわからないが動作してしまうミニブログを眺めては、ため息を付いて挫折を繰り返しておりました。 そんな初心者だった自分が、Webエンジニアとしてべていくために気で努力して身につけたノウハウを、 「プログラミング勉強を加

    プログラミング勉強を加速させる7つの習慣 - Qiita
  • 高校生にWeb上でプログラミングを教え始めたエンジニアがこの8ヶ月間で得た気づき - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 画像: N高等学校課外授業(N予備校)での生放送授業のブラウザ上での見た目、コメントが書ける 目次 はじめに 教えることになったきっかけ Web企業にエンジニアとして就職できるようになる、というミッション 既存のWeb教材に感じた問題意識 「各自進められるゲームブック形式の教材」と「徹底的にフォローする生放送授業」 コンセプトをもとに構成されたコースと内容 ゼロからプログラミングができるようになった人が生まれた日 永劫、プログラミングは一部の天才たちのためのものか? プログラミング学習のモチベーションの課題と対応 まじめなオタクたちが社

    高校生にWeb上でプログラミングを教え始めたエンジニアがこの8ヶ月間で得た気づき - Qiita
  • Learning to Read x86 Assembly Language - Pat Shaughnessy

    Writing assembly language is something best left for the experts. To write code that runs directly on your microprocessor you need to know how memory segmentation works, what the intended use of each register is, how codes executes in real and protected modes and much, much more. And, of course, modern compilers will usually produce faster, more optimized code than you ever could, without making a

  • 達人プログラマーとわたし/PragProg and Me

    2016-11-21 技術書の歩き方勉強会「達人プログラマー編」での資料です。 https://connpass.com/event/44500/

    達人プログラマーとわたし/PragProg and Me
  • 和田卓人さん、PHPで堅牢なコードを書く—例外処理、表明プログラミング、契約による設計 〜PHPカンファレンス2016 | gihyo.jp

    PHPカンファレンス2016 レポート 和田卓人さん、PHPで堅牢なコードを書く—例外処理、表明プログラミング、契約による設計 〜PHPカンファレンス2016 2016年11月3日にPHPカンファレンス2016が開催されました。稿では、ゲストスピーカーである和田卓人さんによる講演「PHP7で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計」についてレポートします。 PHP7では例外や表明の機能が大幅に見直され、強化されました。この講演では、例外処理を設計する際の基的な考え方や、表明(assertion)の使い方、そして表明と例外を使い分け、堅牢なコードに導くための設計手法「契約による設計(Design by Contract⁠)⁠」の考え方を説明しました。 導入 はじめに、和田さん自身が監訳に関わった『SQLアンチパターン』に掲載されているコードを、よりひどくさせた

    和田卓人さん、PHPで堅牢なコードを書く—例外処理、表明プログラミング、契約による設計 〜PHPカンファレンス2016 | gihyo.jp
  • Infographics: Operation Costs in CPU Clock Cycles - IT Hare on Soft.ware

    Another way of approaching the same question is to say that “hey, I’m calling virtual function once per piece of code which is like 10000 cycles, so virtualisation won’t eat more than 1% of the program time” – but you still need some kind of way to see an order of magnitude for the related costs – and the diagram above will still come in handy 🙁 . Preliminaries aside, let’s take a closer look at

    Infographics: Operation Costs in CPU Clock Cycles - IT Hare on Soft.ware
  • null安全でない言語は、もはやレガシー言語だ - Qiita

    これらは、表中の「リプレース対象言語」に挙げたように、多くのメジャー言語に対する代替手段でもあります。 Java の代わりには Kotlin や Ceylon が、 JavaScript には TypeScript や Flow が、 Objective-C には Swift が、そして PHP には Hack があります。 Python は自身に null 安全 を取り込みました。 Crystal は直接 Ruby と連携して使えるわけではありませんが、 Ruby 風の null 安全 な言語です。 RustC++ の代替を目指して開発され、 Firefox の一部で C++ のコードを置き換えるのに使われています 2 。 null が引き起こしてきた数々の問題を考えると、僕は、 null 安全 は GC (やその他の安全なメモリ管理手法)に匹敵するプログラミング言語の進化だと考え

    null安全でない言語は、もはやレガシー言語だ - Qiita
  • PHP7 で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計 / PHP Conference 2016

    2016/11/03 @ PHPカンファレンス2016 2016/12/15 @ PHPカンファレンス2016再演イベントにて改訂 2017/06/10 @ PHPカンファレンス福岡2017にて改訂 2017/06/10 @ PHPカンファレンス福岡2017講演録画 https://www.…

    PHP7 で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計 / PHP Conference 2016
  • The Julia Programming Language

    Fast Julia was designed for high performance. Julia programs automatically compile to efficient native code via LLVM, and support multiple platforms.

    The Julia Programming Language