タグ

関連タグで絞り込む (150)

タグの絞り込みを解除

programmingに関するvanbraamのブックマーク (640)

  • もうじき40代なかばを迎えるプログラマーの遺言(少し追記)(もうちょっと追記)(さらにもうちょっと追記)

    世の中にはプログラマー35歳定年説というものがあった。昔からそんなのはないという人と、あるという人がいた。40代も半ばになったときに「あぁ、これが35再定年説の根拠か」というものがなんかちらほら見えるようになってきたので書いてみようと思った。 世の中にはものすごいプログラマーというのはやっぱりいる。なんなら死ぬまでプログラミング書いていられるという人たちもいる(ブラック的な意味ではなく)。そんな彼らからしたらプログラマー35再定年説とか意味がわからない都市伝説にしか映らないだろう。 だが、普通に職業プログラマとして生きている俺のような人からすると、この35歳定年説はかなりの真実味を帯びている。 だが、そんな俺でも40代半ばまで延命できたのはやはり技術革新のおかげかもしれないが、結局平均寿命が伸びただけとも言えるだろう。 まず、技術に対する姿勢が変わる。正直言うとプログラミングとかもうしたく

    もうじき40代なかばを迎えるプログラマーの遺言(少し追記)(もうちょっと追記)(さらにもうちょっと追記)
    vanbraam
    vanbraam 2020/11/15
    "悲しいことに自分たちの振りかざす論理が、単なる正論、飛躍、極論、屁理屈、と言ったものであることに気づけない人も結構多い"<これブーメランになるんじゃないかな
  • エンジニアに独学を期待するのはもう時代遅れだと思う。 - ヨーロッパで働くIT土方社長のブログ

    www.ntt.com これを見てちょっと最近の流れと違うなぁとしみじみ思ったので全力で反論してみる。。 僕自身は81年代生まれ、小学校6年生のときにPC98シリーズのN88Basicで独学でBasicから入って、中高とDirectX使ってゲーム作ったりして、大学のときにバイトで実務のプログラムを初めて〜、と何故かまぁ小さいながらも経営者として傍らまだ炎上した案件とかに入って消火活動に勤しんでたりしてる。まぁ後半はどうでもいいけど、この世代では日海外とわず独学で勉強するのは至って普通だと思う。クロアチアだと勿論PC98じゃなくてAmigaとかドイツ製のPCが主流のよう。 で、一方で最近の新入社員たちを見てると最初からスクールに通って、大学で授業を真面目にうけて、インターンでメンターに面倒を見てもらって、バイトも常にメンターがいつつ実務に関わってって流れが普通。プログラミングは常に勉強とし

    エンジニアに独学を期待するのはもう時代遅れだと思う。 - ヨーロッパで働くIT土方社長のブログ
    vanbraam
    vanbraam 2020/10/14
    ITに限らず,デザイナーとか料理人とかの技術系の職種って,やる気のあるやつは独学_も_するのが普通なのでは? 独学に"期待"するのはダメだし,頼るのは論外だが, b:id:entry:4692683577746250626 は別にそんな事言ってないと思う
  • Go言語でのテストの並列化 〜t.Parallel()メソッドを理解する〜 | メルカリエンジニアリング

    この記事は、Merpay Tech Openness Month 2020 の6日目の記事です。 メルペイでBackendエンジニアをしている柴田(@yoshiki_shibata)です。この記事では、Go言語のtestingパッケージに用意されている並列化の機能について説明します。 Go言語では、テストコードを作成するためのtestingパッケージが用意されています。一般に開発するソフトウェアの規模が大きくなるに従って、作成されるテストコードの量も多くなり、すべてのテストが終了するまでの時間も長くなっていきます。特に、データベースへアクセスするようなテストでは、データベースへの通信時間がテスト時間の多く占めますので、テストコードを逐次実行するよりは並列実行することで、テスト時間を短縮できます(厳密には用語「並行」ですが、t.Parallel()メソッドの説明なので、この記事では用語「並列

    Go言語でのテストの並列化 〜t.Parallel()メソッドを理解する〜 | メルカリエンジニアリング
  • 頼むから、センスのないやつはプログラマにならないでくれ

    当に迷惑なんだ。 センスがない奴の何が問題かというと、技術がないとか、ベストプラクティスを知らないということではなく、根的に「頭がおかしい」ことなんだ。 センスのない奴は、普通の人間が到底思い付かないことを平然と行う。所詮、に書いてあるようなアンチパターンは、「経験のない人は典型的にこういうことをしがち」という例であるが、センスのない奴はそういう典型的なアンチパターンにすら当てはまらないほど意味不明なことをする。だから、「センスのない奴は典型的にこういうことをする」という具体例を挙げることが非常に難しいし、「ここがダメだから直せ」という指摘もできない。 最近見た例を書いてみる。2次元のテーブルを扱うJSONだ。 普通の人なら、何も考えず以下のような実装をするだろう。フィールドの定義とデータが分かれているのは、ユースケースによってフィールドが可変だからだ。 [ {fieldName:

    頼むから、センスのないやつはプログラマにならないでくれ
    vanbraam
    vanbraam 2020/08/02
    今の人たちは https://en.wikipedia.org/wiki/Algorithms_%2B_Data_Structures_%3D_Programs は読まないのだろうか? "センス"という言葉は大雑把すぎるが,実現したい事について,あるデータ構造/アルゴリズムの適否を判断する能力は必要
  • TypeScript誕生の背景 | TypeScript入門『サバイバルTypeScript』

    TypeScriptは、JavaScriptでも大規模なアプリケーションを開発しやすくすることを目的に開発されたプログラミング言語です。 確かにJavaScriptは元々、大規模な開発を想定した設計ではありませんでした。それでも、JavaScript自体が進化して、大規模開発に対応してゆけば良かったはずです。しかし、実際はそううまくは行きませんでした。代わりに、大規模開発の一部はTypeScriptが引き受けることになったのです。 なぜ、そうなったのでしょうか?その答えはJavaScript歴史にあります。TypeScriptが必要な発明で、そして、今もなお必要とされている理由が見えてきます。それでは、TypeScript誕生以前の歴史をひも解いていきましょう。 1990年代​JavaScriptの誕生​JavaScript誕生以前は、簡単なフォームのバリデーションをするのも、サーバーサ

    TypeScript誕生の背景 | TypeScript入門『サバイバルTypeScript』
    vanbraam
    vanbraam 2020/07/06
    TypeScriptを作ったMicrosoftへの配慮かもしれないが,JavaScriptのIE独自仕様という邪悪な存在がJavaScriptの停滞をもたらしたことに触れないのはダメでは
  • 【JavaScript】本日未明、[ if - else ]さんが死体で発見され... - Qiita

    「な、なんじゃこりゃあああぁあっtっt!!!!」 ・・・ ・・・ ・・・ 読みやすいコードを書きたい 複雑な条件分岐は、書いている人も、後からそれを読む他人も非常に疲れるものです。 令和プログラマー*1である私自身、なるべく気を付けようと思っていますが、ついつい条件反射でif-elseを書いてしまいそうになります。 (*1: 令和になってからプログラミングを知った人。初心者のこと。) if - elseを使わない条件分岐のレパートリーを増やす if - else文が絶対ダメということでは決してありません。 たくさんのレパートリー、つまり引き出しを持っておけば、適切な読みやすいコードをかける可能性が上がるかなと思うのです。 文と式 JavaScriptには「文」と「式」があります。 この2つの違いを意識することが重要ではないかと思います。 「文」は、マシンへの命令です。 「式」は数学的な値

    【JavaScript】本日未明、[ if - else ]さんが死体で発見され... - Qiita
    vanbraam
    vanbraam 2020/07/05
    3項演算子,evilとする人もいて,Goでは不採用になってたりするので,安易に勧めて良いのだろうか? 最低限Bob PikeやKen Thompsonに喧嘩売る覚悟が必要では?; つまらない話だが"死体"は故人が未特定の場合. 特定済の場合は"遺体"
  • 「アラン・ケイの」オブジェクト指向とは何だったか?元哲学者のエンジニアがまとめてみた - Qiita

    2020/5/13追記 オブジェクト指向と哲学の関係について書いた記事ではないです。せっかくだしQiitaっぽいタイトルつけようと思ったら結果的に釣りっぽくなってしまった 概要 オブジェクト指向とは何か?ということを真面目に調べていくと、オブジェクト指向には二種類ある、という話に突き当たる。sumim氏のQuora回答などを参照。 Smalltalkの設計者アラン・ケイによる、メッセージング重視のオブジェクト指向 C++の設計者ストラウストラップによる、クラス重視のオブジェクト指向 今回はこの前者のオブジェクト指向について、アラン・ケイの書きものを読んで調べた結果をまとめ、コメントを付す。 参考文献は最後にまとめて出す。参照元は「(AOO)」のように略記で示す。 アラン・ケイのオブジェクト指向 OOPは私にとって、メッセージング、状態処理の局所的な保持・保護と隠蔽、そしてあらゆる事象の徹底

    「アラン・ケイの」オブジェクト指向とは何だったか?元哲学者のエンジニアがまとめてみた - Qiita
    vanbraam
    vanbraam 2020/05/16
    読んだ結果Lisp最強なのではという結論になった. 遅延評価する, CLOSみたいに型も扱える, 本来的に関数型, 等々 (なお自分はLisperではない.あれは優秀な人の為の言語)
  • 世界は60年前の言語で動いている。米コロナ失業申請クラッシュでCOBOL使いの古兵が大忙し

    世界は60年前の言語で動いている。米コロナ失業申請がクラッシュ、COBOLの古兵が大忙し2020.04.17 22:0039,477 Joanna Nelius - Gizmodo US [原文] ( satomi ) コロナでギークが一番驚いたのがこのニュース。 失業給付金の申請者が史上最悪の1680万人に達して全米で業務システムがクラッシュ! 化石のプログラミング言語COBOLを操る古参プログラマーが現場の最前線に駆り出され、「こんなこともあるんだな…」、「コロナって計り知れないな…」とIT業界を驚嘆させています。 絶滅すると言われ続けて60年COBOLは1959年、インターネットが生まれる遥か以前のメインフレーム時代に生まれたコンピュータ言語です。大学で教わるようなものではなく、使いこなせるのは現場で覚えた生き残りの人たちだけ。完全自動処理ではなく、手動で実行する処理も多く、早くから

    世界は60年前の言語で動いている。米コロナ失業申請クラッシュでCOBOL使いの古兵が大忙し
    vanbraam
    vanbraam 2020/04/20
    Cだって1972年生まれ,即ち50年弱前の言語なんだが. "60年前"という数字をタイトルに入れて煽るのは馬鹿げている
  • ジョエル・テスト

    こんにちは。 タオソフトウエアの杉山です。 今回は炊飯について取り上げます! 電気からガスへ 慣れると戻れない できるだけ大きな家電を買わずにすますため、 島へ移住の話【家電品 – 使わなくなった電子レンジ– 】 で触れた通り、もともと電子レンジで炊飯していました。これが水や米が変わっても使えそうな炊飯釜などを調べている中で、炊飯にガスを使うようになりました。 子どもの頃の実家のご飯も電気釜で、人生のほとんどは電気で炊飯されたご飯をべてきました。ガスで炊飯するのは小学生の授業での経験ぐらいしかなかったですが、普段の生活で電気からガスへ変えてみたら意外と早く時間短縮になるので驚いています。 ガス代は少し上がりますが急上昇するようなことは無く、電気代が下がったので安上がりになりました。大島はプロパンガスのため、都市ガスだともっと安くなるかなと感じています。 昔のガス釜の炊飯器は壊れず美味しい

  • どうしてプログラマに・・・プログラムが書けないのか?

    Jeff Atwood / 青木靖 訳 2007年2月26日 レジナルド・ブレイスウェイトが書いていることを読んだとき、私はそんなわけないだろうと思っていた。 私と同様、この著者は、プログラミングの仕事への応募者200人中199人はコードがまったく書けないということで苦労している。繰り返すが、彼らはどんなコードも書けないのだ。 彼が引用している著者というのはイムランのことで、彼は単純なプログラムも書けないプログラマをたくさん追い払っているということだ。 かなりの試行錯誤の末に、コードを書こうともがいている人たちというのは、単に大きな問題に対して苦労しているのではないことがわかった。やや小さな問題(連結リストを実装するというような)に対して苦労するということでさえない。彼らはまったくちっぽけな問題に苦労しているのだ。 それで、そういった類の開発者を見分けるための質問を作り始め、私が「Fizz

  • UniRxを使った開発をして思ったこと - Qiita

  • UniRxを使った開発をして思ったこと - Qiita

    Help us understand the problem. What is going on with this article? みんな、プログラミングしてる? Rxがまた賑やかだなって時代なので実際UniRxを使った運用経験があるのでちょっとそのことについて書く。 UniRx?なにそれ?って方は以下の記事参考にしてください。 Qiita記事: UniRx入門 個人の感想 地獄そのものでした。 自身がLとして開発入る時は二度と採用することはないです。 UniRx自体はとても素晴らしいものですが、使うものによっては神にでも悪魔にでもなれるマジンガーZみたいな存在です。 この記事はUniRxを貶しているわけではなく、UniRxを使いこなす自信がない場合は採用を考えたほうが良いという記事です。 UniRxの良いところ シンプルにかける 可読性が上がる 制御実装が楽になる よく見かけるのはこ

    UniRxを使った開発をして思ったこと - Qiita
    vanbraam
    vanbraam 2020/03/29
    b:id:entry:4682776584115551394 で言われてる記事はこれ? 自分の知識の範囲内では真っ当な論だと思った; Lambdaに限らず動的生成コードはデバッグしづらい; わからなかったのが"運用プロジェクト".運用時/運用フェイズではない?
  • とある福井のstaticおじさん

    当にこんな人いるんですね…ちなみにこの話を見た時に思い出したのは ■press enter 「高慢と偏見」 http://goo.gl/DaAsT でした。

    とある福井のstaticおじさん
    vanbraam
    vanbraam 2020/03/22
    via b:id:entry:4683024661571180578; 途中から本来の意味での"staticおじさん"の話ではなくなるが,"とある"なのでOKか?. いや,仕事のやり方がstatic=静的で変化しない(というよりできない)という意味かもしれない
  • staticおじさん達に伝えたい、手続き指向とオブジェクト指向の再利用の考え方の違いについて - 達人プログラマーを目指して

    何が良いプログラムかという点はもちろん人やコンテキストによって異なりますが、少なくともプログラマーとしての私の信念としては、 機能拡張や変更が容易なプログラム 単体試験によって正しく動作することの検証が容易なプログラム どういった内容が記述されているか理解しやすいプログラム といったものこそ、「品質の高い」プログラムが持つべき性質として、まず真っ先に挙げるべき事項であると考えています。もちろん、前提として顧客の要件に従うということは大切なことです。しかし、一般に要件は長期にわたって変更されるものですし、使い捨てのプログラムを除けば、プログラムを長期にわたって保守するコストという点も見過ごすべきではありません。したがって、ユーザーの目には触れない上記の性質をもっと重視すべきだと思うのです。 DRYの原理 上記のような性質を満たすプログラムを作る上で大切になってくる原理として、DRYの原理とい

    staticおじさん達に伝えたい、手続き指向とオブジェクト指向の再利用の考え方の違いについて - 達人プログラマーを目指して
  • 実はオブジェクト指向ってしっくりこないんです!:気分はstatic!:エンジニアライフ

    わたしはこれまで、C言語、Visual Basic、SAP ABAP、最近になって ASP.NET C# などの言語を使ってきた。 「自分でクラスを作ってオブジェクト指向っぽいことをしている」なんてことはまったくない。特に「メンバー関数をstatic宣言すればインスタンス宣言をしなくてもいい」ということ知ってからは、メンバー関数を従来のファンクションのように使っている。共有変数も、pubulic static宣言していまう。したがってプロパティなんて作らない。 staticを理解していない人のコードを見ると、いちいちインスタンス宣言しているので笑ってしまう。データベースにアクセスするアプリケーションをC#で書いているのだが、Visual Studioで供給しているSQL関係のクラスを使えばできてしまうのだから。 オブジェクト指向の入門書では、クラスが持つ隠ぺい性が強調されているが、これは他

    実はオブジェクト指向ってしっくりこないんです!:気分はstatic!:エンジニアライフ
    vanbraam
    vanbraam 2020/03/22
    via b:id:entry:4683024661571180578; 自分がはてブ使い始める前の記事だった様なので,今更ながらブクマ
  • 「staticおじさん」はなぜ自信満々なのか

    「staticおじさん」という言葉をご存じでしょうか。「static」というのは、Javaのstaticメソッドのことです。Javaでメソッドを呼び出すときにはクラスからインスタンスを生成してインスタンスのメソッドを呼び出すのが普通です。一方、staticメソッドはインスタンスを生成しなくてもクラスから直接呼び出せます。このため、オブジェクト指向プログラミングを理解していない古いタイプのプログラマは、Javaでもstaticメソッドを多用します。これを揶揄して「staticおじさん」と呼ぶのです。 staticおじさんについては、わかりやすく解説したブログエントリが有名です(参考リンク)。実際のシステム開発の現場でstaticおじさんに苦しめられている様子をまとめたページもあります(参考リンク)。 なお、Javaのstaticメソッドを多用する人に限らず、古い感覚にとらわれて周囲に迷惑をま

    「staticおじさん」はなぜ自信満々なのか
    vanbraam
    vanbraam 2020/03/22
    "staticおじさん"という呼称が生まれる発端となったのはこれ b:id:entry:20987590 (2010年の記事). 読めばわかるが「インスタンスを作る奴は頭悪い」と主張する様な酷い記事で,とても擁護できる代物ではない
  • 契約による設計事始め

    実践 9 つのメモリリークどう見つける?/ How to detect 9 types of memory leaks?

    契約による設計事始め
    vanbraam
    vanbraam 2020/02/17
    ScalaってDesign/Programming by Contractをサポートしてたのか; P/DbCサポート言語で有名なのは(Eiffelを除くと) Clojure, D, Kotlin 辺り?: https://en.wikipedia.org/wiki/Design_by_contract#Language_support ; Rust 辺りでサポートしてくれると面白いのだが
  • オブジェクト指向プログラミングの現在・過去・未来

    1995年まで:イノベータとアーリーアダプターの時代; 1995-2005 : オブジェクト指向ブームと混乱の始まり; 2005-2015 : さらなる混乱と収束の兆し; 2015- ; 現在の状況とこれからの20年

    オブジェクト指向プログラミングの現在・過去・未来
    vanbraam
    vanbraam 2020/02/17
    動的型付け言語を"型のない言語"呼ばわりしてる時点で,この人の"型"に関する理解もかなり疑わしい物だと思う
  • 未来のプログラミングについて再考(機械学習とソフトウェア2.0、配管工プログラマ、オープンソースでは十分でない?) - YAMDAS現更新履歴

    昨年のエントリだが、その後現在までマイク・ルキダス(Mike Loukides、O'Reilly Media のコンテンツ戦略担当副社長)の文章を追って、これを書いていた当時ワタシが理解していなかった文脈、そしてそれに対応するニュースや問題意識が見えてきたところもあるのでつらつらと書いておきたい。 こちらは2019年末に、マイク・ルキダスが O'Reilly Media のチーフ・データサイエンティストである Ben Lorica と共に書いたエントリだが、2020年3月に開催される O'Reilly Strata Data & AI Conference に向けた露払いである。 ワタシはタイトルだけ見て、「ソフトウェア2.0? 今さら〇〇2.0は古いだろー」と思ったのだが、これは Tesla で AI 部門長を務める機械学習の専門家 Andrej Karpathy が2017年11月に公

    未来のプログラミングについて再考(機械学習とソフトウェア2.0、配管工プログラマ、オープンソースでは十分でない?) - YAMDAS現更新履歴
    vanbraam
    vanbraam 2020/02/10
    OSSと"再ビルド不要のAPI"って独立事項だと思うが.別にソースを公開することがカスタマイズ容易性の阻害に繋がるとは思えない;AI時代のプログラミングがどうなるかは面白そうだが,結局人間の出力能力が問題になりそう
  • コードレビューで心がけている3つのこと【PHPカンファレンス協賛記念ブログ!】 - コネヒト開発者ブログ

    こんにちは!エンジニアの @fortkle です。 あの伝説のゲーム「メダロット」のスマホゲームのリリース日がついに 2020年1月23日と発表がありました!*1 いまからワクワクしてきましたね!リリースしたらぜひロボトルしましょう! さて、今回の記事は「コードレビュー」についてです。コネヒトに入社してから早4年、数百のPRをレビューしてきてだんだんと自分の中でコードレビューに対する接し方が定まってきました。今日は私がコードレビューで心がけていることについてご紹介できればと思います。 レビュワーとして ① "既存コード" の 歴史的経緯を素早く紐解く コードレビューは様々な目的で行われますが、「欠陥・バグを検出すること」「コードの改善」に期待をしていることが多いかと思います。 これらの目的を達成するためには、既存・変更後のコードの実装意図や背景を理解することがとても重要になります。特に長年

    コードレビューで心がけている3つのこと【PHPカンファレンス協賛記念ブログ!】 - コネヒト開発者ブログ
    vanbraam
    vanbraam 2019/12/01
    いい話.本当にwhy大事; 動かすのも大事.ローカルだけで動くものなら動かすし,動かすのが難しいものでもテストは走らせる