タグ

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

  • Chrome 80が密かに呼び寄せる地獄 ~ SameSite属性のデフォルト変更を調べてみた - Qiita

    Chrome 79以下や他ブラウザのデフォルト値。 Chrome 80からこの値を設定する場合、Secure属性も必須となる。 Aサイトに対し、Bサイトからどのようなリクエストがあっても、発行したサイトでCookieヘッダーに含める (Cookieを使用する) 図にすると以下のようになります。 Strict 外部サイトからのアクセスではCookieを送らない。 Lax 外部サイトからのアクセスはGETリクエストのときだけCookieを送る。 None 従来通りの動き。 【追記】なおChrome 80以降でSecure属性を付けずSameSite=Noneを指定した場合、set-cookie自体が無効になります。 セキュリティ上の効果 CSRF対策になります。 CSRF (クロスサイト・リクエスト・フォージェリ) とは、 WEBサイトがユーザー人の意図した動作であることを検証していないため

    Chrome 80が密かに呼び寄せる地獄 ~ SameSite属性のデフォルト変更を調べてみた - Qiita
    kyaido
    kyaido 2020/02/21
  • TypeScriptをプロダクト開発に使う上でのベストプラクティスと心得 - Qiita

    同じTypeScriptという言語を利用する場合においても、トランスパイラによってTypeScript自体の機能制限がかかったり、思わぬトラブルを招く場合があります。それぞれのトランスパイラの特徴を踏まえた上で、それにより生じる問題も見ていきましょう。 1-1. tsc TypeScriptの開発元であるMicrosoft純正のTypeScriptトランスパイラです。TypeScriptを利用する際に typescript パッケージをインストールする必要がありますが、それに同梱されています。 公式ツールなだけあって最も早く最新バージョンのTypeScriptに対応したり、言語すべての機能を利用することができる一方で、バンドラではないためminifyやchunkの設定はできません。また、Path Aliasesの未解決や旧ESへの互換性が不完全であることが欠点として挙げられます。 tsco

    TypeScriptをプロダクト開発に使う上でのベストプラクティスと心得 - Qiita
    kyaido
    kyaido 2020/02/11
  • AppComponentの処理を型安全に行う - Qiita

    この記事は Next.js Advent Calendar 2019 の21日目の記事です。 Next.js はフレームワークとして必要最低限の機構のみ提供しているため、運用上必要になる機構は自作する必要があります。例えば全ページで「メタデータの注入」が必要になったとき、それを制約する機構は備わっていません。稿では、middleware とも呼べる AppComponent でこの受領するメタデータを型で守り、処理を安全に実行するTIPSを紹介します。 Next.js のバージョンは次のものです。

    AppComponentの処理を型安全に行う - Qiita
    kyaido
    kyaido 2020/02/11
  • Visual Studio Code 重複行を削除する - Qiita

    目的 重複したテキストデータを削除したい。 手順 1. 行をソートする Command + A でソートする行を範囲選択する Command + Shift + P >Sort Lines Ascending 昇順または降順に並び替える 2. 正規表現で重複行を削除する 検索窓を表示する: Command + F 正規表現を使用する: Command + option + R 検索ボックスへ入力: (^.*$)(\n(^\1$)){1,} 置換ボックスへ入力: $1 すべて置換: Command + option + Enter キャプチャ動画 補足 (^.*$)\n(^\1$)、 $1 の正規表現の補足です。 まず、正規表現では括弧で囲われた部分は変数に代入されます。 括弧の数に応じて $1,$2,$3... と代入されていきます。 \1 は前方で記憶した文字列をマッチしています。 改行

    Visual Studio Code 重複行を削除する - Qiita
    kyaido
    kyaido 2020/02/04
    “$1”
  • useRef は何をやっているのか - Qiita

    useRef は元々あった createRef の hooks 版です。その名の通り、DOMに対する参照を持つために使われるのが主な目的です。 ですがそれ以外の用途にも利用することができます。 最初に私が知ったのはこちらのReact体のドキュメントにも記されている「以前のstateの値を参照する方法」です https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state function usePrevious(value: any) { const ref = useRef(null); useEffect(() => { ref.current = value; }); return ref.current; } なにやら useRef で前回の値を保持しているようですね。それまで ref と

    useRef は何をやっているのか - Qiita
    kyaido
    kyaido 2020/01/10
  • CSSの単位remの正しい使い方 - Qiita

    CSS Advent Calendar 201918日目に空きがあったので埋めます。 最終日も私です。 QiitaやGoogleでremと検索すると、間違った使い方をしている記事がたくさん出てきます。 remはroot emの略! って分かってるならRootを潰すな! rootはユーザー設定により変動するかもしれないものです。 ユーザビリティを考えるなら、きちんとユーザーの設定に対応出来るようにしましょう。 よく見る間違った使い方 間違った使い方の言い分 モダンブラウザの初期値は16pxです。 だからrootを62.5%(10px)にすれば1rem = 10pxで分かりやすいです。 15pxは1.5remと書きましょう! [疑問] 全部pxじゃだめなの? 1rem = 10pxより全部pxで書くほう分かりやすい。 15pxと書いたほうが楽だし。 なぜこんな変な書き方が流行ったのでしょうか?

    CSSの単位remの正しい使い方 - Qiita
    kyaido
    kyaido 2020/01/05
  • font-familyについて本気で考えてみた - Qiita

    今年はmacOSのアップデートによりヒラギノが動かなくなったり、 来年初頭にはWindows7がサポート終了、Edgeのブラウザエンジン変更など、 エンドユーザーの環境を考えなければならない節目の時です。 そこでいつもコピペで済ましているfont-familyについて1から考え直してみます。 全部読もうとしている人はスクロールバーを見てから考えてください。 結果 コピペユーザーのために先に結果を記載します。 ブログ等に転載する場合はこのページのURLぐらい貼ってください。 @font-face { font-family: "Original Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 100; } @font-face { font-family: "Original Yu Gothic"; src: local("Y

    font-familyについて本気で考えてみた - Qiita
    kyaido
    kyaido 2020/01/05
  • Redux不要論と、グローバル状態管理ライブラリReactNの紹介 - Qiita

    若干強めのタイトルです。あらゆるケースでReduxが不要と主張するつもりはありません。 しかし、Reduxが不要と思われるケースでもReduxが使われることを避けるため、「Reduxは必ず採用しなければならないものではない」ということを意識していただきたく、刺激的なタイトルで始めました。 (個人的にはむしろ、積極的に採用すべき理由がなければ採用しない方が良いくらいに思っています) (MobXとか他のライブラリについては一旦置いておきます) Reduxのメリット Redux's motivation 曰く、SPAに於けるstate管理とDOM操作の複雑性のうち、Reactがviewレイヤの問題を整理しようとしている。Reduxはstate管理の部分を担当し、stateの変更を予測可能なものにする(to make state mutations predictable)ことを目指しているとのこ

    Redux不要論と、グローバル状態管理ライブラリReactNの紹介 - Qiita
    kyaido
    kyaido 2020/01/02
  • TypescriptとReact HooksでReduxはもうしんどくない - Qiita

    🏔背景 Reduxはしんどい、だるい、でかい、というイメージが定着して久しいですね 😭 僕も3年ほど前にどっぷり触ったときは「こいつぁなかなか」という感想でした。 しかしながら状態管理ライブラリやらFlux思想やらの流れとしてReduxが不可避の存在だったために、おつらい経験をされた方も多かったのかなとお察しします。 時代は巡り2019年末、令和元年のご時世ではすっかりTypescriptによる型安全、正式提供されたReact Hooksによる脱Class component・HOCフリーな省エネ設計などが定着してきており、この両者を前提とした構築がもはやスタンダードとなってきています。 諸兄の人柱的知見も相まって最近は敬遠されがちなReduxパイセンですが、この度久方ぶりにがっつりと向き合ってみると、上述した両者の恩恵を受けてなんだか垢抜けた感じになっていました。知ってましたか?

    TypescriptとReact HooksでReduxはもうしんどくない - Qiita
    kyaido
    kyaido 2020/01/02
  • Gitレポジトリを移行する方法 - Qiita

    既存のGitレポジトリを、GithubやBitBucketのようなホスティングサーバに移行したり、逆にローカルサーバのGitBucketやGitLabなどに移行したい場合、(乗り換えなど)まあ単純にpushすればいいやんと思ったら、思うような結果にならなかったり、面倒な手順になってしまったりしてしまった。 どうも自分のワーキングのレポジトリから飛ばそうとすると、tagだったりbranchだったりが移行できていないかったりするのです。 ぐぐると、いったんローカルにリモートと同名のブランチ作って(checkoutして)から、push --all, --tags とかしてる奴とかありますがそれは面倒だなぁやだなぁみたいな。 最終的には、これが一番楽な手順かなと思う手順に行きつけたのでここに記す。 $ git clone --mirror <SOURCE_REPOSITORY_URL> $ cd

    Gitレポジトリを移行する方法 - Qiita
    kyaido
    kyaido 2019/12/30
  • スマートロック SESAME の WEB API が便利だった! - Qiita

    ■はじめに 昨年末の Google Home / Amazon Echo リリースから、私の回りでもおうちハックが盛んで自分も色々遊んでいます。その中でも特に気になっていたのがスマートロック。玄関のカギをスマートにコントロールするアイテムです。 数年前から BLE の普及に合わせて盛り上がってるのは知ってはいましたが、ちょうど良い機会なので、そしてスマートスピーカーを使って音声で玄関を開錠したくて(ひらけゴマで(笑))遅ればせながら導入してみました。 こーゆー製品は知識では知ってはいても実際に日常生活で使ってみないと当の価値は分かりませんね。 今回実感しました。 ということで・・・・今回は実際に自宅に導入したスマートロック製品 SESAME の簡単なご紹介と、複数の方からご要望を頂きましたので、SESAME の特徴である WEB API による制御についてご紹介してみようと思います。 h

    スマートロック SESAME の WEB API が便利だった! - Qiita
    kyaido
    kyaido 2019/12/28
  • TypeScript で書く React コンポーネントを基礎から理解する - Qiita

    この記事は Recruit Engineers Advent Calendar 2019 の 23日目の記事です。 TypeScriptプロジェクトReact コンポーネントを書いていると、コンパイラに怒られることがたびたびあります。ネット上にあるサンプルコンポーネントが JavaScript で書かれていると、プロジェクトにもってきたときにコンパイルできないということはよくあるんじゃないでしょうか。any でコンパイラを黙らせることもできますが、せっかく TypeScript を使っているので、安全に解決したいよねってことでこのような記事を書きました。 型定義は @types/react@16.9.17 にしたがっています。目次をみて、この程度のことはもう知っているよという方は react-typescript-cheatsheet をみてください。React + TypeScr

    TypeScript で書く React コンポーネントを基礎から理解する - Qiita
    kyaido
    kyaido 2019/12/25
  • aタグの中にaタグをJSを使わずに配置したい - Qiita

    Qiita記事を見ていると「なんとなくで書かないで!HTML5を書く時に気にしてみたいタグごとのお約束 - Qiita」で、HTMLを書くときの注意点などが紹介されていました。 ただ「aタグの中にaタグ」の箇所で、JSを使う方法が紹介されていました。 これはJSは使わなくてもできます。 気になったので書いてみました。 まず、aタグの中にaタグはどういう状況か? 例えば、カード全体がクリッカブルエリアになっており、子の要素にもリンクが必要な時です。 HTMLで表現するなら、下記の状態。 しかしHTMLの仕様上、aタグの中にaタグは含められません。 仕様を無視していれても、動作しません。 <a href="" class="card"> <div class="card-inner"> <h1 class="card-title">Title Text</h1> <ul class="card

    aタグの中にaタグをJSを使わずに配置したい - Qiita
    kyaido
    kyaido 2019/12/25
  • 君はまだ平成のアーキテクチャを使ってるのか?僕はFirebaseと令和の時代に行くぞ。 - Qiita

    Help us understand the problem. What is going on with this article? メリークリスマス! この記事はFirebase Advent Calendar 2019の25日目の記事です。 これはなに? この1年、を書いたり勉強会で登壇したりいろいろやってみた結果を振り返ってみると、当に多くの人がFirebaseにふれるようになったなぁと思います。圧倒的な開発者体験の良さをもってバックエンドの関心事を一手に引き受け、アプリケーション開発を劇的に高速化してくれるソリューションとして、Webアプリでもモバイルアプリでもバックエンド第一の選択肢として確固たる地位を確立しつつあるのではないでしょうか。 それ自体はとてもいいことなのですが、Firebaseの強さを活かすためのアーキテクチャに関するアイデアはあまり表に出てきていないのではな

    君はまだ平成のアーキテクチャを使ってるのか?僕はFirebaseと令和の時代に行くぞ。 - Qiita
    kyaido
    kyaido 2019/12/25
  • 思いもよらないものをnpm publishしてしまった話(前任者の顔写真など) - Qiita

    俺「すっげぇいい名前のライブラリ思いついた!!」 俺「npm あるかな?あるかな?」 (カタカタ) 俺「なかった!よっしゃ一番乗りや!!!今すぐ作らないと!!!」 俺「npm init enter enter enter enter npm publish うおおおおおおおいっけぇぇぇ!!!!!!!」 (カタカタカタカタカタカタカタカタッターン) 俺「ミ゜ッ!」 ーーー おはようございます。番環境でやらかしちゃった人 Advent Calendar 2019の 23 日目を担当する、@sandessOjisanです。この記事では 思いもよらないものを npm publish したお話 を紹介します。 僕は あるとき 色々な会社の仕事を請け負っていた時期があり、そのときの無邪気なnpm publishによって、良くないことをしてしまったというお話しです。このコマンドを叩くといきなり番環境

    思いもよらないものをnpm publishしてしまった話(前任者の顔写真など) - Qiita
    kyaido
    kyaido 2019/12/23
  • lodash やめ方 - Qiita

    みなさん、 lodash で消耗してますか? 私は消耗しています。 なぜ lodash で消耗するかというと、とにかく思考停止でインストールされ、 node_modules 下で大量に重複します。サイズが大きいlodashが複数バンドルされてビルドされると、重篤なパフォーマンス上の問題を引き起こします。 lodash には実装上の問題もあり、異様に丁寧に、そして富豪的に作られており、その結果ビルドサイズが無駄に大きいです。丁寧に作られて入るのですが、現代のフロントエンド水準や一般的なポリフィルと噛み合っていません。というわけで、常々やめたいと思っています。 ちゃんとES201xを追ってる人からすると、ほとんどの lodash のメソッドは不要に見えるはずです。エントリは、思考停止で lodash で実装しようとする人に、ちょっと考え直しては? と投げつける用の記事になります。 現代におい

    lodash やめ方 - Qiita
    kyaido
    kyaido 2019/12/23
  • vscode-eslint v2 - Qiita

    Microsoft が自ら提供している Visual Studio Code の ESLint 拡張 (vscode-eslint) がメジャー バージョンアップして、その設定方法が大幅に変わったのでまとめてみます。 ESLint の自動修正を保存時に自動的に適用するための設定 v1 で提供されていた eslint.autoFixOnSave 設定は廃止され、代わりに editor.codeActionsOnSave または editor.formatOnSave を利用します。言い換えると、vscode-eslint 独自の方法で保存時の処理を実施していたのが、Visual Studio Code の標準的な方法で実施するように変更されたわけですね。2 つありますが、editor.codeActionsOnSave のほうが推奨されています。 editor.codeActionsOnSa

    vscode-eslint v2 - Qiita
    kyaido
    kyaido 2019/12/21
  • 🎊Reactの2種類の新フック「useTransition」と「useDeferredValue」を最速で理解する(プレビュー版) - Qiita

    🎊Reactの2種類の新フック「useTransition」と「useDeferredValue」を最速で理解する(プレビュー版)JavaScriptReact 10月25日、Reactの新機能であるConcurrent Modeのプレビュー版が発表されました。この中には、Concurrent Modeの恩恵を得るために必要となる新しいAPIが含まれています。 これらのAPIの中心となるのが、Suspenseと2種類の新しいフックuseTransitionとuseDeferredValueです。この記事ではこの2種類のフックに焦点を当てて、これらが何をしてくれるのか、どのようにこれらが新しいのかを解説します。 要するに、Reactの公式ドキュメントを読んでまとめましたということです。特に、ガイドを一通り読んで理解しないとこれらのフックが何をしているのか理解しにくいため、最速で理解できるよ

    🎊Reactの2種類の新フック「useTransition」と「useDeferredValue」を最速で理解する(プレビュー版) - Qiita
    kyaido
    kyaido 2019/12/11
  • ワイ「アニメーションするにはこのuseTransitionってのを使えばええんか?」 - Qiita

    社長「やめ太郎くん」 ワイ「なんでっか社長、ワイは今Reactのアプリを半分だけVueに書き換える作業で忙しいんでっせ」 ハスケル子「(何でそんな意味不明なことを……)」 社長「せやったな、これからはVueの時代やからVueの使用実績を増やさなあかんねん」 ワイ「とはいえReactも今年公式ドキュメントの日語版が出たり勢いづいとるから捨てがたい」 社長「せやから半々にしてどっちも取り入れるんや! 素晴らしい施策やろ!」 ワイ「さすが社長!」 ハリー先輩「(案件を半々にするんちゃうのかい!)」 ハスケル子「(私は何でこんな所でインターンしているんだろう)」 ※ この記事は全面無職やめ太郎さんリスペクトのワイ記法でお送りする二次創作記事です。(6ヶ月ぶり3回目) Reactでアニメーションを実装したい 社長「さて、今回はアプリにいい感じのアニメーションを追加してもらいたいんや。これからはUX

    ワイ「アニメーションするにはこのuseTransitionってのを使えばええんか?」 - Qiita
    kyaido
    kyaido 2019/12/11
  • Angularでの開発を快適に進めるために知っておきたいこと - Qiita

    Help us understand the problem. What is going on with this article? この記事は Angular #2 Advent Calendar 2019 3日目の記事です。 こんにちは、奥野賢太郎( @okunokentaro )です。今回は同日に公開された記事『フロントエンドフレームワーク選定前に知っておくべき Angular の 6 つの問題点と、それでも Angular を選ぶ理由』のアンサー記事として、筆者の考える問題点の克服方法、または誤解の解消、および自分がAngularを選ぶ理由を述べようかと思います。 特定のAPIの便利な使い方…とかよりは、もうちょっと視座の高い話になっています。また稿内にてReactの言及が多いことについては、アンサー元の記事がReact推しておられることに由来しており、それらの節で言及してい

    Angularでの開発を快適に進めるために知っておきたいこと - Qiita
    kyaido
    kyaido 2019/12/04