タグ

ブックマーク / zenn.dev/azu (13)

  • GitHub OAuthアプリを使ったスパム攻撃を停止させる

    2024年2月21日ごろから、"Github Jobs"を名乗るGitHubの開発者ポジションをオファーするスパム攻撃が発生しています。 仕組みとしては、GitHubのIssueやPRでmentionをするとメールの通知が届くのを利用して、コメントでスパムメッセージを送りつけるものです。 以前からこのスパムは存在していましたが、今回おきた問題はGitHub OAuth Appを用意して、スパムコメントで24時間以内にここから申請してくださいという感じの誘導して、OAuthアプリの認証を行わせる攻撃が含まれていました。 このスパムOAuthアプリは、GitHubのprivateリポジトリの読み取りやコメントの読み書きなどの権限も持っていたため、このスパムアプリを認可してしまうと、その人のアカウントでさらにスパムコメントが増えるという問題が起きていました。 詳細は、次のGitHub Discu

    GitHub OAuthアプリを使ったスパム攻撃を停止させる
    efcl
    efcl 2024/02/22
    スパムやフィッシングサイトを報告して止める方法をまとめた。
  • ついにGraphQLに入門した!

    今さらですが!GraphQL、ついに、挑戦しました👏 興味はあったものの、まだ着手できていなかったのですが、お仕事の関係もあり、挑戦するに至りました。 ということで!GraphQLとは何なのかから、どう実装したのかまでを整理しておこうと思い、記事を作成しました! GraphQLを使ったことなくても、「へー、大体こんな感じなんだなー🤔」みたいな感じで伝われば良いなと思っています。 挑戦したこと 今回挑戦したのは、GraphQLです! 「GraphQLってどうやって使うの?」っていうことを学ぶところから、実際に自分で使ってみる、サービスを軽く実装してみるっていうところに挑戦しました。 ちなみにこんなの実装してみました。 みんな大好き、タスク管理ですね👏 GraphQLって何? まず、GraphQL とは何かについて、整理していきます。 概要 A query language for y

    ついにGraphQLに入門した!
    efcl
    efcl 2023/09/30
    GraphQLのresolverの実装
  • Cloudflare Workers のためのフルスタックツールキット Superflare を試してみた

    Superflare は Cloudflare Workers 用のフルスタックツールキットです。D1 Database 向けの ORM や R2 Storage 向けのユーティリティなどの機能を提供しています。 Superflare 自体はフレームワークを謳っておりません。実際に、Superflare は Remix、Next.js、Nuxt.js などのフレームワークと組み合わせることで効果を発揮します。 Getting Started Cloudflare Workers アカウントの作成 Cloudflare Workers を動かすためには(ローカル環境も含めて)Cloudflare Workers のアカウントを作成する必要があります。アカウントを作成するには下記サイトから「Sign up」をクリックします。 プランの選択は無料プランである「Free」プランで問題ありません。

    Cloudflare Workers のためのフルスタックツールキット Superflare を試してみた
    efcl
    efcl 2023/04/03
    superflare
  • 初めてでもわかる、GitHub Sponsorsでオープンソースを支援する方法

    この記事は、オープンソースのメンテナーを支援する方法として利用できるGitHub Sponsorsの特徴や使い方について紹介します。 この記事の目的 この記事はMaintainer Monthの一環として書いています。 Maintainer MonthはGitHub社が主催していて、オープンソースのメンテナーが集まって情報共有したり、メンテナーを祝ったり、メンテナーを支援する方法を振り返るイベントです。 オープンソースのメンテナーを支援する方法として、コード的な貢献、ドキュメントの貢献、IssueやPRのトリアージ、コミュニティの支援、デザイン、翻訳、金銭的な支援などがあります。 支援する方法の一つである金銭的な支援として、GitHub Sponsors、Patreon、Open Collectiveなどが有名です。 この記事では、支援できる開発者の数も多いGitHub Sponsorsの

    初めてでもわかる、GitHub Sponsorsでオープンソースを支援する方法
    efcl
    efcl 2022/07/01
    GitHub Sponsorsの特徴や基本的な使い方について。 スポンサーになるための設定、手数料、メンテナーに対して送られる情報などについて
  • Webpack5 Module Federation で始めるマイクロフロントエンド

    Module Federation とは Module Federation は Webpack 5 からコア機能として導入されました。 Module Federation を使用すると、異なる JavaScript アプリケーションから動的にコードをロードすることができます。これは複数の個別のビルドによって単一のアプリケーションを構築する手段を目的としています。 これはマイクロフロントエンドという言葉でよく知られていると思いますが Module Federation の目的としてはそれに限定されません。 マイクロフロントエンドとは? マイクロフロントエンドについてうまく説明できる自信はないので説明は委ねます。 マイクロフロントエンドアプリケーションを作成する それでは、実際に Module Federation を使ってアプリケーションを作成してみましょう。 例として、以下の3つのフロン

    Webpack5 Module Federation で始めるマイクロフロントエンド
    efcl
    efcl 2022/01/16
    webpackのModule Federationについて
  • colorsなどのnpmパッケージに悪意あるコードが含まれている問題について

    追記: 2022年1月11日 2:29 JSTにDoS脆弱性としてセキュリティアドバイザーが出されて、悪意あるバージョン(1.4.1や1.4.2)はnpmからunpublishされ、npmの最新は安全なバージョンである1.4.0へと変更されました。 Infinite loop causing Denial of Service in colors · GHSA-5rqg-jm4f-cqx7 · GitHub Advisory Database 2022-01-08 に colors というnpmパッケージにDoS攻撃のコードが含まれたバージョンが1.4.44-liberty-2として公開されました。 GitHub: https://github.com/Marak/colors.js npm: https://www.npmjs.com/package/colors 問題についてのIssu

    colorsなどのnpmパッケージに悪意あるコードが含まれている問題について
    efcl
    efcl 2022/01/11
    colors.jsにDoS攻撃のコードを入れたものがpublishされていた問題について。 npmパッケージの直接的/間接的依存のチェック方法やYarnの`resolutions`、npm 8.3+の`overrides`でのバージョン固定方法について。
  • Vue2のプロジェクトをVue3へマイグレーションする

    Vue 3が正式リリースされてから約1年が経過しました。 Vuetifyのリリース目標である2021年Q3も近づく中でそろそろVue3へのアップデートを検討されている方もいらっしゃることでしょうか? この記事ではVue 2からVue 3への移行手順を記述していきます。 参考用のプロジェクトとして以下レポジトリを用意しました。 Vue 2からの移行を体験してみたい場合には、vue2-todo-appのタグにチェックアウトしてください。 移行ビルドを使用する Vue 2からVue 3へ移行するためのツールとして、公式から@vue/compatが提供されています。 @vue/compatを使用すると、Vue 2モードで動作するため、Vue 3で削除や非推奨になったAPIも一部の例外を除いてそのまま使用することができます。Vue3 で削除で非推奨になった機能は実行時に警告が出力されるようになります

    Vue2のプロジェクトをVue3へマイグレーションする
    efcl
    efcl 2021/09/18
    vue-cliを使っているプロジェクトをVue2からVue3へのマイグレーションするチュートリアル。 `@vue/compat`、`eslint-plugin-vue`導入し、それぞれのAPIの変更に対応し、`@vue/comat`を取り除くまでの流れを解説している。
  • Travis CIのGitHub連携を停止する方法

    Travis CIのセキュリティ的なリスクが表面化したため、GitHubのリポジトリとの連携をすべて切る方法について書いた記事です。 Summary この記事がやっていることのサマリです。 Travis CIに設定されているSecrets(環境変数)が、ForkしたPull Request(PR)に対するビルドへ露出していた脆弱性があった 具体的な影響範囲の開示や利用者へのメールでの通知などがないため、情報が不透明な状態 Travis CIはメインで利用しなくなったため、安全のためにTravis CIのGitHub連携を止める Travis CIのSecurity Bulletin 最初にブログでThe Travis CI Blog: Security Bulletinという簡潔な記事が公開された。 詳細は別途Security Bulletin - Announcements - Trav

    Travis CIのGitHub連携を停止する方法
    efcl
    efcl 2021/09/17
    Travis CIがSecrets Env(環境変数)をForkされたPull Requestのビルドに対しても露出するインシデントがあって、ちょうどいい機会なのでTravis CIのGitHub連携を全部切った話。
  • JSDocで型を定義してTypeScriptの恩恵を受ける

    普段から TypeScript で開発されているほうならば、TypeScript の恩恵を十分に堪能されていることと思います。 特に私は VS Code のインテリセンスには頼りっぱなしでこれがなければまともにコーディングができない体になってしまいました。 しかし時には、TypeScript という概念が存在しない退屈な世界で開発を行わなけらばならない状況はあるでしょう。私はもはやキーボードでタイピングすることすらままなりません。 そんな JavaScript しか利用できない状況で代替手段となるのが、JSDoc です。JSDoc のアノテーションによって型を付与することによって最低限の支援を受けることができます。 @Type @Type タグを使用すると、TypeScript で型をつけるときと同じように型を宣言できます。

    JSDocで型を定義してTypeScriptの恩恵を受ける
    efcl
    efcl 2021/08/16
    TypeScriptのJSDocサポートとTypeScriptのJSDoc構文について
  • monorepoでPR中のコードをnpmパッケージとしてcanary releaseするGitHub Actions

    GitHub Actions + lernaでcanaryリリース 次のようなGitHub Actionsを設定することで、PR中に/canary-release というコメントをすると、そのPRのコードをcanaryリリースできるようになります。 Requirements: lerna name: '/canary-release' on: issue_comment: types: [ created ] permissions: contents: read # for checkout pull-requests: write # for comments packages: write # for publish jobs: canary-release: name: canary-release runs-on: ubuntu-latest if: | # コメントを扱う制限

    monorepoでPR中のコードをnpmパッケージとしてcanary releaseするGitHub Actions
    efcl
    efcl 2021/07/30
    lernaを使ってGitHub Actionsからcanaryリリースする方法について
  • JSer.info #540 フォローアップ: オープンソースの予算、フレームワークでのIE 11サポート終了の時期

    BabelとOpen Collective Babel is used by millions, so why are we running out of money? · Babel Babel is used by millions, so why are we running out of money? | Hacker News 4月末で大体20万ドルだった予算が、アナウンス後では大体25万ドル程度になっている。 Sponsor @babel on GitHub Sponsorsの方はあまり大きな変化がないので、基的にOpen Collectiveに集まっている感じがする。 この話題に対して@sebmckがBabelを批判したけど、その後訂正して取り消した。 Sebastian McKenzie and Jamie Kyle and Open Source Open Collec

    JSer.info #540 フォローアップ: オープンソースの予算、フレームワークでのIE 11サポート終了の時期
    efcl
    efcl 2021/05/18
    オープンソースにおけるOpen Collectiveの年間予算の調査と各種フレームワークまでのIE 11サポート終了期限について
  • JSer.info #538 編集後記: 会社になるオープンソース、webpack作者がVercelに入社したり、タブ間同期とPartitioning

    会社になったり、VCから資金調達したり、会社に入ったりするオープンソース Excalidraw Excalidrawが持続可能な形とするために、会社となってExcalidraw+というコラボレーションベースなプロダクトを提供するという話がでていた。 Introducing Excalidraw+ | Excalidraw Blog ExcalidrawはFacebook(React周り)の@vjeuxが初めたプロダクト。 Excalidraw: Cool JS Tricks Behind the Scenes by Excalidraw Creator Christopher Chedeau aka @vjeux - YouTube Excalidraw Company自体は、@vjeuxはボードで、Top Contributorの人がチェコで会社を作ってやるらしい。 Excalidraw

    JSer.info #538 編集後記: 会社になるオープンソース、webpack作者がVercelに入社したり、タブ間同期とPartitioning
    efcl
    efcl 2021/05/05
    Excalidraw, Rome, Denoとオープンソースなプロダクトから会社を始める事例が増えてきたのでまとめた。
  • Node.js 10がサポート終了したので、Node.js 12以降だとできるようになることをまとめる

    ECMAScript Modules Added in: 12.7.0 Node.js 12.7.0で--experimental-modulesフラグが外れたため、Node.js 12 LTSではECMAScript Modules(ESM)が利用できるようになります。 Node v12.17.0 (LTS) | Node.js Modules: ECMAScript modules | Node.js v16.0.0 Documentation これによりライブラリがCommonJS形式(require/exports)ではなく、ESM形式(import/export)で公開できるようになります。そのため、多くのライブラリがESM形式のみでの公開へと切り替わっていきます。 ESMはブラウザ(IE以外)、Node.js、rollup/webpackなどのbundler、TypeScrip

    Node.js 10がサポート終了したので、Node.js 12以降だとできるようになることをまとめる
    efcl
    efcl 2021/05/04
    Node.js 12から利用できるようになったNode.jsのAPIや機能、V8アップデートによるECMAScriptサポートについてまとめた記事。
  • 1