JavaScript、TypeScript、およびJSX用のツールチェーンであるBiomeを実際のプロジェクトで試しました。Biomeは、高性能なフォーマッター、リンター、およびその他の開発者向けツールを提供します。本稿では、Biomeの特徴、インストール方法、設定ファイルのカスタマイズなどについてのレポートを書きます。 Biomeの特徴 高性能なフォーマッターとリンター Prettierとの97%の互換性 CLIおよびLSPを介した利用可能性 コミュニティ駆動の継続的な改善 インストール
![Prettier互換の爆速フォーマッターBiomeを試してみた - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/0157f94c891c274a872d98c967ba34b60cd7f964/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9UHJldHRpZXIlRTQlQkElOTIlRTYlOEYlOUIlRTMlODElQUUlRTclODglODYlRTklODAlOUYlRTMlODMlOTUlRTMlODIlQTklRTMlODMlQkMlRTMlODMlOUUlRTMlODMlODMlRTMlODIlQkYlRTMlODMlQkNCaW9tZSVFMyU4MiU5MiVFOCVBOSVBNiVFMyU4MSU5NyVFMyU4MSVBNiVFMyU4MSVCRiVFMyU4MSU5RiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9OGFlZWY5ODZlM2E5YWE3M2U5YmRjN2U5M2ZhNTM2OTc%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwc3VpbiUyMGluJTIwQ3JhZnRzbWFuJTIwU29mdHdhcmUmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zMiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTk5NzA0ZDM0ZmMxZmFmOWNjYzJjMmEyNWRlYTdhOThm%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D075c0d8709737abc58b805b41acb338a)
JavaScript、TypeScript、およびJSX用のツールチェーンであるBiomeを実際のプロジェクトで試しました。Biomeは、高性能なフォーマッター、リンター、およびその他の開発者向けツールを提供します。本稿では、Biomeの特徴、インストール方法、設定ファイルのカスタマイズなどについてのレポートを書きます。 Biomeの特徴 高性能なフォーマッターとリンター Prettierとの97%の互換性 CLIおよびLSPを介した利用可能性 コミュニティ駆動の継続的な改善 インストール
TypeScript 4.9で追加されたsatisfiesオペレーターですが、「これ何に便利なの?」「使いみちある?」という声を聞くところですが、使いどころのひとつとして、あるかなと思ったのがあったので紹介したいと思います。 僕もsatisfiesオペレーター自体、使い所を模索しているところなので、いちアイディアとして読んでいただければと思います。そのうえで、感想やツッコミなど頂けると嬉しいです。 JavaScriptで書いてた頃 一旦、TypeScriptは忘れて、JavaScriptを書いてた頃のマインドセットでコードを考えてみます。 たとえば、次のようなオブジェクトリテラルをJSONにしたいと考えたとします。
Promise<T>をラップして、Promise風に振る舞うクラスの定義のしかたを紹介します。Promise風のクラスは、Promise同様にawaitができるようになります。 Promise風に振る舞うクラスの作り方 JavaScriptでは、thenメソッドを持っているオブジェクトはPromiseと判断されます。 const p = { then(resolve) { resolve("hello world"); }, }; console.log(await p); //=> "hello world" なので、Promiseのように振る舞うクラスを定義する場合は、thenメソッドを実装すればいいわけです。TypeScriptではPromiseLike<T>インターフェイスがビルトインで提供されているので、これを実装したクラスを定義します。 class HelloWorldProm
この投稿では、値としては「文字列」なんだけど、単なる文字列ではなく「電話番号型」という意味を持たせた文字列型を定義し、それ使用する方法を紹介します。 TypeScriptで「電話番号型」みたいな、正規表現でバリデーションされるような型は作れるんかな? ElmだとOpaque Typeなんてやり方があったけど。。。 用は型をexportしないで、その型の値を作る方法だけをexportすればええんかな。 — 無職やめ太郎(本名) (@Yametaro1983) April 23, 2020 ↑上のような疑問に対する答えです。 実現方針 方針としては、以下のテクニックの組み合わせです。 公称型で、「電話番号型」を定義する ユーザ定義タイプガードで、文字列型を電話番号型としてコンパイラに認識してもらう 公称型とその実装方法についての基本は下記投稿をご覧ください。 TypeScript: 異なる2つ
YYPHP#92「なぜDockerは日本で受け入れられてないのか?」「RiinさんにLTのコツを聞く」「オレオレフレームワークからLaravelに移植する上での悩み」「インターフェースって何?」オブジェクト指向DockerYYPHP これは2019年7月12日に開催したPHPerイベントYYPHP#92のイベントレポートです。 YYPHPは一言で「PHPerの部室」です。PHPについて、雑に、ゆるく、ワイワイ話し合う集いです。毎回お題を決めずに雑談を出発点にいろいろなことを突発的にやります。集まった人でコードリーディングをすることもあれば、一緒に開発ツールを触ってみたり、フレームワークについての情報交換をすることもあります。開催はほぼ毎週、高田馬場にて。 今回の配信動画 YYPHP生配信はじめました!「なぜDockerは日本で受け入れられてないのか?」「RiinさんにLTのコツを聞く」「オ
-- Create syntax for TABLE 'categories' CREATE TABLE `categories` ( `id` int(11) unsigned NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Create syntax for TABLE 'items' CREATE TABLE `items` ( `id` int(11) unsigned NOT NULL, `category_id` int(11) unsigned NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
もしも運用しているサーバにDDoS攻撃をされて、大量のトラフィックを理由にホスティング業者から、そのサーバの利用停止を唐突に宣告されたらどうしますか? なにか対策を考えていますか? by woodleywonderworks. CC BY 2.0 「ファイアウォールでそういった攻撃を防いでいるから大丈夫」「まさか契約上そんな一方的なことができるはずない」と思うかもしれません。私もそのような認識でした。しかし、実際にDDoS攻撃を受けてみると業者の対応は次のようでした。 ホスティング業者は味方をしてくれない ホスティング業者は技術的に的はずれな対策を講じる ホスティング業者は利用規約を拡大解釈し、サービス停止を迫ってくる この3点を信じられない方のために、「付録:DDoS攻撃を受けた時のGMOクラウドPublicと私のやりとり」をこの記事の最後に書いたので、現実のホスティング業者の対応が実際
先日Macを再インストールするに当って、いい機会なので使ってないツールを省き使っているツールを厳選してインストールすることにした。あまり増やす気はなかったが、使うものだけ入れても73個になった。 コマンドライン ツール管理 brew-cask: HomebrewでMacアプリをインストールできる。 brew-gem: Homebrewでgemツールをインストールできる。 brew-pip: Homebrewでpipツールをインストールできる。 npm: Node.jsのパッケージ管理ツール。 DevOps ansible: Python製の構成管理ツール。Chefから乗り換え。 boot2docker: MacでDockerを使える。 packer: 仮想マシンのイメージを作るのに便利。 Git git: バージョン管理ツール。 hub: GitHubのコマンドラインクライアント。プルリク
皆さん、tigコマンドを活用していますか? tigは、コンソール上で使えるgitブラウザです。実はずっと、ただのきれいなgit logだと思っていたのですが、本当はそんなことはありません。かなり使えるやつなのです。 インストール ソースコード: https://github.com/jonas/tig インストール方法: https://github.com/jonas/tig/blob/master/INSTALL.adoc この辺りを参考にしてみてください。詳細は割愛します。 基本の使い方 この状態の差分を扱っていきます。いつものこれだとこんな感じ。 git logが素敵にビジュアライズされてます。この画面をmain viewといいます。 ここでエンターを押すと、下半分に差分の詳細(diff view)が表示されます。 下矢印で、Unstaged changesの差分を見てみるとこんな
ちょっと大げさなタイトルですが、あくまで私個人の環境構築手順をまとめたものです。WindowsからMacに乗り換えたばかりで、どうやってPHPの開発環境を整えるか分からないPHPerに向けの「開発環境を整えるためのガイド」と考えてください。 既にMacでAMP環境を構築したことがあるPHPerにとっても有用な情報を含めたつもりです。その例としては、php-buildとphp-versionで複数PHPバージョン環境の構築の手順、複数PHPバージョンとApacheの連携方法などがあります。 MacをUnix的に使えるようにするため、CUIで設定する手順を含んでいますが、怖がらずにやってみてください。ターミナルはあなたに噛み付いたりしません :) CUIに慣れてない方は、「難しい」と感じるかもしれませんが、きっとのちのちの財産になるはずです! 2012年版では「PHPerがMacbookAir
ビルドをプログラミングした Cakefile ファイルを用意して、cake コマンドでいつでもビルドできるようにしておくと大変便利。この例は、foo.coffee, bar.coffee, baz.coffeeをbuild.jsにコンパイルするものです。 util = require('util') exec = require('child_process').exec # 設定 SOURCE_DIR = './source' TARGET_DIR = './build' TARGET_FILENAME = 'build.js' #コンパイルするファイル群 files = [ 'foo.coffee' 'bar.coffee' 'baz.coffee' ] # タスクの登録 task 'build', 'CoffeeScriptをまとめてひとつのJavaScriptにします', (opt
#!/bin/bash ########################################################### # このスクリプトの特徴 # # 受信・通過については基本的に破棄し、ホワイトリストで許可するものを指定する。 # 送信については基本的に許可する。ただし、サーバが踏み台になり外部のサーバに迷惑をかける可能性があるので、 # 心配な場合は、送信も受信同様に基本破棄・ホワイトリストで許可するように書き換えると良い。 ########################################################### ########################################################### # 用語の統一 # わかりやすさのためルールとコメントの用語を以下に統一する # ACCEPT :
2019/06/11追記: これは2012年の投稿です。なぜかはてなブックマークで拡散されていますが、内容は時代にそぐわなくなったものもあるのでご注意ください。 これ知らないプログラマって損してんなって思う汎用的なツールのコメントに寄せられたツールを分類分けしてみました。 解説は、ほぼコメントに寄せられた内容のコピペです。 URLのみの記述は公式サイト(か、ほぼ公式サイトと化しているサイト) 公式サイトとは別に、ページタイトルだけでツールを説明しきっているページへのリンクも付けておきました。類似ページが複数ある場合は、はてブのブックマーク数が多いものを選びました。 知らないツールもあるので、分類がいいかげんなところもあると思います。何か気づいたらコメントください。 解説が不十分なツールについても、補足(コピペで本文に取り込める体裁だとありがたい)を頂けると助かります! 元ネタの投稿は現在進
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く