yhorizのブックマーク (211)

  • ネストオブジェクトの罠 RE: TypeScriptで「選択肢」の定義をEnum的な定数にまとめる

    この記事は、静的解析とビルドサイズ面で興味深いテーマでした。記事として自分の考えを書きます。 注意。あくまでビルドパフォーマンス視点での最適化です。強い意図があって、自分のドメインモデリングの方法論ではこれが最適なんだ、というなら元コードの方法論を止めるつもりはありません。 元記事のコードを minify するとどうなるか 元コードを参考に、それにアクセスするサンプルコードを書いてみます。 const sortingOptions = { priceDesc: { id: "priceDesc", sort: "price", order: "desc", label: "価格が高い順", }, priceAsc: { id: "priceAsc", sort: "price", order: "asc", label: "価格が安い順", }, ratingDesc: { id: "ra

    ネストオブジェクトの罠 RE: TypeScriptで「選択肢」の定義をEnum的な定数にまとめる
    yhoriz
    yhoriz 2024/08/15
    コードを書くときからオプティマイザの微妙な挙動によるパフォーマンス変化を意識する方がアンチパターンに思えるし、ましてやセキュリティの担保をオプティマイザに依存するのは「絶対アカン」でしょ
  • 株式会社リクルート エンジニアコース新人研修の内容を公開します!(2024年度版) | Recruit Tech Blog

    はじめに こんにちは! 2024年度新卒エンジニアの山です! 株式会社リクルートの新卒エンジニアは部署配属される前にBootCampと呼ばれる研修を受けることになります。 今年は約3ヶ月間の研修があり、実際に受講した立場から講座の共有や紹介を行っていきたいと思います。 研修概要 研修では、配属後で活かせるエンジニアリング技術を体系的に学ぶことができるだけでなく、ヒューマンスキル育成や事業理解といったプログラムも準備されているため、エンジニアとして様々な観点から成長できる機会になっています。 エンジニアリング技術に関しては、フロントエンド、バックエンド、モバイルアプリ、インフラ、セキュリティなど幅広い講座が用意されています。講座によっては、チーム開発や競技形式での手を動かして学ぶ講座も用意されており、より理解を深められるような講座になっています。 ヒューマンスキル育成に関しては、ロジカルシ

    yhoriz
    yhoriz 2024/08/10
    リクルートのエンジニアに必要な心構えは知識ポートフォリオ云々以前に「内定辞退率予測を販売しない」だと思うんだけど、なぜ技術倫理講座を作って公開しないんだろう?JALの安全啓発センターを見習ってほしい
  • 数学の「=」(等しい)とはどういうことか? 英ICL教授が発表 「コンピュータの登場で定義が曖昧に」

    このコーナーでは、2014年から先端テクノロジーの研究を論文単位で記事にしているWebメディア「Seamless」(シームレス)を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。 X: @shiropen2 英インペリアル・カレッジ・ロンドン(ICL)の教授であり、数学者のケビン・バザードさんの単著論文「Grothendieck’s use of equality」は、数学者が等式の概念をどのように使用しているか、そしてそれが数学の形式化を試みる際にどのような影響を与えるかについて議論した研究報告である。 バザードさんは「現状、数学者は等式の概念を曖昧に使っており、近年のコンピュータプログラムによる証明(形式化)においてその曖昧さが障害になっている」と指摘する。 「=」(等号)にみる一般的な等式の定義は、両辺が同じ数学的対象を表しており、一方から他方への論

    数学の「=」(等しい)とはどういうことか? 英ICL教授が発表 「コンピュータの登場で定義が曖昧に」
    yhoriz
    yhoriz 2024/06/10
    Coq,Lean等での同値類や同一視の形式的記述やHomotopyTypeTheory文脈の話題で、極めてざっくり言えば定義の異なる同値性たちを扱う上で莫大なボイラープレートを回避する話だが、この長さの一般向け記事で扱うのは難しすぎる
  • Amber The Programming Language

    Write your scripts in a modern type-safe and runtime-safe programming language that handles many bugs and mistakes during the compilation process.

    Amber The Programming Language
    yhoriz
    yhoriz 2024/05/17
  • Python普及しろ協会に入会したい

    この記事はタナイ氏によるPython滅ぼす協会に入会したいを読んでから執筆したものです。 この記事の趣旨はPython滅ぼす協会に入会したいに対する反論という形をとりながら、タナイ氏により「バカの言語」と揶揄され、「使ってエンジニアを名乗るというのは」「滑稽」とまで言われたPythonの立場を再考することです。 追記 記事は「Pythonはこれだけ優れた言語だからみんな使おう!」というものではなく「言うほど酷くないと思うよ」程度のものです。 型アノテーションがあるからと言って静的型付けを軽視しているわけでもなければ、map関数をもってmapメソッドを不要だと言っているわけでもありません。 この記法は嫌い〜この記法が好き〜と表明することは個人の自由ですが、同様に「この記法は実はこういう意味があって〜」という意見があればそれを聞いた上で、物事を判断して欲しいです。もちろん、聞いても意見が変わ

    Python普及しろ協会に入会したい
    yhoriz
    yhoriz 2024/04/04
    1.と4.では "one obvious way" を引き合いに出すのに3.では似たような機能を持つ4つの非自明な方法を提示し7.では各自が気を付けろと言う これに限らず全体的に場当たり的主張をこじつけているように見えてしまうな
  • 鍵生成には暗号論的に安全な乱数を使おう

    SSHの鍵生成には暗号論的に安全な疑似乱数を使おうという話。 暗号論的に安全ではない疑似乱数がどれだけ危険かというのを、簡単なCTFを解くことで検証してみました。 背景 SSH公開鍵に自分の好きな文字列を入れる、という記事を読みました。 かっこいいSSH鍵が欲しい 例えばこのSSH公開鍵、末尾に私の名前(akiym)が入っています。 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFC90x6FIu8iKzJzvGOYOn2WIrCPTbUYOE+eGi/akiym そんなかっこいいssh鍵が欲しいと思いませんか? かっこいい!真似してみたい! そこまではいいんですが、問題は実装です。 秘密鍵を生成する際の乱数生成には高速化のために Goのmath/randを使っていますが、乱数が用いられるのは公開しない秘密鍵自体であり、このアルゴリズム自体はLagged Fib

    yhoriz
    yhoriz 2024/03/29
    種空間の大きさだけでなく数学的構造に基づく攻撃等々も問題で、CSPRNGはこれらについて最善の努力が専門家によりなされている 問題を軽視しているブコメが散見されるが「暗号はメチャ難しい」という無知の知が大事
  • かっこいいSSH鍵が欲しい - アリ

    例えばこのSSH公開鍵、末尾に私の名前(akiym)が入っています。 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFC90x6FIu8iKzJzvGOYOn2WIrCPTbUYOE+eGi/akiym そんなかっこいいssh鍵が欲しいと思いませんか? ed25519のSSH公開鍵の構造 SSH鍵の形式にはRSAやDSA、ed25519などがありますが、最近のssh-keygenではデフォルトでed25519の鍵を生成するということもあり、ed25519を利用していることを前提として進めます。なにより、RSAの公開鍵に比べると短いので末尾部分が目立つはずです。 そもそも、ed25519のSSH公開鍵のフォーマットはどのようなものになっているか確認してみます。まずはssh-keygenコマンドで秘密鍵と公開鍵を生成します。 % ssh-keygen -t ed25

    かっこいいSSH鍵が欲しい - アリ
    yhoriz
    yhoriz 2024/03/25
    鍵生成は決定的だから鍵の無作為性=種の無作為性で、非CSPRNGでいいわけない!"乱数が用いられるのは公開しない秘密鍵自体"の文言からも公開鍵暗号自体の理解が怪しそうだし、暗号系は絶対DIYしてはいけない
  • 「才能の民主化」に対し「ITエンジニアは日本語が話せないから仕方ない」の声

    しゃいん @shine_sann 情報系の人たちが、「バカでもできるようになる」くらいの意味で「民主化」って単語を誤用しているらしいですね。まあ、情報系って、理系の中でも、プログラム言語しか話せず、日語を話せるバイリンガルの少ない分野ですからね。仕方ない仕方ない。許してあげてください。

    「才能の民主化」に対し「ITエンジニアは日本語が話せないから仕方ない」の声
    yhoriz
    yhoriz 2024/03/23
    「英語に対して適切な訳語を選択する能力」が日本語力(と英語力)の問題でなければ何だというのか
  • アラスカ航空機事故でボーイング社監査 不合格多数(テレビ朝日系(ANN)) - Yahoo!ニュース

    アラスカ航空機の機体のパネルが飛行中に脱落した問題で、機体を製造したボーイング社と関連会社の監査が行われ、3割以上の項目で不合格だったことが分かりました。 今年1月、アラスカ航空のボーイング737-MAX9型機の側面のパネルが飛行中に脱落した問題で、FAA(アメリカ連邦航空局)が6週間にわたって製造ラインの監査を行いました。 ニューヨーク・タイムズによりますと、ボーイング社は89項目中33項目で不合格、ボーイング機の胴体を製造するスピリット・エアロシステムズ社は、13項目中7項目で不合格となりました。 スピリット社の整備士が、ドアの密閉具合を確認するのにホテルのカードキーを使ったり、潤滑油の代わりに器用洗剤を使うなど、ずさんな管理の実態が浮かび上がっています。

    アラスカ航空機事故でボーイング社監査 不合格多数(テレビ朝日系(ANN)) - Yahoo!ニュース
    yhoriz
    yhoriz 2024/03/13
    このレベルが放置されてきたザルさ加減だと、ボーイングとMRJの型式証明審査が本当に同じ基準で公正に行われていたか疑われてもしかたないよね
  • 「p値とは何か?」を説明できますか - ai_math_runningのブログ

    この記事の概要 p値を理解するには統計学の基礎知識が必要 統計学は「自然界の現象にはばらつきがあり」「測定値には誤差がある」から必要 知りたい事・言いたい事に対し「逆の事」を考える その「逆の事」が正しい確率がp値 p値が十分に小さければ「逆の事」は滅多に起こらないので「言いたい事」が言える この記事の概要 この記事のお題 p値の説明に必要な事 統計学はなぜ必要なのか? 言いたい事を言うために逆の事*1を考える 「p値」とは「逆の事」が正しい確率 この記事のお題 今日のお題は、こちらの記事についてです。 diamond.jp まず、その前に、この記事の前の記事が素晴らしかったんです。 【「0.05」の謎】統計学好きでも意外と知らない「統計的に有意」の当の正体 | Science Fictions あなたが知らない科学の真実 | ダイヤモンド・オンライン なので、その記事のブクマに次のよう

    「p値とは何か?」を説明できますか - ai_math_runningのブログ
    yhoriz
    yhoriz 2024/03/05
    "「p値」とは「逆の事」が正しい確率"いや全然違う。 p値は「帰無仮説が正しい場合今の事象がどれだけレアだったか」だから仮にp=0.8でも「帰無仮説を否定できない」だけであって「帰無仮説が80%正しい」わけじゃない
  • 詳解 Rustアトミック操作とロック

    Rustでは並行性を持つプログラムを安全に記述することができます。書はその並行プログラムの基盤となる、アトミック操作とロックの仕組みについての理解を深め、より安全で効率の良いコードを書くための指南書です。難解だと思われがちなアトミック処理、ロック、メモリオーダリングのような低レイヤを詳細に理解し、アーキテクチャやOSによる相違を知ることで、安全で高性能な並行処理プログラムを実装できるようになります。Rustユーザはもちろん非ユーザにとっても低レイヤプログラミングの優れたリソースとなる一冊です。 序文 まえがき 1章 Rust並行性の基 1.1 Rustのスレッド 1.2 スコープ付きスレッド 1.3 所有権の共有と参照カウント 1.3.1 static 1.3.2 リーク 1.3.3 参照カウント 1.4 借用とデータ競合 1.5 内部可変性 1.5.1 Cell 1.5.2 RefC

    詳解 Rustアトミック操作とロック
    yhoriz
    yhoriz 2023/10/29
  • お部屋のインテリアにピッタリ→「ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ」

    吉沢ぽわ @Yoshizawaniki @koutyakizoku ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ 2023-10-20 23:17:05 ハンカチ @koutyakizoku @Yoshizawaniki あ”あ”あ”あ”ああああああああああああああああああああああああああああ”あ”ああああああああああああああああああああああああああ”あああああああああああああ”あ”あ”! 2023-10-20 23:18:28

    お部屋のインテリアにピッタリ→「ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ」
    yhoriz
    yhoriz 2023/10/23
    デーモンコアの犠牲者は原爆製造という人類最悪級の犯罪に加担している上に、自身が危険性を熟知した上で故意に周囲を危険に晒したのだから、当然非難と揶揄に値するのでは
  • 「汚れの落とし方」を科学で分析。「洗浄技術の研究者」に教わる、汚れとの戦い方 | となりのカインズさん

    大矢勝 1957年、神戸市生まれ。大阪市立大学大学院生活科学研究科(修士)修了。泡で洗う洗濯機の開発研究で学術博士の学位を取得。短期大学講師を経て1990年より横浜国立大学助教授、2008年より同大学教授となり、2023年現在は名誉教授。洗浄技術・試験法、洗剤の環境影響・安全性、消費者情報などの分野の研究に従事し、洗浄技術や洗剤に関する多数の著書の執筆も行う。

    「汚れの落とし方」を科学で分析。「洗浄技術の研究者」に教わる、汚れとの戦い方 | となりのカインズさん
    yhoriz
    yhoriz 2023/09/19
  • 日本最大のプログラミングコンテストサイトAtCoder 中高生に特化した学校対抗リーグ「AtCoder Junior League」開催にかける思いとは

    最大のプログラミングコンテストサイトAtCoder 中高生に特化した学校対抗リーグ「AtCoder Junior League」開催にかける思いとは 国内最大級※、世界でも3大コンテストのひとつと言われる競技プログラミングコンテストサイトAtCoderは、2023年の春から参加者を中高生に絞った新たなリーグ「AtCoder Junior League(以下、AJL)」を開催しています。学生に特化したリーグを始めた理由、現在の状況や今後の展望など、AtCoderの創業者であり代表取締役社長の高橋直大さん(chokudai)ならびに、AJLの運営担当者であるかえでさん(kaede2020)に聞きました。 ※2023年4月時点で、日人登録者数236,585名、外国人登録者数264,731名 https://prtimes.jp/main/html/rd/p/000000038.000028

    日本最大のプログラミングコンテストサイトAtCoder 中高生に特化した学校対抗リーグ「AtCoder Junior League」開催にかける思いとは
    yhoriz
    yhoriz 2023/09/11
  • 静的解析ツールで生まれたSQLインジェクション | ドクセル

    自己紹介 小川 経歴 ~2009: Webアプリ開発のバイト&業務委託 2009~2019: 三菱重工 イット何も関係ない。野良のパソコンの大先生してた 2019~いま: root ip B2BのSaaS作ってます PHPVue分かる人来て!!1 面白かった脆弱性 - CVE-2023-22727 PHPフレームワーク CakePHP 4 のSQLインジェクション脆弱性 ORM limit(), offset() でSQLi CVSS v3 9.8 2023/01に修正済み CakePHPLaravelの次に使用率高いフレームワーク(多分) 割と使いやすいからお勧め 一般にコード品質が上がる静的解析ツールの使用で逆に発生

    静的解析ツールで生まれたSQLインジェクション | ドクセル
    yhoriz
    yhoriz 2023/09/05
    コードの意味を変える「修正」提案をしちゃうのは普通に解析ツールのバグなのでは
  • OS自作で変わったOSを見る目 | A Journey Towards Boundless Knowledge

    A new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team

    OS自作で変わったOSを見る目 | A Journey Towards Boundless Knowledge
    yhoriz
    yhoriz 2023/08/19
  • MySQLとOracleの実行計画を比較してみた - ASMのきもち

    まいえすきゅーえりたい ぽすぐれない おらくるってる(狂ってる)tomoです。 今日はいつものMySQLリファレンスを読むではなく、夏休みの宿題にしていたこれをやってみます。 MySQLOracleDBの実行計画を比較してみた さて同じようなテーブルで同じデータを載せて。 実行計画を取ってみた時、どのくらい情報量が違うのか簡単に違いを見てみましょう。 前提として、以下をご認識ください。 一方はOSSのDBエンジン、もう一方はガチガチ商用DBエンジンです。情報量が違うのは当たり前であって、良し悪しを比較したいのではありません。そして製品比較をしたいのではありません。いつも商用DBメインで使っているエンジニアが、OSSのDBにこうゆう情報も出してほしいな!というのをお願いしたいと思っていて、それを考える元ネタメモだと思ってください。 OSSでこれだけの情報出せるMySQLや、今回紹介しません

    MySQLとOracleの実行計画を比較してみた - ASMのきもち
    yhoriz
    yhoriz 2023/08/19
  • ChatGPT開発に必要なGPUは3万基、日本の国策AI基盤は1千基。目前に迫る日本のAI敗戦

    ChatGPT開発に必要なGPUは3万基、日の国策AI基盤は1千基。目前に迫る日AI敗戦 2023.08.19 Updated by Ryo Shimizu on August 19, 2023, 16:47 pm JST そろそろ業界の最深部でしか知られてなかった事実がニュースになって来始めているのでここで当の問題を明らかにしておきたい。 AI開発に必須なのは、計算資源である。そしてこれは現在のところ、事実上NVIDIAが一社独占している。 NVIDIA以外の半導体がいくら「AIに特化しています」と能書きを垂れていてもごくわずかな例外を除いてはほとんど全部が誇大広告である。 たとえばApple Silliconは、「ニューラルエンジン」と称するモジュールを内蔵しているが、これを使ってAIの学習をすると、なんとCPUよりも遅い。信じられないかもしれないが、これが残酷な事実なのである

    ChatGPT開発に必要なGPUは3万基、日本の国策AI基盤は1千基。目前に迫る日本のAI敗戦
    yhoriz
    yhoriz 2023/08/19
  • 技術に興味がなくて何が悪い? - Qiita

    TL;DR 技術に興味がなくても、エンジニアとして生きていくことはできる。 対象読者 自分を技術に興味がない側の人間だと思う方 筆者について Webアプリケーションの開発エンジニア。主な仕事はプログラム詳細設計、画面設計、コーディング。 技術にあまり興味がない。 初めに エンジニア界隈では、以下のような主張がしばしば見られる。 休日に勉強するべきである。 最新の技術動向は常にチェックするべきである。 技術イベントには参加するべきである。 毎日コードを書くべきである。 レガシーな技術ではなく、モダンな技術を習得するべきである。 etc... そしてこれらの"べき論"がさらに加速すると、 「技術に興味がない人はエンジニアに向いていない」 という主張すら出現し、それに同調する声も少なくない。 最近、とあるSNSで以下のようなやり取りを見かけた。 駆け出しエンジニアの質問 休日に勉強するべきですか

    技術に興味がなくて何が悪い? - Qiita
    yhoriz
    yhoriz 2023/08/15
  • Four tips to keep your GitHub Actions workflows secure

    AI & MLLearn about artificial intelligence and machine learning across the GitHub ecosystem and the wider industry. Generative AILearn how to build with generative AI. GitHub CopilotChange how you work with GitHub Copilot. LLMsEverything developers need to know about LLMs. Machine learningMachine learning tips, tricks, and best practices. How AI code generation worksExplore the capabilities and be

    Four tips to keep your GitHub Actions workflows secure
    yhoriz
    yhoriz 2023/08/11