タグ

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

  • 「0.1+0.2≠0.3」を説明できないエンジニアがいるらしい - Qiita

    この記事はNuco Advent Calendar 2023の4日目の記事です。 弊社では、経験の有無を問わず、社員やインターン生の採用を行っています。 興味のある方はこちらをご覧ください。 はじめに 後輩に 「なぜ0.1+0.2≠0.3になるんですか?」 と聞かれて答えられますか? コンピュータの計算では「0.1+0.2」は「0.3」になりません。 これを理解していないと予期せぬ重大なバグを生み出す可能性があります。 分からない方、どうぞ安心してください。 この記事を読んだ全員が「0.1+0.2≠0.3」を理解できるように分かりやすく説明していきます。 コンピュータが計算を間違う理由 まず、そもそも「0.1+0.2=0.3」で正しい!「0.1+0.2≠0.3」なんてあり得ない! という方のために、プログラミング言語のフォーマット処理を経ない、コンピュータの計算結果を見てみます。

    「0.1+0.2≠0.3」を説明できないエンジニアがいるらしい - Qiita
    dpprkng
    dpprkng 2023/12/05
  • EmacsをHomebrewでインストールしてMac特有の設定をする - Qiita

    バージョンなど macOS Big Sur バージョン 11.0.1 MacBook Air (M1, 2020) Emacs 27.1 (Emacs Mac PortのHomebrew版) Rosetta2を使用したターミナル環境 Emacs Mac Port (Homebrew版) Emacsは公式がMac用のものを配布してるが,昔から日語変換のときにチラついたり問題があるので,その辺りを色々修正してくれてあるEmacsをインストールする. Mitsuharu Yamamoto氏がMac Port用に作成したものをrailwaycat氏がHomebrew用に公開している. インストール方法などもここに書いてある homebrew-emacsmacport インストール 上のリンクに書いてあるようにHomebrewでインストールすれば良い. ==> emacs-mac This is

    EmacsをHomebrewでインストールしてMac特有の設定をする - Qiita
    dpprkng
    dpprkng 2023/11/07
  • パスキーに入門してみた話 - Qiita

    久しぶりの投稿です。 はじめに 昨今、様々なサイトがどんどんパスキーに対応しはじめてきました。 まだまだパスキーがデフォルトになっていくには時間が掛かりそうですが、どのような仕組みでパスキーを実装するのか、早めにキャッチアップしておくのも悪くないと思い、パスキーについて色々と調べてみました。 パスキーとは? パスワードの代わりに、自分の持つデバイスによる生体認証やパターンを用いて認証を行う方法のことです。 次世代認証技術であるFIDO(Fast IDentity Onlineの略で、「ファイド」と呼びます)を使った認証方式(詳細は後述)で、AppleGoogleMicrosoftがFIDOを普及させるために命名したブランド名になります。 FIDOとは? 脆弱なパスワードは安全ではありません。 2段階・2要素認証を採用してもそれを有効にするユーザーは少なく、昨今では2段階認証を突破する攻

    パスキーに入門してみた話 - Qiita
    dpprkng
    dpprkng 2023/10/19
  • 【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita

    はじめに もう文字列の置換で sed コマンド使うの禁止して良いんじゃないですかね? 言いすぎだとわかってあえて言っていますが。 悪い書き方(外部コマンドに頼る方法) # 変数 line に入ってる文字列を echo コマンドで出力して sed コマンドに渡し、 # sed の s コマンドで "from" を "to" に置換して出力したものを ret 変数で受け取る ret=$(echo "$line" | sed "s/from/to/")

    【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita
    dpprkng
    dpprkng 2023/09/02
  • IntelのCPUに発覚した新たな脆弱性、Downfallについて - Qiita

    CPUにハードウェア的な欠陥が存在することがあります。 特に有名なのはMeltdown・Falloutあたりですが、これは投機的実行という高速化機構に潜んでいたバグです。 そして2023/08/08、CPUに潜んでいた新たなバグ、Downfallが発表されました。 CVE-IDはCVE-2022-40982です。 日語紹介記事:Intel製CPUに情報漏えいの恐れがある脆弱性「Downfall」が発見される、データやパスワードなどの機密情報が抜き取られる危険性 / インテルのチップから機密情報が流出する? 新たな脆弱性「Downfall」の脅威 / Intel、第11世代までのCPUに影響する脆弱性などに対処 影響するCPUは2015年のSkylakeから2020年のTiger Lakeまでと、かなりの長期間にわたります。 ということで以下は公式?の紹介サイト、Downfall Atta

    IntelのCPUに発覚した新たな脆弱性、Downfallについて - Qiita
    dpprkng
    dpprkng 2023/08/16
  • ソロ開発の最適化方法論とおすすめnpmライブラリ - Qiita

    この記事は何か 俺たちの当にやりたかったDevDay (2023/06/21) イベントでの発表資料です。 自己紹介 @akiyan https://www.akiyan.com/ ゼロ年代のDMM => ベンチャー2社 => nanapi (現supership) => 有休消化中 個人受託や個人サービス EC・動画配信・ライブチャット・ブログ・SNS・アドネットワーク・メディア・掲示板コミュニティ・EC広告リスティング・マッチングアプリ etc CakePHP => Laravel(PHP) => express + sequelize 今日話すこと ソロ開発の最適化方法 ソロ開発者におすすめな npm ライブラリ ソロ開発とは 可能な限り一人で開発するスタイル なぜこの話をするのか 組織開発論はたくさんある 個人開発論はあんまりない 世の中の99%のプロダクトは一人で開発されている

    ソロ開発の最適化方法論とおすすめnpmライブラリ - Qiita
    dpprkng
    dpprkng 2023/06/21
  • M1 (M2) Mac上のDockerコンテナでChromeを動かす方法 2023年版 - Qiita

    FROM foo # ... RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list' RUN apt-get -y update RUN apt-get install -y google-chrome-stable # ... # コンテナ起動後アプリケーション内のChrome利用箇所でクラッシュ selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed. (chrome not reachable) (The process star

    M1 (M2) Mac上のDockerコンテナでChromeを動かす方法 2023年版 - Qiita
    dpprkng
    dpprkng 2023/06/13
  • 遅いDocker for macを「Mutagen compose」で爆速にする(M1対応) - Qiita

    Mutagen compose Mutagen composeは、Mutagenというローカル環境とリモート環境のディレクトリを高速に同期させることができるオープンソースの開発ツールをDocker composeと統合させたツール。 つまり、Docker環境でホスト側とコンテナー側のファイル同期を高速で行うのに特化したサードパーティーのツール。 事前準備 mutagen-composeのインストール

    遅いDocker for macを「Mutagen compose」で爆速にする(M1対応) - Qiita
    dpprkng
    dpprkng 2023/06/13
  • デジタル庁のサイトやばすぎるwww - Qiita

    はじめに みなさん、デジタル庁のサイトはご覧になったことはありますか?今話題のデジタル庁です。 こちらが2023年6月現在のデジタル庁のサイトです。やばくないですかこれ?最初見たときこれ「やっばw」と思いました。これからこのサイトのやばさを語っていきたいと思います。 洗練されたシンプルさ、そしてデザイン 僕は最初見たときびっくりしました。「なんてシンプルで見やすいんだ!」官公庁のサイトですよ?官公庁のサイトといえば、細かい字がずらっと並んで見づらいイメージでしたが、デジタル庁のサイトはとことんシンプルさを追求して見やすくしてます。フォントもNoto Sans JPを使われててとても読みやすい。黒も #000 でなく見やすい色になっている。 やばいですねこれ。 そしてこのレイアウトを見たとき、余白のおかげでとても見やすいなと思いました。そこでChrome Dev Toolでレイアウトを見てみ

    デジタル庁のサイトやばすぎるwww - Qiita
    dpprkng
    dpprkng 2023/06/12
  • LOCAL環境でHTTPSが必要なときはlocal-ssl-proxyが便利 - Qiita

    nextauth.js でシングルサインオン機能を実装する場合、SlackなどはアプリケーションがHTTPS接続をサポートしていることが前提となっており、開発時にもHTTPSのサポートが必要となる場合があります。このような場合には、local-ssl-proxyを利用して、リバースプロキシのようにする方法が簡単で便利です。 以下、LOCAL環境=Windows PC、という前提です。 local-ssl-proxyのインストール local-ssl-proxyはグローバルインストールしかサポートしていません。ので、グローバルインストールします。

    LOCAL環境でHTTPSが必要なときはlocal-ssl-proxyが便利 - Qiita
    dpprkng
    dpprkng 2023/05/22
  • フリー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
    dpprkng
    dpprkng 2023/05/08
  • 初学者の私がGitを理解するために、この順番で読めばよかったと思った記事の順番 - Qiita

    エンジニア未経験のわたしがGitを学ぶ上で、この流れで記事を読むべきだったと思ったことを記載する。 完全に初学者意見のため、疑いながら読んでください。 私は下記の流れで学習することによって、理解をしやすいように感じた。 ① Gitで何をしているかのイメージを掴む(コマンドなし) ② Gitのイメージを、コマンドで実現している記事をみる ③ 実際にGitのコマンドを打ちながら、出力と、頭の中のイメージのすり合わせ Gitで何をしているかのイメージを掴む(コマンドなし) こちらの記事は、Gitのイメージをコマンドなしで、わかりやすく図で示してくださっています。 記事にも記載されていますが、 ・重要なのは 「何」から「何」へ・「どんな作業」を行う のかを追う ・操作前と操作後でどんなことが起こっているのかをイメージする 上記の内容が、すごく同意で、重要だと感じている。いきなりコマンドを打ちながら

    初学者の私がGitを理解するために、この順番で読めばよかったと思った記事の順番 - Qiita
    dpprkng
    dpprkng 2023/04/30
  • 【Linuxカーネルを読む】ChatGPTで爆速コードリーディング - Qiita

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

    【Linuxカーネルを読む】ChatGPTで爆速コードリーディング - Qiita
    dpprkng
    dpprkng 2023/04/12
  • オイラー角に潜む5つの罠 - Qiita

    オイラー角には罠がたくさん!! 3次元の姿勢表現によく用いられる『オイラー角』。 他の姿勢表現には『回転行列』、『クォータニオン』などが挙げられる。他にもいろいろあるけど、代表的なのはこの3つ。 その中でもオイラー角は、3つのパラメータで表現できることや、人間に理解しやすい構造をしている、といった利点がある。 ただし、実際に扱うとなると非常に面倒くさい性質を持っている。 この記事は、オイラー角の面倒な性質をまとめて解説する記事である。 解説というよりも愚痴に近いかもしれない。 オイラー角とは 以下、Wikipediaより抜粋。 オイラー角は3つの角度の組で表される。 一方の座標系を$( x, y, z )$で表し、他方を$( X, Y, Z )$で表す。 簡単のために、2つの座標系は原点を共有するものと考える。 オイラー角は座標軸まわりの回転を繰り返すことで表すこともできる。 1. $(

    オイラー角に潜む5つの罠 - Qiita
    dpprkng
    dpprkng 2023/03/23
  • Unityのジンバルロックを30秒で体感する - Qiita

    この記事はUnity #3 Advent Calendar 2018 20日目の記事です。 こんにちは。 今回はジンバルロックに焦点を当てた記事を書きました。 [2019/6/16]加筆修正しました。 はじめに Unityを使っていると回転の話で度々Quaternionが出現します。下記画像の右上にあるメニューからDebugモードにするとrotationが4変数になりますがそれがQuaternionの生の値です。 通常時のInspectorビュー Debugモード時のInspectorビュー Quaternionは、オイラー角表現で発生していたジンバルロックを回避できるというメリットがあります。しかしジンバルロックとは具体的にどのような現象なのでしょうか? 今更rotationの話をするのは二番煎じ感はありますが自分の中で把握できていなかったので、それについて調べたものをできる限り分かりや

    Unityのジンバルロックを30秒で体感する - Qiita
    dpprkng
    dpprkng 2023/03/23
  • 【初心者向け】Docker for Macで開発環境を作る(アプリサーバとDBサーバのコンテナ間連携まで) - Qiita

    いまさらDockerをはじめてみました。 コマンドを忘れやすいし、古かったり断片的にしか欲しい情報がなかったりして どのように動作しているのか把握に苦しんだので備忘録含めてまとめておきます。 (この記事だけで一通りの使い方はわかるようにしたつもりです。) Dockerを使うことのメリットは次のようなものがあります。 Dockerコンテナ上に仮想環境(OS+ミドルウェア)を構築するため、実環境が汚れない 作成したDockerコンテナはイメージファイル化(Dockerイメージ)できる DockerイメージはDocker Hubでプライベートもしくはパブリックリポジトリにバージョン管理&公開できる Dockerイメージを持ってきてコンテナ起動するだけなので環境移行が楽 Dockerfileと呼ばれる環境作成ファイルからDockerイメージの作成もできる DBサーバの各コンテナを用意し、 アプリサ

    【初心者向け】Docker for Macで開発環境を作る(アプリサーバとDBサーバのコンテナ間連携まで) - Qiita
    dpprkng
    dpprkng 2023/02/18
  • 【AtCoder】中卒の主婦が青コーダーになったおはなし【競技プログラミング】 - Qiita

    はじめまして。mayocornです。 先日のABC281で青コーダーになりました! 経歴 20代の主婦。旦那は競プロやってないです。 中学卒業→高校入学→高校中退→バイトを転々とする(ITに関してはSESで半年ほど働いた経験あり)→今の住所に引越してきてからは無職 趣味ゲームで、最近やっているタイトルはファイアーエムブレムエンゲージ、Splatoon3です。音ゲーやカードゲームに熱中してた時期もありました。CHUNITHMは旧レートでベスト枠15.3くらい。でものめりこむほどお金がかかるのでやめました。競技プログラミングは何問解いても無料なので続けられてます。 学力に関して話すと、高校数学は確率、論理と集合がちょっとわかるくらいで三角関数、微分積分、行列あたりは全然分かりません。青パフォーマンスをとるのにこのへんの知識が必要になったことはなかった気がします。(私が参加した回の中では) 競

    【AtCoder】中卒の主婦が青コーダーになったおはなし【競技プログラミング】 - Qiita
    dpprkng
    dpprkng 2023/02/12
  • 初心者歓迎!手と目で覚える正規表現入門・その1「さまざまな形式の電話番号を検索しよう」 - Qiita

    はじめに Qiitaをご覧になっているエンジニアのみなさん、正規表現は使いこなせてますか? 正規表現が使えるととっても便利ですよね! あれ?そちらの方、「ぼく、正規表現ようわからへん・・・」って小さくなってませんか?? 大丈夫です!そんなあなたのために、この記事を書きました。 知識ゼロからでも正規表現を学べるようにやさしく説明しているので、とりあえずこの記事を最後まで読んでみてください。 今は \d{2,5}[-(]\d{1,4}[-)]\d{4} が謎の呪文にしか見えなくても、最後まで読めばきっと意味がわかるようになっているはずです! 対象となる読者 記事は正規表現の予備知識が全くない「正規表現初心者」を対象としています。 正規表現は便利だってよく聞くけど、意味不明な呪文にしか見えなくてなんか怖い 正規表現を勉強しようと何度か頑張ったけど、結局よくわからなくて実務で活用できていない と

    初心者歓迎!手と目で覚える正規表現入門・その1「さまざまな形式の電話番号を検索しよう」 - Qiita
    dpprkng
    dpprkng 2023/02/10
  • RSAの終わりの始まり - 暗号移行再び - Qiita

    前振り 全国の暗号を使うエンジニアの皆さんこんにちは。今日は暗号移行とRSA暗号の話をしたいと思います。まず暗号を利用している皆さんであればCRYPTRECの「電子政府推奨暗号リスト」のことはご存じですよね!(言い切るw) CRYPTRECから2022年7月(昨年夏)に暗号強度要件(アルゴリズム及び鍵長選択)に関する設定基準(PDF直リンク)が公開されました。この中では暗号のセキュリティ強度で各種暗号と鍵長が整理されています。セキュリティ強度はビットセキュリティと呼ばれるビットサイズ(共通鍵暗号の場合のビット長)で区分されます。暗号アルゴリズムが違ってもセキュリティ強度で比較ができるということですね。例えば現在一般的に良く使われているセキュリティ強度は112ビットセキュリティが多く、これにはデジタル署名であればRSA暗号の2048ビットやECDSAのP-224等が含まれます。今日は公開鍵暗

    RSAの終わりの始まり - 暗号移行再び - Qiita
    dpprkng
    dpprkng 2023/01/18
  • シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか ~ ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題 - Qiita

    シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか ~ ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題ShellScriptUNIXshellシェル芸POSIX はじめに シェルスクリプトで ls コマンドの出力結果(ファイル名一覧)をパイプで他のコマンドに渡して処理するのは推奨されません。ls コマンドを使ったコードを ShellCheck で検査するとおそらく問題があると警告が表示されるでしょう。ls を使うなという指摘自体には賛成なのですが SC2010、SC2011、SC2012 に書いてある理由については正しい説明がされていないと思っています。この記事ではなぜ ls の出力結果を他のコマンドにパイプで渡すのが悪いのか、ls を使わずに実現するにはどうしたら良いのかを解説したいと思います。一つ補足をしておくと、この問題は CLI コマ

    シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか ~ ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題 - Qiita
    dpprkng
    dpprkng 2023/01/09