並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 3958件

新着順 人気順

Lintの検索結果361 - 400 件 / 3958件

  • フロントエンドの爆速な開発サーバを実現する Vite がバージョン2.0になったので変更点を眺めてみる - SMARTCAMP Engineer Blog

    こんにちは、スマートキャンプでBALES CLOUDを開発している中川です! 昨年の 9 月に Vue.js のメジャーバージョンが 3 になりかれこれ半年ほど経ちますが、みなさんのプロジェクトでは移行が進んでいますか? 私が普段開発している前述のプロダクトにも Vue.js の 2.x 系を採用しているのですが、利用している UI ライブラリが Vue3 に対応するのを待っている関係でまだ移行には至っておらず、 先んじて Lint のルールを Vue3 のものに切り替えて準備だけ進めているような状況です。 さて、Vue3 といえば Vue.js の発起人である Evan You 氏が始めた高速な開発用フロントエンドサーバーを実現する OSS である Vite が昨年話題になりました。 話題になったタイミングで私も記事を書いたのですが、その時点ではまだ Beta ですぐに本番投入できる段階

      フロントエンドの爆速な開発サーバを実現する Vite がバージョン2.0になったので変更点を眺めてみる - SMARTCAMP Engineer Blog
    • たまってしまった .rubocop_todo.yml をGitHub Actionsで継続的かつ自動的に倒す方法 - STORES Product Blog

      こんにちは。heyのCTOをやっている藤村です。 実はCTOになる前はSTORESのRailsのコードを改善する仕事をしていました。その頃に、たまってしまっている.rubocop_todo.ymlをなんとか手間をかけずに消化していきたいな〜と思い、少しづつ自動的に消化する仕組みを作りました。この記事ではその仕組みをご紹介します。 rubocop_todo.yml とは 既存のコードベースに対してRuboCopを適用すると大量の違反箇所が出てしまい使い物にならないという問題があります。それの解決策として、既存のコードで違反しているファイルを無視する設定を .rubocop_todo.yml というファイルに保存して .rubocop.yml で読み込み、既にある違反はいったん無視する、という方法が用意されています。 Configuration - RuboCop: The Ruby Lint

        たまってしまった .rubocop_todo.yml をGitHub Actionsで継続的かつ自動的に倒す方法 - STORES Product Blog
      • 技術ブログに CI を導入する - ドワンゴ教育サービス開発者ブログ

        技術ブログで公開する記事の品質を安定させ、効率的に執筆できるよう、 CI の導入に着手しました。 技術ブログを継続的に運営する中で、多くのメンバーが執筆に参加しています。 多様な視点の記事を公開できる一方で、技術ブログ全体として一定の品質を担保する必要があります。 人の目でレビューすることはもちろん必要ですが、中でも自動化可能な部分は機械に任せられるように環境整備を進めています。 この記事では、CIの環境や検証内容についてお伝えします。 CIの環境 記事の執筆にあたっては、過去の記事にもある通り一部Google Docsで執筆されている記事を除きGithubのリポジトリでバージョンを管理しています。 Github を利用しているということで CI の選択肢としては Github Actions が真っ先に候補となりますが、今回は AWS CodeBuildを採用しました。 AWS Code

          技術ブログに CI を導入する - ドワンゴ教育サービス開発者ブログ
        • 雰囲気で乗り切っているひとのためのAndroidビルド高速化ノウハウ|mhidaka

          mhidakaです。久しぶりにAndroidアプリ開発の技術記事です。タイトルの「雰囲気で乗り切っているひとのためのAndroidビルド高速化ノウハウ」は書いている間にどんどん長くなってしまってGradleビルドシステム、CI/CD、ビルド時間等の計測手法という3つの内容をカバーするものになりました。 今回はそのなかから抜粋して、1つめのGradleビルドシステムを取り上げます。Androidアプリのビルドが早くなる(なった)Gradle設定を紹介します。プロジェクトルートにあるGradleビルドプロパティ設定値を変えるだけなので開発プロジェクトでも試しやすいと思います。いけそうなら使ってみてください(既に導入してたら開発プロジェクトの感度が高い…!雰囲気は卒業できています!)。 Gradleビルドキャッシュを使おうGradle 7.1.x以上 / Android Studio Bambl

            雰囲気で乗り切っているひとのためのAndroidビルド高速化ノウハウ|mhidaka
          • ラクスサービスを管理するAnsibleコードの共通テンプレートを作った話 - RAKUS Developers Blog | ラクス エンジニアブログ

            こんにちは、弊社サービスのインフラを運用している id:keijiu (ijikeman)です。 今回は、「ラクスサービスを管理するAnsibleコードの共通テンプレートを作った話」を記載します。 [対象読者] 対象読者: Ansibleでサーバの管理を行っている人 またはこれから行いたいと考えている人 記事を読んでわかること: Ansibleの実装方法(汎用化) パラメータ(vars)の記載箇所 Ansibleの学習資料の作成 Ansibleコード規約 目次 目次 背景 1. コーディング規約策定 ■ポイント コーディング規約一部例 2. 共通処理の標準化 [カテゴリ] [共通設定]のAnsible実装例 ■ポイント [OS標準機能の設定] ■ポイント [OS標準機能の設定]: ネットワーク設定の一部 ホスト名の設定 ■ポイント 3. 各サーバの構成管理情報(パラメータ)の記載場所の固定

              ラクスサービスを管理するAnsibleコードの共通テンプレートを作った話 - RAKUS Developers Blog | ラクス エンジニアブログ
            • Deno 2.0リリース ―大規模プロダクトにも対応可能なJavaScript環境へ | gihyo.jp

              Deno Land Inc.は2024年10月9日、同社が開発するJavaScript/TypeScriptランタイム環境Denoの新バージョンDeno 2.0のリリースをアナウンスした。 Announcing Deno 2 4 years after Deno 1.0, the next generation of JavaScript is ready for production at scale. Deno 2 is out today: 🐢 Fully backwards compatible with Node and npm 📦 Package management and node_modules and package.json 📅 Long term supporthttps://t.co/LsV4D4Too8 pic.twitter.com/F6EI3whmX8

                Deno 2.0リリース ―大規模プロダクトにも対応可能なJavaScript環境へ | gihyo.jp
              • お財布に優しい個人開発の戦略 - spaces.bzの場合

                こんにちは。asatoです。 Qiita Advent Calendar 2021 個人開発 3日目の記事です。 みなさん、今日も楽しく個人開発やってますか?? 個人開発は「楽しい」し「スキルアップ」できるし「夢(収益が出れば...)」もありますよね! 2021年9月、僕は友人とふたりでspaces.bzをリリースしました。 合言葉は「なるべく無料で...」。 そう、個人開発には潤沢な資金はありません!リリースしたはいいけどランニングコストだけかかって全然使われないは避けたいのです! 実際、spaces.bzは2021/12/3現在、支出は最初のドメイン代の3,000円のみです。 一方で、PV数は12000+/月、Twitterボットのフォロワー数は1,000+、それなりに利用してもらっているサービスになりました🎉 この記事では、spaces.bzがランニングコスト0で運営するためにとっ

                  お財布に優しい個人開発の戦略 - spaces.bzの場合
                • Next.js のプロジェクトを開発しやすいようにするlintとformatterなどの設定

                  動機 結構 lint 系がアップデートされていたり、以前は必要だったものがいらなくなっていたりしていて自分が作った以前のテンプレートだとちょっと不要な設定などが増えていたので、 これを機に調査しながら設定を見直そうかなと。 今回作ったもの この記事で設定をした Next.js のテンプレートはこちらに公開してあります。 前提 node: v18.17.1 next.js: 13 系 React: 18 系 Next.js まずは Next.js のインストールから。どんなプロジェクトであれ TypeScript で開発をしたいから --ts をつけます。 あとは設問に答えていけば基本的なプロジェクトが作られます。基本的に全て Enter で問題ないです。 ちなみに Would you like to customize the default import alias? はデフォルトで N

                    Next.js のプロジェクトを開発しやすいようにするlintとformatterなどの設定
                  • アプリ開発を支える10個のDangerレシピ - Mirrativ Tech Blog

                    こんにちわ。shogo4405です。普段は、ミラティブで開発しながら、余暇にOSSのHaishinKit*1をつくっています。本エントリーは普段UI開発を行なっているクライアントエンジニア向けに、ミラティブで導入しているDangerの実践レシピを公開いたします。 はじめに Dangerとは「Pull Requestの作法を形式化して指摘を自動化」するツールであり、採用している開発者の方も多いのではないでしょうか。Dangerの導入にあたってはDangerで始めるPull Requestチェック自動化 - コネヒト開発者ブログを参考にして導入いたしました。ありがとうございます。 ミラティブ社でも形式的なチェックは基本的にDangerに任せるにようしています。本エントリーでは、開発現場のあるある指摘内容をレシピ集という形でまとめました。 レシピ1:githubの更新があった箇所のみ指摘する 定

                      アプリ開発を支える10個のDangerレシピ - Mirrativ Tech Blog
                    • 初めてのGo言語

                      イディオマティックなGo言語の解説書。構文がシンプル、静的型付け、タイプセーフでメモリセーフ、バグが入り込みにくい、並行処理が得意、実行速度が速い……これらの魅力的な特徴を生かすためには、Go言語らしい書き方を可能にする「イディオム」を学ぶ必要があります。Go言語のイディオムをマスターすれば、効率的で読みやすいコードを書けます。本書では、Go言語の基本機能を明快かつ簡潔に説明しつつ、イディオマティックなGoコードの書き方やGoプロジェクトの設計方法を解説します。読者はベテランのGo開発者のように考える術を学べます。 関連ファイル サンプルコード 翻訳者による日本語版のサポートページ 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合

                        初めてのGo言語
                      • 2023年1月くらいのAWS最新情報ブログとかをキャッチアップする – AWSトレンドチェック勉強会用資料 | DevelopersIO

                        こんにちは、臼田です。 みなさん、AWSの最新情報はキャッチアップできていますか?(挨拶 社内で行っているAWSトレンドチェック勉強会の資料をブログにしました。 AWSトレンドチェック勉強会とは、「日々たくさん出るAWSの最新情報とかをブログでキャッチアップして、みんなでトレンディになろう」をテーマに実施している社内勉強会です。 このブログサイトであるDevelopersIOには日々ありとあらゆるブログが投稿されますが、その中でもAWSのアップデートを中心に私の独断と偏見で面白いと思ったもの(あと自分のブログの宣伝)をピックアップして、だいたい月1で簡単に紹介しています。 1月は49本のピックアップになりました。最近はデフォルトのパラメーターが変わるアップデートがチラホラあって、よりAWS利用者が安全に利用できるようになっている感じがしますね。 ちなみにAWSの最新情報をキャッチアップする

                          2023年1月くらいのAWS最新情報ブログとかをキャッチアップする – AWSトレンドチェック勉強会用資料 | DevelopersIO
                        • フロントエンドのディレクトリ構成を変えた 2023 - kobayang

                          背景 Atomic Design ベースのディレクトリ構成になっていたが、 molecules と ogranisms のルールが定まっておらず、コンポーネントがどっちに入るのかが個々人の感覚になっていた 一部の機能は機能ごとにディレクトリを切っていてルールが曖昧になっていた テストと実装が別ディレクトリにあって、集約性の観点で見通しが悪かった 一行まとめ Atomic Design ベースから features (機能ごと)に分ける方向にディレクトリ構成を変更した。 方針 (フィロソフィー) 関心が近いものは近い場所になるべく集約させる ガチガチに縛るよりはある程度レールを引くのに止める 特に features の中のルールは固められないと判断して決定を遅らせる ルール化できそうなものをLintエラーで管理する 実はまだやってない。インポートの制約に関するルールを追加する予定 採用したル

                          • 多数のインフラ関連リポジトリをモノレポ構成にまとめたTips - LIVESENSE ENGINEER BLOG

                            前書き リブセンス インフラエンジニアの中野(etsxxx)です。VPoEという肩書きのそいつと同一人物です。 言うまでもなく写真と本文にはあまり関係ありません。コロナ禍前の、弊社のオフィスでのモノレポ化の風景です。 写真のそれとは異なりますが、私はTeacher'sというウィスキーを家に常備しています。Zoomで烏龍茶を飲んでるように見えたらそれはTeacher'sです。これ、2,700mlサイズのペットボトルが売られていて、それを徒歩5分以内の店で2,700円ほどで買えることを知ってから、そればかり買っています。2,700mlもあれば当分大丈夫だろうと思っていると、いつのまにか空になっているから、リモートワークはなかなか気が抜けません。 さて、Google、Facebookが、モノレポ(monolithic repository/単一リポジトリ)を採用しているという噂は広く知られている

                              多数のインフラ関連リポジトリをモノレポ構成にまとめたTips - LIVESENSE ENGINEER BLOG
                            • Goの準々標準ライブラリの探索 - Qiita

                              フューチャーアドベントカレンダー21日目のエントリーです。全25話中、神回が25回あったウルトラマンZが終わってしまいましたね。全日本人のうちの1億2000万人ほどがウルトラマンZロスでうちひしがれているころかと思います。 Goでは、Goをインストールしたときに一緒にインストールされるライブラリを「標準ライブラリ」と呼びます。また、golang.org/xなパッケージ群は準標準ライブラリと呼ばれます。準標準ライブラリには多彩なライブラリが含まれます。今ではもう本家に入ってしまって、後方互換性のためだけに残っているパッケージも一部ありますが・・・ これ以外にも https://github.com/golang/ にはたくさんパッケージがあります。一部はgolang/xのものも入っているのですが、それ以外のものをここでは仮に準々標準ライブラリと呼ぶことにします。 golang.org/xのも

                                Goの準々標準ライブラリの探索 - Qiita
                              • Goで書いたツールの依存管理をdepからGo Modulesに移行した - $shibayu36->blog;

                                昔作った notify-issues-to-slackの依存モジュールはdepのままで管理していたが、勉強がてらGo Modulesに移行することにした。 参考にした資料 Go 1.13 に向けて知っておきたい Go Modules とそれを取り巻くエコシステム - blog.syfm Go Modulesについてざっくり知ることができてよかった Modules · golang/go Wiki · GitHub ざっくり知った上でちゃんと理解するために公式ドキュメントを読む depからgo modulesへの移行と、移行時にTravis CI & GoReleaserでハマる(かもしれない)ポイント · horizoon 移行手順で参考にした Goモジュールでツールもバージョン管理する - Plan 9とGo言語のブログ ツールも含めてgo.modに入れていく手順で参考にした やったこと

                                  Goで書いたツールの依存管理をdepからGo Modulesに移行した - $shibayu36->blog;
                                • 中途で入社したての私からみたメドピア開発環境のいいところ - メドピア開発者ブログ

                                  2020年1月付けで入社した社長室 エンジニアの芝田と申します。 社長室ではkakariという、かかりつけ薬局化を支援するサービスをやっており、そちらでサーバーサイドエンジニアとして働いています。 エンジニアとしてのキャリアはメドピアで2社目で、まだまだ勉強中の身です。 今回はメドピアでの開発を始めて、開発環境のいいところや実装のtipsを一部ご紹介したいと思います。 開発環境のいいところ CIでRSpecやRubocopをはじめとする複数のLint👮が通っていないと原則マージできない Rubyは自由な記法ができるメリットの反面で、記法のばらつきが比較的出がちです。そこは、Lintによってある程度カバーすることが可能です。 また、ClassLength・LineLength・AbcSize等によって、ファイルの肥大・コードの複雑度合いを知ることができます。 kakariではClassLe

                                    中途で入社したての私からみたメドピア開発環境のいいところ - メドピア開発者ブログ
                                  • 問題を早期発見して開発体験を上げる試み - Commune Engineer Blog

                                    はじめに こんにちは。2022 年 7 月に入社したエンジニアの浅見(@astatsuya1)です。 今回は 20%ルールで実施した問題の早期発見をして開発体験を上げるために行ったことを紹介します。 はじめに コミューンの 20%ルールとは 何をやるか考えた commmune の開発における問題と課題 問題:問題の発覚が遅くなると多くの人を巻き込んでしまう 課題:出来るだけローカル環境で問題を検知したい 施策 ①:検知する項目を増やす リントでチェックする項目を増やす ローカル開発のみでしか使用しないconsole.logに警告を出す ローカル開発でのみしか使用しないtest.only, test.skipに警告を出す 英語のスペルチェックをする 施策 ②:ローカルでも出来るだけ早く検知出来るようにする コードを書く時のチェック Visual Studio Code の拡張を共有 書いたコ

                                      問題を早期発見して開発体験を上げる試み - Commune Engineer Blog
                                    • 【iOS】SwiftLint のバグに遭遇したのでコントリビュートしてみたら学びを得た - Mirrativ Tech Blog

                                      こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。 ミラティブの iOS アプリでは SwiftLint を活用して開発を行なっています。先日アプリの開発中に、SwiftLint 0.44.0 で、あるルールについての autocorrect の結果が想定外のものになりアプリのビルドが通らなくなるという事象に遭遇しました。1 今回はそのバグを修正したという話、修正する中で SwiftLint の中身には参考になる箇所が沢山あった話、を書こうと思います。 背景 今回遭遇した事象は redundant_optional_initialization ルールに関するもので、このルールは「Optional な stored property は = nil による初期化は省略できるよ」という内容です。 var hoge: Int? = nil // ~ // Redundan

                                        【iOS】SwiftLint のバグに遭遇したのでコントリビュートしてみたら学びを得た - Mirrativ Tech Blog
                                      • Deno の組み込みリンター "deno_lint" の紹介 〜 ESLintの代替としても

                                        この記事は Deno Advent Calendar 2020 6日目の記事です。 5日目は -> Deno Standard Library Working Group について 7日目は -> (あとで埋める) Deno とは こんにちは、@magurotuna です。 このアドベントカレンダーをご覧の方であれば、新進気鋭の JavaScript / TypeScript ランタイムである Deno のことはある程度ご存知の方も多いと思います。 しかし、あえて超ざっくりと説明すると、Node.js (以下 Node と書きます)を作った Ryan Dahl が、Node の反省点をいかして新しく作り直したものです。 "10 Things I Regret About Node.js" (Node.jsについての10の反省点)というタイトルでRyan自身が JSConf EU 2018

                                          Deno の組み込みリンター "deno_lint" の紹介 〜 ESLintの代替としても
                                        • 社内で使う npm パッケージの作成に Deno を採用した話 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                          こんにちわ。フロントエンドエキスパートチームの@nus3_です。 最近、社内用の npm パッケージを作る必要があり、そのパッケージは依存が少なく、実装もシンプルだったので、npm パッケージの作成には Deno と dnt を採用しました。 dnt とは dnt は Deno で実装したモジュールを CJS、ESM に対応した npm パッケージに変換してくれるビルドツールです。 使い方も簡単で、次のように dnt が提供するbuild関数にエントリーポイントや出力先などの必要な情報を渡すだけです。 import { build } from "https://deno.land/x/dnt@0.38.1/mod.ts"; await build({ entryPoints: ["./mod/index.ts"], // Denoで実装したモジュールのエントリーポイント outDir:

                                            社内で使う npm パッケージの作成に Deno を採用した話 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                          • Webアーキテクチャで迷わないためのイリティ(-ility)のすゝめ - Qiita

                                            はじめに こんにちは!NewsPicks、 Web Experience Unit のイイダユカコ (@becyn) です。 本記事は NewsPicks Advent Calendar 2023 の 25 日目の記事です。最終日の担当をキャッチしてしまいました。ハードルがやや上がっていることを感じますが、2023年もあと数日、優しい気持ちで読んでいただけると幸甚です。 (24日にコロナ&インフルに同時感染してしまい、投稿が遅れました。お待たせして申し訳ありません。) イリティ (-ility) とは イリティ (-ility) というワードを目にしたことがあるでしょうか?プロダクト開発をしていると、可用性、信頼性、テスト容易性、スケーラビリティなどの単語をよく聞くと思います。これらを英語表現した時、Availability、Reliability、Testability、Scalabil

                                              Webアーキテクチャで迷わないためのイリティ(-ility)のすゝめ - Qiita
                                            • Node.js で最近変わりそうな Permission Policy について - from scratch

                                              さてさて、 25日目の Node.js アドベントカレンダーです。もう年の瀬ですね。振り返りシーズンなんで色々書きたかったんですが、ネタを見つけているうちにこの日になってしまいました。 Permission Policy とは Node.js に新しく Permission を提供しようという試みです。元々 Node.js では同じプロセス内で動いてしまえば どんなモジュールであろうと同じ権限で色々できますね。外部ネットワークにアクセスしたり、ファイルを読み書きしたり。 プロセスに元から許可されている権限は全てできてしまいます。これが今まででは普通でしたが、今後はもしかしたら変わるかも?という話です。 権限に関して制限をかけて、拒否させることが可能です。 以下のような要領で拒絶させることができるようになります。 $ node --policy-deny=net 上のオプションでプロセス内の

                                                Node.js で最近変わりそうな Permission Policy について - from scratch
                                              • SwiftFormatを導入してコード記法を統一化 - Mirrativ Tech Blog

                                                ミラティブでiOS開発をしている福山(@fokotate)です。 今回はSwiftFormatをMirrativのiOSプロジェクト(約1500のSwiftファイル)へ導入したときのことを話します。 導入にあたって 私は当初、SwiftFormatについてよく知らなかったため導入にはあまり乗り気ではありませんでした。 しかし調べてみると、実行タイミングによってはチームにとってほぼストレスなくソースコードを綺麗に保てることがわかってきました。 コミット実行時にSwiftFormatがコードを変更してコミットを中断、その変更を取り入れて再度コミットするといった一手間だけです。 導入したい気持ちが高まってきたものの、いきなり新しいツールを持ち込むのはチームから反発も受けそうだったので、Slack上で様子をみたり、ドラフトPRを書いたり、勉強会を開いて徐々に受け入れられる状況を作りました (実際は

                                                  SwiftFormatを導入してコード記法を統一化 - Mirrativ Tech Blog
                                                • Nx Agentsを導入してフロントエンドのCIを約40%高速化しました - Findy Tech Blog

                                                  ファインディ株式会社でフロントエンドのリードをしている新福(@puku0x)です。 弊社では Nx を活用してCIを高速化しています。この記事では、最近導入した Nx Agents でフロントエンドのCIをさらに高速化した事例を紹介します。 Nxについては以前の記事で紹介しておりますので、気になる方は是非ご覧ください。 tech.findy.co.jp フロントエンドのCIの課題 Nx Agents Nx Agents導入の結果 Nx Agents利用上の工夫 プロジェクトを細かく分割する Node.jsのバージョンを揃える キャッシュの活用 特定のステップの省略 高度なエージェント割り当て まとめ フロントエンドのCIの課題 これまで「キャッシュの活用」や「並列化」「マシンスペックの向上」といった工夫により、フロントエンドのCIを高速化してきました。 しかし、コードベースの増大により時間

                                                    Nx Agentsを導入してフロントエンドのCIを約40%高速化しました - Findy Tech Blog
                                                  • HTMLを直接読み書きせず、スクリーンリーダーも使わずに、アクセシビリティを向上させられないだろうか(と思ってブラウザ拡張を作ってる)

                                                    HTMLを直接読み書きせず、スクリーンリーダーも使わずに、アクセシビリティを向上させられないだろうか(と思ってブラウザ拡張を作ってる) これまでの何年間か、Webアクセシビリティまわりのことをやってきた中で、「Webアクセシビリティに取り組む」上でいろいろな障壁を感じてきました。 「なぜWebアクセシビリティをやるのか」の理解を得る・得てもらうまでの障壁 イノベーター層・アーリーアダプター層な開発者(エンジニアやデザイナー)が取り組みを始める上での障壁 マジョリティ層が取り組みを始める上での障壁 今回はこの3つめの「マジョリティ層が取り組みを始める上での障壁」の話です。 残りの2つについては、私が執筆に参加したWebアプリケーションアクセシビリティが網羅的なガイドになってくれるはずです。しかしコイツは内容的にも物理的にもゴツすぎる問題があると思っていて、導入編としては見えにくい、読みにくい

                                                      HTMLを直接読み書きせず、スクリーンリーダーも使わずに、アクセシビリティを向上させられないだろうか(と思ってブラウザ拡張を作ってる)
                                                    • monorepo開発を快適にするツール選定

                                                      先日、location-stateというパッケージについての記事を公開しました。 履歴に基づいて状態を復元できるReact系ライブラリで、現在はNext.jsを重点的にサポートしています。このライブラリの構成はcoreとなる部分とNext.js依存な部分を切り離しscoped packageとし、内部構成もこれに合わせていわゆるmonorepo構成で開発を行なっています。 @location-state/core: coreとなる部分 @location-state/next: Next.js依存な部分 この記事では、monorepoのパッケージ開発を快適にするために実際に採用したツールを紹介していきます。本稿で紹介するツールは以下になります。 pnpm turborepo tsup changesets Renovate pnpm まずパッケージマネージャーですが、個人的に最近はpnpm

                                                        monorepo開発を快適にするツール選定
                                                      • ESLintのローカルルールで独自のコーディング規約を実装する - ドワンゴ教育サービス開発者ブログ

                                                        この記事はドワンゴ Advent Calendar 2023 の 22 日目の記事です。 ドワンゴ教育事業Webフロントエンドチームの berlysia です。1 この記事では、オンライン学習サービスN予備校の開発を支えるコーディング規約の考え方に少し触れ、その運用を支えるESLintの活用を紹介します。 この記事の内容は、他社様主催イベントにて発表した内容の再構成です。 speakerdeck.com コーディング規約は実行可能にしたい 教育事業のWebフロントチームには、細かいコーディング規約が書かれた文書は存在しません。コーディング規約はESLintをはじめとする各種ツールによって、自動で検出・修正可能な形になっています。 文書という形でなく、各種ツールのコンフィグファイルとそのコメントとしてまとまっている、と言い換えてもよいかもしれません。ドキュメンテーションは重要な仕事ですが、そ

                                                          ESLintのローカルルールで独自のコーディング規約を実装する - ドワンゴ教育サービス開発者ブログ
                                                        • 未経験者がフロントエンドの仕事を2年やって、各言語や仕事に抱いた感想 - Qiita

                                                          プログラミング言語やフレームワークに関する疑問をググるとだいたいQiitaの記事がヒットして、開くたびにアカウント登録しろしろとうるさいのでキレながらアカウント作りました。サブカルメンヘラクソ女の@hg0です。折角なのでアカウント登録のついでに書こうと思います。 大学は芸術系で、デザインやメディアアートをかじっていた程度なのですが、縁があってWebエンジニア業界に就職することが出来ました。 2年ほど、フロントエンドのお仕事・勉強をさせて頂いて思ったこと、躓いたこと、各言語やフレームワークを使って思ったことを振り返りながら書いてみようと思います。 言語・フレームワークについて HTML/CSS/JavaScript 「Webサイト制作」「フロントエンド」の勉強をするにあたって、誰もが一番最初に学ぶのは間違いなくこれだと思います。どれも国際的な団体が、仕様や書き方を中立的に定めている、Web業

                                                            未経験者がフロントエンドの仕事を2年やって、各言語や仕事に抱いた感想 - Qiita
                                                          • チームで培われたベストプラクティスをlintとして周知する - エムスリーテックブログ

                                                            こんにちは。AI・機械学習チームの氏家(@mowmow1259)です。 エムスリー福岡オフィスの一人目のエンジニアとして福岡で働いています。 マクドナルドの月見バーガーが好きで、今年も発売開始当日に食べに行きました。 私が所属するAI・機械学習チームでは基本的に2週間から1ヶ月程度で新規プロダクトをリリースするなど、高速にプロダクトを開発しています。 その過程で、「この書き方は落とし穴があるから使わない方がいい」といった開発に際したベストプラクティスが溜まっていきます。 そういったベストプラクティスはレビューでの指摘や技術共有会*1でチームに浸透してきますが、レビュー負荷や新メンバーへの周知などに課題がありました。 この記事では、それを解決するためにベストプラクティスをLinterの独自ruleとして規定し、CIで自動検知することでチーム全体に周知する取り組みについて紹介します。 独自ru

                                                              チームで培われたベストプラクティスをlintとして周知する - エムスリーテックブログ
                                                            • Prettier 3.0: Hello, ECMAScript Modules! · Prettier

                                                              We are excited to announce the release of the new version of Prettier! We have made the migration to using ECMAScript Modules for all our source code. This change has significantly improved the development experience for the Prettier team. Please rest assured that when using Prettier as a library, you can still use it as CommonJS as well. This update comes with several breaking changes. One notabl

                                                                Prettier 3.0: Hello, ECMAScript Modules! · Prettier
                                                              • typescript-eslintで新しい構文をサポートする

                                                                新しい構文がやってくる ご存知の通り、JavaScript の標準仕様である ECMAScript では毎年新しい記法や構文が提案され、採択されています。もちろん JavaScript のスーパーセットである TypeScript もその例外ではありません。 TypeScript では基本的に ECMAScript Proposal の Stage3 になった仕様から順次サポートするという方針があります。最近であれば v5.0 に入った Decorators や v5.2 で導入される using Declarations(Explicit Resource Management)などが該当します。 ここまでのことは普段 TypeScript を利用している方であれば知っている方も多いでしょう。しかし実際に TypeScript で新しい構文がサポートされた後、typescript-esl

                                                                  typescript-eslintで新しい構文をサポートする
                                                                • tsc の代替実装は作れるのか - mizdra's blog

                                                                  tsc の代替実装を作る話、とりわけ Rust や Go で tsc を高速化した移植版を作る話について。非常に野心的で面白いと思いつつ、正直僕は実用レベルまで達したものが本当に登場するのか疑問に思っている。今ある型システムもそうだし、新機能として追加されるものにも追従する必要がある。当然、実用レベルとして使ってもらうには、不具合も少なくないといけない。 それに tsc も最近はパフォーマンス改善に力を入れているように見えている。実際にリリースノートを見ると、ちょくちょくパフォーマンス改善系の変更が入っている。 TypeScript: Documentation - TypeScript 4.8 TypeScript: Documentation - TypeScript 4.9 TypeScript: Documentation - TypeScript 5.0 TypeScript:

                                                                    tsc の代替実装は作れるのか - mizdra's blog
                                                                  • workspaceを使ったコマンドを最適化して実行するTurborepoについて | サイボウズ フロントエンドエキスパートチーム

                                                                    今年からフロントエンドエキスパートチームでは活動内容の一つである探求の一環として、メンバーが気になった技術に対して、気軽に触ってみる会をしています。次の画像は筆者が Slack で、気軽に触ってみる会の開催を宣言してる時のものです。 今回は去年の 12 月に Vercel に買収されたニュースがあった Turborepo を気軽に触ってみました。 個人的には 1 人で調べるときよりも複数人でわいわい調べた方が、その技術や関連する周辺知識の話を色んな人の観点で深掘ってできて、とても有意義な時間でした。 概要 Turborepo はモノレポのためのビルドシステムで次のような特徴があります。 Yarn, npm, pnpm の workspaces に対応してるリポジトリに対して簡単に導入できる workspace 内のコマンドの依存関係をシンプルに設定してくれる Turborepo で実行する

                                                                      workspaceを使ったコマンドを最適化して実行するTurborepoについて | サイボウズ フロントエンドエキスパートチーム
                                                                    • Google I/O 2021で驚いたところ - Qiita

                                                                      Androidのエンジニア (Google Developers Expert for Androidでもある) なので、Androidが多めです。 特に驚いたところを太字で書いています。驚いたところもAndroidのものが多めです。 あとからもう一度見たものに☆をつけます。 なにか間違っているところなどあれば修正するので教えて下さい (他は割とてきとうにしか見れていないです) Keynote 以下に9分でまとまっている動画があるので見てみるとテクノロジーの進化を感じられて楽しいです! Smart canvas Notionみたいなもの。ビデオチャットしながら更新したりできる 順次公開ということで、まだ公開日程は決まっていないみたい。 Advancing AI Advancing AI LaMDA language model すごく自然に会話できるのでデモ必見 (まだリサーチ段階らしい)

                                                                        Google I/O 2021で驚いたところ - Qiita
                                                                      • Goodbye, Node.js Buffer

                                                                        The Buffer type has been the cornerstone for binary data handling in Node.js since the beginning. However, these days we have Uint8Array, which is a native JavaScript type and works cross-platform. While Buffer is an instance of Uint8Array, it introduces numerous methods that are not available in other JavaScript environments. Consequently, code leveraging Buffer-specific methods needs polyfilling

                                                                        • フロントエンドのLinterやCIを改善した話

                                                                          この記事は 株式会社エス・エム・エス Advent Calendar 2023 の21日目の記事です。 介護事業者向けの経営支援サービス「カイポケ」のリニューアルプロジェクトでフロントエンド開発をしている @hush_in です。 今年の4月にエス・エム・エスに入社しました。 入社してからフロントエンドのLinterやCIを改善した話をします。 忙しい人向けまとめ ESLint の recommended 系 extends を追加 全般 eslint:recommended plugin:import/recommended TypeScript plugin:@typescript-eslint/recommended-type-checked plugin:@typescript-eslint/stylistic-type-checked plugin:import/typescri

                                                                            フロントエンドのLinterやCIを改善した話
                                                                          • スタディサプリENGLISH の web フロントエンドプロジェクトで Renovate を半年運用して得た Tips 8選 +α | Recruit Tech Blog

                                                                            前置き スタディサプリENGLISH の web フロントエンドアプリは、実に多くの node モジュールライブラリ(以下、ライブラリ)に支えられています。 当初は開発メンバーが有志でそれらのライブラリを手動アップデートする運用で回していましたが、2021年3月頃より Renovate を本格導入することで依存ライブラリのアップロードを自動化する運びとなりました。 Renovate とは Whitesource Renovate: Automated Dependency Updates プロジェクトで依存しているライブラリ等のアップデートを自動化してくれるツール(≒ サービス)です。依存ライブラリのバージョニングを監視し、アップデート版が公開されるとそれに追従するためのプルリクエスト(以下、プルリク)を自動で作成してくれるという優れものです。かつては有償のサービスでしたが1)セルフホステ

                                                                              スタディサプリENGLISH の web フロントエンドプロジェクトで Renovate を半年運用して得た Tips 8選 +α | Recruit Tech Blog
                                                                            • styled-componentsへの最近の感想 - saneyuki_s log

                                                                              今の職場で既に組まれたシステムが既にstyled-componentsにべったり依存していて、別に積極的に入れ替える理由もないので普通に使っているけれども、やっぱりこれ微妙だなと思った話。 そもそもとして、ビルドシステムへの介入が多くて不必要にロックインになったり、提示されてる手法がだいたいイマイチで普通にCSSとかSCSSを書く以上の意義が見出せないので、僕は基本的に「JS中にCSSを書いたり、ES Moduleのimportを使ってCSSを読み込むタイプのアプローチ(以下CSS-in-JS)」がそんなに好きではない・大人しくCSS書く方が好きではあるんだけど。色々あった理由はこちら: https://saneyukis.hatenablog.com/entry/2019/02/28/022750 https://saneyukis.hatenablog.com/entry/2019/0

                                                                                styled-componentsへの最近の感想 - saneyuki_s log
                                                                              • node プロジェクトでも deno lint | deno fmt する

                                                                                なぜ npm ツールチェインで消耗した こういうところでシュッと deno を入れておくことで、あわよくば本番で使う準備をする 経緯 久々に eslint の設定を見直したらやたら長大な感じでメンテがしんどくなった npm/yarn workspace で monorepo 化した際に、様々な eslint のバージョンが混在して peer-deps の管理が困難になった deno に組み込まれてる lint, fmt は deno かどうかはあまり関係なく、単に typescript なら使える 中身は https://dprint.dev/ と https://github.com/denoland/deno_lint deno lint は eslint の recommended 相当のものは実装してある eslint + typescript をメンテするより、 eslint 吹

                                                                                  node プロジェクトでも deno lint | deno fmt する
                                                                                • Rust Lang Roadmap for 2024 | Inside Rust Blog

                                                                                  Apr. 4, 2022 · Josh Triplett, Niko Matsakis on behalf of The Rust Lang Team Note: this blog post is a snapshot of the living roadmap at https://lang-team.rust-lang.org/roadmaps/roadmap-2024.html. Subsequent changes may occur in that version, but not in this blog post. Please see that page for the most up-to-date version. Lang Team Roadmap 2024 Rust 1.0 was released in 2015. Since that time, we've

                                                                                    Rust Lang Roadmap for 2024 | Inside Rust Blog