タグ

programmingに関するnatu3kanのブックマーク (692)

  • 実践的低レベルプログラミング

    はじめに 学校で習わないが(習う学校もある)、現実に必要になるプログラミング技術に、低レイヤプログラミングなどと呼ばれるものがある 厳密な定義は聞いたことがないし、おそらく存在しないとは思うが、大体のみんなの共通認識として、 「高級プログラミング言語を使わないプログラムを書き、OSで抽象化されないデバイスの機能を使う」といったような認識があると思う。 筆者の経験から言わせてもらうならば、低レイヤプログラミングに関する知識は、プログラミングにおいてあらゆる場面で、常に、少しずつ役立てられる知識だと言えると思う。 普段はRubyPHPなどを書いてる人であったとしても、メモリが足りなくなった場合や、デバッガを使っている場合、性能が足りなくなった場合など、 厳しい環境におかれた時に低レイヤプログラミングに関する知識が必ず役に立つ場面が来ると信じている。 また、役に立つかどうかは置いておいても、「

    natu3kan
    natu3kan 2018/10/13
    こういうのって、基盤組み合わせて自分で小さいコンピュータ作りながらの方がメモリとか理解しやすそう。
  • プログラマと学歴 - megamouthの葬列

    もはや現代では大学に行く必要はない、いや行ったほうがいい、という議論があるらしい。 大学が、「学歴」という形で、社会における個人の扱いをある程度は規定している事実がありながら、今ひとつ「大卒」であるということが、それほど重要視もされていないようにも見えるプログラマという職種こそ、このような議論がふさわしいのかもしれない。 そのようなプログラマと学歴との関係を少し書いておこうと思う。 プログラマ・カースト プログラマは奇妙な人々である。 クーラーの効いた小洒落たオフィスの最新スペックのパソコンに向き合って、鳴り続ける外線電話に出ようともしないで、その間にTwitterで卑猥なイラストをリツイートするといった、一般の社会人では考えられないような非常識を行ってもクビにならず、むしろ、これこそギークの証であると、納得される部分さえある。 そんな普通でない人々に学歴など必要なく、必要なのはただ、計算

    プログラマと学歴 - megamouthの葬列
    natu3kan
    natu3kan 2018/09/28
    スキルが上がる仕事とそうでない仕事があって、当たりの仕事と出会えないと優れた人でも成長が遅れる。という点でも縁って重要だと思う。
  • 継承って結局いつ使うの?

    最近継承してないな〜

    継承って結局いつ使うの?
    natu3kan
    natu3kan 2018/09/22
    わかってる人が効率よく仕組みや構造をコピペしたり見やすくする為の仕組みな感じする。無理につかって、他の方法にしておけば連鎖的に直さなくて済んだってケースもでそう。グローバル変数みたいに。
  • 3週間で48,000行のコードをこの世から抹消した話 – FiNC Engineering Blog – Medium

    qsona (twitter) です。以前、7,600行のコードを安全にこの世から抹消した話 という記事を投稿しましたが、今回はそれよりもずっと泥臭い話を書きたいと思います。あまりテクニカルな話はありませんが、現場における取り組み・試行錯誤の経過を読んでいただければ幸いです。 たくさん消しました、がんばりました〜背景肥大化するRailsサービスFiNCはマイクロサービスを指向しており、主にRuby on Railsで書かれたサービスが30個ほど存在します。しかし、FiNCアプリのメインとなるRailsのサービスは、テーブル数800を超える大きなサービスになっています。 FiNCのサービスは2014年から書きはじめており、かなり初期の段階(2015年)からマイクロサービス化を意識してきました。にもかかわらず1つのサービスが肥大化している理由はいくつかあります。 最初の1〜2年ですでに大量のコ

    3週間で48,000行のコードをこの世から抹消した話 – FiNC Engineering Blog – Medium
  • ググるのをやめるとプログラムの生産性が上がるかもしれない - メソッド屋のブログ

    今日はプログラミングの生産性に対して気づきがあったのでシェアしてみたい。 なぜ米国の人は生産性が高いのだろう プログラミングの生産性に関しては以前から興味がありいくつかのポストで考えたことをシェアしてきた。私は職業柄、いろんな国でいろんな人々とプログラミングを一緒にする機会が多い。その時に頻繁に感じるのは、平均的に言うと、アメリカの人プログラマが生産性が高い確率が高くて、しかもコードもきれいだという傾向にある。アメリカでお客さんと一緒にコードを書くと、お客さん自体が物凄く良く知っているし、実行力もある。アメリカの次と言うことでいうと、英語がネイティブの国もそれに近く、フランスなどの言語が近いところが続く感じなので、英語が物凄く影響すると思っていたし、実際すると思う。そのあたりの話はこちらのポストに書いてみた。 simplearchitect.hatenablog.com 定義での理解と、例

    ググるのをやめるとプログラムの生産性が上がるかもしれない - メソッド屋のブログ
    natu3kan
    natu3kan 2018/09/18
    母国語で公式の使い方書いてある資料が読めたら、初級~中級のプログラムの教本がそこそこ駆逐されそう。関係ないけど、どこの国でも底辺のプログラマって大変そう。
  • 実況中継シリーズ 「開発現場で役立たせるための設計原則とパターン」 #builderscon 2018 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    先日慶應義塾大学日吉キャンパスで行われた builderscon2018、最高のカンファレンスでしたね。わたしも「開発現場で役立たせるための設計原則とパターン」というタイトルで発表させていただきました。今回は恒例「実況中継シリーズ」として、プレゼンの再現をブログで行いたいと思います。 なお、過去の実況中継シリーズは前職の技術ブログにまとまっていますので、そちらからご覧ください。 それでは編を開始したいと思います。 開発現場で役立たせるための設計原則とパターン アバンパート よろしくお願いします。 まず最初に簡単に自己紹介をさせていただきます。 先月転職をしまして、8/1からClassiという会社で働いています。と息子がおります。Scalaが好きですが、仕事ではRubyメインという感じです。 Web+DB PressやSoftware Designで何度か特集を書かせていただきました。と

    実況中継シリーズ 「開発現場で役立たせるための設計原則とパターン」 #builderscon 2018 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    natu3kan
    natu3kan 2018/09/10
    センスと呼ばれる暗黙知を明文化して共有する大切さ。機能追加で既存の部分を変更しなくても継ぎ足しだけで追加できる仕組み
  • ファミコンエミュレータの創り方

    ------- GND -- |01 31| -- +5V CPU A11 -> |02 32| <- M2 CPU A10 -> |03 33| <- CPU A12 CPU A9 -> |04 34| <- CPU A13 CPU A8 -> |05 35| <- CPU A14 CPU A7 -> |06 36| <> CPU D7 CPU A6 -> |07 37| <> CPU D6 CPU A5 -> |08 38| <> CPU D5 CPU A4 -> |09 39| <> CPU D4 CPU A3 -> |10 40| <> CPU D3 CPU A2 -> |11 41| <> CPU D2 CPU A1 -> |12 42| <> CPU D1 CPU A0 -> |13 43| <> CPU D0 CPU R/W -> |14 44| <- /ROMSEL (/A

    ファミコンエミュレータの創り方
    natu3kan
    natu3kan 2018/09/09
    関連:ファミコンのエミュレータを書いた - undefined(https://blog.bokuweb.me/entry/nes) ファミコンエミュレータの創り方 - Hello, World!編 -(https://qiita.com/bokuweb/items/1575337bef44ae82f4d3)
  • SIerから転職したい

    どなたか相談に乗ってください。 社会人2年目25歳。増田でディスられがちな某大手SIerに新卒プロパーとして入社しました。以来毎日Excel方眼紙やCOBOLバイナリエディタを弄っています。ネタじゃないですよ。 大手SIerに行ってもプログラミング力が身に付かないことは、就職前から十分知っていました。しかし私はそれでも良いと思っていました。何故なら私は頭が良くないからです。プログラミングを仕事にしてしまうと、常に勉強し、最新の技術にキャッチアップしなければいけません。そして腕を磨いて転職を繰り返さなければ年収は中々上がらないと聞きます。自分には到底そんな生き方ができる気がしませんでした。自分は無能なので、大手のぬるま湯に浸かってのんびり高収入を得ることが出来るならそれが一番いいと思っていたのです。さっさと人生アガって、早く楽をしたい。大手SIerはそんな自分にとって、ぴったりの職場だと考

    SIerから転職したい
  • ゲームプログラマになりたい人はDirectXを覚える必要があるのか?

    しろめがね@YAKINIKUTABETAI @ok_0216 昔はDirectXのような低レベルな層から作るんやーって車輪の再発明的発想をしてたけど、そんな時間ないし無駄が多すぎて自己満足に過ぎないことを悟り限られた時間でいかに作品を完成させていくかという考えに至った... マッドネスラボ @madnesslabo UnityとかUEのゲームエンジンだけしか知らず、DirectXとか直接使って実装しないとゲームプログラマーとして一人前じゃないとか就職できないとかいう意見を未だに聞くんだけど、そんなことあるのかな。自分は時代的にDirectXから始めたけど、今ならたぶんUnity以外やってない。 順三朗 @junzabroP んー、テクスチャ、メッシュ、シェーダーGPUの挙動がわかっていれば基問題ないと思う。しかし挙動に問題が出た時、フレームワークの実装やDirectX/OpenGLの挙

    ゲームプログラマになりたい人はDirectXを覚える必要があるのか?
    natu3kan
    natu3kan 2018/08/22
    開発が大規模化したお陰で、ゲームエンジン作る人と、ゲームエンジン使ってゲームを設計したり組み立てる人で分業化されつつあるよな。
  • 無責任な"not for me"発言は迷惑なのでやめてほしい - lacolaco

    愚痴。 最近特定の技術やライブラリ、ツールなどに対して、「自分には合わなかった」のような発言をする人をよく見かける。 ちょっと前だと「○○はクソ」のような直接的なdisが目立っていた気がするので、少しは丸くなったつもりなのかもしれないが、 Angularというひとつの技術のユーザーコミュニティを主催する僕としては余計に迷惑だ。 もっと慎重になれ medium.com AirbnbがReact Nativeを使うのをやめた記事、これは当に偉い。 技術選定を行い、結果的にマッチしなかった、というレポートには、最低限次の項目が必要だと考えている。 開発の目的 選定理由 マッチしなかった理由 このどれが欠けてもいけない。単に言葉遣いが柔らかいだけでdisと変わりないどころか、下手するとFUDにすらなり得る。 FUD - Wikipedia FUD(英: Fear, Uncertainty and

    無責任な"not for me"発言は迷惑なのでやめてほしい - lacolaco
    natu3kan
    natu3kan 2018/08/08
    自分の業務にとって有益でカネになるなら、他人の情報は参考情報程度にしかならず、やっぱり使うだろうから問題ないよな。
  • 素人流:コンピュータ・サイエンスの基本知識を取り揃える書籍 - HELLO CYBERNETICS

    はじめに データ構造のアルゴリズム コンピュータ・アーキテクチャ ネットワーク セキュリティ ソフトウェア工学 最後に はじめに 謎のタイトルを掲げていますが、実質は私の決意表明と書籍の紹介になりますのでご留意ください。 ちなみにこの記事ではコンピュータ・サイエンスのすべての分野に精通することは不可能だと思われるので(なんたって自分がその目処立っていないので)、あくまで初心者〜中級者向けということで勘弁してください。 データ構造のアルゴリズム これは中々奥が深い分野だと思われますが、この手の話は理屈を眺めていても私は中々頭に入ってこないタイプでした。どうしても内容に集中できないのです。「当に意味あるんかしら?別にプログラムはこんなこと知らなくても書けるような…」なんて勉強しながら思っちゃうわけです。 そういう人にこそ下記の書籍がとってもおすすめ。 プログラミングコンテスト攻略のためのアル

    素人流:コンピュータ・サイエンスの基本知識を取り揃える書籍 - HELLO CYBERNETICS
    natu3kan
    natu3kan 2018/08/07
    つ「CPUの創りかた」
  • リクルートテクノロジーズ エンジニアコース新人研修の内容を公開します(2018年度版) | Recruit Tech Blog

    こんにちは、フロントエンド開発をリーディングしている古川 (@yosuke_furukawa)です。 昨年、こちらのブログで新人研修の特別講座の内容を紹介したところ、大反響だったので、今年も公開します。 リクルートテクノロジーズの新人研修 7月、リクルートテクノロジーズは新人の部署配属の季節を迎えました。 4月に(株)リクルートの新卒Web採用枠で入社した新人のうち、今年は20名が弊社に配属。3か月の研修期間を経て、早速現場での業務にあたってくれています。 リクルートテクノロジーズでは、配属までの3か月間「ブートキャンプ」という技術研修を実施しています。 ブートキャンプのコースは2つ。 一つは、プログラミングやWebサービスの構造の基礎を学び、その後1つのスマホサイトを企画からリリースまで行うコース。 もう一つは一定以上のプログラミングスキルと開発経験のある層向けに、より現場での技術に即し

    リクルートテクノロジーズ エンジニアコース新人研修の内容を公開します(2018年度版) | Recruit Tech Blog
  • 知らなかった……“青空文庫”の全データは“GitHub”から一括ダウンロードできる!/“データを丸ごとほしい!”という場合に便利【やじうまの杜】

    知らなかった……“青空文庫”の全データは“GitHub”から一括ダウンロードできる!/“データを丸ごとほしい!”という場合に便利【やじうまの杜】
  • メタファーを身につけてプログラミングの生産性を向上させる - メソッド屋のブログ

    インターナショナルチームでプログラミングの仕事をしていると、いろんなところで同僚との差を感じてしまう。いろんな国の人がいて、レベルは人によりそれぞれなんだけど、一般的にいうと、アメリカのプログラマのレベルは平均してとても高い場合が多い。とにかくコードがきれいでシンプルで仕事が早い。 彼らがなぜそれができるのかを観察しているが、一つ気が付いたことについてその対策も含めて書いてみたい。 彼らがプログラマとして優れているところ USにいるとお客様の技術レベルが高いとか、新しいことにチャレンジするとかいろいろ要素はあるのだけど、個人の生産性、コードの美しさをみても、平均値を観察するとアメリカの人が一番に感じる。その他にも、ドキュメントを見てすぐ理解できる能力は、アメリカの人はおろか、ヨーロッパ圏やインドの人と比べても、私は圧倒的に負けていると感じる。 Williams 衝撃の読解力 新しいライブラ

    メタファーを身につけてプログラミングの生産性を向上させる - メソッド屋のブログ
  • ロシアの美少女ハッカーによるAI機械学習入門【CV上坂すみれ】|paizaラーニング

    転職・就活情報から未経験向け求人や動画学習まで、IT/WEBエンジニアに特化した総合求職・学習サイト「paiza(パイザ)」。 プログラミングスキルチェックを提供し、学歴や職歴ではなく「技術がある人」が評価され、活躍できる社会の実現を目指したサービスを提供しています。

    ロシアの美少女ハッカーによるAI機械学習入門【CV上坂すみれ】|paizaラーニング
  • 学生時代、UNIXでC言語を独学していた頃。 ちょっとした事(たしかグローバ..

    学生時代、UNIXでC言語を独学していた頃。 ちょっとした事(たしかグローバル変数とローカル変数の挙動の違いとか、そんな事だったと思う)を試してみようと思って、20行くらいのプログラムを作ったんだ。 でも、動かないの。 どんな短いプログラムでも意図しない挙動をしてしまうことはあるものだが、そんなレベルの話ではない。 ただ、計算した結果を画面に出すだけのつもりなのに、何も表示されないんだ。 で、少しずつコメントアウトしていったのに、それでも何も表示されない。 しまいには、"A" って画面に出すだけのコードになったのに、それでも何も表示されないんだ。 (この日記の言及先を見れば、ネタは一目瞭然なんだろうけど) で、もう一別のコードを test2.c という名前で作ったら、ちゃんと "A" と表示された。 一番始めに作ったコードも、すんなり動いた。 そうさ。最初のコードは test.c という

    学生時代、UNIXでC言語を独学していた頃。 ちょっとした事(たしかグローバ..
    natu3kan
    natu3kan 2018/07/12
    >カレントディレクトリ よりも先に /bin に PATH が通っていたので 、単に test と打つと、 /bin/test が実行されていたんだ。
  • ADHD プログラマの私がやっと見つけた「達成すること」が出来る方法 - メソッド屋のブログ

    私は昔から ADHD で昔から発想力や問題解決力はあるのだが、自分自身が何かのスキルを上達することが非常に苦手だ。コンサルとか、エバンジェリストみたいな「人にやってもらう仕事」は得意だが、プログラマとか、ヴォーカリストとか、自分が当になりたかった職業には何回もチャレンジして何回も失敗してきた。 遠くから見ていると私は何かが出来てるように見えるかもしれないが、冗談抜きで人の3倍ぐらい時間をかけないと成果が出ない。しかも、中途半端にしか完成しない。だから、土日も常に何か努力していないと不安になる。 多分私と同じようなADHDの人は、自分的に努力しても何も達成出来ない辛さを感じているかもしれない。過去にも色々試してみたのだが、47年生きてやっと自分でも実施できる対策が見つかったので、同じ様なことで苦しんでいる人のヒントになればと思い久々にこのブログを書いてみた。 「自分で何かを作れる人」が長年

    ADHD プログラマの私がやっと見つけた「達成すること」が出来る方法 - メソッド屋のブログ
    natu3kan
    natu3kan 2018/07/02
    ADHDだと興味や感心が他のモノに移ると、一つの作業から別の作業に脱線しやすいってところはあるんだと思う。しかも短期記憶が弱いから、メモったり作業フローを文章化しないと、同じ作業を何度も繰り返してしまう。
  • RailsコードをGoで書き直して、FFIを使ってRailsからGoの関数を実行させて実行時間を5%以下に短縮させた - Clueit Developersブログ

    こんにちは、Webチームの柴山(@shikeapp0909)です。 今回は、弊社Webアプリ「mamanoko」の一部に処理高速化のためにGoを導入したので、どのように導入したかをご紹介しようと思います。 Railsで開発しているWebアプリ内にどのようにGoを取り入れたのか、実際のコード例を交えながら解説していきたいと思います。 なぜRails環境にGoを導入したのか そもそもなぜGoを導入することになったのかと疑問に思われるかと思います。 mamanokoはメディアサービスのため、ライターさんに文章を書いていただいています。複数のライターさんがおり、文章量も膨大になるため、表記揺れや誤字がどうしても出てきてしまいます。 そのため、文章校正が必要であり、以前からその機能を提供していました。 しかしこの文章校正の機能は記事の文章に対して表記揺れなどチェックしたい単語を総なめする処理をしてい

    RailsコードをGoで書き直して、FFIを使ってRailsからGoの関数を実行させて実行時間を5%以下に短縮させた - Clueit Developersブログ
  • GitHub - kamranahmedse/developer-roadmap: Interactive roadmaps, guides and other educational content to help developers grow in their careers.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - kamranahmedse/developer-roadmap: Interactive roadmaps, guides and other educational content to help developers grow in their careers.
    natu3kan
    natu3kan 2018/06/24
    web開発者用の学習の始め方のロードマップ
  • 【保存版】プログラミングで何を学べばどんなアプリを作れるのかまとめてみました。|Dai

    追記) プログラミング教育・就活などについてツイッターでも発信しています。この記事を読んで興味を持っていただけた方がぜひフォローよろしくお願いします! ------------------------------------------------------------------------- プログラミングで「これ創りたい!」というときに何を学んだらいいのか創りたいもの別にまとめてみました。 主にAidemy, Progate, noteのチュートリアルの教材をまとめた記事になります。これから学習するルートに従って勉強を始めると、創りたいアプリができるようになると思います。全体像はこんな感じになります。 ①Webページを創りたい まずはWebページの作り方です。お店のホームページなどを作るためには、以下の言語を学ぶ必要があります。 ・HTMLCSSJavaScript ・jQ

    【保存版】プログラミングで何を学べばどんなアプリを作れるのかまとめてみました。|Dai
    natu3kan
    natu3kan 2018/06/24
    作りたいモノ決めて、それに使えそうな開発環境いれて、使うAPIやらゲームエンジン決めたら、くじけなきゃとりあえずは出来るよな。仕事にするレベルならセキュリティやチート対策の知識が必要だが。