並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 4013件

新着順 人気順

Lintの検索結果201 - 240 件 / 4013件

  • ぼくのMac環境 ver.のんピ | DevelopersIO

    何年後かの自分へ こんにちは、のんピ(@non____97)です。 業務で使用する新しいMacが届きました。 新しいMacを初期セットアップするにあたって「今の設定どうだったっけ...」と調べる時間が結構かかってしまいました ということで何年後かの自分がまた新しいMacに乗り換える際に手間取らないように、設定した内容を書き記しておきます。 移行先のMacの情報は以下の通りです。M1 Max、嬉しい。 # OSのバージョンの確認 > sw_vers ProductName: macOS ProductVersion: 12.4 BuildVersion: 21F79 # カーネルのバージョン確認 > uname -r 21.5.0 # CPUのアーキテクチャの確認 > uname -m arm64 # CPUの詳細確認 > sysctl -a machdep.cpu machdep.cpu.

      ぼくのMac環境 ver.のんピ | DevelopersIO
    • TypeScript・モジュラーモノリスによる型安全なWebサービス開発

      こんにちは。SALESCORE株式会社CTOの成澤です。 祝・Publication機能のオープンβリリース🎉🎉 ということで、SALESCOREのテックブログを発信し始めます! テックブログの一発目ということで、2022年で一番開発体験が変わったTurborepoによるモノレポ・モジュラーモノリスによる開発について紹介します。 今後もTypeScriptでのWebサービス開発について記事を出していく予定なので、気になる話題などあればコメントいただけるととても嬉しいです🙋‍♀️ モジュラーモノリスという選択肢 ソフトウェア開発における重要な要素の1つは抽象化です。 抽象化をあえて噛み砕いて、平坦な言葉で言うならば 「適切なグルーピング」 と呼んでも良いでしょう。抽象化とは、ものごとをグルーピングして、適切な名前を与えることです。 100行の処理の羅列は分かりづらいが、10行ずつグルー

        TypeScript・モジュラーモノリスによる型安全なWebサービス開発
      • 追加の依存パッケージなしでプロジェクトごとのGitコミットフックを設定する方法

        Git 2.9以降はcore.hooksPathというオプションでグローバルまたはローカルのGitフックのディレクトリを指定できるようになっています。 Gitのcore.hooksPathオプションを利用するとhusky、simple-git-hooksのような追加の依存がなくても、Gitの機能だけでGitフックのコードをバージョン管理して、プロジェクトのセットアップ時にプロジェクトごとのGitフックを設定できます。 📝 類似するGitフックを管理するツールとしてpre-commitやLefthookもあります。これらのツールはGitフックの管理だけではなく、ファイルの種類ごとに実行するコマンドをわけて書けるようになっています。 つまり、lint-stagedのような機能も含むので、この記事で紹介するアプローチ以上の機能も同梱されています。 Node.jsプロジェクトの例 ここでは具体例

          追加の依存パッケージなしでプロジェクトごとのGitコミットフックを設定する方法
        • 入門 モダンLinux

          Linuxはサーバ、組み込み機器、スーパーコンピュータなどにおいて存在感を示してきました。近年では、オンプレミスのシステムだけではなく、クラウドサービスでも広く使われています。本書は、前半でLinuxを使いこなす上で必要な基本知識を、後半で最新情報をまとめています。Linuxの知識を体系的に整理したい、最新動向が知りたい、運用を改善したい、効率的に開発を行いたい、といった要望をかなえる内容となっています。時代の変化に柔軟に対応できるLinux技術者を目指すなら必読の一冊です。 訳者まえがき はじめに 1章 Linuxの入門 1.1 モダンな環境とは何か? 1.2 これまでのLinuxの歴史 1.3 なぜオペレーティングシステムなのか? 1.4 Linuxディストリビューション 1.5 リソースの可視性 1.6 Linuxの全体像 1.7 まとめ 2章 Linuxカーネル 2.1 Linux

            入門 モダンLinux
          • 【Qiitaで使用しているルールも紹介】textlintおすすめルールまとめ - Qiita

            この記事は、Qiita株式会社のカレンダー | Advent Calendar 2023 - Qiitaの13日目の記事です。 はじめに textlintについて、皆さんはご存知ですか? 実はQiitaのエディタ機能(ベータ版)でも、使用されています! 今回は、textlintのおすすめのルールとQiitaで使用されているものも 一部公開していこうと思います! textlintとは? 以下公式より textlint is an open source text linting utility written in JavaScript. It is hard to lint natural language texts, but we try to resolve this issue by pluggable approach. 簡単に説明します。 textlint(テキストリント)とは

              【Qiitaで使用しているルールも紹介】textlintおすすめルールまとめ - Qiita
            • 使い込んで厳選したNeovimプラグインたちをご紹介します

              筆者はこれまで、定期的にVimのプラグイン紹介の記事を定期的に投稿していたのですが、2019年のVim AdventCalenaderに投稿したNeovimでモダンなPython環境を構築するv2(LSPを添えて)以降、ほとんどプラグイン紹介記事を執筆していませんでした。 他のかたの記載されるNeovim環境構築記事を見るたびに、筆者も自分の環境を紹介したいと常々思っていました。 ワシの使っているNeovimプラグインは200個近くあるぞ vim沼: NeovimのReact、TypeScript、Tailwind CSS用セットアップ Neovimでのフロントエンド開発環境 2022 しかしNeovim v0.5のリリース以降、増え続けるluaプラグインの洪水に飲まれ、筆者のNeovim環境はプラグインを入れては消しを繰り返し、安定しない日々を過ごしていました。 Neovim v0.5リ

                使い込んで厳選したNeovimプラグインたちをご紹介します
              • UI・UXに強い!デザインシステムにおすすめ Figmaプラグイン20選

                Figmaの使い方はとてもシンプルですが、デザインシステムの作成となると話は別です。 ストレスの多い作業プロセスになりがちですが、幸いにもFigmaにはそんな苦悩から救ってくれる、便利プラグインが数多く公開されています。 プラグインはデザインプロセスに欠かせないツールで、プロジェクト特有の問題点を解決したり、面倒な作業を自動化するなど、時間短縮にもつながります。 しかし、膨大な数のプラグインから自分にあったものを探すのは時間がかかるのも事実。 ここでは、デザインシステムの作成、管理、運用に役立つFigmaプラグイン20個をピックアップしてご紹介します。 無料ダウンロードできる良質UIテンプレート集を活用して、すぐに新しいプロジェクトをはじめてみましょう。 Figma Tokens Figma Tokens プラグインは、プロジェクトの配色や書体、境界線の半径サイズや余白サイズなどのグローバ

                  UI・UXに強い!デザインシステムにおすすめ Figmaプラグイン20選
                • Zodスキーマでプロンプト生成を行い構造化データを自由自在に扱えて、LLMプロダクト開発が圧倒的に効率化した話 - Algomatic Tech Blog

                  最近はAIエンジニアを名乗ってるerukitiです。フロントエンドもバックエンドも、LLMを触るあれこれもやってるので、「AIエンジニア」くらいを名乗るとちょうどよさそうだなと思ってます。いずれLLM自体の開発なんかもやってるかもしれません。 LLMプロダクトを開発していると、構造化データを作りたいのに、Anthropic ClaudeのAPIにはJSONモードが無いことや、なんならJSONモードやfunction callingを使っても、データが正しい形式に従ってることは保証しがたい、みたいな自体に遭遇することがあります。 JSONが出力できたとしても、構造化データをうまく吐き出させるのは難しいものです。文字列を出力させたいけど、複数あるときは、配列なのか、それともカンマ区切りなのか?項目がオプショナルの場合はどうするか?項目が存在しない、空文字や 0 や undefined や nu

                    Zodスキーマでプロンプト生成を行い構造化データを自由自在に扱えて、LLMプロダクト開発が圧倒的に効率化した話 - Algomatic Tech Blog
                  • Introducing Rome

                    We’re excited to announce the first beta release and general availability of the Rome linter for JavaScript and TypeScript. This is the beginning of an entire suite of tools. Rome is not only linter, but also a compiler, bundler, test runner, and more, for JavaScript, TypeScript, HTML, JSON, Markdown, and CSS. We aim to unify the entire frontend development toolchain. Rome is a monolithic tool con

                      Introducing Rome
                    • 【Team & Project】LINEアプリのiOSクライアント開発をしているチームを紹介します

                      LINEの開発組織のそれぞれの部門やプロジェクトについて、その役割や体制、技術スタック、今後の課題やロードマップなどを具体的に紹介していく「Team & Project」シリーズ。今回は、LINEアプリのiOSクライアント開発チームを紹介します。マネージャーの富家将己と朴盛民に話を聞きました。 ―― まず、自己紹介をお願いします。 富家:LINEのiOS版のエンジニアマネージャーをやっている富家です。仕事では、チームメンバーのマネジメントをしながら、技術検証など開発に関わるタスクも行っています。 朴:LINEアプリのiOS版のエンジニアマネージャーをやっている朴です。仕事ではLINT ProjectのメンバーとしてiOS側の作業をやっています。チームメンバーのマネジメントや他のチームのサポートも行っています。 ―― お二人がLINEに入った理由、働くやりがいなどを教えてください。 富家:私

                        【Team & Project】LINEアプリのiOSクライアント開発をしているチームを紹介します
                      • GitHub Actions のアクションのつくりかた(JavaScript 編) - 生産性向上ブログ

                        help.github.com この記事では、新しくなった GitHub Actions における、JavaScript アクション作成方法について解説します。 www.kaizenprogrammer.com GitHub Actions とはなんぞやという人は、先にこちらの過去記事をどうぞ。 目次 アクションについて アクションの保存場所 アクションのバージョニング 簡単な例 (Hello, World) メタデータ JavaScript アクションの使用する Node.js バージョン toolkit node_modules の管理 README.md 公式テンプレート 少し実践的な例 その他 GitHub 公式のアクション サードパーティーのアクション まとめ アクションについて 前回の記事で新しくなった GitHub Actions の使い方について簡単に解説しました。この記事

                          GitHub Actions のアクションのつくりかた(JavaScript 編) - 生産性向上ブログ
                        • 既存のDocker開発環境をVS CodeのRemote Developmentで開発できるようにしてみた | DevelopersIO

                          こんにちは!DA(データアナリティクス)事業本部 サービスソリューション部の大高です。 私は普段のローカル開発環境として、Dockerを利用した開発を行っており、このコンテナ環境はsshを利用してVS Codeで接続および開発できるようにしています。 一方で、VS Codeを利用しているので「せっかくVS Codeを利用しているのであれば、Remote Development(のコンテナ機能)を利用して開発したい!」という想いから設定をしてみたので、その設定方法についてまとめておきたいと思います。 前提 まず、元々の環境についてです。 OSなど OSはMacOSで、DockerについてはDocker Desktop for Macを利用しています。 VS Codeの拡張機能 VS Codeの拡張機能に「Remote Development(ms-vscode-remote.vscode-r

                            既存のDocker開発環境をVS CodeのRemote Developmentで開発できるようにしてみた | DevelopersIO
                          • CircleCIからGitHub Actionsへの移行 (Node.js) - 余白

                            自作のライブラリのCIをCircleCIからGitHub Actionsへ移行したメモ github.com github.com 特にメリットがあるから乗り換えたとかいうわけでもないけど、GitHubだけで完結するならそれに越したことはない ファイルの場所 .github/workflows/<ワークフローの名前>.yml だが、いまのところ複数作るユースケースが見えないので main.yml とした。 実行環境 ubuntu-latest を選択した。特に理由はないけど一応MacOSやWindowsも選べるっぽい? Software in virtual environments for GitHub Actions - GitHub Help を見るとわかるが、 めちゃくちゃ充実したプリインのソフトウェアがある。 yarn や Git、Docker、Chromeもなんの設定もなく最初

                              CircleCIからGitHub Actionsへの移行 (Node.js) - 余白
                            • レガシーなフロントエンド環境をリプレースするためにチームでやっていること|食べログ フロントエンドエンジニアブログ

                              はじめに はじめまして!食べログFE(フロントエンド)チームの金野と申します。 普段は、食べログフロントエンドの設計・開発や、新規事業・食べログテイクアウトの技術サポートなどを行っています。 食べログテイクアウトについては、Nuxt.js + TypeScriptの開発について記事を書いているので、興味がある方はぜひ御覧ください。 さて、以前の記事でご紹介したように、食べログFEチームではレガシーシステムのリプレースをReact/TypeScriptで行っています。 今回は、新しいシステムについてもう少し詳しい技術スタックや、どのようなプロセスで開発しているのかを紹介します。 開発効率化のための取り組みリプレースのお仕事はただひたすら実装するだけではありません。 「壊れにくいアプリケーション」「メンテナビリティが高いアプリケーション」にするために、アーキテクチャや採用する周辺技術について、

                                レガシーなフロントエンド環境をリプレースするためにチームでやっていること|食べログ フロントエンドエンジニアブログ
                              • Git submoduleを使ってマルチリポジトリなMonorepoを管理する

                                LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog こんにちは、LINEフロントエンド開発センターの玉田です。新春を名乗るにはすこし遅いですが、昨年開催した「UIT新春Tech blog」を今年も開催します! 本日から5日間4日間、フロントエンド開発に携わるUITのエンジニアが毎日持ち回りで記事を公開します。ぜひ最後まで見に来てください。 Monorepo フロントエンドにおけるMonorepo toolは、大規模なフロントエンド開発を効率よく管理する手段として、ここ数年で普及が進みました。LernaやNx、npmやyarnのWorkspace機能など、すでに皆さんも使っている例があるかもしれません。 Monorepoを実現するツールはいくつかありますが、どのツールも共通して以

                                  Git submoduleを使ってマルチリポジトリなMonorepoを管理する
                                • ESLint を使い倒す(おすすめルール紹介)

                                  前書き ESLint は JavaScript, TypeScript のための静的検証ツールです。 ESLint を活用することで、コーディング規約やベストプラクティスを機械的に強制することによりコードレビューの手間を省き、本番環境でのエラーやパフォーマンスの悪化を抑制することができます。 TypeScript を使っているプロジェクトでは、パーサーを適切に設定すれば型情報を用いたより精密な静的検証を行うこともできます。 eslint を使う際、 eslint:recommended, plugin:@typescript-eslint/eslint-recommended などの各 eslint plugin の推奨 config のみを使って済ませたり、 eslint-config-airbnb などの config のみに頼ることも多い印象ですが、 recommended conf

                                    ESLint を使い倒す(おすすめルール紹介)
                                  • Next.jsのApp Routerの機能別コードサンプル集を作った - hiroppy's site

                                    Next.js App Router Training Introducing various basic patterns using Next.js' app router with simplified code. ディレクトリ作って、コード書いたら新しいサンプル追加できるので、追加ウェルカムです! 目的 自分の検証サンドボックスがほしかった 公式ドキュメント含め、解説と参考コードはあるが、実際に動いている状態とコードを同時に見たい 簡潔な短いコードで早く理解を促したい 一番の目的は、初学者にApp Routerの機能を説明するときにこのサイトである程度、網羅されており実行されているコードとその状態が見えるものが欲しかったというのが主な理由です。 逆にあまり説明は書きたくなく、それは公式ドキュメントや他の方のブログで説明されているのでそちらを読んでもらいたいです。 知見 / 感想 仕

                                      Next.jsのApp Routerの機能別コードサンプル集を作った - hiroppy's site
                                    • How to Set Up a Python Project For Automation and Collaboration

                                      How to Set Up a Python Project For Automation and Collaboration [ engineering production python productivity 🔥 ] · 20 min read As your Python project gets larger in scope, it can become difficult to manage. How can we automate checks (e.g., unit testing, type-checking, linting)? How can we minimise collaboration overhead (e.g., code reviews, consistency)? How can we maximise developer experience

                                        How to Set Up a Python Project For Automation and Collaboration
                                      • reviewdog x perlcritic x Jenkins で最高の GitHub レビューライフ - Mirrativ Tech Blog

                                        ミラティブのサーバーサイドエンジニア、ハトネコエです! 今日は、GitHub の自動レビューとして reviewdog を導入した話をします。 1. 動機 すでに CTO の夏さんによって、Perl 用の linter である perlcritic が導入されていました。 そして、テストが走る際に perlcritic のチェックもおこなわれ、 指摘箇所があればテストが落ちるようになっていました。 まずは緩めの設定で導入したけれど、perlcritic のチェックをもっと厳しくしたい! だけど厳しくすると、すでに存在するコード(つまり、プルリクで変更していない部分)が原因で テストが落ちるようになってしまいます。 残念ながら perlcritic には autofix の機能も無いようで、 設定を変更した後は、人力での修正が終わるまでテストは落ち続けてしまいます。 これでは開発に支障が出る

                                          reviewdog x perlcritic x Jenkins で最高の GitHub レビューライフ - Mirrativ Tech Blog
                                        • axe-core/playwrightとmarkuplintを導入しアクセシビリティの自動テストをできるようにした

                                          Web アクセシビリティに興味があったので、まず機械的なチェックツールから学んで知識を増やそうということでこのサイトに @axe-core/playwright と markuplint を導入してみました。 @axe-core/playwright のセットアップ 既に Playwright が導入されている状況を想定し進めます。まず@axe-core/playwright をインストールします。 pnpm add -D @axe-core/playwright このサイトの場合 VRT として Playwright を動かしているテストがあるので(過去資料)、そのプロセスに同居する形で axe を実行することにしました。 e2e.test.tsimport AxeBuilder from "@axe-core/playwright"; import type { Page, TestI

                                            axe-core/playwrightとmarkuplintを導入しアクセシビリティの自動テストをできるようにした
                                          • __init__.py を省略してはいけない - Qiita

                                            Python 3.3 から __init__.py を省略して良いと思っている人が多いですが、 省略しないでください。 なぜ勘違いが起こったのか Python 3.3 から、 PEP 420 で Implicit namespace package が追加されました。 Namespace package とは普通の package ではありません。 特殊な用途のもので、ほとんどの人にとっては 知る必要すらない ものです。 どうしても知りたければ、上の PEP 420 と packaging guide を読んでください。 __init__.py を省略する弊害 普通の package で Implicit namespace package を乱用すると弊害があります。 import が遅くなる 通常の package とは違うので import が package 内のモジュールを探すの

                                              __init__.py を省略してはいけない - Qiita
                                            • SQLFluffを完全に理解する | DevelopersIO

                                              Google Cloudのデータエンジニアをしています、はんざわです。 今回はSQLのリンターであるSQLFluffを触りながら理解を深めたいと思います。 検証環境 macOS: 13.3.1 Python: 3.9.5 SQLFluffとは SQLFluffとは、SQLのフォーマットを自動で問題点の指摘や修正をしてくれるオープンソースサービスです。 さっそくインストールして使ってみたいと思います。 インストール SQLFluffをインストールするにはPython3が必要です。 $ pip3 install sqlfluff 正常にインストールできているか確認します。 $ sqlfluff version 2.0.7 インストールが完了しました。実際にクエリを用意し、使ってみたいと思います。 さっそく使ってみる sqlfluffには大きくlintとfixの2つの機能があります。 まずはli

                                                SQLFluffを完全に理解する | DevelopersIO
                                              • はてなで使用しているRenovateの設定プリセットを公開しました - Hatena Developer Blog

                                                こんにちは。毎年のAppleとGoogleからのお達しのおかげで、開発環境やライブラリのアップデートが大好きな id:ikesyo です。普段はiOS・Androidのモバイルアプリ開発を主にしています。 はてなでは先日、はてな社内で使用しているRenovateの設定プリセットをGitHubで公開しました! はてな社で使用しているRenovateの共通設定をまとめたリポジトリを公開しました!https://t.co/2mgZNQ3pxw RenovateのShareable Config Presetsという機能を活用しています。— Sho Ikeda (@ikesyo) 2020年6月12日 リポジトリはこちらです。 Renovateについて Renovateについて簡単に説明すると、様々なプログラミング言語やツールに対応したライブラリ・依存性の自動アップデートサービス(もしくはツール)

                                                  はてなで使用しているRenovateの設定プリセットを公開しました - Hatena Developer Blog
                                                • TypeScript Clearly & Quickly

                                                  2024-01-01 quick-lint-js is a JavaScript bug finder. Today, version 3.0 makes it also a TypeScript bug finder! quick-lint-js complements TypeScript with beginner-friendly messages and fast linting. install quick-lint-js 🌐 try in browser code on GitHub Example code used in this article has been adapted from various open source projects, including some Copyright Tiny Technologies, Inc. and Copyrigh

                                                  • Svelte + TypeScriptで
chrome拡張を作る

                                                    Transcript Svelte + TypeScriptͰ Chrome֦ுΛ࡞Δ Sakito ࣗݾ঺հ • ໊લɿsakito • Twitterɿ@__sakito__ • ॴଐ • αΠϘ΢ζ גࣜձࣾ ϑϩϯτΤϯυΤΩεύʔτνʔϜ ΞδΣϯμ • Svelteͱ͸ʁ • ࡞Δ΋ͷ • ؀ڥߏங • manifestΛ࣮૷Λ͢Δ • svelteͰ࣮૷Λ͢Δ • ·ͱΊ Svelteͱ͸ʁ Svelteͱ͸? • React,Vue,AngularͷΑ͏ʹએݴతʹUIΛॻ͚Δ • গͳ͍ίʔυͰ࣮૷͕Ͱ͖Δ • https://svelte.dev/blog/write-less-code • Ծ૝DOMͳͲΛ࢖༻ͤͣɺϏϧυ࣌ʹ࠷దͳόχϥJSʹม׵͢Δ • ͦͷ্ύϑΥʔϚϯε΋༏Ε͍ͯΔ • TypeScript΁ͷରԠ΋͞Εͨ • https://svelte.de

                                                      Svelte + TypeScriptで
chrome拡張を作る
                                                    • サードパーティスクリプトの極限環境向け Svelte

                                                      この記事は、 Svelte Advent Calendar 2020 - Qiita の 22 日目です。 昨今では、フロントエンドの JS を減らす圧が強くなってきています。とくに来年 4 月に導入される Core WebVital は SEO に関わるため、 マーケティング文脈でもフロントエンドの改善施策として、パフォーマンスを上げる圧が強くなっています。 Google の UX 指標「Core Web Vitals(コアウェブバイタル)」とは?LCP・FID・CLS を解説| ferret JavaScript よ。文明を捨て、自然に還れ。 ::ハブろぐ で、ユーザー体験を遅くするものとしてやり玉に上げられるのが、サードパーティスクリプトという、サイト外から読み込まれる第三者の script です。代表的なものが Google Tag Manager や Twitter や Face

                                                        サードパーティスクリプトの極限環境向け Svelte
                                                      • LINE DEVELOPER DAY 2019 を開催しました

                                                        LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog Developer Relationsチームの三木です。 11月20日から21日にかけて、LINEのエンジニア向け技術カンファレンス「LINE DEVELOPER DAY 2019」を開催しました。社内外のエンジニアの皆様3,000名以上にご来場いただく大盛況なイベントとなりました。ご来場いただいた皆様、登壇いただいたゲストの皆様、運営に携わっていただいた皆様、誠にありがとうございました! 今年のLINE DEVELOPER DAYは、より深く幅広い分野に関連した内容を提供するために、二日間の構成としました。全部で68個のメイントーク、42個のショートトラック、9個のポスターセッション、6個のハンズオンセッション、19個のブー

                                                          LINE DEVELOPER DAY 2019 を開催しました
                                                        • 「実装例から見る React のテストの書き方」をアップデートする

                                                          社内の人から、自分が以前書いた次の記事が「便利で助かった!書いた時から何かアップデートある?」ってメッセージがきた。 そんな便利だなんてどうもありがとうございますウフフ、と思いながら書いた日を見てみると 2022-08-09 だった。もうすぐ 2 年経とうとしてる。時の流れが早くて怖い。 この記事に書かれた実装例はリポジトリにまとめていたんだけど、当然、何かメンテをしていたわけもなく、2022 年当時の状態がそのまま残っていた。 せっかく便利に思ってくれる人がいたので、内容をアップデートする。 アップデートまとめ メジャーバージョンのリリースやビルドツールの統一の観点で Jest から Vitest に移行 useFakeTimers({ shouldAdvanceTime: true }) @testing-library/reactを v15 にバージョンアップ MSW を v2 にバ

                                                            「実装例から見る React のテストの書き方」をアップデートする
                                                          • CLIツールを作るためにoclifを試してみたら簡単すぎて吃驚した | Trial and Spiral

                                                            CLI用のコマンドを作ってみようと思いたったのですが、CLI開発フレームワークoclifを試してみたらとても簡単で環境構築もすんなりできたのでびっくりしたという話。 概要 ある用途で思いたってCLIのコマンド作ろうと思った oclifというCLI用のフレームワークがあったので試してみた 簡単すぎてびっくりした 追加でPrettierとJestも対応してみました 動機 誰しもCLIのコマンドをつくりたくなることがたまにある。僕はある。 今回はGUIを作るまでもなく、コマンドでシュッと実行したい作業があったので勉強と遊びを兼ねてコマンドを作ることにしました。CLIの開発ツールはいろいろありますが、今回はやりたいことを実現するのにすでに知見としてあるものを流用したい背景aからNode.jsでやることにしまた。 Node.jsにもCLI用を作るためのライブラリがさらにいくつかありますが、今回はoc

                                                              CLIツールを作るためにoclifを試してみたら簡単すぎて吃驚した | Trial and Spiral
                                                            • フロントエンドの main() を合成関数として副作用を集約する

                                                              これは未実装のアイデアを含む記事です。(後述する lint rule が未実装です) 要は EffectSystem を作ろうとしました。 https://www.eff-lang.org/ void に意味を込めたい こういうフロントエンドのコードについて考えてみましょう。 function mount(): void { const div = document.createElement('div'); div.textContent = "hello"; document.body.append(div); } function print(): void { console.log("hello"); } function maybeError(): void { // 低確率で例外が起こる関数 if (Math.random() > 0.999) { throw new Err

                                                                フロントエンドの main() を合成関数として副作用を集約する
                                                              • TDD研修 by t_wada さん を開催しました - Classi開発者ブログ

                                                                こんにちは。エンジニアの原です。 先日、「テスト駆動開発」の翻訳者として知られるt_wadaさんこと和田卓人さんをお招きして、テスト駆動開発ワークショップの第1回目をオンラインで開催しました。 今回はその様子をお届けします。 本日は Classi 株式会社様にお招きいただき、1日コースの TDD ワークショップをオンラインで行いました。参加される皆様のレベルが高めなので反転学習の要素を取り入れた研修を設計しましたが、予想以上に効果があったと手応えを感じています。ご参加くださいました皆様、ありがとうございました!— Takuto Wada (@t_wada) December 15, 2020 きっかけ Classiでは毎年外部講師をお招きして勉強会を行っています。 新卒研修を行う中で、「テストコードを実装する際の勘所」をどう伝えようかという話があり、第一人者のt_wadaさんをお呼びして研

                                                                  TDD研修 by t_wada さん を開催しました - Classi開発者ブログ
                                                                • 今さら聞けないビジュアルリグレッションテストをChromaticで始める - Sansan Tech Blog

                                                                  Bill One Entry*1グループの秋山です。 1. はじめに 2010年代前半に登場したReactやVue.jsに代表される宣言的UI実装は、大規模なSPAの構築を可能にしました。その一方、フロントエンド領域に新たなアーキテクチャが導入されたことで、それまでWebアプリケーション開発で定石とされたテスト手法を適用しづらいケースが増え、新たなベストプラクティスが求められるようになりました。 その要請に応える形で、2010年代後半にはフロントエンドのテスト手法に緩やかなパラダイムシフトがありました。この記事ではそのパラダイムシフトを振り返りながら、フロントエンドで必要なテストについて考察し、最後にChromaticを用いたビジュアルリグレッションテストを紹介します。 2. Testing Pyramid と フロントエンド テストを語る際によく持ち出されるメタファとして、Testing

                                                                    今さら聞けないビジュアルリグレッションテストをChromaticで始める - Sansan Tech Blog
                                                                  • 技術書典12で用いた同人誌の執筆環境とGitHub Oriented Writingの紹介

                                                                    はじめに TL;DR 同人誌の執筆には Re:VIEW を用い、textlint や prh といったツールを導入した GitHub Actions による CI/CD で Lint や本のビルド、Discord への通知などを導入した GitHub Oriented Writing とは GitHub に執筆に関する情報を集約するという思想である 内容と対象読者 本記事では 2 つのテーマを扱います。 1 つ目に、本の執筆環境ではどのようなツールを導入し、 どのような役割があるのかをご紹介します。 2 つ目に、執筆フローで導入した GitHub Oriented Writing という考え方をご紹介します。 今回解説する内容を実際に技術書典 12 での執筆で導入した結果、 少ない時間でもある程度のクオリティを維持しながらタスク管理ができたと感じています。 ゆえに、この機会に備忘録として残

                                                                      技術書典12で用いた同人誌の執筆環境とGitHub Oriented Writingの紹介
                                                                    • Github ActionsでクロスコンパイルしてGithub Releaseにアップロードする - c-bata web

                                                                      追記: GoReleaserのbabarotさんの記事があったので紹介。GoReleaser使ったほうが手軽でよさそう。 Go で書いた CLI ツールのリリースは GoReleaser と GitHub Actions で個人的には決まり | tellme.tokyo 追記: GoReleaserのプロジェクトがGithub Actionを公開したようなのでこちら使ってみるといいかもしれません。 https://github.com/goreleaser/goreleaser-action この前kube-promptのリリースでミスをしてしまいissueが立て続けに2件上がったことがあったのですが、Github Actionsが自分のリポジトリで使えるようになったのでリリースを自動化することにしました。 触ってみてわかったのですが、↓の記事を書いたときとは多くの変更がありました。wor

                                                                        Github ActionsでクロスコンパイルしてGithub Releaseにアップロードする - c-bata web
                                                                      • CPU シミュレータを用いて継続的ベンチマークを安定化させる - mizdra's blog

                                                                        id:mizdra は eslint-interactive というツールをメンテナンスしています。このツールを使うと、多数の ESLint エラーを効率的に修正できます (詳しくは以前書いた記事を見てください)。 www.mizdra.net eslint-interactive では「中規模〜大規模なコードベースであってもキビキビ動く」を大事にしてます。その一環として、eslint-interactive には CI (GitHub Actions) でベンチマークを取り、以前から大きく劣化していたら CI を fail させる仕組みがあります。 https://github.com/mizdra/eslint-interactive/actions/workflows/benchmark.yml?query=is%3Afailure しかし CI で実行するためにノイズが大きく、よく

                                                                          CPU シミュレータを用いて継続的ベンチマークを安定化させる - mizdra's blog
                                                                        • Reactで社内向けUIライブラリ開発・ビルド・公開・布教入門【2024年】

                                                                          会社で複数の新規事業を立ち上げる機運が高まったことをきっかけに社内向けUIライブラリを開発し、限定公開して利用を始めました。 本記事ではReactで社内向けUIライブラリを開発・ビルド・公開・布教するためのアレコレを共有します。 以下のような話題について知りたい方に特に読んでほしいです。 Private Packageの作り方、配布の方法のイメージがつかない方 CommonJSとES Modules、今はどちらでビルドするのがいいのか知りたい方 ライブラリの作り方について網羅的に知りたい方 前提 利用側のアプリケーションはNext.js固定を前提とする Tailwind CSSを内部的には利用する 利用側のアプリケーションはパフォーマンス(Lighthouseスコア)重視することが多い 社内の様々なレベルのエンジニアがContributeする可能性がある 端的に言うと、社内のプライベートリ

                                                                            Reactで社内向けUIライブラリ開発・ビルド・公開・布教入門【2024年】
                                                                          • クックパッド Android アプリ CI を CodeBuild に切り替えた話 - クックパッド開発者ブログ

                                                                            こんにちは、モバイル基盤部の加藤です。 モバイル基盤部では開発者の開発環境や CI 環境の改善に取り組んでいます。 今回はその中でクックパッド Android アプリの CI 環境を CodeBuild へ移行した取り組みを紹介します。 クックパッド Android アプリで先行して移行を行った話となっていますが、他プロジェクトに関しては今後順次移行する予定となっています。 これまでの CI 環境 この記事では以前 Android アプリの CI 環境を紹介した Genymotion On Demandを使うようになってAndroidのCIがさらに1分短縮した話 からの差分を中心にご紹介します。 上記の記事をまだ読まれてない方はぜひご一読の上この記事を読まれることをおすすめします。 これまでの CI 環境の概要を説明すると以下のような図の構成となっていました。 既存環境の問題点 以前の記事

                                                                              クックパッド Android アプリ CI を CodeBuild に切り替えた話 - クックパッド開発者ブログ
                                                                            • https://qiita.com/dairappa/items/5e954b27b81c646435f3

                                                                              伏線回収です。 批判されてるのは書き方もそうだけど、一部「ダサい」「時代遅れ」のみで非難しているようなルールがあるからでしょ。なんで駄目なのかを考えないで伝えたら文句言われるのは当たり前。私も総論は賛成だし皆もそう思ってるだからこそ200LGTM行ってるわけで https://t.co/dCw5Q9ffLY — dairappa🧲 (@dairappa) February 21, 2021 TL;DR 当該記事は総論賛成だけれど、「古い」「ダサい」で物事は変えられない 最近の環境の変化、コードを書いた人が持っている暗黙の前提なども考えないといけない 単純にコードを変えるだけでなく、それに合わせて環境やプロセスを整える必要がある。そこはみんなそれぞれ頑張れ。 まずは分類 9個の「古い書き方」が挙げられていますが、実はいくつかに分類できるかと思います。私が分けるなら以下のような感じです(いく

                                                                                https://qiita.com/dairappa/items/5e954b27b81c646435f3
                                                                              • TypeScript + Node.jsプロジェクトにESLint + Prettierを導入する手順2020 - Qiita

                                                                                TL;DR 完成形のソースコードはこちら↑ この記事の趣旨 TypeScript + Node.js プロジェクトのはじめかた2020 で作成したTypeScript + Node.jsのプロジェクトに ESLint / Pretiter / husky & lint-staged を導入する手順を紹介します。 今回導入するツールとバージョンは以下になります。 項目 バージョン

                                                                                  TypeScript + Node.jsプロジェクトにESLint + Prettierを導入する手順2020 - Qiita
                                                                                • LernaとYarn WorkspacesでMonorepo管理 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                                  こんにちは、フロントエンドエキスパートチームの小林(@koba04)です。 本記事では、Lerna と Yarn Workspaces を使った Monorepo 管理について解説します。 Monorepoとは 本記事では、単一のリポジトリで複数のモジュールやパッケージ(今回の場合は npm パッケージ)を管理する手法を Monorepo と呼んでいます。 有名なところだと、Babel や Jest、Create React App などが後述する Lerna を使い複数パッケージを単一のリポジトリで管理しています。 他にも React も Lerna は使っていませんが単一リポジトリで複数パッケージを管理しています。 また、上記のようなライブラリ以外にも企業で利用している npm パッケージを Monorepo として管理している例もあります。下記は Shopify の例です。 pack

                                                                                    LernaとYarn WorkspacesでMonorepo管理 - Cybozu Inside Out | サイボウズエンジニアのブログ