タグ

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

  • 良いコードとは何か - エンジニア新卒研修 スライド公開|CyberZ Developer

    CyberZ CTO室のメンバーの森 (@at_sushi_at) です。 先日、株式会社サイバーエージェントの2021年度 エンジニア新卒研修でコードの品質に関する講義を行いました。 そこで話した内容とスライドを完全公開します。 45分の内容のため、かなり長いですが、個人的にぜひ一読して欲しい内容になっています。 はじめに こんにちは、森 篤史と言います。2019年度入社で今年で3年目になります。株式会社CyberZのOPENREC.tvというプロダクトでAndroidアプリチームのリーダをやっています。 最近はプログラムを書く仕事以外に、次世代マネジメント室という全社横断組織でDevelopers Blogの改善プロジェクトを実行したり、CyberZ CTO室で組織活性化に取り組んでいます。 あと、2019年度の未踏スーパークリエータにも認定されました。 メインの仕事としては、入社して

    良いコードとは何か - エンジニア新卒研修 スライド公開|CyberZ Developer
  • 『ゼロからのOS自作入門』に込めた思い - uchan note

    2021 年 3 月 22 日に『ゼロからの OS 自作入門』を出版する予定です。 書は OS を手作りするで、現代のパソコンでちゃんと起動する点が特長です。 15 年前の 2006 年に出版された『30 日でできる!OS 自作入門』を読んで育った私(uchan)が その後継となるだろうを書いたということで、執筆の裏話を記してみたいなと思います。 書籍の概要 タイトル:ゼロからの OS 自作入門 著者:内田公太(uchan) 出版予定日:2021 年 3 月 22 日 ページ数:768(最大。実際はもっと少なくなる予想) ISBN:978-4-8399-7586-9 出版社の書籍ページ:ゼロからのOS自作入門 | マイナビブックス 書は OS 作りに関する知識がないところから始め、オリジナルの OS「MikanOS」を作る一通りの過程を説明します。 パソコンの電源を入れ、他の OS

    『ゼロからのOS自作入門』に込めた思い - uchan note
  • 会社をやめて約1年プログラミングの勉強に費やしたことに対する満足と後悔

    働いていないことへの言い訳記事です。 この夢のような生活がもうすぐ終わるので書きたくなりました... ちなみにサムネイルは「仕事」でぱくたそで検索したら出てきました。 「エレベーターも給料も下降中の写真素材」というタイトルです。 https://www.pakutaso.com/20140914273post-4629.html 何をしていたのか 会社を辞めて約 1 年ほどプログラミングの勉強をしていました。 前職では「みんなのレベルが高くて着いていけないな〜」って感じることが多く、その原因のほとんどが知識や経験不足に依るところだったので、そういうのを先に補ってから働いた方が良さそうと思って辞めました。 いわゆる異業種からのキャリアチェンジでプログラマとしてのキャリアを始めたので、知識や経験は同世代の人たちに比べるとかなりのハンデがあり、そのハンデを埋めるための勉強をしました。 プログラミ

    会社をやめて約1年プログラミングの勉強に費やしたことに対する満足と後悔
  • 継承は禁止するべき

    キチガイに刃物、ゴミプログラマに継承。危険なものは取り上げるべきだ。 オブジェクト指向プログラミングにおける継承は強力な手法であるが、これを正しく使えるプログラマは残念なことに極めて少ない。たいていの場合、継承を使うことで却ってプログラムの保守を困難にしてしまう。継承のアンチパターンの最たるものは、単なるメソッドやメンバ変数の共有のために継承を使うパターンだ。これを行うとデータが密結合になってバグの原因になり、プログラムを把握することも極めて困難になる。 そもそも、熟達したプログラマの感覚では、業務で書くアプリケーションの実装に継承を使うべき局面などほとんど無い。ライブラリ等のより低レベルな処理で仕様が確定しているものについては、継承が効果的となる場合もあるが、複雑なアプリケーションのロジックに継承を使うのはほとんどの場合、時期尚早な抽象化となる。 また、凡庸なプログラマが継承で実現したい

    継承は禁止するべき
  • プログラミング的ゾンビとプログラミングの学習について

    背景 こちらのまとめを読んで、「数学的ゾンビ」と面白い考え方だなと思うので、プログラミング的ゾンビというのも考えられないかと考えてみた。そして、同時にプログラミングの理解だとかプログラミングの学習とか、そのところも同時に書いていければなーとかでいろいろ書いてみた。 プログラミング的ゾンビについて プログラミング的ゾンビとは? プログラミング的ゾンビというものを考えたとき、それはどういうものか?考えてみると以下の2つの点があてはまれば、プログラミング的ゾンビだと言えるだろう。 プログラムを書けるように見える プログラムの内容や意味するところは分かっていない と考えたとき、どのような人がプログラミング的ゾンビだろうか?と思うわけで、具体例を示していこう。 プログラミング的ゾンビの具体例 こうしたとき、プログラミングゾンビの一番典型的なのが、誰かが書いたコードをひたすらコピペして作る人たちだ。そ

    プログラミング的ゾンビとプログラミングの学習について
    takeg
    takeg 2020/10/22
    "解きたい問題と解決のコードをセットで覚えて、コードを書いているパターン" 典型パターンを覚えて問題に当てはめるパズル作業は結構やってるのだけれど、皆さんは違うのですか?
  • 「ビジネスロジック」とは何か、どう実装するのか - Qiita

    アプリケーション開発で、「ビジネスロジックは分離しろ」だとか「Controller にビジネスロジックを書くな」といったことをよく言われると思います。 しかし、ビジネスロジックという言葉の意味を聞いたり調べたりしてみても、「システムのコアの部分」とか「システムの目的になる処理をするところ」みたいなことを言われたりして、よく分かりませんでした。 そんな中、クリーンアーキテクチャや DDD の戦術的設計について学ぶことで、「ビジネスロジックとは何か」、「ビジネスロジックはどう実装するか」について、自分なりの考えが整理されてきたので、この記事ではそれをまとめます。 ※ 曖昧な言葉を自分としてどう使っているかという話になります。違う意味で使う方もいると思うので、ご注意ください ビジネスロジックとは何か 「システムのコアの部分」とか「システムの目的になる処理をするところ」といった説明も正しいとは思い

    「ビジネスロジック」とは何か、どう実装するのか - Qiita
  • 批判の文化が日本を技術後進国にしているかもしれないという話 - メソッド屋のブログ

    先日、接触確認アプリがリリースされました。これは正直日のソフトウェアの進歩に画期的なことだったと思います。私も衝撃を受けました。 www.mhlw.go.jp その後起こったことに関して正直は私の感想はこの通りです。 日で起こっている地獄を見て、アプリ開発者は海外に流出してしまうわって思う。あの流れは最低最悪。みんな自分が気持ちよくなるためだけに、自分の国の未来を破壊してるんやで。— TsuyoshiUshio (@sandayuu) June 21, 2020 このような展開は、私が今住んでいるアメリカでは発生しない事案だと思います。じゃあ、日米でどういう違いがあって、日人の自分が小さな一歩を踏み出して、日がよりよい国になるようにできるとしたらどんなことだろうということを考えてみましたので、あまりソフトウェアの専門用語を使わない形で書いてみようと思います。 接触確認アプリが生まれ

    批判の文化が日本を技術後進国にしているかもしれないという話 - メソッド屋のブログ
  • CUDA9.1のインストールでハマった話(NVIDIAインストーラーが失敗しました/Visual Studio Integration)

    ちょっとYOLOv3を使いたくて、CUDAを9.1にアップグレードしようと思ったのです。今まで使っていたバージョンは8.0でした。 それで、CUDA9.1のインストーラーを落としてきて、インストールしようとしたところ、途中で「NVIDIAインストーラーが失敗しました」と表示されて、インストールができない……。 どうも、Visual Studio Integrationの項目で失敗が出ているようです。 同じようなところで困っている人がたくさんいるようで、以下のコメントなどを参考にしながら、頑張ってCUDA 9.1を入れましたというお話です。 外部サイト:CUDA 9.1 cannot install due to failed Visual Studio Integration – NVIDIA Developer Forums 上記のフォーラムにあった手順に準拠して作業を行いましたが、コン

    CUDA9.1のインストールでハマった話(NVIDIAインストーラーが失敗しました/Visual Studio Integration)
  • 自作サービスがDDoS攻撃された話 - 週休7日で働きたい

    攻撃に立ち向かうイヌさんThe English version is available here. タイトル訂正: 「自作サービス『に』→『が』DDoS攻撃された話」「それはDDoSではない」という指摘に関して末尾に追記 (6/18)SaaSを開発していると当にいろんな事が起こります。それらは時に開発者に喜びや悲しみ、怒り、感謝、落胆や興奮をくれます。思い返してみれば結局はみんないい思い出になるものです。先週末に、拙作の小さなウェブサービスがDDoS攻撃を受けました。言わずもがな、悪い出来事です。稿ではこの事故がどんなものだったのか、どうやって対処したのかについてお話します。 どうもTAKUYAです。僕はInkdropというクロスプラットフォームなMarkdownノートアプリを独りで3年以上開発・運用しています。ユーザ数2万人以下のとてもニッチなSaaSで、僕はこのサービスで生計を立

    自作サービスがDDoS攻撃された話 - 週休7日で働きたい
  • 論理的思考の放棄の具体的方法 - 登 大遊 (Daiyuu Nobori) の個人日記

    何か重要な作業を効率的にしようと思うのに、次々と考えが思い浮かんでしまい集中できないときは、まず、頭の中で、以下のように上下左右に強力な磁石のようなものが設置されている様子を想像する (ここで磁石には N 極と S 極があるがどっちの方向を向いて配置されているのかといった論理的なことは考えなくても良い。とにかく磁石のようなものがある、という程度で良い)。 磁石のイメージをリアルに思い浮かべる必要は全くない。だいたい磁石のような、何かを吸い寄せるような性質のものがあるな、という程度で良い。 次に、その磁石で囲まれた空洞の中央部分に、少し重いけど、手で簡単に持てる程度の鉄球 (鉄を思い浮かべなくても、磁石のような何かに吸い寄せられるような何か) を思い浮かべる。 背景のイメージは Microsoft Windows XP の壁紙からの引用であり、コンピュータのディスプレイを見ながらイメージをす

    論理的思考の放棄の具体的方法 - 登 大遊 (Daiyuu Nobori) の個人日記
  • 求む!TLS1.3の再接続を完全に理解した方(Challenge CVE-2020-13777) - ぼちぼち日記

    1. GnuTLSの深刻な脆弱性(CVE-2020-13777) 先日、GnuTLSで深刻な脆弱性が見つかりました。 GNUTLS-SA-2020-06-03: CVE-2020-13777 It was found that GnuTLS 3.6.4 introduced a regression in the TLS protocol implementation. This caused the TLS server to not securely construct a session ticket encryption key considering the application supplied secret, allowing a MitM attacker to bypass authentication in TLS 1.3 and recover previous c

    求む!TLS1.3の再接続を完全に理解した方(Challenge CVE-2020-13777) - ぼちぼち日記
  • [PyConJP2019]Pythonで切り開く新しい農業

    実践 Amazon Mechanical Turk ※下記の注意点をご覧ください(回答の質の悪化・報酬額の相場の変化・仕様変更)

    [PyConJP2019]Pythonで切り開く新しい農業
  • blacklist/whitelist master/slave に関する情報集め

    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

    blacklist/whitelist master/slave に関する情報集め
    takeg
    takeg 2020/06/09
    この問題はキリがないことは多くの人が理解している。それでもやろうというのが現在の潮流
  • ハード技術者からみた米中日

    米中の技術競争に日はおいていかれているように、いち技術者からは見える。 どうして今のような状況になったのか、考えてみたい。 原因は1つではなく、複合的だろう。 設計ソフトが持てなかった日で半導体を開発しようとすると設計ソフト(Cadence, Synopsysなど)が必要だが、国産はもうないに等しい。 Webで働いている人からするとオープンソースで開発すれば、と思われるかもしれないが、あるにはあるが、実際の製造には使えない。 機能が全然足りていないのもそうだが、全部の設計工程用のソフトはない。 設計ソフトのライセンス料金が億単位でかかる。 製造原価やウェーハ代や人件費がかかるでしょと言われるが、ライセンス料金も開発費の中でかなりの割合を占めている。 Web業界だとOracleの値上げに苦しんでいたと思うが、あれと同じような状況だ。 中国はどうかというと、日と同様に設計ソフトは作れ

    ハード技術者からみた米中日
  • 2016年、C言語はどう書くべきか (前編) | POSTD

    (訳注:2016/3/2、いただいた翻訳フィードバックをもとに記事を修正いたしました。) (訳注:著者のMattより、「文中で明言はしていないが、この記事の内容はx86-64 Unix/Linux/POSIXでアプリケーションをプログラミングする場合にフォーカスしている。他のプログラミング領域では、対象とするシステムに応じた(例: 8-bitの組み込みシステム、10年前のコンパイラ、多くの異なるCPUアーキテクチャで動く必要のあるアプリケーション、Win/Linuxでのビルド互換性など)特有のアドバイスが必要」との補足を頂いております。) 以下の文章は2015年の始めに書いたドラフトで、今まで公開していませんでした。私のドラフト用フォルダの中で誰の目も引かなかったため、大部分が書いた時のままです。公開するにあたり、単純に2015年を2016年に変更しました。 必要な修正、改善、苦情があり

    2016年、C言語はどう書くべきか (前編) | POSTD
  • Should I Test Private Methods?

    should i test private methods?

  • ウェブ魚拓

    URL: http://note.mu/kotofurumiya/n/n31d401fce782 取得日時: 2019年1月5日 01:45 削除理由: 個人情報削除済み 手続日時: 2021年2月16日 18:56 SHA-256: 確認 *突合には「魚拓のみの表示」のファイルからCHECKSUMタグとその外側を除去してください 裁判所・弁護士様等による要望向け:

    ウェブ魚拓
  • Go言語でつくるインタプリタがグランドフィナーレを迎えました - ゆーすけべー日記

    いよいよ「Go言語でつくるインタプリタ」がグランドフィナーレを迎えた。 そして、これで終わりだ。やり遂げた。これまでは私が誘う小さなお祝いを軽くあしらってきたとしても、いよいよ愉快なパーティ帽を被ってよい時間だ。 抜粋:: Thorsten Ball “Go言語でつくるインタプリタ” やったー。パーティーだ! なんでこのを読んだの? 今までコンピュータサイエンをまともに学んだことがなかった。 大学生の時分、授業では「プログラミング」と銘打つものがあるくらいで、 Javaでアプレットを作ったり、Cでシステムプログラミングをしたりという程度だった。 あとは独学。あくまで目的達成のための学習。 GUIやWebアプリの高レイヤーの実装ばかりで、 中がどうなってるのかあんまり理解できてなかった(いわゆる電子工作は好きだったけど)。 で、なんとかやってきたんだけど、 コンピュータサイエンスを学んでい

    Go言語でつくるインタプリタがグランドフィナーレを迎えました - ゆーすけべー日記
  • 実体の無い完璧超人と戦っていた過去の失敗談 - 覚書

    かつての失敗談。ついった初めたばかりのころにはまった次のような悪い循環です。 すごい人をたくさんフォローする すごい人達がすごいこと言ったりやったりする それに比べて自分は大したことできないと自信喪失する 何もしなくなる フォローする人が多くなればなるほどこの傾向は加速していきました。なぜかというと、それぞれのすごい人達の凄い部分を全部合成した完璧超人と戦おうとしていたからです。 たとえば次のような3人をフォローしたとします。 RDBにめちゃくちゃ詳しい人 カーネルめちゃくちゃ詳しい人 特定のプログラミング言語にめちゃくちゃ詳しい人 ここで私は「RDBにもカーネルにも特定のプログラミング言語にも全部めっちゃ詳しい超人」を脳内で作って、その架空の超人を見上げて自信喪失していたのです。 この誤解が解消したのは、のちのち各種カンファレンスや勉強会などに参加して彼らに出会う幸運に恵まれたときでした

    実体の無い完璧超人と戦っていた過去の失敗談 - 覚書
  • プログラミングでつまづいてきたこと - 覚書

    プログラミング初心者に対してどういう情報が役立つのかをぼんやり考えていると、そこそこコードを書けるベテランが、いつ、どういうことにつまづいてきたのかを書くとけっこう有益なのではないかと思ったので書きました。これを読むと直接プログラミング能力が上がるわけではないですが、「ああ、こういうところでつまづいてもいっぱしのプログラマになれている人もいるのだな」と思ってもらうのが目的です。成功談よりも失敗談のほうが役立つとよく言われますが、それと少し似ているのかもしれません。 全段落で「いっぱしのプログラマ」とか言った手前、自分のことを書いておきます。18歳ごろから20年くらい前からプログラミングをしていて、主に有名どころのOSSに向けてコードを書いてきました。昔はLinuxカーネルを10年少々やっていて、ここ最近はCephオーケストレータであるRookの開発とかをしています。プログラマとしてはスーパ

    プログラミングでつまづいてきたこと - 覚書