ptpadanのブックマーク (1,658)

  • Dockerに関するキャッシュたち

    はじめに Dockerを用いた開発では、適切にキャッシュを用いることで高速にビルド・開発できます。そのための知見は様々な記事で共有されており、ありがたい限りです。 しかし、「Dockerのキャッシュ」と言っても開発時とCI・CDでは行うことが違います。 この記事ではDockerを用いた開発における、各段階のキャッシュ機能を確認したいと思います。 主に「Dockerのキャッシュ」というと以下の4つに分類できると思いますので、それぞれについて解説していきます。 Dockerのレイヤーキャッシュを活かす a. COPY・ADDの順番 b. dockerignoreの設定 c. マルチステージビルド buildkitによるキャッシュ a. --mount=type=cache CI・CDにおいてのキャッシュ a. 前回のビルドキャッシュを持ち越して使う リモートキャッシュ a. 開発者が初めてビル

    Dockerに関するキャッシュたち
    ptpadan
    ptpadan 2022/02/20
  • そのコードレビュー、使い捨てになっていませんか?

    こんにちは。株式会社プラハCEOの松原です。 どんな人にこの記事を読んで欲しいか コードレビューの効率化に悩んでいる コードレビューのやり方に自信が持てず、何か参考になる事例を知りたい 使い捨てコードレビューに翻弄される日々 1~2年ほど前に自社サービスを開発していた頃、弊社では全てのプルリクエスト(以降PR)に対してランダムに割り当てられたレビュワー2名、もしくはテックリード1名にapproveされない限りマージしない運用で開発していました。開発者が5名ぐらいだったと記憶しているので、規模の割にはリッチなレビュー体制だったのではないでしょうか。 修正点があれば指摘して、直して、再確認して、merge。 来る日も来る日も、確認、指摘、修正、再確認、merge。 次第に「僕ら業務時間の大半をコードレビューに使ってね?」と、レビューに費やす時間が気になるようになってきたあたりで、一度自分たちの

    そのコードレビュー、使い捨てになっていませんか?
    ptpadan
    ptpadan 2022/02/11
  • Googleフォントを使うと犯罪になる - Qiita

    <link href="https://fonts.googleapis.com">って書くと罰金取られます。 以下はGerman Court Rules Websites Embedding Google Fonts Violates GDPRというニュースの紹介です。 German Court Rules Websites Embedding Google Fonts Violates GDPR ドイツのミュンヘン地方裁判所は、あるWebサイトの運営者が、ユーザの個人情報を人の同意なしにフォントライブラリを経由してGoogleに提供したとして、100ユーロの賠償を命じました。 Webサイトが原告のIPアドレスGoogleに無断で提供したことは、ユーザのプライバシー権の侵害に当たると判断しました。 さらに、Webサイトの運営者は収集した情報をその他のデータと突き合わせることで『IPア

    Googleフォントを使うと犯罪になる - Qiita
    ptpadan
    ptpadan 2022/02/09
  • 「Rustでやると知らないうちに詰む設計」を避けるためのTipsを集めてみる

    とりあえず、よく言われてるやつから埋めていこうと思う。 構造体にライフタイムを持たせない 構造体にライフタイムを持たせるのは「基的に」避けよ、というのが重要なのは間違いないのだけど、これをもう少し実践的な内容にしたい。ちょっと考えてみたけど、こういうのはどうだろうか。 ある関数呼び出しの中でしか絶対に使わない。returnするまでにその構造体のデータは全て破棄される。static変数に退避させることもできない。アロケーションもその関数が面倒を見る。そういう一蓮托生できる関数呼び出しに心当たりはあるか? ある→ 構造体にライフタイムを持たせてもよい。 ない→ ライフタイム禁止。 そう考えてみると、DIとかReduxとかとも通じるところがあるかもしれない。「つべこべ言ってないで全部の責務を一番外側に持っていく」という決断ができるときは構造体ライフタイムが選択肢に入る。

    「Rustでやると知らないうちに詰む設計」を避けるためのTipsを集めてみる
    ptpadan
    ptpadan 2022/02/07
  • UIが嘘をつく? ユーザ体験における「楽観的な更新」とSPAでの作り方

    こんにちは、株式会社カミナシでデザインエンジニアをしているショウです。 突然ですが、UI/UX デザインにおいて、「楽観的な更新」という言葉を聞いたことがありますか?あまり聞いたことがなくても、実は日常にたくさん存在しています。 例えば、 twitter や facebook のいいねボタン。いいねをタップした直後に色がつくのですが、実はサーバーへのリクエスト送信と UI 上のいいねの色付きが同時に発生しています。つまりサーバーからの通信結果を待たずに UI を更新しています。 他に、trello でタスクカードを隣の列に移動したり、iMessage や Facebook メッセンジャーでのメッセージの送信、Kindle アプリで途中までしかダウンロード出来てないが読めることなども楽観的な更新です。 図:楽観的な更新を採用しない時と採用した時のメッセージ送信のUI (引用元) 楽観的な更

    UIが嘘をつく? ユーザ体験における「楽観的な更新」とSPAでの作り方
    ptpadan
    ptpadan 2022/02/02
  • 表示順という属性を別テーブルに分ける - そーだいなるらくがき帳

    最近、この説明を複数回したので記事にする。 要約 普段は 今北産業 派なのだが、3行考えるのが面倒なため、今後は大人の表現を使う。 「今北産業」をスタートアップ語にすると「マジ価値サマリー」になるらしい ちなみにここだけの話ですが、大人語にすると「要約」になります pic.twitter.com/Q8SflvBX7c— ところてん (@tokoroten) 2022年1月24日 画面に表示したい順(以下、表示順)は振る舞いの属性なので分ける 似たような振る舞いに関わる属性は別テーブルにわけると良い 普通に正規化しましょうって話。 表示順をカラムを追加して表現する よくあるテーブルは画面情報と合わせて表示順カラムがあるパターン。 こういうテーブルを作って SELECT * FROM items ORDER BY display_order_number; で表示順に取り出すパターン。 表示順

    表示順という属性を別テーブルに分ける - そーだいなるらくがき帳
    ptpadan
    ptpadan 2022/02/02
  • graphql-codegen は validation 用の schema も自動で生成できる (yup と zod)

    GraphQL Code Generator (a.k.a. graphql-codegen) のプラグインとして graphql-codegen-typescript-validation-schema (Star ください!) を利用すると yup や zod といったフロントエンド validation 用の schema も自動で生成できます。 例えばこのような GraphQL Schema を与えます。ここで記述している constraint directive は confuser/graphql-constraint-directive で提供されているものを想定してます。 input ExampleInput { email: String! @required(msg: "Hello, World!") @constraint(minLength: 50, format:

    graphql-codegen は validation 用の schema も自動で生成できる (yup と zod)
    ptpadan
    ptpadan 2022/02/01
    良さそう。ちょうど、prismaベースの試してたところだけど、graphqlベースのほうが使いやすそう
  • 急なTypeScript案件🔥最初の30日間に使い倒したい「コードリーディング支援ツール」 - Qiita

    この投稿では、「TypeScriptの文法や用語がよく分からない」という問題を解消してくれそうなツールを紹介します。 勉強しながらの見切り発車 最近はTypeScript未経験でも、TypeScript案件にアサインされることが増えてきているように思います。 運がいいと着手前にTypeScriptをじっくり学習する時間を与えられることがあります。しかし、多くのケースでは、見切り発車で開発に参加するのではないでしょうか。 コードリーディングから始まる TypeScript案件は、理解すべき既存のTypeScript/JavaScriptコードがあるケースが多いです。 そのため、 読んで理解すべき既存のTypeScriptコードがある しかし、TypeScriptの知識が乏しい状態でスタート といった事態がよく起きます。 新規プロジェクトでは既存コードがありませんが、ググって出てきたサンプルコ

    急なTypeScript案件🔥最初の30日間に使い倒したい「コードリーディング支援ツール」 - Qiita
    ptpadan
    ptpadan 2022/01/12
    よさそう
  • API gateway + lambda + S3でDDoS攻撃を受けて1日あたりで$3000溶かした話 - Qiita

    qiita夏祭りに乗り遅れてしまったので一人後夜祭 ~2019年某日~ パイセン「それじゃあ、ワイ君は明日からフロントのログデータを飛ばすのにAPI gatewaylambdaでS3に保存するようにしてな。木曜までな。その間に自分はサービンのドメイン取ったりRoute53周りの構築するから」 ワイ「これもcloud formationに書くんです?」 パイセン「serverless frameworkっていう基的な設定はデフォルトで構築してくれる便利なものがあるんやで。これ使い」 ワイ「めっちゃ素敵やん。わかったやで」 パイセン「週初めのMTGは終わりや飯いに行こう。上野に新しい醤油ラーメン屋ができたんや」 ワイ「いいですね〜」 パイセン「それじゃ自分は新しいロードバイク持ってきたからワイ君も付いてきてな!」 ワイ「ワイ無手なんやが?え、気で漕初めやがった!こなくそおおおぉぉぉ!」

    API gateway + lambda + S3でDDoS攻撃を受けて1日あたりで$3000溶かした話 - Qiita
    ptpadan
    ptpadan 2022/01/08
  • OSSのゆく道:Faker.jsの顛末|Takahiro Ito

    今日は技術支援のためチュートリアル的なものを作っていたところ、そこで使っていたfaker.jsというライブラリに異変が。faker.jsの機能でTwitterで表示するようなアバター画像のURLをランダムに生成するのだが、その画像がすべて403でアクセスできない。 プロトタイピングにおいてfaker.jsはとても便利だったので、このままでは色々困っちゃうなーと思って調べてみた所、オープンソースの意義について考えさせる事実が見えてきた。 faker.jsの作者を襲った悲劇他に同じ問題に遭遇している人がいないか、Twitterでfaker.jsについて調べた所、以下のツイートを見つけた。 I lost all my stuff in an apartment fire and am barely staying unhomeless. Lost access to most of my acc

    OSSのゆく道:Faker.jsの顛末|Takahiro Ito
    ptpadan
    ptpadan 2022/01/06
  • 『メシ通』年間ランキング2021 - メシ通 | ホットペッパーグルメ

    みなさんこんにちは、『メシ通』編集部です。2021年も残りあとわずか。新型コロナウイルスの影響が大きかったものの、今年も多くの記事をお届けしてまいりました。 2021年は9月末まで多くの都道府県に緊急事態宣言などが発令され、今年も新型コロナウイルスの影響が大きい1年でした。編集部はオンラインでのやり取りがメインになり、レシピやリモート取材の案件も増えました。今年も『メシ通』を楽しみに読んでくれた読者の方々、取材に応じてくれた取材先の方々、仕事を受けてくれたライター、編集者の方々。ありがとうございました。長く媒体が続けられるのも皆様のおかげです! 2022年も引き続きよろしくお願いします。 ということで、今年もやります。これさえ読めば2021年『メシ通』の話題になった記事が分かる、「年間ランキング2021」を発表させていただきます! 2020年12月20日~2021年12月20日に公開した記

    『メシ通』年間ランキング2021 - メシ通 | ホットペッパーグルメ
    ptpadan
    ptpadan 2022/01/02
  • コンピューターのチップを脳に埋め込まれた男性、考えるだけでツイートに成功

    ALSを患い、2020年にチップを埋め込む その男性とは、オーストラリア人のPhilip O-Keefeさん(62)だ。 彼は筋萎縮性側索硬化症(ALS)を患っており、2020年4月には病状が悪化。体が麻痺し、自立活動ができない状態になったため、ニューロテック企業の「Synchron社」が開発した、コンピューターチップを脳に埋め込まれたという。 そして今回、考えるだけで直接ツイッターに投稿することに成功した。その投稿は「Synchron社」のCEOであるThomas Oxley氏のアカウントに投稿されたそうだ。 no need for keystrokes or voices. I created this tweet just by thinking it. #helloworldbci — Thomas Oxley (@tomoxl) December 23, 2021 O-Keefe

    コンピューターのチップを脳に埋め込まれた男性、考えるだけでツイートに成功
    ptpadan
    ptpadan 2022/01/02
  • チームでやろう! ロールプレイテストのススメ - SmartHR Tech Blog

    こんにちは! UXライターの@aguringoです。Tech Blogには、アジャイルコーチの豊田さんのインタビューぶりの登場です。 今回は、SmartHRで一番新しい有料オプション機能「人事評価」のチームで取り入れているテスト、通称「ロープレ」についてご紹介します。(【PR】この開発チームでのUXライターについて、先日noteを公開したので、こちらも読んでいただけるとうれしいです「0→1フェーズのプロダクト開発における、とあるUXライターの働き方」) ロープレってなに? ロープレとは、正しくは「ロールプレイテスト」と言います。その名の通り、役割になりきってプロダクトを使用してテストすることです。 人事評価チーム*1では、サービス提供開始前にこのテストを実施しました。 人事評価機能は、評価業務の負担を軽減するアプリケーションです。 ざっくり言うと、 人事担当者が、評価に使う評価シートを作る

    チームでやろう! ロールプレイテストのススメ - SmartHR Tech Blog
    ptpadan
    ptpadan 2022/01/01
  • ウェブアクセシビリティ 再入門 − 2021年版 - ROXX開発者ブログ

    この記事は 個人Qiita と同じ内容です qiita.com/sekiyaeiji ウェブアクセシビリティ 再入門 ウェブアクセシビリティ 再入門 202112 記事バージョン ※ 稿は過去の登壇用のスライドの箇条書きのテキストを文章に起こし直し、更新されているデータを最新のものに置き換え、いくつかコメントを加筆して再編しました。 アクセシビリティ "アクセシビリティ" とは、「accessibility」と書きヌメロニム表記でしばしば「a11y」と記載されます。 単語の意味としては以下の通り「アクセス可能性、アクセスのしやすさ」となります。 入手[利用]可能性、可触性、近接性、手の届きやすさ 近づきやすさ、アクセス可能性 アクセス可能性、アクセスのしやすさ accessibilityとは − 英辞郎 on the WEB Web アクセシビリティとは "ウェブアクセシビリティ" とは

    ウェブアクセシビリティ 再入門 − 2021年版 - ROXX開発者ブログ
    ptpadan
    ptpadan 2021/12/31
  • 「3種類」で管理するReactのState戦略

    こんにちは、よしこです。 この記事は 2020年に立ち上げたWebフロントエンド構成の振り返り の「Stateのアーキテクチャ」項の詳細記事です。単体でも読めますが、よければ元記事もあわせてどうぞ! この記事では、今わたしが開発・運用しているアプリケーションのState戦略についてご紹介していきます。 全体像 アプリケーションに存在する状態(State)を以下の3種類に分類し、それぞれのやり方で管理しています。 サーバーデータのキャッシュ Global State Local State 1. サーバーデータのキャッシュ 「SPAで管理する必要のあるGlobal Stateって、そのうちほとんどがサーバーデータのキャッシュだよね。それを取り除けたら、管理する必要のあるGlobal Stateってすごく小さくなるんじゃない?」という主張を私が認識しはじめたのが2020年の初旬でした。おそらく

    「3種類」で管理するReactのState戦略
    ptpadan
    ptpadan 2021/12/31
  • StackOverflowからのコピペをやめろ。今すぐにだ。 - Qiita

    Original article:https://dev.to/dotnetsafer/rip-copy-and-paste-from-stackoverflow-trojan-source-solution-4p8f その昔コピペできない文章というものがありました。 実際は単にフォントを変えているだけというものですが、人間の目に見える文字と実際の文字が異なることを利用した攻撃の一種と見ることもできます。 さて、最近になって似たような攻撃に関する論文が公開されました。 人間には見えない文字を織り交ぜることによって、一見問題ないコードが実は脆弱になってしまうというものです。 ただ論文は堅苦しいうえに長くて読むのがつらいので、具体的に何がどうなのかよくわかりません。 平易に解説している記事があったので紹介してみます。 以下はDotnetsafer( Twitter / GitHub / Web

    StackOverflowからのコピペをやめろ。今すぐにだ。 - Qiita
    ptpadan
    ptpadan 2021/12/30
  • tfcmt で Terraform の CI/CD を改善する

    Terraform の CI/CD を改善する tfcmt というツールを紹介します。 ちなみに HashiTalks JP 2021 でも紹介しています。 執筆時点で最新バージョンは以下のとおりです。 tfcmt: v3.0.0 github-comment: v4.0.1 tfnotify: v0.7.0 tfcmt は terraform plan, apply の結果を GitHub の Pull Request (以下 PR) にコメントとして通知する CLI ツールです。 態々 CI のログを見にいかなくても PR のページで結果を確認でき、 なおかつ素のログに比べて非常に分かりやすいのが特徴です。 tfnotify の Fork ですが、互換性はありません。 自分にとって不要な機能(主に GitHub 以外への通知)を削る代わりに、様々な改善を入れています。 GitHub

    tfcmt で Terraform の CI/CD を改善する
    ptpadan
    ptpadan 2021/12/27
  • Neovimでのフロントエンド開発環境 2021

    最近はフロントエンドエンジニア(主にReact)をしているYano (@yuki_ycino) といいます。 この記事では自分が開発に使っているNeovim周りの環境と、その大まかな構成について書いていきます。 追記 後日、自分がNeovimフロントエンド開発を行っている理由とVSCode という記事を書きました。 合わせて読んでいただけると幸いです。 はじめに 自分は現在フロントエンド開発のほぼ全てをNeovimで行っています。 個人的にはVSCodeと遜色なく(むしろ効率よく)開発できていると思うのですが、VSCodeではシンプルな設定で開発を始められるのに対し、Vimはどうしても設定のハードルが高いです。 具体的には現在5000行弱のVimの設定ファイルと100個前後のプラグインを導入して開発しています。 ただ、それを他の方に勧めるのは無茶なので、この記事ではほぼ最小構成に近いTy

    Neovimでのフロントエンド開発環境 2021
    ptpadan
    ptpadan 2021/12/17
  • AWS Amplify Studioが変えるフロントエンド開発の未来とは

    概要 こんにちは。 KDDIアジャイル開発センターの小板橋です。 この記事は、KDDI Engineer&Designer Advent Calendar 2021の11日目の記事です。 先日(2021/12/3)、re:Invent2021でAWS Amplify Studioが発表されました。 今回は、そのAWS Amplify Studioについてまとめ、検証していこうと思います。 AWS Amplify Studio AWS Amplify Studioの機能を要約すると、フロントエンド開発者に最小限のコーディングでフロントの開発ができる Amplifyのバックエンド構成およびそれらを管理する機能を統合した開発環境 ちなみに、amplify admin uiとの違いは?? 昨年のアップデートでamplify admin uiというものが出ています。 実は今回のAWS Amplify

    AWS Amplify Studioが変えるフロントエンド開発の未来とは
    ptpadan
    ptpadan 2021/12/14
  • Log4jの脆弱性対策としてAWS WAFのマネージドルールに「Log4JRCE」が追加されました | DevelopersIO

    AWSチームのすずきです。 2021年12月11日、 AWS の Managed Ruleとして提供されている AWSManagedRulesKnownBadInputsRuleSetに新しい保護ルール「Log4JRCE」が追加されました。 Apache Log4j2 Issue (CVE-2021-44228) Log4j の脆弱性(CVE-2021-44228)対策として、AWS WAFの有効性を確かめる機会がありましたので、紹介させていただきます。 AWS Managed Rule Known bad inputs 新しいルール 「Log4JRCE」 が追加されました。 試してみた WAF(ACLs)設定 AWSManagedRulesKnownBadInputsRuleSet のみ設定した WebACLを用意しました。 BadInputsRuleSetのバージョンはデフォルト、検証

    Log4jの脆弱性対策としてAWS WAFのマネージドルールに「Log4JRCE」が追加されました | DevelopersIO
    ptpadan
    ptpadan 2021/12/11