並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 56件

新着順 人気順

codereadingの検索結果1 - 40 件 / 56件

codereadingに関するエントリは56件あります。 programmingプログラミングコード などが関連タグです。 人気エントリには 『Mac を買ったら必ずやっておきたい初期設定を、全て自動化してみた』などがあります。
  • Mac を買ったら必ずやっておきたい初期設定を、全て自動化してみた

    成果物 https://github.com/ulwlu/dotfiles/blob/master/system/macos.sh このスクリプトに全ての設定と、設定可能なオプションをコメントで記載しています。誰でもこのスクリプトのコメントを外したり任意の値を入れる事で使用可能です。 世界中のいくつかのdotfilesにはmacos.shが存在し、ある程度のMacOSの設定自動化を実現しています。しかし何百と見た中で、全設定と設定可能なオプションを全て網羅して記載しているのは恐らく初です。 これらの設定は破壊的なものではなく、いつかアプデによりキーが有効でなくなっても壊れる事はありません。壊れるのは~/ApplicationSupport/Dockディレクトリ配下のファイルを移動したり、sqlite群に無効な値をいれた時のみです(後述)。 この記事は何か dotfiles Advent C

      Mac を買ったら必ずやっておきたい初期設定を、全て自動化してみた
    • コードが読めるソフトウェア開発者 - As a Futurist...

      僕はコードを読むのは得意な方だけど、それが過ぎてコードを書かなくてもシニアソフトウェア開発者になってしまった。実はコードをちゃんと読めるソフトウェア開発者って希少価値が高いのではないか、と思ったので自分がどんな感じでシニアになったのかをまとめてみた。似た様な人の参考になれば幸いだ。 同意。僕は未だ書く方はほとんど機会なく成果もないけど、コードを読み尽くして、負荷試験や本番で挙動を把握し続け、メトリクスでとことん確かめていった結果、Sr. Engineer になれた。 https://t.co/KXtMdEaRr8 — Ryosuke Iwanaga (@riywo) April 16, 2021 コードを書かなくてもシニアソフトウェア開発者になれた 僕は今 Amazon の Sr. Systems Development Engineer という職種で働いている。いわゆるソフトウェア開発職

        コードが読めるソフトウェア開発者 - As a Futurist...
      • 「JavaScriptで要素をドラッグして移動する簡単な方法」という記事が初耳だらけだった件 - Qiita

        はじめに まず↓の記事を見てない方はぜひ見てください! 自分にとってはこの記事には「えっ、ナニコレ!」なテクニックが多く、特に解説もなかったのでいろいろ調べてたら休日が消えてました... なのでその時間の供養もかねて、自分が知らなかった部分を中心に、僭越ながら元記事の解説を書いてみたいと思います。 ちなみに、以下が元記事のコードそのままを実装したものです。たしかに掲載コードだけで要素がグリグリ動きますね。 See the Pen js-drag-move-original by www-tacos (@www-tacos) on CodePen. 初耳1: $img まずコードのここ <img id="$img" src="https://js.cx/clipart/ball.svg" width="40" height="40"> <script> $img.onpointermove

          「JavaScriptで要素をドラッグして移動する簡単な方法」という記事が初耳だらけだった件 - Qiita
        • 電子情報学特論:Chromiumのアーキテクチャを解き明かす

          電子情報学特論: Chromium のアーキテクチャを解き明かす 〜 EEIC の授業が生きるプロダクトの世界〜 Kentaro Hara 2020 April (๑>ᴗ<๑) * * * *

            電子情報学特論:Chromiumのアーキテクチャを解き明かす
          • git gc の仕組みを原理から理解してサイズを 136MB → 7.2MB(95%減)まで削減した時の勉強メモ

            個人用メモです。 「git gcってあんまし容量減らないよなぁ」 と思ったのが動機です。調べたけどパッと腑に落ちる記事がなかったので「自分で git のソースコード見た方がいいな」と急にモチベ発動してグワっと勉強しました。またついでに歴史改変の方法も調べたのですが、公式で既に WARNING が出てるほど非推奨化されてるfilter-branchを使用してる記事が多かったので、2021 年現在で多分一番推奨されてるfilter-repoを使ってやる方法もまとめました。 ちなみに容量減らしても高速化するかというとそこまで単純ではないです。そもそも減らさなくても partial clone で blob オブジェクトを必要最低限に指定して昔の blob をデフォルトで持ってこないようにしたり(--no-checkoutと併用するとより効果有る)、その後本当に自分が必要なやつだけ sparse-

              git gc の仕組みを原理から理解してサイズを 136MB → 7.2MB(95%減)まで削減した時の勉強メモ
            • この書籍について · JavaScript Plugin Architecture

              JavaScript Plugin Architecture この書籍はJavaScriptのライブラリやツールにおけるプラグインアーキテクチャについて見ていくことを目的としたものです。 次の形式で読むことができます。 Web版 PDF形式 ePub形式 Mobi形式 この書籍のソースコードは、次のGitHubリポジトリに公開されています。 azu/JavaScript-Plugin-Architecture: JavaScriptプラグインアーキテクチャの本 Twitterのハッシュタグは#js_plugin_book 更新情報はRSSやリリースノートから見ることができます。 はじめに JavaScriptの世界では1つの大きなライブラリよりも小さなライブラリを組み合わせていくようなスタイルが多く見られます。小さなものを組み合わせて作るためには、プラグインと呼ばれる拡張の仕組みが必要とな

              • コードリーディングのコツは極力コードを読まないこと|牛尾 剛

                私はクラウドのプロダクトチームで働いているが、何を隠そう一番苦手で克服できていないことが、コードリーディングだ。ものすごーく時間かかるし、時間かかったうえに読み間違えたりするし、しかもめっちゃ頭使うのに他の人はずっと速いので敗北感しか残らない。先日もマネージャの Pragna に相談したら、最初は2時間かかるけど、3か月もしたら5分で終わるわよ。って言われたけど、いや、そもそも俺4時間は最低かかるねんけどな、、、って感じ。 技術イケメンの皆さんのアドバイス よくよく私のキャリアを考えると、OSSにコントリビュートとかしていることはあったが、めっちゃくちゃ巨大でややこしいコードベースを読んで理解する必要が無いことが多かった。1からコードを書くのは得意だが、他の人のを読んでがっつり理解してとか、どうやったら出来るのかわからない。 当然自分の周りの技術イケメンの皆さんにコツを聞いていたのだが、ど

                  コードリーディングのコツは極力コードを読まないこと|牛尾 剛
                • C++やPython向けのコード可視化ツール「Sourcetrail」がオープンソースに

                  Sourcetrailは、開発者が他人の書いたソースコードを理解し、生産的にコーディングを行えるよう支援する。開発者は既存のソースコードを理解することに多大な時間を費やすが、一般的なコードエディタは、こういった作業にはほとんど役に立たない。 Sourcetrailの主要開発者であるEberhard Gräther氏は、「Google Chrome」のグラフィックスチームにインターンシップとして参加した2012年時点の経験を次のように語っている。 「割り当てられた単純に見えるタスクに着手し、具体的なコードの改善に取り組み始めるとすぐに、Chromiumの巨大なアーキテクチャを理解する機会が全くないことに気付いた。ドキュメントはあまり役に立たず、開発チームのメンバーは非常に友好的だったが、コードベースについて質問するインターンに邪魔されることを好まないことも分かった。そこで、ソースコードを読ん

                    C++やPython向けのコード可視化ツール「Sourcetrail」がオープンソースに
                  • PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記

                    PHPとPythonとRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化 (2016/12) これらのデータ構造はユーザーの利用する連想配列だけでなく言語のコアでも利用されているので、言語全体の性能改善に貢献しています1。 スクリプト言語3つが同時期に同じデータ構造の改善に取り組んだだけでも面白い現象ですが、さらに面白いことに各実装の方針は非常に似ています。独立に改善に取り組んだのに同じ結論に至ったとすれば興味深い偶然と言えるでしょう2。 本稿では3言語の連想配列の従来実

                      PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記
                    • リーダブルテストコード / #vstat

                      「リーダブルなテストコードについて考えよう ~VeriServe Test Automation Talk No.3~」で使用したスライドです。 https://veriserve-event.connpass.com/event/243280/ 登壇動画はこちらで公開されています。 https://vimeo.com/742517199/e001ac43ac <参考リンク> Twitter https://twitter.com/jnchito Blog https://blog.jnito.com/ Qiita https://qiita.com/jnchito プロを目指す人のためのRuby入門[改訂2版] https://gihyo.jp/book/2021/978-4-297-12437-3 Everyday Rails - RSpecによるRailsテスト入門 https://

                        リーダブルテストコード / #vstat
                      • 現代フロントエンドに欠かせないwebpackとBabelを理解しよう

                        Transcript ݱ୅ϑϩϯτΤϯυʹ͔ܽͤͳ͍
 XFCQBDLͱ#BCFMΛཧղ͠Α͏ʂ� CVJMEFSTDPO�UPLZP����� /BNF� ����4BLJUP�.VLBJ� 5XJUUFS
 ����!@@TBLJUP@@� $PNQBOZ� ����$ZCP[V�JOD�
 ����'SPOUFOE�&YQFSU�5FBN "CPVU�NF w#BCFMͷલʹݱࡏͷ+BWB4DSJQUʹ͍ͭͯ� w#BCFMʹ͍ͭͯ� wXFCQBDLʹ͍ͭͯ� wXFCQBDL #BCFMͰ಺෦࣮૷Λ௥͍ͬͯ͘ "HFOEB #BCFMͷલʹݱࡏͷ+BWB4DSJQUʹ͍ͭͯ &$."4DSJQUͱ5$�� w+BWB4DSJQUʹ͸&$."4DSJQUͱ͍͏ݴޠ࢓༷͕͋Δ� w͜ͷݴޠ࢓༷ΛܾΊ͍ͯΔҕһձ͕5$��
 5FDIOJDBM�$PNNJUUFF��� � w&4��

                          現代フロントエンドに欠かせないwebpackとBabelを理解しよう
                        • テレビが勝手に通信してるを調べた時のメモ(テレビ朝日) - Qiita

                          テレビのインターネット接続機能 「テレビ視聴データに関する民放5社共同の技術検証および運用実証実験」ってニュースが流れてたけど、そもそも「テレビ視聴データって何?」「どうやって取ってるの?」「Dボタンを押さなくても勝手に通信するの?」と疑問が浮かび調べてみた。 この記事で扱っているデータは、5社共同実験の期間終了後なので、他社と視聴ログを共有しない「テレビ朝日 - 視聴データの取扱いについて」の挙動と考えます。 この記事では扱っておりませんが、他局( フジテレビ / TBS / テレビ東京 / 日本テレビ / NHK )からも同様の告知が出ていることから、他局も同様の機能を持っていると考えられます。 作業環境 スイッチは「NETGEAR GS108Ev2」 テレビを接続したポートからパケットキャプチャを接続したポートへのミラーポートを設定。 パケットキャプチャは「Wireshark」 「テ

                            テレビが勝手に通信してるを調べた時のメモ(テレビ朝日) - Qiita
                          • JavaScriptライブラリを読むときのコツ

                            少し前からライブラリを読むトレーニングを始めたのですが、最近ようやく読み方がわかってきたので、やり始めた頃に知っておきたかったことをまとめます。 これから JavaScript/TypeScript で書かれたライブラリを読んでみようと思っている方の助けになれば嬉しいです。 「私はこういう道具を使ったり、こういう工夫をしています」みたいな感じの内容ですので、もし「もっといい読み方があるよ」みたいなのがありましたらIssueなどで教えていただきたいです。 (※ライブラリを読むにあたって、ブラウザの話と NodeJS の話があるのですが、似てる点がほとんどなのでごった煮します。) エントリポイントを探す ライブラリを読むにあたって そのライブラリが持つ module がどう協調して全体が作られるのか その関数は正確にはどういう挙動をするのか などを考えると、ユーザーから渡された入力や呼び出しが

                              JavaScriptライブラリを読むときのコツ
                            • Semantic Versioningの闇 - knqyf263's blog

                              今回も誰も興味ないシリーズなので今まで書いてこなかったのですが、Semantic Versioningに関して幻想を抱いている人がいる可能性があり、そういう方にどうしても現実を知っておいて欲しかったので書きました。3行要約(と可能なら余談)だけでも読んでいただけると幸いです。 3行要約 Semantic Versioning 2.0.0にはバージョン"比較"の定義はあるが、バージョン"制約"(>= 2.1.3みたいなやつ)の定義がない その結果、同じsemver準拠ライブラリでも制約の解釈が異なり結果が真逆になる というかそもそもsemver使ってるエコシステムが少なすぎる 背景 セキュリティアドバイザリでは特定のバージョンが脆弱であることを示すためにバージョン制約が使われることが多いです。例えば >=1.2.0 <1.2.6みたいなやつです。この場合、1.2.5は脆弱だが1.2.6は修正

                                Semantic Versioningの闇 - knqyf263's blog
                              • 新型コロナウイルス接触確認アプリのソースコードを請求してみた - 世界線航跡蔵

                                厚生労働省の「新型コロナウイルス接触確認アプリ」が公開された。 かねて話題になっていたように、ある程度匿名性を保ったままbluetoothで他のデバイスが近隣に留まったことを認識する方式らしく、割と安心できそうかと思う。 またITMediaの記事によればCOVID-19 Japanという有志によるオープンソースプロジェクトを元にしているそうだ。 ただし、記事を読む限りでは完全にオープンソースプロジェクトそのままというわけではなく「COVID-19 Radar」の技術を核として厚生労働省がベンダーに開発を委託したとある。 そうなると、いくつか気になる点がある。 「COVID-19 Radar」のソースは公開されているからプライバシー等への懸念がある場合にはそれを読んで確認すれば良い、というような意見もあるが、「COVID-19 Radar」と「新型コロナウイルス接触確認アプリ」がその点におい

                                  新型コロナウイルス接触確認アプリのソースコードを請求してみた - 世界線航跡蔵
                                • なぜ読みやすいコードが必要なのか - コードの可読性を高める手法をサンプルで学ぶ - エンジニアHub|Webエンジニアのキャリアを考える!

                                  なぜ読みやすいコードが必要なのか - コードの可読性を高める手法をサンプルで学ぶ システム開発会社「アクシア」の代表として、自社・他社含め、さまざまなエンジニアのコードを読んできた米村歩さん。そんな米村さんの持論は、「コードの可読性は生産性に多大な影響を与える」ということ。可読性の低いコードはどんな弊害をもたらし、どうすれば改善できるのか――。チーム開発を効率化するコードの「可読性」について綴っていただきました。 プロフェッショナルのエンジニアには、「可読性」の高いコードを書くスキルは必要不可欠です。単に目的とする処理が実行できればよいわけではありません。しかし実際の開発業務の中では、可読性は意外と軽視されてしまいがちです。 経験の浅い駆け出しのエンジニアにとっては、可読性の重要さを肌感覚で理解するのは難しいかもしれません。また、新人エンジニアに対してプログラミング言語や開発ツールについて

                                    なぜ読みやすいコードが必要なのか - コードの可読性を高める手法をサンプルで学ぶ - エンジニアHub|Webエンジニアのキャリアを考える!
                                  • bash スクリプトの実行中上書き動作について

                                    を設定してから再度試した所 bar が表示された。backupcopy は編集中のファイルによって自動で判別する auto がデフォルトになっている為、試す際には明示的に yes に設定しないといけない。 bash の実装確認 evalstring.c の parse_and_execute でコマンドが処理されており、input.c の with_input_from_buffered_stream で読み込みの準備が行われている。バッファの読み込みの本体は y.tab.c つまりパーサから直接呼ばれており、このパーサは fgets(3) で読み込まれつつ実行される為、一括でファイルが読み込まれている訳ではない。 while/do でループ実行した際に、ファイルを書き換えられたら戻り先はどうなるか、についてはスクリプトはバッファ付きで読み込まれており、そのバッファがファイルシステムから読

                                      bash スクリプトの実行中上書き動作について
                                    • 【Linuxカーネルを読む】ChatGPTで爆速コードリーディング - Qiita

                                      はじめに OpenAIによって開発されたChatGPTが話題になっています。特に、2023年3月14日に公開された最新モデルであるGPT-4は、これまで私達がAIに持っていた認識を根底から覆したのではないでしょうか? 私は、「普通に人間とやりとりしているのと変わらんやん…」と率直に驚きました。 エンジニアの業務の中でも、自動コーディング支援、技術的課題の壁打ち相手、ドキュメント自動生成、学習支援等さまざまな用途に活用する可能性を皆さん検証している段階です。私もその波に乗っている真っ最中です。 そこで今回は、ソースコードリーディングをChatGPTをメンターにしたら爆速にできるのではないか?という仮説を検証してみました。 そしてどうせやるなら、ソースコードリーディングのハードルの高さナンバーワン(個人調べ)の「Linuxカーネル」を題材にしてみました。 なお、使用したモデルはGPT-4です。

                                        【Linuxカーネルを読む】ChatGPTで爆速コードリーディング - Qiita
                                      • Big Sky :: sudo の特権昇格バグはなぜ起こったのか

                                        « Microsoft Word を Markdown に変換するコマンド「docx2md」を作った。 | Main | VimConf 2019 を終えて » Linux の sudo に root 権限を奪取できるバグが見つかった。 Linuxの「sudo」コマンドにroot権限奪取の脆弱性。ユーザーID処理のバグで制限無効化 - Engadget 日本版 この脆弱性は、sudoコマンドのユーザーIDに-1もしくは4294967295を指定すると、誤って0(ゼロ)と認識して処理してしまうというもの。0(ゼロ)はrootのユーザーIDであるため、攻撃者は完全なrootとしてコマンドを実行できることになります。 https://japanese.engadget.com/2019/10/14/linux-sudo-root-id/ 既に Ubuntu 等にはパッチが配布され始めているらしい

                                          Big Sky :: sudo の特権昇格バグはなぜ起こったのか
                                        • シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ

                                          はじめに 開発部の ikasat です。 皆さんは git, ssh, rsync のような外部コマンドを呼び出すスクリプトを書きたくなったことはありますか? 個人的にこの類のスクリプトは最初はシェルスクリプトとして書くのですが、改修を重ねるうちに肥大化して処理も複雑になり、 後から Python のような汎用プログラミング言語で書き直すことがよくあります。 外部コマンド呼び出しを書き直す際に、Git 操作のために pygit2、 SSH 接続のために paramiko のようなライブラリをわざわざ使うのは大がかりだったり、 rsync に相当するようなこなれたライブラリが存在しなかったりする場合があります。 そのような時は標準ライブラリの subprocess モジュールを利用し、Python から外部コマンドを呼び出すことになるでしょう。 しかしながら、Python のチュートリアルペ

                                            シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ
                                          • 【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。

                                            はじめに 登壇版 Taskの本質 C# のイテレータ async/await Compiler Transform ExecutionContext builder.Start() の重要性 IAsyncStateMachine.MoveNext おわりに はじめに C#er は呼吸するように使っている async/await。 そんな async/await について、先日 Stephen Toub 氏 (.NET の中の人。中心人物の一人。) が How Async/Await Really Works in C# という非常に面白い記事を投稿していました。 この記事では Stephen 氏の記事をベースに、C# において async/await は実際どうやって動いてるの?というお話をしていきます。 以前に C#での非同期メソッドの分析。 という翻訳記事を書いたのですが、元になった記

                                              【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。
                                            • おっさんのためのModernC++入門ガイド(草稿) - dec9ue's diary

                                              みなさんはC++の読み書きができますか? 自信がある方、いつ頃勉強しましたか?もし20世紀に勉強したのであれば、その知識は相当古いです。実質現在のModernC++(C++11以降のC++)とは概念上の互換性がないので脳のアップデートが必要です。 自信がない方、文法は知っているけどなんとなく使いこなせていない方、マサカリ屋にあーだこーだ言われて大混乱している方。必勝パターンを身につければもっと楽にコードを読み書きできるようになるかもしれません。 この文章の目的は、ModernC++におけるメンタルモデル(考え方)や必勝パターンをざっくりと導入することでみなさんが楽にModernC++を読み書きできるようなお手伝いをすることです。主要な内容としてはムーブセマンティクスと右辺値 とその次の章でだいたいA4換算で15ページくらい?ほかは正直流し読みしてもらえるような内容です。また、内容的にはその

                                                おっさんのためのModernC++入門ガイド(草稿) - dec9ue's diary
                                              • 225行のコードでGPTの仕組みを理解する

                                                概要 LLMに関心があり、ChatGPTやtransformerの仕組みを理解したいと思っていたところ、雰囲気を掴むのにこちらの動画がとても参考になりました。 動画の内容としては、以下のコーパスを学習して、直前の数文字から次の1文字(単語ではないことに注意)予測機を作成するというものです。 この動画で完成するコードは以下で、225行しかなくとても読みやすいです。 また短いですがtransformerのエッセンスが詰まっていて勉強になりそうです。 このコードを読み解くことでGPTやtransformerがどのように動いているのか、ざっくり理解してみようと思います。 ちなみに完成するとこんな感じの文字列が生成されます。ぱっと見文章っぽいですね。 first Scitizen: He's enough; but he cannot give his friends. MARCIUS: Do yo

                                                  225行のコードでGPTの仕組みを理解する
                                                • たのしいOSSコードリーディング:Let's read "cookies"🍪

                                                  The Future of Rails as a Full-stack Framework Powered by Hotwire @ Rails World 2023, Amsterdam

                                                    たのしいOSSコードリーディング:Let's read "cookies"🍪
                                                  • grep の「バイナリファイル (標準入力) に一致しました」が出る条件を調べていたらそれは長い旅路の始まりだった。

                                                    はじめに 昨今では1行につき、1つの JSON を出力する様なログファイル形式も珍しくはありません。 grep しやすい データベース化しやすい これらの理由で各所で多く使われています。僕も仕事で普通に使っているのですが、ある日突然そのログファイルを集計するスクリプトで以下の様なエラーが出始めました。

                                                      grep の「バイナリファイル (標準入力) に一致しました」が出る条件を調べていたらそれは長い旅路の始まりだった。
                                                    • 著名なオープンソースRailsアプリのapp/以下を見る

                                                      Railsにおける app/ とは app/はRailsのアプリケーション用ディレクトリで、普通のRailsアプリケーションでは、この下にmodels,controllers,viewsを含めた様々なディレクトリが作られます。 基本的には新しいディレクトリを追加する必要はないのですが、アプリケーションが複雑になると、Railsを拡張するべくここにアプリケーション固有のディレクトリを作って、その下に関連するファイルを置くことがあります。 中には、servicesやserializersのように、多くのRailsアプリケーションで見られるものもあれば、完全にアプリケーション独自のものが作られることもあります。また、アプリケーションによっては独自のディレクトリは一切作らないものもあれば、大量に作るものもあります。それぞれアプリケーションの開発方針によるものです。 本記事では、比較的有名なOSSの

                                                        著名なオープンソースRailsアプリのapp/以下を見る
                                                      • こわくないソースコードリーディング生活 / JJUG CCC 2019 Fall

                                                        JJUG CCC 2019 Fall #ccc_c5

                                                          こわくないソースコードリーディング生活 / JJUG CCC 2019 Fall
                                                        • 依存モジュールが少ないソースコードを読む - スペシャリスト岡野真也に聞くPythonの読み方と使い方 - エンジニアHub|Webエンジニアのキャリアを考える!

                                                          依存モジュールが少ないソースコードを読む - スペシャリスト岡野真也に聞くPythonの読み方と使い方 現在、多くの支持を集めるPython。10年以上にわたりPythonを使い続ける岡野真也さんに、同言語の学び方、使い方を聞きました。 機械学習やデータサイエンスの隆盛に伴い、Pythonは多くの人に使われる言語になりました。GitHubの「The State of the Octoverse 2019」のレポートによると、GitHubリポジトリのコントリビューターから人気のあったプログラミング言語として、PythonはJavaScriptに次いで2位となっています。 「さまざまな課題を、楽に解決できるのがPythonの魅力」と語るのは、10年以上も前からPython・Djangoフレームワークのヘビーユーザーであり続けてきた岡野真也(おかの・しんや/ @tokibito )さん。彼はいか

                                                            依存モジュールが少ないソースコードを読む - スペシャリスト岡野真也に聞くPythonの読み方と使い方 - エンジニアHub|Webエンジニアのキャリアを考える!
                                                          • Go の sql.DB がコネクションプールを管理する仕組み

                                                            Go の database/sql パッケージ の DB 構造体 は、データベースへのコネクションプールを管理し、かつスレッドセーフ (goroutine セーフと言ったほうが良いのだろうか…?) にそれらの接続を使用できることを保証している。 ドキュメント にも次のように書かれている。 DB is a database handle representing a pool of zero or more underlying connections. It’s safe for concurrent use by multiple goroutines. こちらの基本的な実装内容と、動作を制御するパラメータについて調べてみた。 基礎知識のおさらい database/sql パッケージはデータストアの実装によらない一般的な SQL のインタフェースを提供している。具体的なデータストアへの接

                                                              Go の sql.DB がコネクションプールを管理する仕組み
                                                            • 仕事としてOSS開発者をやってきた話 - 覚書

                                                              はじめに わたしは今も昔も仕事としてOSS開発者をしていて、twitterなどでそれなりに名前が知られていることもあって、昔から「どうすればそういうこと(業務としてOSS開発)ができるのか」「どういうキャリアを歩んできたのか」「Linuxカーネル開発者になるにはどうすればいいのか」ということをよく聞かれてきました。当時わたしが置かれた環境と現在の環境では違いがありすぎるので公開に積極的にはなれなかったのですが、一つの過去事例として何らかの意味はあるかもと思って公開することにしました。 書き方が難しかったのですが、うまくまとまらなかったので、自分が書くのが楽な日記みたいになりました。 きっかけ 2000年初頭に学部4年のころにLinuxを触りはじめてから「UNIXとかLinuxってすげえ」「こんなものが無償で使えるのか」「これらのソースコードが全部見られるのか」と感動して、「自分も成果物を公

                                                                仕事としてOSS開発者をやってきた話 - 覚書
                                                              • MVCCとInnoDBでの実装について - shallowな暮らし

                                                                こんにちは。id:shallow1729です。先日はredo logを中心にストレージエンジンについて解説を行いましたが、今回は同時実行制御、特にMySQLなど多くのデータベースで採用されているMultiversion Concurrency Control(MVCC)という技術にフォーカスしようと思います。 今回の記事ではまず前半でMVCCというものがどういうものかについて解説をして、次にMVCCの実装方法についてInnoDBの実装を参考にしながら見ていこうと思います。前提知識はあまりいらないと思いますが、リレーショナルデータベースの操作経験はあったほうがいいかなと思います。また、前回のストレージエンジンの解説で述べた内容はあまり説明しないので、軽く目を通してもらえると頭に入りやすいかなと思います。 shallow1729.hatenablog.com トランザクションの原子性 まずトラ

                                                                  MVCCとInnoDBでの実装について - shallowな暮らし
                                                                • Rustソースコードのざっくりとした歩き方 🦀

                                                                  https://techfeed.io/events/techfeed-experts-night-24

                                                                    Rustソースコードのざっくりとした歩き方 🦀
                                                                  • RailsでTZ環境変数を設定するハックを不要にした話 - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)

                                                                    TL;DR 『環境変数を設定するだけでRuby on Railsサーバが10%高速化する(かもしれない)話』  でRailsを高速化させる素晴らしいハックが紹介されましたが。いまや有効なハックではなくなりました。 TZハックさん、ながい間(2日間)おつかれさまでした。 はじめに アカツキさまで技術顧問をさせていただいている小崎です。 このエントリは『環境変数を設定するだけでRuby on Railsサーバが10%高速化する(かもしれない)話』をRubyコミッタが読んだらこうなったというアンサーソングになっています。合わせてお読みください TZ環境変数でTime.newが10倍近く速くなるのは素晴らしい発見ですが、コミッタとしてはTZなしでも速くなって欲しいなと思いました。だってめんどうだし。 現状分析 まず問題のテストプログラムを軽く分析してみましょう % strace -c ruby .

                                                                      RailsでTZ環境変数を設定するハックを不要にした話 - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)
                                                                    • Kubernetes: kube-scheduler をソースコードレベルで理解する - チェシャ猫の消滅定理

                                                                      はじめに Kubernetes において、Pod を配置するための Node を決定する手続きをスケジューリングと呼び、デフォルトのクラスタでは kube-scheduler がその責務を担っています。本記事ではこの kube-scheduler のソースコードを時系列に沿って追いつつ、どのようなロジックで Pod を配置する Node が決定されるのかを解説します。 なお、本記事は Kubernetes の内部実装について学ぶ勉強会 Kubernetes Internal #3 の補足資料を意図して執筆されました。本文中で参照しているソースコードのバージョンは v1.19.4 です。 Kubernetes Internal #3 録画 スケジューラの概要 ソースコードを読むに先立つ予備知識として、スケジューリングの大まかな流れと Scheduling Framework の概要に触れてお

                                                                        Kubernetes: kube-scheduler をソースコードレベルで理解する - チェシャ猫の消滅定理
                                                                      • TypeScriptでテストコードを徹底的に型推論する / TypeScript Meetup 4

                                                                        Scrum Fest Niigata 2023 QAはチームの外から支援するのか?中から支援するのか?

                                                                          TypeScriptでテストコードを徹底的に型推論する / TypeScript Meetup 4
                                                                        • C++ 標準ライブラリ - C++ の歩き方 | cppmap

                                                                          Home C++ 規格 記事 学習 ライブラリ ツール 貢献 C++ 標準ライブラリ¶ C++ の規格で定められた標準ライブラリに含まれるヘッダの一覧です。 リファレンス Web サイトは en: cppreference.com, jp: cppreference.com (日本語訳) cpprefjp: cpprefjp に対応しています。 標準ライブラリ¶ ヘッダ リファレンス 実装 バージョン

                                                                          • Linux用zoomパッケージ:お粗末なメンテナスクリプト - SIOS SECURITY BLOG

                                                                            注意:末尾に2020/04/08での追記あり 2020/04初頭現在、COVID-19が猛威を奮っている昨今は自宅勤務となり、オンラインミーティングやウェビナーに参加される機会が増えている方も多いことでしょう。そしてそんなオンラインミーティングで一気にシェアを伸ばしているのが「Zoom」です。 しかし、注目を集めた結果セキュリティ脆弱性があることが様々なレイヤで発見されており、一部の国の政府系機関では使用を辞めるように、とのお達しが出るほどになりました。 いやいや、そんな脆弱性が多いってどんな?というと 例えばMac用クライアントについては「 AAPL Ch. 」さんのZoom Meeting for Macの脆弱性タイムラインを見ていただくと『マジかよ』という内容と対応が連続で上げられています。Windowsクライアントの認証クレデンシャル情報が漏洩するよ、とか録画データが推測しやすい形

                                                                              Linux用zoomパッケージ:お粗末なメンテナスクリプト - SIOS SECURITY BLOG
                                                                            • Linux コンテナのリブートとセキュリティ / SosaiLT 38th

                                                                              総関西サイバーセキュリティLT大会(第38回)の LT 資料です。 参考となる情報にはPDF中からリンクをしていますが、資料中のリンクは Speaker Deck 上ではクリックできないので PDF をダウンロードしてご覧ください。

                                                                                Linux コンテナのリブートとセキュリティ / SosaiLT 38th
                                                                              • Goの標準ライブラリのコードリーディングのすすめ | フューチャー技術ブログ

                                                                                パッケージの選定そもそも、どのパッケージを読んだらいいんだろう?という疑問があると思います。上記のパッケージを選定した方法を紹介したいと思います。 読むパッケージの選定は有志のメンバ数名で一緒に決めました。 まずパッケージのステップ数を見てスクリーニングしています。gocloc というツールを使うと以下のフォーマットで簡単にステップ数を確認することができます。 $ gocloc archive ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- Go 21 7

                                                                                  Goの標準ライブラリのコードリーディングのすすめ | フューチャー技術ブログ
                                                                                • トラブルシューティングから Linux カーネルに潜り込む

                                                                                  ハイパフォーマンスな組織をつくるための開発生産性の考え方 / developer-productivity-high-performer-link-and-motivation

                                                                                    トラブルシューティングから Linux カーネルに潜り込む

                                                                                  新着記事