タグ

2020年5月12日のブックマーク (16件)

  • GitHubのWebhookをNode.jsで受け取る - wadackel.me

    このブログではテーマファイル、及び記事データを GitHub で管理し、$ git push した際のフックを仕込む事で VPS 上に自動デプロイされるような構成になっています。 Jekyll や Hugo などの静的サイトジェネレータを使ったブログだと、GitHub Pages での運用例が沢山出てくるのですが、VPS でやるとなった場合に意外と情報が少ないように感じました。 一応セキュリティを意識しつつX-Hub-Signatureを使った署名確認をしつつ、GitHub Webhook を Node.js で受け取るところまでを書いてみようと思います。 前提とやりたいこと 実際のコード例を示す前に簡単に前提を整理しておきます。この記事では自動更新部分や、bot の動かし方については書いていません。 GitHub Webhook を Node.js で受け取りたい PHP の方が気軽に出

    GitHubのWebhookをNode.jsで受け取る - wadackel.me
    odan3240
    odan3240 2020/05/12
  • 機密情報の比較処理、secure_compareの実装について

    ActiveSupport::SecurityUtils.secure_compareやRack::Util.secure_compareについてメモ。 文字列が等価であるかどうか確認するのにa == bという風に書くことが多い。 しかし、機密情報の比較にこの形式を用いると、処理に要する時間からアルゴリズムが特定されたり、機密情報自体が漏れる可能性がある(所謂、Timing Attack)。 例えば、クーポンや一時トークンの確認などではTiming Attackに気をつける必要がある。 通常の文字列比較の場合、1byte目から確認していき、文字列が異なる時点でFalseを返す実装が多いと思う。 'secret' == 'hoge' # F 'secret' == 'soge' # TF 'secret' == 'sege' # TTF ... 'secret' == 'secret' #

    機密情報の比較処理、secure_compareの実装について
    odan3240
    odan3240 2020/05/12
  • Webhook - Wikipedia

    A webhook in web development is a method of augmenting or altering the behavior of a web page or web application with custom callbacks. These callbacks may be maintained, modified, and managed by third-party users and developers who may not necessarily be affiliated with the originating website or application. The term "webhook" was coined by Jeff Lindsay in 2007 from the computer programming term

    odan3240
    odan3240 2020/05/12
  • Closure Tools  |  Google for Developers

    Stay organized with collections Save and categorize content based on your preferences. The Closure Compiler compiles JavaScript into compact, high-performance code. The compiler removes dead code and rewrites and minimizes what's left so that it downloads and runs quickly. It also checks syntax, variable references, and types, and warns about common JavaScript pitfalls. These checks and optimizati

    Closure Tools  |  Google for Developers
    odan3240
    odan3240 2020/05/12
  • 安全で便利な Webhook を作る

    安全で便利な Webhook を作る Tweet Webhook をご存知でしょうか。GitHub やその他のサービスで提供されているあの機能です。 今回は弊社の Komoju API で Webhook を提供する際に気づいた、webhook 実装上の注意点について書きます。 内部のサーバーへのアクセスを禁止する 一般的な Webhook はユーザーが送信先となる任意のURLを指定して、サービスはそこに対してPOSTリクエストを送信します。 このときに気をつけないといけないのは「そのURLがサービス内部のホストかどうか」を識別しなければならないということです。 たとえば localhost とか、内部 DNS のドメインとかです。このような宛先への Webhook 送信を許可してしまうと、来は外部から隔離されてアクセスできないはずのサーバーに Webhook送信サーバー経由でアクセスで

    安全で便利な Webhook を作る
    odan3240
    odan3240 2020/05/12
  • 第1-4回「新型コロナ対策のための全国調査」からわかったことをお知らせします

    厚生労働省においては、3月30日にLINE株式会社と「新型コロナウイルス感染症のクラスター対策に資する情報提供に関する協定」を締結し、この協定に基づく情報提供に資するため、LINE株式会社の公式アカウントにおいて、サービス登録者に対して「新型コロナ対策のための全国調査」をこれまでに4回にわたり実施しました。今回、その分析結果より、以下のようなことがわかりましたので、お知らせします。 全国調査のまとめ ・発熱者(37.5度以上の発熱が4日間以上)の回答者における割合(発熱率)は、全国調査第1~3回にかけて、全国的に上昇していましたが、第4回の結果では、減少傾向が見られました(それぞれ、0.11%、0.13%、0.15%、0.13%) ・第4回調査時点で、「身体・健康について心配している」に「はい」と回答された方の割合は26.8%で、タクシードライバーが最も高く32.7%、学生が最も低く18.

    odan3240
    odan3240 2020/05/12
  • PubSub Functionのfan-outの限界

    最近、数百から数千単位の処理を、順次処理するのではなく並列に処理することでリソースを有効に活用して処理時間を短縮する方法を考えて実装を行った。スレッドや goroutines のようなプログラミング言語内の仕組みで作ったのではなくて、すべてフルマネージドのクラウドで行ったのだが、その際に謎の挙動に苦しんだのでそのメモを残しておく。 基的な仕組み以下を利用した。 Cloud FunctionsCloud PubSubCloud FirestorePubSub Functions で fan-out を行った、という表現になるらしい。 もう少し細かいことを言うと並列に function を呼び出すために、 順次処理のループを回す function の中で処理そのものを行わずに次の function を起動する message を publish する1 から起動された function が個

    odan3240
    odan3240 2020/05/12
    “PubSub は速い。めちゃくちゃ速い。local の emulator は全然速度が出なくて並列度も2並列くらいしか動かないんだけど、GCP 上の PubSub は何十倍も何百倍も速い。この結果何がミスとして見つかったかというと、 ”
  • Google、ウェブサイトのUX健全性を示すWeb Vitalsを導入。3つの重要指標はLCP/FID/CLS

    [レベル: 上級] ウェブで優れたユーザー エクスペリエンスを実現するために “Web Vitals(ウェブ バイタル)” というコンセプトを Google は導入しました。 Web Vitals の土台として次の要素を重要視します。 読み込み時間 インタラクティブ性 ページ コンテンツの視覚的な安定性 それぞれの要素を測定するための指標とツールの提供を始めています。 Core Web Vitals: ウェブに関する 3 つの主な指標 Web Vitals を数値化するために、ウェブに関する特に重要な 3 つの指標を Google は設定しました。 ひっくるめて、“Core Web Vitals”(コア ウェブバイタル)と呼びます。 Largest Contentful Paint (LCP) First Input Delay (FID) Cumulative Layout Shift

    Google、ウェブサイトのUX健全性を示すWeb Vitalsを導入。3つの重要指標はLCP/FID/CLS
    odan3240
    odan3240 2020/05/12
  • npm Blog Archive: npm v7 Series - Introduction

    The npm blog has been discontinued. Updates from the npm team are now published on the GitHub Blog and the GitHub Changelog. >> Arborist Deep Dive Quite a lot has happened in npm since our last update way back in 2019. We’re overdue for a status update on npm v7. Despite some massive distracting changes (some unfortunate, some very fortunate), development work has been proceeding steadily. Yesterd

    npm Blog Archive: npm v7 Series - Introduction
    odan3240
    odan3240 2020/05/12
  • Documentation - Project References

    Project references are a new feature in TypeScript 3.0 that allow you to structure your TypeScript programs into smaller pieces. By doing this, you can greatly improve build times, enforce logical separation between components, and organize your code in new and better ways. We’re also introducing a new mode for tsc, the --build flag, that works hand in hand with project references to enable faster

    odan3240
    odan3240 2020/05/12
  • Modern CSS Solutions

    Providing Type Definitions for CSS with @property Write safer CSS using `@property`, which enables defining types for custom properties. Learn why traditional fallback values can fail, and how `@property` features improve the resilience of custom property definitions. 12 Modern CSS One-Line Upgrades Sometimes, improving your application CSS just takes a one-line upgrade or enhancement! Learn about

    Modern CSS Solutions
    odan3240
    odan3240 2020/05/12
    良い
  • 「Plasm Networkとは?」

    BUIDL(買収により途中でSecuritize)から、4月にStake Technologies(ステイクテクノロジーズ)のCOOになったサウナ好きのMasaです。Stake TechnologiesはWeb3.0の実現を目指しているブロックチェーン企業です。以前からグローバルマーケットに果敢に挑戦していているのを見て応援していました。 現在、Plasm Network(プラズムネットワーク、以下Plasm)というプロダクトを開発しています。2020年5月1日にメインネットローンチしましたが、まだ開発は続きます。このPlasmですが当初の私の認識と違っており、かつ、それなりにややこしいので他にも勘違いしている人がいるのではと思い平易にまとめようと思います。 想定読者ブロックチェーンの仕組みや課題、基盤の状況などをある程度知っていることが前提になります。現在、ブロックチェーン企業で働いてい

    「Plasm Networkとは?」
    odan3240
    odan3240 2020/05/12
  • MySQLのALTER TABLEについて少々

    2020/05/11 GMO Technology Bootcamp 2020

    MySQLのALTER TABLEについて少々
    odan3240
    odan3240 2020/05/12
  • グループ会社のインフラをECS/Fargateに移行して振り返る | ランサーズ(Lancers)エンジニアブログ

    皆さん元気ですか!?SREチームの@adachin0817です。去年から行っていた移行プロジェクトで、グループ会社である、シクロマーケティング株式会社の「ミギウデ」をさくらVPSからAWSへ移行しました。今回、移行背景やECS/Fargateでのコンテナ運用について簡単にご紹介と振り返りを行ってみたいと思います。 なぜAWSへ移行するのか AWSへ移行すると冗長性の担保などが挙げられますが、一番は開発環境やインフラなど、すべてランサーズに統一させるということが第一の目的です。それに伴い、ミギウデ自体のサービスがシンプルなインフラ構成ということもあり、インフラ運用の手間をなくしたいということから、ECS/Fargateで初の外部サービスとしてコンテナ運用にチャレンジしてみようとなりました。 目的とコンテナ化にするメリット ・内部統制対応 ・S3、RDSを利用したバックアップ ・CloudWa

    グループ会社のインフラをECS/Fargateに移行して振り返る | ランサーズ(Lancers)エンジニアブログ
    odan3240
    odan3240 2020/05/12
  • GitHub - daybrush/selecto: Selecto.js is a component that allows you to select elements in the drag area using the mouse or touch.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - daybrush/selecto: Selecto.js is a component that allows you to select elements in the drag area using the mouse or touch.
    odan3240
    odan3240 2020/05/12
  • PJでUIデザインにAtomic Designを導入したらどうだったのか | フューチャー技術ブログ

    今回はUIと少しUXのお話ですこんにちは。フューチャーでUXの専門家をさせていただいている平川といいます。 フューチャー技術ブログでは、【Figma】を使ってチームでUI/UX設計するといいこと の記事を書いた久保さんと同じチームに所属しています。 PJでは最高の顧客業務を目標に、業務、UXUIの設計と、アプリ開発をさせていただいています。 今回はPJの現場でUXUIのデザインを通して、Atomic Designの導入はどのような結果を生んだのか、Atomic Design導入に際しての課題や取り組み方のコツなんかをお伝えできればと思います。 Atomic DesignAtomic Designは、Webページやアプリケーションを作成する際に、UIの最小要素(原子)からの組み合わせで構築していく考え方です。Atomic Designの提唱者はHTMLタグを元素周期表に見立ててそれを原子

    PJでUIデザインにAtomic Designを導入したらどうだったのか | フューチャー技術ブログ
    odan3240
    odan3240 2020/05/12