タグ

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

  • 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
    yosuke_furukawa
    yosuke_furukawa 2023/12/04
    言わんとすることは理解するも、期間が短いからみんな困惑してるんだろうなぁ。
  • ソルト付きハッシュのソルトはどこに保存するのが一般的か - Qiita

    pictBLandとpictSQUAREに対する不正アクセスがあり、パスワードがソルトなしのMD5ハッシュで保存されていたことが話題になっています。 2023年8月16日に外部のフォーラムにpictSQUAREより窃取した情報と主張するデータ販売の取引を持ち掛ける投稿が行われた(中略)パスワードはMD5によるハッシュ化は行われているもののソルト付与は行われていなかったため、単純なパスワードが使用されていた29万4512件は元の文字列が判明していると投稿。(それ以外の26万8172件はまだMD5ハッシュ化されたままと説明。) 不正アクセスによるpictBLand、pictSQUAREの情報流出の可能性についてまとめてみた - piyolog より引用 これに関連してMD5ハッシュやソルトに関するツイート(post)を観察したところ、どうもソルトの理解が間違っている方が多いような気がしました。

    ソルト付きハッシュのソルトはどこに保存するのが一般的か - Qiita
    yosuke_furukawa
    yosuke_furukawa 2023/08/17
    『これに対抗するためにペッパー(pepper)というものを用いることも推奨され始めています。pepperは単一の秘密の文字列であり、これを混ぜることにより、パスワードの秘匿性を高めます。』ペッパー!!
  • TypeScriptファーストなバリデーションライブラリ Zodの始め方 - Qiita

    はじめに ここ最近の業務では TypeScript を用いた webフォームの実装を担当させていただいています。 親愛なる上司が TypeScriptファーストなバリデーションライブラリの存在を教えてくださり、「プロダクトでどう使えるか考えてみるのも楽しいかも」とお題をくださったので、今回は手始めにZodの基的な使い方について記事を書かせていただこうと思います。 Zod とは Zod GitHub: https://github.com/colinhacks/zod TypeScriptファーストなスキーマ宣言・バリデーションライブラリ。 ここでいうスキーマとはデータの型のことで、Zodではスキーマの宣言 → スキーマに沿っているか値を検証 というステップでバリデーションを行います。 公式にもある通り、「parse, don't validate」の思考に基づいた関数型プログラミングのア

    TypeScriptファーストなバリデーションライブラリ Zodの始め方 - Qiita
  • 技術顧問との1on1で見積もりには3種類あることを教えてもらった - Qiita

    はじめに 記事はモチベーションクラウドシリーズ Advent Calendar 2022の17日目になります。 自分は外部の技術顧問の方に月に一回のペースで1on1する機会をもらっています。 今回はその中で話したことを共有します。 ※公開するにあたって分かりやすさを重視して脚色しています。 見積もりに対する課題感 ぼく「約束は開発を遅らせるという記事を最近読んだのですが、その通りだと思ったのですよね。」 さて、チームの外に対して約束するために「この機能1ヶ月で出せるよね?」とプロダクトの人やマネージャーに聞かれたら。これは返事に悩む。「ラフで構わないから」って言われて伝えたら、それがコミットメントになってしまったのを過去に何度も見たことがある 約束してはいけないと言いたいわけではない。約束が必要な場合がほとんどだと思う。ただ、その約束は開発を遅くするんだなぁ。だから、約束せずに気楽に開発

    技術顧問との1on1で見積もりには3種類あることを教えてもらった - Qiita
    yosuke_furukawa
    yosuke_furukawa 2022/12/21
    「見積もりって3種類あんねんな」 めちゃくちゃいい話。ソフトウェア見積もりは名著。開発が出した見積もりよりは絶対にデッドラインを前倒しては行けないなどの話がちゃんと書いてある本。
  • ニジボックスでState Of JavaScript / CSS のスポンサーになった話 - Qiita

    ニジボックスで State Of JavaScript / CSS のスポンサーになった こちら、フッターを見てくれると良いのですが、 Google の隣に並んでいますね。震えますね。 経緯 もともとは POST Dev というイベントがありました。ニジボックスの中でやったイベントの中でもかなり大掛かりなものであり、イベントトータルで見ても楽しかったなーと思っています。 総合司会としてずっと出てましたが、いつもやってる JSConf.jp のような技術だけを紹介するイベントではなく、組織論とか技術以外の話もチラホラ存在する範囲の広いイベントだったと思っています。 さて、そのイベントの中で Sacha さんは State Of JavaScript / CSS の結果を通じて最先端の JavaScript トレンドがどうなるかを教えてくれました。 その話で色々と聞いていたら、 「実はスポンサ

    ニジボックスでState Of JavaScript / CSS のスポンサーになった話 - Qiita
    yosuke_furukawa
    yosuke_furukawa 2022/12/05
    State Of JS / CSS のスポンサーになった話を書きました。スポンサーを募集しているので、他にも日本の企業是非!!!!
  • Next.js x Relay な GraphQL 環境で Render-as-you-fetch の良さを最大限生かしつつ SSR にも対応したいあなたへ - Qiita

    Next.js x Relay な GraphQL 環境で Render-as-you-fetch の良さを最大限生かしつつ SSR にも対応したいあなたへRelayGraphQLNext.js はじめに 最近 Next.js ベースのプロジェクトGraphQL クライアントとして Relay を導入したのですが、これが端的に言ってめちゃくちゃ大変だったので記事にしました。 チームの試行錯誤の結果を余すところなく伝えたいと張り切りすぎた結果死ぬほど長くなってしまったので、「いいからコードはよ」という方は 最終的にこんな実装になりました (コード編)をご覧ください。 謝辞 愛するチームメンバーのみんな。これまでの道のりで私を支え、愛してくれたみんながいなければ、この記事は完成できなかったと思う。 また、この記事が世に出せたのは、スーパーテクニカルアドバイザーである koichik さんの

    Next.js x Relay な GraphQL 環境で Render-as-you-fetch の良さを最大限生かしつつ SSR にも対応したいあなたへ - Qiita
    yosuke_furukawa
    yosuke_furukawa 2022/10/25
    濃厚
  • Deno のめっちゃ難しいバグを修正した - Qiita

    2022年4月、Deno に以下のバグが報告されました。 fetch API を使って 300KB ぐらいあるファイルをアップロードすると、一定確率でアップロードされたファイルが壊れるというバグの報告です。 報告者によれば、1.20.6 まではバグは発生しておらず、1.21.0 から発生するようになったという事です。1.20.6 の次のリリースが 1.21.0 なので、パッチバージョン1個分まで、バグの発生時期が特定されている状態です。 fetch 周りは自分はほぼ実装していないので「担当範囲ではない」感覚だったので、普通にスルーしていました。 自分に限らず、Deno Land コアチームの誰もこの issue にピンと来る人が居なかったようで、stale ボット (数ヶ月進捗の無い issue を自動的にクローズしようとするボット) に2回もクローズされかけていました。Deno の st

    Deno のめっちゃ難しいバグを修正した - Qiita
    yosuke_furukawa
    yosuke_furukawa 2022/10/05
    なるほど、たしかに難しい。
  • JavaScriptで文字数を数えるのはそんなに簡単ではない - Qiita

    はじめに JavaScriptにて文字数をカウントする方法に関する記事をいくつか目にする機会があり、今回実際に記事を参考に調べてみました。 簡単そうに見えて意外と難しいです。 String.length Googleなどで「JavaScript 文字数 カウント」とかで検索すると真っ先に出る方法です。 MDN公式ではString.lengthに関して以下のように説明されています。 length プロパティは String オブジェクトの文字列長を UTF-16 コードユニットの数で表します。 length は、 string インスタンスの読み取り専用データプロパティです。 UTF-16 コードユニット ざっくりと説明するならUnicodeで割り当てられた番号をUTF-16 という文字コード方式で割り当てられた各文字に対応するIDを指します。 難しい単語がいくつか出てきているので1つずつか

    JavaScriptで文字数を数えるのはそんなに簡単ではない - Qiita
  • エンジニアリングマネージャ/プロダクトマネージャのための知識体系と読書ガイド - Qiita

    記事は、Engineering Manager Advent Calenderの1日目です。 はじめに エンジニアリングマネージャ(EM)と呼ばれる職務を設置する企業が増えてきました。 私たちの主催したイベントEOF2019でも700名近い方に参加していだき、また多くの方にご協力いただき成功裏に終わることができました。 EM Meetup/EM.FMなどのムーブメントの中心の一翼を担わせていただき、その高まりを感じる一方で不安も感じます。このエンジニアリングマネージャという職務は非常に多岐にわたるケースが存在していますし、必要だとされるスキルもまちまちです。そして、多くの場合、その企業のステージや状況ごとに求めるものは違います。また、求めていることを明文化することすらされていないケースも存在します。 このことから、エンジニアリングマネージメント自体が一時的な潮流として消費され、消えていっ

    エンジニアリングマネージャ/プロダクトマネージャのための知識体系と読書ガイド - Qiita
    yosuke_furukawa
    yosuke_furukawa 2022/01/04
    ものすごくわかりやすい!!!一個だけあるとすると、強い・弱いだとどうしても強弱の印象がついてしまうから、 "広くて満遍ない EM" か "狭くて深い EM" として読んだ。どちらも非常にスキルフルだ。
  • プログラマーとエンジニアリングマネージャと経営の交差点から - Qiita

    古川です。籍の会社ではシニアソフトウェアエンジニアとグループマネージャの兼任、ニジボックスではデベロップメント室というところの室長をやっています。 今日は宣伝に近いのですが、以下のようなイベントをやるので、その触りとしてどういう話をしたいかをここに書こうと思っています。 ビジネス&クリエイティブ 持続的な組織の成長とは? チーム構築とビジネスグロースの両立を考える シニアソフトウェアエンジニア その名の通りエンジニアの中でシニアロールです。以下のようなことをやっています。 便利ライブラリ作り 設計の技術的な相談に乗る エンジニアコミュニティを社内に立ち上げて勉強会開く グループマネージャ マネージャの中でも私のやっていることはいわゆるエンジニアリングマネージャです。エキスパートなメンバーが多いので、彼らメンバーのキャリアの相談に乗ったり、誰と誰を組ませてお互いを成長させるか考えたりしてい

    プログラマーとエンジニアリングマネージャと経営の交差点から - Qiita
    yosuke_furukawa
    yosuke_furukawa 2021/12/24
    書いた!!!
  • エンジニアも見ておきたいGoogle Search Consoleの機能 5選 - Qiita

    はじめに 「株式会社じげん Advent Calendar 2021」17日目を担当します、きあ(Chia)です。 エンジニアとしてプロダクトの開発・運用保守をしつつ、SEO・CROといったマーケティング施策の立案・分析も担当しております。 今回は、エンジニアとマーケティングの両方を担当している私から、「Google Search Console」(以下サーチコンソール)で、エンジニアが見ておくとサイトの改善効率が上がる機能を5つご紹介します。 このような方に向けた記事です 自社でWebサービスを開発・運用しているエンジニアの方 サーチコンソールにどのような機能があるか知らない方 基的な機能の紹介、見ていく上での簡単なポイントの紹介となります。 普段からサーチコンソールを見る習慣がある方、またWebサービスの運用に関わっていない方にはあまり役立てないかもしれません。 用語について 記事中

    エンジニアも見ておきたいGoogle Search Consoleの機能 5選 - Qiita
  • マークアップエンジニアからフロントエンドエンジニアになった道のりを晒す - Qiita

    【はじめに】 フロントエンドエンジニアの kalbeekatz です。話の背景となる自分の経歴から紹介させてください。 Web制作会社でマークアップエンジニアとして HTML/CSS/JavaScript(主に jQuery)で静的な Web サイトの構築をしていました(2年間)。 その後、株式会社ニジボックスに転職し、フロントエンドエンジニアとして上記に加え、React で動的な Web サービスを構築してきました(2年半)。 この5年間を通して自分がマークアップエンジニアからフロントエンドエンジニアになるまでを振り返り、それぞれの違いや求められること、やりがい、道のりなどをまとめました。 これからエンジニアを目指す方、マークアップ以外のエンジニアリングに興味を持っている方などの参考になれば幸いです。 マークアップエンジニアフロントエンドエンジニアの違い 「マークアップエンジニア」「フ

    マークアップエンジニアからフロントエンドエンジニアになった道のりを晒す - Qiita
  • 【Next.js11】next/scriptで外部スクリプトの実行順序を制御する - Qiita

    はじめに WEBサイトでは外部スクリプト、例えば広告計測用のGoogle/Yahoo/Facebookタグを入れていることがほとんどだと思います。今回広告計測用ではありませんが、ある外部スクリプトを必ず読み込んでからでないと、実行できない処理があり、Next.js11のnext/scriptで解決できたのでご紹介します。 また、外部スクリプトは読み込みパフォーマンスがLCP低下の要因となり、ユーザーエクスペリエンスを損ねてしまう可能性があります。そんなときに、Next.js11のnext/scriptを使えば、スクリプトの実行順序を制御でき、問題を改善できるのでオススメです。 next/script とは 2021/6/16に発表されたNext.js11の新機能です。 With next/script, you can define the strategy property and Ne

    【Next.js11】next/scriptで外部スクリプトの実行順序を制御する - Qiita
  • Webで縦書きコンテンツ〜Safariには気を付けろ!〜 - Qiita

    この記事はNIJIBOX Advent Calendar 2021の掲載記事です。 この記事で話すこと CSSで文章の縦書きを表現した場合のChromeとSafariの表示の違いとその回避策 先日、初めてWebで文字の縦書きの実装が必要な案件に出会いました。 縦書き文章って紙媒体の小説や新聞では当たり前ですがWebではなかなか珍しいですよね。 と言っても文字を縦にするだけだしなんとかなるだろうと思っていたのですが、クロスブラウザチェック時に予期せぬ挙動を発見してしまい少し悩んだのでここに備忘録として書き残しておこうと思います。 ※PCのモダンブラウザ対応を想定しています。 ※2021/12/02時点での内容となります。 Google Chrome バージョン: 96.0.4664.55 Safari バージョン13.1.3 (15609.4.1) Webで縦書き、どうしよう? さて、そもそ

    Webで縦書きコンテンツ〜Safariには気を付けろ!〜 - Qiita
  • Temporal で JavaScript の次世代の日時処理に触れてみる - Qiita

    この記事は Recruit Advent Calendar 2021 の 7 日目の記事です。 イントロダクション Web アプリケーションの新規開発をしていて、先日、日時処理のライブラリ選定をする機会がありました。直近のプロジェクトで date-fns を使っていたので、今回もそれでいいかと考えていたのですが、Temporal が TC39 プロポーザルではあるが stage 3 になっているから試してみてもいいんじゃないかという話になりました。stage 3 であれば  API 変更のハードルは非常に高いそうです。stage 3 になるまでの提案はこちらの記事が参考になります。少し見ただけでも大きく変わっていることがわかります。 プロジェクトはまだ開発段階ですが、実際に Temporal をプロジェクトに導入しながら、検証兼開発を進めていいます。しかし、Temporal を実際に使って

    Temporal で JavaScript の次世代の日時処理に触れてみる - Qiita
  • React Testing Libraryでテスト駆動アクセシビリティ改善 - Qiita

    はじめに この記事内で扱うアクセシビリティとは、HTMLのマシンリーダビリティのことを指します。 配色、UIデザイン等は対象外としております。 アクセシビリティ観点を含めた画面機能のテストコード 私のプロジェクトの要件にアクセシビリティは含まれていません。工数インパクトを出さない範囲で気を遣っていこうという方針で開発をしていました。 要件に入っていないのでアクセシビリティの検証に工数を多く注ぐことは許されていません。しかし、考慮する以上は何らかの検証をしなければ実装の誤りに気がつくことができず、ない方がマシという状態になりかねません。 各コンポーネントのアクセシビリティを改善する際テストコードの中でアクセシビリティ検証を盛り込み、テスト駆動的に開発することでローコストかつ確実に改善を進めていく方法を実践したので記事にします。 WebシステムUIのアクセシビリティを向上させるモチベーション

    React Testing Libraryでテスト駆動アクセシビリティ改善 - Qiita
  • 【人類最難関の挑戦】サイゼリヤの間違い探しを現代技術を駆使し片面だけで解く(深層学習) - Qiita

    プロローグ ※この章は読み飛ばしても構いません 多くの人が挑むも解くことが叶わなかった人類史上の難問といわれるものがいくつかある. 数学界で最も有名な難問といえばおそらく「フェルマーの最終定理」であろう.弁護士であり数学者であったフェルマーが「解答を書くにはこの余白は狭すぎる」と書き残してこの世を去って以来,天才ワイルズが現代数学の成果を結集して証明を完成させるまで300年以上も数学者たちの挑戦を退け続けた.その他にも,京都大学の望月教授が宇宙際タイヒミュラー理論を用いて証明したといわれるABC予想や,7つのうち6つが現在も未解決であるミレニアム懸賞問題などはあまりにも有名である. 一方数学以外でも,例えば宇宙の始まりを巡る議論は多くの人を惹きつけてきた難問であり,アインシュタインやホーキングら天才たちの研究によって徐々にその姿が明らかになってきた.「我々はどこから来たのか,我々は何者か,

    【人類最難関の挑戦】サイゼリヤの間違い探しを現代技術を駆使し片面だけで解く(深層学習) - Qiita
    yosuke_furukawa
    yosuke_furukawa 2021/03/29
    人類最難関の挑戦、間違い探し業界のミレニアム問題はサイゼリヤのメニューの他にもエブリバーガーの裏パッケージにもある。
  • ニジボックスで実施してきた研修 - Qiita

    ニジボックスの研修を何個か企画して実施したので、その内容を紹介します。 JavaScript 研修 JavaScript の研修です。古川が担当しました。研修の内容としては JavaScript の基文法から文法内容を使って簡単な関数を書くパートが前半、後半は小さいアプリケーションを何のフレームワークも使わずに書いてみるところまで、ほぼ丸一日かかる6時間の研修です。 リクルートの JavaScript Bootcamp の内容がベースですね。 かなりインタラクティブな講義で、参加者がただ座学的に受けるというよりは、聞いた内容に対して質問してもらい、受けた質問から展開して、色々説明します。 イベントループの話みたいな若干マニアックな話から、ページネーションをどうやって実装するかという実践的な話もしてました。 この画像はページネーションをどうやって実装するかを解説してるところですね。 ページ

    ニジボックスで実施してきた研修 - Qiita
    yosuke_furukawa
    yosuke_furukawa 2021/03/09
    書きました!
  • 閲覧者のユーザーエージェントを三角関数で判定できるか? - Qiita

    概要 先日ふと自分のPCのフィンガープリントを取ってみたところ「IPアドレス」など様々な項目が並ぶ中に「Math.tan」という変な項目を見つけました。 「なぜ三角関数が出てくるの?」と気になって調べてみたところ、**三角関数の値はブラウザやOSの実装により微妙に異なることがあり、特定の式をブラウザに計算させることで利用者を識別する手段になり得る1**という話でした。 面白そうだなと思ったので、記事ではその手法で実際どの程度までブラウザ/OSを判別できるのか調査してみました。 検証方法 今回は様々な文献12の情報を参考に、以下の式を各OSの各ブラウザに計算させました。 tan(-1e300) cosh(10)(厳密には三角関数の類似ですが) これら以外も10数種類ほど試したのですが、判別に使えたのはこの2つのみでした。 試したOSとバージョン macOS Catalina (ver.10

    閲覧者のユーザーエージェントを三角関数で判定できるか? - Qiita
    yosuke_furukawa
    yosuke_furukawa 2021/02/16
    Math系の三角関数近似値でいいって事になってるから近似値の算出結果次第ではこうやって変わってくるのか。面白い。iOS safari と macOS safari でも値が違うの面白い。
  • 社内のリモートイベントを盛り上げるツールを作ったら予想以上に好影響があった話 - Qiita

    弊社ニジボックスには未経験から出発したエンジニアが多く在籍しています。 会社に入ってからITに触れ、案件を通して強く成長していくメンバーも多くそれはとても喜ばしいことです。 そんな中で少し思ったことは、仕事ばかりで力をつけ続けるとIT=業務だったりIT=案件といった考えに寄りすぎてしまうんじゃないかということです。 ITとはInformation Technologyの略でしかなく、必ずしも仕事ではなく趣味にも家事にもできるというのが私の考えです。 どうしたらIT初心者の方に業務ではないITを広めていけるかを日々考えながら働いています。 この記事では、業務ではないITを啓蒙するために作った1つのツールが思った以上に社内に良い影響をもたらした出来事を共有したいと思います。 そして、その出来事から感じたことを以下の三つの観点でお伝えしたいと思いました。 教育について 物づくりについて 社内環境

    社内のリモートイベントを盛り上げるツールを作ったら予想以上に好影響があった話 - Qiita