タグ

ブックマーク / qiita.com (114)

  • 面接官「0.1 + 0.2 == 0.3 が成立しない理由を説明せよ」 - Qiita

    なぜか これは、計算機が浮動小数点数を2進数で表現する際に、特定の小数は正確に表現できず、誤差が発生するためです。10進数の0.1や0.2は、2進数では無限に続く循環小数となるため、これらの数値を正確に表現することができません。その結果、0.1 + 0.2 は 0.3 と等しくならないことがあります。 小数点以下の数値→2進数へ変換する方法 CSを修めていればご存知方と思いますが、復習します。 小数点以下の数値を2倍する 結果の整数部分を取り出し、それを2進数の桁として記録する 小数部分だけを次のステップに持ち越す 小数部分が0になるか、所定の精度に達するまで1〜3を繰り返す 0.1 × 2 = 0.2 整数部分: 0 小数部分: 0.2 0.2 × 2 = 0.4 整数部分: 0 小数部分: 0.4 0.4 × 2 = 0.8 整数部分: 0 小数部分: 0.8 0.8 × 2 = 1.

    面接官「0.1 + 0.2 == 0.3 が成立しない理由を説明せよ」 - Qiita
    quabbin
    quabbin 2024/05/26
    まぁ普通に、 `from decimal import Decimal;Decimal(str(.1))+Decimal(str(.2))==Decimal(str(.3)) #=> True` だよね?
  • Gmailが2024年2月から(大量)送信者に求めてることが分からない闇への防衛術(前編) - Qiita

    メールの世界にGmailさんが新たな闇を投入 (インターネットの)メール受信・送信は闇あふれる世界だと思うのですが(*1)、そこに 2023年10月7日、新たな闇要素をGmailさんが投げ込んでくれました。(正しくは2023/12月頭現在、闇がモリモリ増えてる。補足①②参照) (*2 最下部キャプチャあり) えーと、「1日あたり 5,000 件を超えるメールを送信する送信者」はこの事項を守ってね……とあります。要件と書いてあり、2024/2/1から実施と急なうえに、項目が SPFとDKIMの設定 逆引き 迷惑メール率 メール形式 Gmail の From: ヘッダーのなりすまし ARC DMARC ダイレクトメールの場合(……なんとかかんとか) 登録解除 と9個もある。 何これ……?と様々な人を戸惑わせています。 インターネットにつながっているそこそこの規模の組織は、1日あたり 5,000

    Gmailが2024年2月から(大量)送信者に求めてることが分からない闇への防衛術(前編) - Qiita
    quabbin
    quabbin 2023/12/04
    SPF、DKIM、DMARCは普通対応しているからいいとして…。結構やること多いな
  • エンジニアに読んで欲しい技術書90選 - Qiita

    はじめに タイトル通り、読んで欲しい(圧)技術書をたくさん集めてみました。自身の担当から外れる領域に関しては、会社の人に協力を仰ぎ、編集しました。「何を読めばいいかわからない」、「次の読むを探したい」などのように考えている方の参考になればと思います。 また、大きく、 ・新米エンジニア ・脱新米エンジニア と分けてまとめたので、参考にしてみてください。 技術書のススメ 技術書の紹介の前に、技術書で得られるものについて説明したいと思います。全然読み飛ばしてもらって大丈夫です。この章からの紹介を行なっていきます。 技術書は体系的な構成となっているため、技術書を読むことで、 ・論理的な思考力が身に付く ・技術歴史・背景を知れる ・技術の知識、手法を学べる これらを学ぶことができます。論理的な思考力、知識はわかるけど、技術歴史・背景を知ってどうするんだと思う方もいるかもしれません。しかし、歴

    エンジニアに読んで欲しい技術書90選 - Qiita
    quabbin
    quabbin 2023/10/31
    データベース設計って、割と軽視されるんだなぁ…と。リスト見て思うなぞ。いや、設計についてのノウハウを伝える本が、正規形くらいのネタで終わってるからいけないのかもしれないなぁ
  • えっ、まだChatGPT使ってんの? Bingは無料でGPT-4使えますよ! - Qiita

    はじめに こんなタイトルをしていますが、私はChatGPTを悪く言う意図は全くありません。ChatGPTは非常に優れた製品ですし、実際に、世界はChatGPTによって大きく変わりました。LLMを大きく普及させた先駆者として、とても偉大な存在です。 今回は、利用料金に焦点を当てた話になります。 Chat GPT Plusを使いたいけど(もしくは、使っているけど)、ちょっと金額が高いな・・・と感じている方に向けた記事になりますので、ご理解いただけると嬉しいです。 ChatGPT、ちょっと高い・・・! GPT-4、精度が高くていいですよね! 僕もプログラムを書くときや、採用するプロダクトを決めるときなんかによく使っています! でも、ChatGPTのGPT-4を使うには、月額3,000円(※)を払う必要がります。 会社が払ってくれるのなら全く問題ないのですが、個人で使うとなると、正直ちょっと高いっ

    えっ、まだChatGPT使ってんの? Bingは無料でGPT-4使えますよ! - Qiita
    quabbin
    quabbin 2023/09/15
    で、結局、GPTなんだよね。
  • 凄腕エンジニアさんから学んだ例外の話 - Qiita

    はじめに 今携わっているプロジェクトで凄腕エンジニアさんと一緒に開発をさせていただいているのですが、その凄腕エンジニアさんから教えていただいた例外の話がとても勉強になり、 さらにこの例外の話を他のプロジェクトエンジニアさんに伝えたところ、反応が良く、とても勉強になりました!という声をいただけたので、アウトプットしていきたいと思います。 (この記事の中で凄腕エンジニアさんのことはTさんと呼ぶことにします。) ※【凄腕エンジニアさんから学んだ例外の話】の補足 というQiita記事を書きました。 この記事を読み終わった後に疑問が残った人などは補足資料として読んでいただけると嬉しいです。 例外の考え方の源 Tさんの例外の考え方は http://diveintopython3-ja.rdy.jp/your-first-python-program.html#exceptions ↑こちらのPyth

    凄腕エンジニアさんから学んだ例外の話 - Qiita
    quabbin
    quabbin 2023/06/27
    代表的な例外である、検査例外と実行時例外を無視した事例であり、割とよく見る(良いとは言ってない)。例外をgotoのかわりにしている方っているよね
  • フリーWi-Fiを使ったら秘密情報を抜かれる経路にはどのようなものがあるか - Qiita

    ゴールデンウィークのはじめ(4月29日)に投稿された以下のツイートですが、5月7日20時において、1,938.8万件の表示ということで、非常に注目されていることが分かります。 我が名はアシタカ!スタバのFreeWi-Fiを使いながら会社の機密情報を扱う仕事をしてたら全部抜かれた。どうすればよい! pic.twitter.com/e26L1Bj32Z — スタバでMacを開くエンジニア (@MacopeninSUTABA) April 29, 2023 これに対して、私は以下のようにツイートしましたが、 これ入社試験の問題にしようかな。『スタバのFreeWi-Fiを使いながら会社の機密情報を扱う仕事をしてたら全部抜かれた』と言う事象に至る現実的にありえる脅威を説明せよ。結構難しいと思いますよ。 https://t.co/LH21zphCTV — 徳丸 浩 (@ockeghem) April

    フリーWi-Fiを使ったら秘密情報を抜かれる経路にはどのようなものがあるか - Qiita
    quabbin
    quabbin 2023/05/08
    「秘密情報ぜんぶ抜く大作戦スペシャル スタバのFree Wifiで抜いてみた」/こうやって見てみると、全部抜くのはそれなりに難しくなってきているよなぁ…
  • やはり俺の情報教科書はまちがっている。 - Qiita

    目次 はじめに 個人を特定する情報が個人情報じゃない デジタル署名は暗号化しない TLS(SSL) は共通鍵を公開鍵で暗号化しない TLS(SSL) が使われていれば安全じゃない 変数は箱じゃない Python 等は「ソースコードを 1 行ずつ実行するインタプリタ方式」じゃない 日語 1 文字は 2 バイトじゃない 動画が動いて見えるのは残像によるものじゃない 標化定理は「2 倍以上の周波数」じゃない その他いろいろ はじめに 2022 年から高等学校で、プログラミング等を学ぶ「情報Ⅰ」が 必修 必履修科目になりました。1 さらには 2025 年入試から大学入試共通テストでも出題されるようになり、教科「情報」の重要性が高まっています。 これで 2030年に79万人不足すると言われる IT 人材 の問題が解決!…と言いたいところですが、先日も『課題感ある教科1位「情報」』という調査結果が

    やはり俺の情報教科書はまちがっている。 - Qiita
    quabbin
    quabbin 2023/01/10
    「2バイト文字」の間違いは、未だによく見るよなぁ。残像説の説明は知らなかった。/逆に暗号の所で圧縮をもってきて反論している部分は、少しもやもや。言いたいことはわかるけども、「見ても分からない」は違うかな
  • ワンランク上のSQLを書くためのポイント3つ - Qiita

    この記事はNuco Advent Calendar 2022の17日目の記事です。 ワンランク上のSQLとは? 1年近く、データ分析に関わる業務に携わっってきた中で、良いSQL、いまいちなSQLをいろいろ見てきました。 自分が書くSQLも、最初の頃は目も当てられないSQLも書いてきました。そんな中で、こんなことを意識していくと、より良いSQLになるのでは?というポイントをまとめていきます。 とりあえずSQLの文法は一通り勉強して、取得したいデータをとってくるSQLをかけるようになったぞ。という人に向けたものなので、当に基礎的な文法は解説していません。 ワンランク上のSQLを書くためのポイントは、 ・読みやすい ・再利用しやすい ・処理が早い の3つを押さえられているかどうかだと感じています。 可読性が高いメリット 間違いにくくなる/デバックが容易になる エラーが出てくれれば間違っているこ

    ワンランク上のSQLを書くためのポイント3つ - Qiita
    quabbin
    quabbin 2022/12/18
    COUNT(column_name)とCOUNT(*)の区別がついてない時点で、やり直して来たほうがいい感が結構する。COUNT内のCASE文は逆に、COUNT(column_name)で十分に見えるしなぁ。
  • Java 19新機能まとめ - Qiita

    Java 19が2022/9/20にリリースされました。 https://mail.openjdk.org/pipermail/jdk-dev/2022-September/006933.html 今回、正式導入された機能がほとんどありませんが、Record PatternsやVirtual Threadは注目すべき機能です。 こちらの配信で解説しています。 詳細はこちら JDK 19 Release Notes Java SE 19 Platform JSR 394 OpenJDK JDK 19 GA Release APIドキュメントはこちら Overview (Java SE 19 & JDK 19) 追加されたAPIまとめはこちら https://docs.oracle.com/en/java/javase/19/docs/api/new-list.html APIの差分はこちら。

    Java 19新機能まとめ - Qiita
    quabbin
    quabbin 2022/09/21
    Virtual Threadか…。なるほどね
  • ER図の自動生成について、dbdiagram.io, DBeaver, A5M2 を比較してみる。 - Qiita

    はじめに データベース設計のER図について、自動で生成する以下3つのツールを比較した記事です。 dbdiagram.io DBeaver A5:SQL Mk-2(A5M2) 先日、こちらの記事をQiitaに投稿したところ、多くの方に記事を見ていただき、コメントも多数いただきました。 ER図に関するお勧めのツールをコメントいただく方が多くいらっしゃいました。 今回はその中から、無料でも利用できる3つのツールの「ER図の自動生成」の機能を試します。 比較の結論としては、〇〇が一番良いという感想ではなく、どのツールも多機能で、できることは違うので、今後使うときは用途や業務の環境によって使い分けていけたらと思っています。 目次 それぞれのツールについて、下記の内容を書いていきます。 1. dbdiagram.io 1-1. 始める 1-2. 使う 1-3. 感想 2. DBeaver 2-1. 始

    ER図の自動生成について、dbdiagram.io, DBeaver, A5M2 を比較してみる。 - Qiita
    quabbin
    quabbin 2022/08/17
    クライアントツールは困る。しかし、独自サービスに閉じこもるのも困る。う~ん。いいものはないだろうか。
  • IPアドレスの例示で xxx.xxx.xxx.xxx を使うな - Qiita

    悲劇は起こった… ある日のLINE A氏「IPアドレスについて教えて欲しい!」 B氏「IPアドレスっていうのは xxx.xxx.xxx.xxx っていうフォーマットの…」 A氏「このリンクなに?」ポチー \フワーオ♡/ B氏(YABE) 何が起こったのか LINETwitter などの SNS は投稿されたリンクを自動的に飛べるようにしてくれます。 今回不幸なことに、この .xxx というドメインは存在し、xxx.xxx というドメインは登録されていました。 参考: ドメイン (domain)とは |「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 ドメイン名の種類 JPNIC そして .xxx ドメインの用途はよりによって… 用途 登録対象 > アダルトエンタテイメント業界用 < >> アダルトエンタテイメント業界用 << >>> アダルトエンタテイメント業界

    IPアドレスの例示で xxx.xxx.xxx.xxx を使うな - Qiita
    quabbin
    quabbin 2021/12/09
    yyy.yyy.yyy.yyy を使えばOKですね!(そういうことじゃない / 192.0.2.0 やらを使うのがたしかに正しいのだけど、覚えてないよなぁ…そんなの。
  • できないエンジニアの特徴 - Qiita

    エンジニア単価表の記事はこちら! はじめに 社会人になってから数年。数々の失敗を目撃 & 体験をしてきました。 その教訓で、改善すればより仕事も人間関係も円滑に進み、エンジニアとしても成長できるだろうなというネガティブな点をまとめてみました。 僕も過去できていなかったり、今もできていないところはありますが、反面教師として伝えられたらと思います。 特徴 1.納期に間に合わない時、自分から報告してこない 明確に期日が共有できているのにも関わらず、直前もしくは遅れる旨を報告してこないパターンです。 責任感がない人に多い気がします。実力不足であったり、実装していくうちにタスクの見積もりがずれることもあるので勇気を持って報告しましょう! 2.タスク分解しないで、仕事し始める 機能実装のような中規模以上のタスクは、DB変更など下のレイヤーが間違っているとその上位の実装も全て修正しなくてはいけなくなりま

    できないエンジニアの特徴 - Qiita
    quabbin
    quabbin 2021/11/04
    Noと言わないエンジニアも困るけど、Noとしか言わないエンジニアも困りものだと、最近感じている…、
  • ブラウザのUser-Agentが滅茶苦茶になってしまった理由 - Qiita

    はじめに ブラウザとそうでないもの(ブラウザのふりをしないボットなど)を見分けるためには、HTTPリクエストで使われているUser Agentヘッダーを使用することが多いです。 例えば、みなさんもこの怪しいUser Agentを見たことがあると思います。ChromeのUser Agentです。 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36 ChromeがWebKitを使っているのは分かるのですが、Mozilla、Geckoとかとは全く関係ないはずですがw... むしろ敵同士です。しかも何故かSafariのバージョンまで入ってます。 少し古いですがUser Agent一覧を見ると、ほとんど全てのブラウザがMoz

    ブラウザのUser-Agentが滅茶苦茶になってしまった理由 - Qiita
    quabbin
    quabbin 2021/06/15
    あわせて読みたい: https://japan.cnet.com/article/35147994/
  • 「ASCIIをUTF-8にして」それが『できない』ことを理解してもらえなかった話 - Qiita

    物語の始まり 事の発端は納品後。 先方からメッセージが届きました。 クライアント様「このファイルの文字コードがShift_JISになっておりますので、UTF-8で再納品をお願いいたします。」 拙者(あれ…UTF-8にしてたと思うんだけどな) 拙者「確認いたします。」 文字コードを確認する 案件はいわゆる更新案件で、今回の納品時に言われていたのは、「文字コードがUTF-8ではないものは変換して納品してくれ」ということ。 そして、ご指摘いただいたのは、今回の更新案件で中身はいじらなかったJavaScriptファイル。 来ならば納品するファイルではないのですが、文字コード変換という要件があったため、納品ファイルとして加えられたものでした。 一括で文字コードを変えたので作業漏れかなぁと思っていました。 ファイルの中身は記事用にかなり適当につくったものですが、まあだいたいこんな感じです。

    「ASCIIをUTF-8にして」それが『できない』ことを理解してもらえなかった話 - Qiita
    quabbin
    quabbin 2021/04/04
    BOM入れちゃえばいいのに。Excelだと文字コード解釈の都合でCSVにBOMがないとどうしてもUTF-8と解釈されないのよね。/BOMは「必須じゃない」ってだけで、正式な規格。処理が狂う物もあるが、そちらがバグ
  • マイクロサービスアーキテクチャの経済と適応度 - Qiita

    はじめに マイクロサービスアーキテクチャは、独立してデプロイ可能で疎結合サブシステム群によってサービス開発を行うというアーキテクチャパターンです。現在のソフトウェアサービス開発では欠かすことができない考え方です。 従来では一定のコストが掛かり、またパフォーマンス上の問題もあったため、必要に応じての分割には難しい側面も多かったのですが、様々なエコシステムの発達によってわずかな機会費用で実現できるようになってきました。もちろん分散システムとしての質的な難しさやアーキテクチャの移行の質的な難しさは解決したわけではありませんが、手軽にコンテナレベルで分割された様々なサービスを作成することのコストは急速に下がってきました。 これらが、うまくサブドメイン境界によって分割されることで、ある開発チームが知らなければならない情報が制限されるため、スピード感のある開発力を維持しながら開発組織のスケールでき

    マイクロサービスアーキテクチャの経済と適応度 - Qiita
    quabbin
    quabbin 2021/03/07
    アムダールの法則からマイクロサービスの経済性を考える意欲的な取り組み。確かにマイクロサービス間に依存関係があると経済性が下がる。けど、依存関係って主にコード以外に潜むから、計測不可能なんだよなぁ…。
  • Java7からJava16までの変遷。 - Qiita

    まえがき ずっとJava11を使っていました。そのためすっかりラムダ式やStreamAPIでの書き方に慣れていたのですが、最近Java7を使って稼働しているプロジェクトに異動したので、何ができて何ができないのか、ちょっと調べてみました。 Javaの変遷 私見ですが主要だと思う仕様変更を並べてみました。アプリ実装に関係する部分のみピックアップしています。 このバージョンのこれは入れておいたほうが良いよ!との意見がありましたらコメントにぜひお願いします。 Java8 2014/03/18 正式リリース(GA) https://openjdk.java.net/projects/jdk8/ ラムダ式 https://openjdk.java.net/projects/lambda/ https://qiita.com/sano1202/items/64593e8e981e8d6439d3 pub

    Java7からJava16までの変遷。 - Qiita
    quabbin
    quabbin 2021/02/09
    sealed…なるほど。興味深い
  • 2020年のおもしろかったDL/ML論文10選 - Qiita

    はじめに 2020年も,機械学習コミュニティでは多くの新しい成果が見られました.2019年に引き続き,1年を振り返ってもっとも面白かった論文を10紹介したいと思います. * 記事は,私のブログにて英語で書いた記事を翻訳し,適宜加筆修正したものです. ** 記事中の画像は,ことわりのない限り対象論文からの引用です. 論文10選(公開順) 普段から,読んだ論文を簡単にまとめてツイートしているので,それを使って公開日順に振り返っていきます.対象はおおまかに「2020年に公開された論文」と「2020年に学会・雑誌で発表されたもの」とします.全くの主観で選んでいるので,私の興味範囲である深層学習および応用研究に偏っている点はご容赦ください. 紹介するのはこちらの10です! Rigging the Lottery: Making All Tickets Winners PIFuHD: Multi

    2020年のおもしろかったDL/ML論文10選 - Qiita
    quabbin
    quabbin 2021/01/20
    音声って繊細なわりに大胆さも必要で、めんどっちいんだよなぁ。Jukeboxか。見逃していた。
  • ぐるぐるSQLは止めてくださいという話 - Qiita

    1. はじめに 仕事の都合で DB/SQL の性能問題を調査する機会が少なくありませんが(決してメインの仕事ではないですが)、その中でよく出くわす問題の1つに「ぐるぐるSQL」(もしくは「ぐるぐる系」)といわれる、ループで大量の SQL 文を呼び出しているものがあります。 感覚ですが、私の周りでは OLTP 系システムの DB/SQL の性能問題の原因の割合は以下のように感じています。 30%:ぐるぐる SQL 20%:SQL 文の書き方が不適切 15%:索引がない or 不適切 15%:パーズが遅い 10%:データモデルがおかしい 10%:その他 (大昔は2番目 / 3番目がほとんどだったのですが、最近はなぜがぐるぐる SQL が多い…) ぐるぐる SQL の実装では、ネットワーク通信や、アプリ側のクエリ生成 / 結果データ構築、DB 側のクエリ受信 / 結果送信といった、処理の質的で

    ぐるぐるSQLは止めてくださいという話 - Qiita
    quabbin
    quabbin 2021/01/18
    タイトルだけ見て、一瞬cursolの話かと思ったら違った…。設計とコードをどう対応させるかという問題もあるんだよなぁ…。
  • ポートフォリオのアプリを公開したらイタズラされまくった話 - Qiita

    #はじめに 私はこれまで開発未経験からサーバーサイドエンジニア転職を目指しており、 Laravel等の技術を使用して「朝活SNS」アプリを個人開発し、 AWSのEC2上で、一般公開していました。 アプリの紹介記事をQiitaにも投稿したところ、 →AWS, Docker, CircleCI, Laravelでポートフォリオを作成してみた【参考リンク付き】 有難いことに300LGTMもいただくことができ、多くの方に 実際にポートフォリオアプリを触ってもらえたものの、結構いろんなイタズラもされしまっておりました。^^; 実装の詰めが甘かったところもあり、その脆弱性を突かれたイタズラ等もあったので、 アプリはデプロイして終わりなのではなく、運用フェーズに入ってからも気を抜いてはいけないのだと実感しましたね。。 こちらの記事では、そんなイタズラの数々や、それに対策できた部分について簡単にご紹介でき

    ポートフォリオのアプリを公開したらイタズラされまくった話 - Qiita
    quabbin
    quabbin 2021/01/13
    なるほど。こりゃいろいろ遊べそうだが…自重しておこうw
  • 副業×AWSでわりと人生変わったエンジニアの話 - Qiita

    はじめに 何を書こうか迷ってたんですが、ちょうど副業始めて1年ほどたったので、どういうきっかけで始めたか、何をしてるのか、やってみたメリットなどを書いていこうと思います。 なぜ副業×AWSなのかというと、自分が副業をやっていく中で普段AWSに触れていることが強みになっていたので、単に副業だけじゃなくAWSも混ぜてみました。 これから副業を始めようと思っている人、特に業で役割が変わってあまりコード書けなくなった人に参考になれば。 自己紹介 業ではSREという部署でCloud Architecture Grpというチームを持っており、自社サービスであるCOMPANYのクラウドネイティブ化を推進しています。 主にクラウドプラットフォームとしてはAWSを利用しているため、日常的にAWSのサービスに触れる機会が多いです。 そんな業の傍ら、3社で副業やってます。(20名規模ぐらいのベンチャー)

    副業×AWSでわりと人生変わったエンジニアの話 - Qiita
    quabbin
    quabbin 2020/12/28
    何が変わったのかと思ったら、「彼女と別れた」って。そこかw /しかし、セキュリティまわりが問題になっているという割には、セキュリティ周りの検討が緩いような?