並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 187件

新着順 人気順

lockfileの検索結果1 - 40 件 / 187件

  • モノレポにすべきか、レポジトリを分割すべきか

    先日 フロントエンドの Monorepo をやめてリポジトリ分割したワケ というブログがバズっていた。そのおかげか、Twitter でもモノレポに関する言及がちょこちょこあった。一家言あるドメインなので書きたい。ただの一家言(a.k.a お気持ち)なのでぜひ皆さんの意見も聞いてみたい。 tl;dr 別に自分はどっち派とかではなく、どっちも選ぶ。強いて言うならリポジトリ分割派で、依存更新がしんどくなったら monorepo 派。 免責 モノレポに対する一家言を書きたいだけであって、内容自体はフロントエンドの Monorepo をやめてリポジトリ分割したワケ と全く関係なく、そのブログで述べられている施策については何も言及しません。ただ一つ言及するとしたら肉の部位がコードネームに採用されているのは良いと思いました。🍖🍖🍖 モノレポにしたくなる状態の前提にあるもの 前提は元記事と同じように

      モノレポにすべきか、レポジトリを分割すべきか
    • 【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい

      はじめに 対象イベント 読み方、使い方 Remote Code Execution(RCE) 親ディレクトリ指定によるopen_basedirのバイパス PHP-FPMのTCPソケット接続によるopen_basedirとdisable_functionsのバイパス JavaのRuntime.execでシェルを実行 Cross-Site Scripting(XSS) nginx環境でHTTPステータスコードが操作できる場合にCSPヘッダーを無効化 GoogleのClosureLibraryサニタイザーのXSS脆弱性 WebのProxy機能を介したService Workerの登録 括弧を使わないXSS /記号を使用せずに遷移先URLを指定 SOME(Same Origin Method Execution)を利用してdocument.writeを順次実行 SQL Injection MySQ

        【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい
      • 新規サービスのバックエンド開発で3ヶ月経ったので、試した技術や取り組みをまとめてみた

        こんにちは、AIShift バックエンドエンジニアの石井(@sugar235711)です。 AIShiftでは去年の11月からAI Worker[1]という新しいサービスの開発が始まりました。(以下AI Worker) 本格的に開発が始まり3ヶ月弱経ったので、その間に試してきた技術やチームの取り組みについてまとめてみたいと思います。 はじめに この記事では、AI Workerのおおまかな概要・設計を説明し、それらのバックエンドを実現する上でどのような技術を試してきたのか、技術以外でのチームの取り組みについてまとめます。 少し分量が多いので、ライブラリについての情報を求めている方は、目次から気になる部分を読んでいただければと思います。 何を作っているのか ざっくりまとめると、Microsoft Teams/Web上で動くAIを活用した業務改善プラットフォームを作成しています。 GPTとRAG

          新規サービスのバックエンド開発で3ヶ月経ったので、試した技術や取り組みをまとめてみた
        • Amazon ECSで動かすRailsアプリのDockerfileとGitHub Actionsのビルド設定 - メドピア開発者ブログ

          CTO室SREの@sinsokuです。 Dockerイメージのビルドを高速化するため、試行錯誤して分かった知見などをまとめて紹介します。 AWSのインフラ構成 assetsもECSから配信し、CloudFrontで /assets と /packs をキャッシュする構成になっています。 Rails on ECS デプロイ時にassetsが404になる問題 以前の記事に詳細が書かれているため、ここでは問題の紹介だけしておきます。 Rails等のassetsファイルをハッシュ付きで生成し配信するWebアプリケーションの場合、ローリングアップデートを行うと、アップデート時に404エラーが確立で発生してしまいます。 引用: メドピアのECSデプロイ方法の変遷 Dockerfile 実際のDockerfileには業務上のコード、歴史的な残骸などが含まれていたので、綺麗なDockerfileを用意しま

            Amazon ECSで動かすRailsアプリのDockerfileとGitHub Actionsのビルド設定 - メドピア開発者ブログ
          • 機械学習APIでWebサイトの改善点を提案するサービスを作った話 - Qiita

            まえがき アクセシビリティーの観点からWebサイトを診断し、AIプラットフォームを利用して得た情報をもとにベストプラクティスを提案してくれるオープンソースのWebサービス「Visible」を開発しました。 WebサイトURL: https://visi.dev GitHubリポジトリ(Starください!): https://github.com/visible/visible GoogleのLighthouseなど、Webサイトの診断を行ってくれるサービスは以前からありましたが、診断だけではなく改善点の提案も行う新しいサービスになっています。また、アクセシビリティーに関する理解を深めてもらえるように工夫をした設計にしていたり、コマンドライン版ではスタンドアロンで実行可能なようになっています。 2020年度の「独創的アイデアと卓越した技術を持つ小中高生クリエータ支援プログラム」未踏ジュニアに

              機械学習APIでWebサイトの改善点を提案するサービスを作った話 - Qiita
            • OpenAPI Generator で API Client と型を自動生成した話 - BASEプロダクトチームブログ

              フロントエンドエンジニアの @rry です。 自分は BASE の Sales Promotion というチームで主に新規機能開発を行っています。このチームでは主にオーナーさんの使う管理画面に新しく機能追加をしています。 そこで、管理画面で使っている API Client と型を、OpenAPI Generator を使って自動生成するようにしてみたのでそのお話を書きたいと思います。 そもそも OpenAPI とは? https://www.openapis.org/ OpenAPI とは、RESTful Web サービスを記述、生成、使用、および視覚化するための仕様です。 ※ 以前は OpenAPI ではなく仕様自体も Swagger と呼ばれていましたが、現在は仕様自体については OpneAPI と呼ばれており、Swagger というのは OpenAPI を使ったツール群のことをさすよ

                OpenAPI Generator で API Client と型を自動生成した話 - BASEプロダクトチームブログ
              • pythonパッケージ管理ツールryeを使う - 肉球でキーボード

                Pythonパッケージ管理ツール ryeの使い勝手がよかったので使用方法をまとめました。 ryeとは GitHub: https://github.com/mitsuhiko/rye flaskの作者である Armin Ronacher氏 (GitHubアカウント @mitsuhiko)が個人利用目的で作成した、Pythonのパッケージ関係管理ツールです。内部実装はRustです。 ryeが作成された思想がリポジトリ Should Rye Exist? のDiscussionページに書かれています。 Should Rye Exist?: XKCD #927 Disucssion中の図にあるように、従来のPythonのパッケージ管理は”様々な標準”が存在し、このばらつきを統一しようと新しくパッケージ管理ツールを導入しても、”新たな標準が追加されるだけ”となり、真のパッケージ管理の標準化を行えて

                  pythonパッケージ管理ツールryeを使う - 肉球でキーボード
                • Rustのビルドを高速化する方法 | POSTD

                  Rustコードのコンパイルが遅いことは誰でも知っています。しかし筆者は、世の中のほとんどのRustコードはコンパイルをもっと速くできると強く感じています。 例えば、つい最近の記事にこのように書かれていました。 一方、Rustでは、プロジェクトやCIサーバーの性能にもよりますが、 CIパイプラインの実行に15~45分かかります。 これは筆者には理解できません。GitHub Actions上にあるrust-analyzerのCIの所要時間は8分です。しかも、これは100万行の依存関係に加え、20万行の独自コードが記述されたとても大規模で複雑なプロジェクトでの話です。 確かに、Rustは根本的な部分で非常にコンパイルが遅いのは間違いありません。Rustはジェネリクスのジレンマにおいて「遅いコンパイラ」を選び、全体的な設計思想としてコンパイル時間よりもランタイムを優先しています(この点に関する優れ

                    Rustのビルドを高速化する方法 | POSTD
                  • npm install と npm ci って結局どう使うの?2023年版 - Mitsuyuki.Shiiba

                    うりうりさんの↓のコメントを見て、そういえばnpm ciって見たことあるけどチェックしてないなぁ。というかnpm installも雰囲気で使ってるなぁ。と思ったので、うりうりさんに教えてもらったことを手がかりに、npm installとnpm ciについて調べた。 これ、node_modulesキャッシュしてたり npm install使ってるけど npmのグローバルキャッシュ(~/.npm)をキャッシュした上で npm ciで早くなったりしないんだろうか GitHub Actions上でテストを約3倍早くした話https://t.co/MpmFktGBxU— wreulicke (@wreulicke) March 14, 2023 ちょこっと検索して見てみたところ、新旧情報があって自分が混乱したのと、公式ドキュメントには概要は書かれているものの詳しい内容は書かれていないので(僕が見つけ

                      npm install と npm ci って結局どう使うの?2023年版 - Mitsuyuki.Shiiba
                    • なんでbun installは速いのか?

                      ⚡️ 25x faster — Switch from npm install to bun install in any Node.js project to make your installations up to 25x faster. https://bun.sh/docs/cli/install という記述を見かけて直感的に、そうはならんやろと思ったものの実際にベンチマークをしているのでどういうことなのかを気になって調べた。 A global install cache. bun installを実行すると ~/.bun/install/cache/ 以下にnpmレジストリからダウンロードされたファイルの実体が展開されキャッシュされる(--cache-dirでパスを変更できる)。 キャッシュにはパッケージのバージョンごとのディレクトリとlatestのシンボリックリンクがある。こ

                        なんでbun installは速いのか?
                      • Introducing Yarn 2 ! 🧶🌟

                        Hi everyone! After exactly 365 days of very intensive development, I'm extremely happy to unveil the first stable release of Yarn 2. In this post I will explain what this release will mean for our community. Buckle up! If you're interested to know more about what will happen to Yarn 1, keep reading as we detail our plans later down this post: Future Plans. If you just want to start right now with

                          Introducing Yarn 2 ! 🧶🌟
                        • TypeScript で記述した Google Apps Script を clasp と GitHub Actions を使ってデプロイする | DevelopersIO

                          TypeScript で記述した Google Apps Script を clasp と GitHub Actions を使ってデプロイする TypeScript で記述した Google Apps Script を clasp と GitHub Actions を使ってデプロイし、トリガーを使った定期実行をしてみました。 @google/clasp を使うことで CLI で Google Apps Script (GAS) を扱えるため、コードを Git で管理できるようになります。 今回はコードを GitHub で管理し、テストと clasp push を Github Actions で実行できるようにしてみます。 最終的な完成物は下記のリポジトリになります。 https://github.com/hbsnow-sandbox/clasp-github-actions-exampl

                            TypeScript で記述した Google Apps Script を clasp と GitHub Actions を使ってデプロイする | DevelopersIO
                          • Rails 6.1のDocker開発環境構築をEvil Martians流にやってみた(更新)|TechRacho by BPS株式会社

                            更新情報 2019/11/20: 初版公開 2021/03/25: Rails 6.1.3.1に合わせて更新 2021/04/06: Ruby 3.0.1に更新 先々月に公開したこちらの翻訳記事の実践編ということで。試行錯誤しているうちにRailsが6.0.1になりました。 クジラに乗ったRuby: Evil Martians流Docker+Ruby/Rails開発環境構築(翻訳) Docker Desktop for Macについて これまではピュアな環境を求めてParallels Desktop for MacのUbuntu VM上でDockerを使っていたのですが、久しぶりにDocker Desktop for Macを使ってみると速度や使い勝手が随分よくなっていて驚きました。 Docker Desktop for Macの方がUbuntu VMのDockerよりビルドが速い(体感で

                              Rails 6.1のDocker開発環境構築をEvil Martians流にやってみた(更新)|TechRacho by BPS株式会社
                            • yarn v2にまつわる誤解 | Wantedly Engineer Blog

                              現在WantedlyではNode.jsのパッケージ管理にyarn v1を使っています。現在私は開発者体験の改善を目指してyarn v2への移行を検討しているのですが、その過程でyarn v2が誤解されがちだと感じるようになりました。そこで社内への情報提供も兼ねて、いくつか誤解されがちだと思われる点を紹介したいと思います。 (わかりやすさのためにyarn v2と呼んでいますが、 yarn v3以降も含みます。これらはメジャーバージョンアップではあるもののyarn v1→v2のようにアーキテクチャが刷新されるわけではないからです) ポイント1: yarnをv2にするのにPnPは必須ではないyarn PnPはyarn v2の目玉機能で、パッケージをnode_modules以下に展開せずに仮想化してロードできるようにするというものです。node_modulesの展開作業が不要になるほか、依存関係の

                                yarn v2にまつわる誤解 | Wantedly Engineer Blog
                              • Next.jsの本番環境・開発環境をdockerで構築する方法 - Qiita

                                動機 開発環境・本番環境でdockerを使ってみよう!と思って試したところ何点か詰まったので備忘録としてNext.jsをdockerで環境構築する方法を記しておきます。 開発環境 公式のテンプレートをもとに作っていきます。 FROM node:18-alpine WORKDIR /app COPY package.json yarn.lock* ./ RUN if [ -f yarn.lock ]; then yarn --frozen-lockfile; \ else echo "Warning: Lockfile not found. It is recommended to commit lockfiles to version control." && yarn install; \ fi COPY src ./src COPY public ./public COPY next.

                                  Next.jsの本番環境・開発環境をdockerで構築する方法 - Qiita
                                • Next.js 製 Web フロントエンドの CI ビルド時間を 1/3 にした話 - スタディサプリ Product Team Blog

                                  こんにちは、 Web フロントエンドエンジニアの @progfay です。 今回は PR に紐づいたプレビュー環境のビルドに 10 分半かかっていたところを 3 分半ほどまでに短縮した改善活動についてお話しします。 技術改善 Day 私の所属するスタディサプリ中学講座の開発プロジェクト (通称: tara) では「技術改善 Day」を 2 週間に 1 回実施しています。 「技術改善 Day」とは、案件開発を進めていく中で出てきた技術的負債の解消に丸 1 日チームで集中して取り組む日です。 tara 内の Web フロントエンドメンバーで解消したい技術的負債を考えたところ、その中の一つに Web フロントエンドアプリケーションのビルドに時間がかかっている問題 が挙がりました。 tara プロジェクトではデバッグや QA を効率的に行うために PR ごとに紐づいたプレビュー環境を用意しています

                                    Next.js 製 Web フロントエンドの CI ビルド時間を 1/3 にした話 - スタディサプリ Product Team Blog
                                  • package.json やロックファイルによるパッケージの依存関係の管理 - 30歳からのプログラミング

                                    この記事では、npm installやnpm ciを実行したときにどのようにパッケージがインストールされるのか、依存パッケージにバージョンのコンフリクトが発生した際にどのように処理されるのか、などを見ていく。必要に応じて Yarn での挙動にも触れる。 動作確認に使った npm のバージョンは6.14.5。Yarn は1.22.4。 特に npm はバージョンによって動作が大きく異なるので、注意する。 package-lock.json によるバージョンの固定 package.jsonだけではインストールするパッケージのバージョンを固定できず、package-lock.json(Yarn の場合はyarn.lock)によってバージョンを固定する。 多くの人が知っている話ではあるが、重要な機能なので改めて触れておく。 package.jsonのdependenciesやdevDependen

                                      package.json やロックファイルによるパッケージの依存関係の管理 - 30歳からのプログラミング
                                    • npmとyarnとpnpmの違い2021

                                      (Last Update: 2022/02/03) npm と yarn(v1) と pnpm (とyarn v2)の違いについて記述します。 Versions npm Yarn pnpm 各パッケージの特徴 npm npmはnpm社が提供する、JavaScriptパッケージマネージャーです。 npmというコマンドラインで動作するプログラムでパッケージを管理できます。いわばnpm公式のパッケージマネージャーとなります。 Windows等でインストールするとNode.jsに同梱されています。 Yarn Yarnはnpmより後発のJavaScriptパッケージマネージャーです。 元々、npmにはインストール時のパッケージバージョンの非再現性やパフォーマンス上の問題、セキュリティの問題が山積しており、それを解決するために開発がスタートしました。 いわば、サードパーティのnpmということになります

                                        npmとyarnとpnpmの違い2021
                                      • 【Node.js/Next.js】Cloud Runで動作する軽量なDockerを構築してみた

                                        概要 本記事では、Next.jsをコンテナをサーバーレスで実行するサービスであるCloud Runで動作する軽量のDocker環境構築について紹介します。 ネットにある様々な記事を見てきましたが、動作目的でDockerイメージが大きくなっており、パフォーマンスとセキュリティに課題がありました。そこでDockerの軽量化および最適化を試みました。 Docker環境 シングルステージビルド(slim) シングルステージビルドしたDockerイメージです。本番環境に必要無いデータを多く含んでいるため、イメージサイズも大きくなっています。構成はシンプルのため、理解しやすいですがパフォーマンス/セキュリティ面には課題があります。 FROM node:14.17.0-slim WORKDIR /app COPY package.json yarn.lock ./ RUN yarn --frozen-l

                                          【Node.js/Next.js】Cloud Runで動作する軽量なDockerを構築してみた
                                        • ジャンプTOON Flutter アプリの全体像 | CyberAgent Developers Blog

                                          ジャンプTOON アプリチームの國師です。 5 月にサービスを開始した 「ジャンプTOON」 は、Flutter を採用し Android, iOS, iPadOS 向けのアプリを提供しています。 本記事では、ジャンプTOON モバイルアプリの開発で採用している技術スタックやプロジェクト構成、開発手法を紹介します。 目次 SDK・ツール管理 プロジェクト管理・タスクランナー CI・CD ディレクトリ構成 テーマ管理 ルーティング アセット管理 状態管理 サーバ通信 Lint テスト UI カタログ Web Preview PDR SDK・ツール管理 Flutter の SDK バージョン管理には、Flutter 以外の SDK やツールもまとめて管理できる asdf を採用しています。 Flutter の開発者界隈では FVM も人気ですが、次の点から、アプリチームに限らず開発チーム全体で

                                            ジャンプTOON Flutter アプリの全体像 | CyberAgent Developers Blog
                                          • 東京コンピュータサービスのランサムウェア感染についてまとめてみた - piyolog

                                            2022年1月4日、東京コンピュータサービス(to-kon.co.jp)はサイバー攻撃を受け、ランサムウェアに感染したことを公表しました。ここでは関連する情報をまとめます。 大みそかにランサムウェア感染 侵入が行われたのは2021年10月初旬から開始。その約2か月後の2021年12月31日早朝にランサムウェア感染が引き起こされた。 社内では社員向けのActive Directoryのパスワード変更、リセット機能を提供するWebサービスを使用していたが、このWebサービスの脆弱性を悪用されADサーバーへの侵入を許した。また接続する際はリバースプロキシサーバーを介して行われていた。 攻撃者はWebサービスの脆弱性を悪用して、侵入用の実行コードの埋め込み及びその実行とバックドアの作成、ウィルス対策ソフトを回避するマルウェアの配置を行っていた。 さらにADのドメインで管理される機器に対して、グルー

                                              東京コンピュータサービスのランサムウェア感染についてまとめてみた - piyolog
                                            • Node.jsアプリケーションのDockerイメージのサイズを削減する方法について調べた - The Third Law

                                              Next.jsアプリケーションのDockerイメージのサイズが大きくて困っていたので調べていたところ、Next.jsの公式ドキュメントにDocker Imageというセクションがあり、おすすめ設定が記載されているのを見つけました。以前はここまで詳細な記述はなかったのですが、つい10日ほど前に追加されたようです。 ドキュメントには一番おすすめの方法だけ書かれているのですが、もともと「What is the best way to use NextJS with docker? · Discussion #16995 · vercel/next.js · GitHub」というdiscussionがあり、ドキュメントの記述はここでの議論が元になっているようです。Discussionではいくつか例が示されているのですが、それぞれさまざまな最適化テクニックが利用されており、どれくらいの容量になるか気

                                                Node.jsアプリケーションのDockerイメージのサイズを削減する方法について調べた - The Third Law
                                              • SmartHR UI のリリース作業を GitHub Actions で自動化した話 - SmartHR Tech Blog

                                                こんにちは、フロントエンドエンジニアのモアイと申します。 SmartHR では、SmartHR UI というプロダクト間共通の React コンポーネントライブラリを運用していますが、この記事では SmartHR UI のリリース作業を GitHub Actions で自動化した話をご紹介します。 ちなみに SmartHR UI そのものについては過去の記事で詳しく紹介されていますので、ご興味があればそちらも併せて御覧ください。 tech.smarthr.jp tech.smarthr.jp 三行まとめ リリース作業が複雑化していたので GitHub Actions を使って自動化した リリース中に作業者の確認を挟むプロセスを Issue とラベル付けによって実現した 自動化最高! これまでのリリース作業 SmartHR UI では Pull Request ベースで開発しており、様々な歴

                                                  SmartHR UI のリリース作業を GitHub Actions で自動化した話 - SmartHR Tech Blog
                                                • Go でモブログシステム作った

                                                  この記事は Go Advent Calendar 2020 24日目の記事です。 はじめに 皆さんは「モブログ」ってご存じでしょうか。 モブログとは、携帯電話などの携帯通信端末からインターネットに接続して閲覧・投稿ができるブログ(ウェブログ)のことである。 携帯電話などを利用して書き留められた短い文章や、あるいはカメラ機能で撮影された写真などが記事の主な内容となる。常に携帯するものなので、ふと思いついた所感を臨場感が損なわれないうちに記すこと、あるいは街角で見かけた面白い光景や偶然出会った有名人などを逃さず撮影することなどが可能となる。1日のうち特定の時間にパソコンの前に構えて書かれる通常のブログよりも一層、リアルタイム性が色濃く、独特の臨場感や軽快さがある。 ちなみに、モブログはモバイル(mobile)とブログ(blog)が組み合わされた造語である。和製英語ではないので、英語圏でもmob

                                                    Go でモブログシステム作った
                                                  • Amazon Linux 2023がGAされました | DevelopersIO

                                                    抜粋 : Release cadence - Amazon Linux 2023 メジャーリリースとマイナーリリースの内容は以下AWS公式ドキュメントに記載されています。メジャーリリース時には互換性があるか十分に検証した上でアップデートしましょう。 Major version release— Includes new features and improvements in security and performance across the stack. The improvements might include major changes to the kernel, toolchain, Glib C, OpenSSL, and any other system libraries and utilities. Major releases of Amazon Linux ar

                                                      Amazon Linux 2023がGAされました | DevelopersIO
                                                    • Dependabotを導入してみた | DevelopersIO

                                                      みなさんこんにちは。 突然ですがプロジェクトで使用しているライブラリのアップデートって面倒ですよね。 活動が活発なライブラリは嬉しい反面アップデートが辛かったり、セマンティックバージョニングを採用しているからガンガン自動で上がってくれないかと思いませんか。 そんなお悩みを解決するDependabotというものがありましたので導入してみました。 Dependabotとは package.jsonやgo.modといったマニュフェストファイルをみて古いライブラリやセキュアでないものを調べてくれます。 そして必要に応じてライブラリの更新を行いPull Requestを自動で作成してくれる優れものです。我々に残された仕事はPull Requestをmergeするだけなのです(そしてそれすらも自動化できる)。 こちら からも確認できますが現在サポートしている言語は下記のようになっています。 Ruby

                                                        Dependabotを導入してみた | DevelopersIO
                                                      • eslint-plugin-vue で来たる Vue.js 3 のリリースに備えよう - BASEプロダクトチームブログ

                                                        フロントエンドチームの右京です。 Vue.js 3 が八月上旬にリリース予定ということで、BASE でもバージョンアップに向けて少しづつアクションを始めています。 Vue.js 3 では多くの機能が追加され開発の幅が広がりますが、一方で削除や非推奨となる機能も多く頭を悩まされている方もいるのではないでしょうか、BASE もそうです。 この記事では ESLint とその Vue.js 向けプラグインの eslint-plugin-vue を利用した、deprecated となる機能へのアプローチを紹介します。 なぜ eslint-plugin-vue か ESLint には Vue.js の SFC のためのプラグインとして eslint-plugin-vue が開発されていて、BASE でもこれを利用しています。 このプラグインには vue/no-deprecated- で始まるルールがい

                                                          eslint-plugin-vue で来たる Vue.js 3 のリリースに備えよう - BASEプロダクトチームブログ
                                                        • GitHub Actions で Storybook をお手軽に共有するやつ作ってみた - BASEプロダクトチームブログ

                                                          この記事はBASE Advent Calendar 2019の8日目の記事です。 devblog.thebase.in エンジニアの右京です! みなさん!Storybook は使っていますか?BASE ではUIコンポーネントの社内展開はもちろん、日々の業務の中でもサンプルの実装を共有したりするために Storybook が使われています。BASEではこれを「特定のリポジトリにコードをコミットすると、自動的に社内向けサーバーへデプロイされる仕組み (ようするに社内 GitHub Pages ですね)」を利用して社内共有しているのですが、毎度のセットアップが大変なので Gtihub Actions を使ってお手軽に設定できるようにしてみたよ、という内容です。 github.co.jp TL;DR 社内用向けドキュメントサーバーへのデプロイを他のリポジトリから使いやすいように Action 化し

                                                            GitHub Actions で Storybook をお手軽に共有するやつ作ってみた - BASEプロダクトチームブログ
                                                          • Announcing TypeScript 4.5 - TypeScript

                                                            Today we’re excited to announce the release of TypeScript 4.5! If you’re not yet familiar with TypeScript, it’s a language that builds on JavaScript by adding statically checked types. When you use static types, you can run the TypeScript compiler to check for bugs like typos and mismatches in the shapes of your data, and get handy suggestions. These types don’t change your program, and you can re

                                                              Announcing TypeScript 4.5 - TypeScript
                                                            • ライブラリ自動更新にrenovateを導入してみる - APC 技術ブログ

                                                              renovate導入の話 みなさんはアプリケーションで使用しているライブラリ等の更新どうされていますか? 手動で行われていますか?それとも何か自動ツールを利用されていますか? 今回はそうしたライブラリ等の自動更新ツールであるrenovateを導入したときの 模様をお伝えしたいと思います。 といっても、インストールなどの方法は様々なところで紹介されているので省略し、導入過程でどういった状況になったかという ところをお伝えしたいと思います。 最初の実行 いくつかアプリケーションを開発していますが、まずは最初に Typescript / Node.js / NestJS を技術要素とするアプリケーションに 適用してみました。 まずは何も設定を行わず、単純にrenovateコマンドを実行しただけの状態です。 すると・・・出ました、たくさんのPull Requestが。初期状態だと以下のような動作を

                                                                ライブラリ自動更新にrenovateを導入してみる - APC 技術ブログ
                                                              • モノレポでの GitHub Actions CI の泥臭い高速化

                                                                はじめに みなさんこんにちは、物流業界の価値最大化をミッションに掲げ運送会社のDXに寄り添うアセンド株式会社でCTOを務めている丹羽です。 1日5.2回のリリースを実現するプロダクトチームの開発体験を支えるCIの高速化についてご紹介します(先週3/20週の平均値)。1日に数回デプロイというレベルでの素早く開発するにおいて、 push 時の CI Check の速さは地味ですが開発体験にとって見逃せない存在になります。特にモノレポ環境ではジョブが複数ある中でいかに省略ができるかが鍵となり、泥臭くも数十秒でも高速化のため戦ったポイントを紹介します。 アセンドでは顧客課題を中心にプロダクト開発をするためにフルサイクルエンジニアという開発スタイルを取り、1エンジニアがフロント・バックエンドだけでなく設計からリリース・サポートまでのソフトウェアのライフサイクル全体にオーナーシップを持って開発していま

                                                                  モノレポでの GitHub Actions CI の泥臭い高速化
                                                                • SWCとRelease Pleaseで始めるReact TypeScriptライブラリ開発と公開 - BASEプロダクトチームブログ

                                                                  こんにちは。Pay ID Devの大木 (@roothybrid7)です。 今回外部スクリプトとして読み込み利用する外部SDKを、Reactに組み込むためのラッパーライブラリを作ったので、その開発事例を紹介します。 今回、SWC(Speedy Web Compiler)やRelease Pleaseを利用して開発したので、主にそれらをどう使ったのかを紹介いたします。 背景 去年12/16に開催しましたオンラインイベント「BASE Tech Talk #1 〜Next.jsを使ったカート大規模リプレイスPJの裏側〜」の通り、BASEカートシステムのFrontendアプリケーションは、Next.jsで動作してます。 さて、アプリケーションでは、Amazon PayやPayPalなど様々な外部の決済サービスを利用しており、それらのJavaScript SDKをいくつか利用しています。 これらのS

                                                                    SWCとRelease Pleaseで始めるReact TypeScriptライブラリ開発と公開 - BASEプロダクトチームブログ
                                                                  • TerraformのAWS Provider Version 4へのアップグレードに伴うコード改修がおっくうな方へ 便利なツールありますよ | DevelopersIO

                                                                    TerraformのAWS Provider Version 4へのアップグレードに伴うコード改修がおっくうな方へ 便利なツールありますよ 先日TerraformのAWS Provider Version 4がリリースされました。 S3バケット周りで大規模なリファクタリングがあり、そのままのコードで単純にproviderだけアップグレードするとエラーになります。コードを書き換える必要があるのですが、中々面倒です。 そんな私のような方にピッタリなツールを見つけたのでご紹介します。tfrefactorです。既存のS3バケット(aws_s3_bucketリソース)のコードをコマンド一発でv4準拠のコードに書き換えてくれます。 インストール方法 バイナリをダウンロードしてパスを通す方法とmake installする方法があります。私は前者でやりましたが、「開発元を検証できないため開けません」のエラ

                                                                      TerraformのAWS Provider Version 4へのアップグレードに伴うコード改修がおっくうな方へ 便利なツールありますよ | DevelopersIO
                                                                    • npm 7 is now generally available!

                                                                      Productnpm 7 is now generally available!After much anticipation, the npm CLI version 7 is now generally available! After much anticipation, the npm CLI version 7 is now generally available! In addition to new features and some breaking changes, we have made a significant impact on the performance of npm 7 as compared to npm 6 including: Increasing our development velocity/tempo to a weekly release

                                                                        npm 7 is now generally available!
                                                                      • bun.lockbのVersion管理をGitでどうやる?問題

                                                                        はじめに bun installで生成されるBunのロックファイルはbun.lockbというバイナリファイルである。 公式を読むと性能向上のためにバイナリ化していることがわかる。 Why is it binary? In a word: Performance. Bun’s lockfile saves & loads incredibly quickly, and saves a lot more data than what is typically inside lockfiles. 困ること まさにこのツイートの問題で、Git管理したいのにバイナリが出力されるのは不便で、どうしよう? と実際の本番利用では困るだろう。 解決方法 案1. git diffで差分確認する 公式のページを読むと、どうやら設定追加でgit diffができるらしい。 bun install request g

                                                                          bun.lockbのVersion管理をGitでどうやる?問題
                                                                        • 雰囲気でパッケージマネージャーを作ろう

                                                                          概要 本記事では、 npm や yarn などの、Node.js におけるパッケージマネージャーを自作することで、その仕組みや挙動の理解を深めようという取り組みを整理した記事になります。 想定読者は以下を満たす人です。 普段 npm や yarn などのパッケージマネージャを使用している package.json 内の dependencies devDependencies ぐらいはわかる npm リポジトリの構成や、パッケージインストールの仕組みとか全然わからんけど、興味がないこともない TypeScript のコードをまぁまぁ読み書きできる 筆者自身も上記のレベルのため、パッケージマネージャに詳しい方が見たら鼻で笑うレベルの内容でもあるので、どうぞお手柔らかにお願いします。 注意事項 本記事ではソースコードを断片的に記載していますが、ハンズオン形式にはなっていないため、コードの全容に

                                                                            雰囲気でパッケージマネージャーを作ろう
                                                                          • zeno.zsh を活用して Node.js パッケージマネージャの違いを吸収する - エムスリーテックブログ

                                                                            永山です。 神話の時代、天を衝く巨塔を築こうとした高慢な人類の Node.js パッケージマネージャは様々に引き裂かれたと言われています。 現代においてよく使用されているものだけでも npm, Yarn, pnpm などがあり、エムスリー社内でもプロジェクトによってどのパッケージマネージャが採用されているかはバラバラです。 それぞれのパッケージマネージャは異なるコマンドラインインタフェース (npm / yarn / pnpm) によって操作する必要があるため、作業するプロジェクトによって適切なコマンドを呼び分けなければなりません。めんどくさ。 本記事では Zsh プラグインである zeno.zsh を用いてこれらパッケージマネージャの差異を吸収することで快適な開発体験を実現する方法、およびその過程で模索した zeno.zsh の設定ファイルの TypeScript 化の試みについて紹介し

                                                                              zeno.zsh を活用して Node.js パッケージマネージャの違いを吸収する - エムスリーテックブログ
                                                                            • Vue 2.7 "Naruto" Released | The Vue Point

                                                                              Today we are happy to announce that Vue 2.7 "Naruto" has been released! Despite Vue 3 now being the default version, we understand that there are still many users who have to stay on Vue 2 due to dependency compatibility, browser support requirements, or simply not enough bandwidth to upgrade. In Vue 2.7, we have backported some of the most important features from Vue 3 so that Vue 2 users can ben

                                                                                Vue 2.7 "Naruto" Released | The Vue Point
                                                                              • Five Years of Rust | Rust Blog

                                                                                With all that's going on in the world you'd be forgiven for forgetting that as of today, it has been five years since we released 1.0! Rust has changed a lot these past five years, so we wanted to reflect back on all of our contributors' work since the stabilization of the language. Rust is a general purpose programming language empowering everyone to build reliable and efficient software. Rust ca

                                                                                  Five Years of Rust | Rust Blog
                                                                                • GitHub Actions: Skip pull request and push workflows with [skip ci]

                                                                                  GitHub Actions: Skip pull request and push workflows with [skip ci] actions February 8, 2021 GitHub Actions now supports skipping push and pull_request workflows by looking for some common keywords in your commit message. If any commit message in your push or the HEAD commit of your PR contains the strings [skip ci], [ci skip], [no ci], [skip actions], or [actions skip] workflows triggered on the

                                                                                    GitHub Actions: Skip pull request and push workflows with [skip ci]