タグ

ブックマーク / qiita.com (1,745)

  • javap の隠しオプション - Qiita

    たまたま OpenJDK の javap のソースコードを読んでいたら、-help には表示されない隠しオプションがいくつかあることに気づきました。 -XDdetails -XDinner -XDindent:(数値) -XDtab:(数値) せっかくなので、詳しく調べてみました。 -XDdetails バイトコードの出力時に、追加で詳細情報を出力するオプションです。 -verbose オプションと併用します。 出力する情報は、 -XDdetails:(オプション) と指定することで制御可能です。 (複数指定する場合は、, または : 区切り) 指定できるオプションは、下記の6つです。 localVariables localVariableTypes source stackMaps tryBlocks typeAnnotations -XDdetails とした場合、全部のオプションを

    javap の隠しオプション - Qiita
  • Cloudflare Pages使ってみた! - Qiita

    はじめに こんにちは。サンリオのキャラクター、シナモロールをシナモンロールだと思ってました この場を借りて謝罪します、すみませんでした 筆者です。 さて、もう利用できるようになって結構経ってますが、Cloudflare Pagesを使ってみたので、その設定の仕方を記事にしようと思います。 Cloudflare Pagesとは Netlify等と同様な静的サイトのホスティングサービスです! 無料プランで以下ができます!! 1. 月500回のデプロイ 2. 20,000ファイル 3. 10カスタムドメイン 4. 最大25MBのファイルサイズ 5. 無制限のユーザー数 6. 無制限のプレビューデプロイ 前提 Cloudflareに会員登録済み. プロジェクトGitHubで管理している. CloudflareGitHubアカウント紐づけ済み. 1. Cloudflare Pages画面でプロジ

    Cloudflare Pages使ってみた! - Qiita
  • 【CSS】「なんかドロップシャドウがダサくなるんだけど」を解決する。 - Qiita

    概要 みなさんは、このドロップシャドウを見てどう思いますか? ドロップシャドウの色が濃かったり、ドロップシャドウの向きが変な方向だったり、 あまり綺麗なドロップシャドウとは感じないですよね? この記事では、これが発生する原因 と 綺麗なドロップシャドウの使い方を解説していきます。 この記事を読んで理解すれば、これからドロップシャドウに悩むことはなくなるでしょう! ドロップシャドウが綺麗にならない原因 1. デザインを3次元として捉える UIやグラフィックデザインは、複数の平面が重なりながら、組み合わさって作られています。 例えばUIだと、 ベースとなる平面に、カードの平面が重なっていたり、 カード平面の上に画像やボタンといったオブジェクトが置かれています。 このように、UIやグラフィックデザインは2次元で作られているのではなく、 各平面・オブジェクトがZ軸上に重なることで作られています。

    【CSS】「なんかドロップシャドウがダサくなるんだけど」を解決する。 - Qiita
  • Reactに有利なベンチマークを作ってみた - Qiita

    皆さんこんにちは。現在、フロントエンドでは宣言的UIが大流行しており、そのためのライブラリもReactを筆頭に複数存在しています。 ライブラリが複数存在するところには当然のように比較や論争が起こるものですが、UIライブラリの場合はパフォーマンスがよく焦点となります。 筆者はReactの信者ですが、Reactは古株ということもあってか、最近の議論ではReactは他のライブラリと比較されるかませ犬のような役割を担うのがよく見られます。「仮想DOMは必要ない」といった類のものです。 しかし、筆者の考えではReactは今でも、もっとも真剣にパフォーマンスに取り組んでいるUIライブラリです。特に、Reactはパフォーマンスを高いユーザーエクスペリエンスのための手段として捉えており、ドキュメントにもユーザーエクスペリエンスという言葉が多く出てきます。 そこで、今回はReactが最も有利になるようなベン

    Reactに有利なベンチマークを作ってみた - Qiita
  • Django パスワード試行回数ロックとランダムかつ有効期限付きURLでの本人確認による解除 - Qiita

    環境 Windows 11 Home Python 3.10.2 Django 4.0.2 venv利用あり (PyPI) django-axes==5.31.0 条件:関連記事 第1回が完了していること 関連記事 Django 第1回:Django Custom User Model の作成 Django 第2回:Django 初回ログイン時にパスワード変更を強制する Django 第3回:Django 一定期間パスワードを変更していないユーザにパスワード変更を強制する Django 第4回:Django ランダムかつ有効期限のあるURLを生成し、上位者に承認してもらいアカウントを発行する Django 第5回:Django パスワード試行回数ロックとランダムかつ有効期限付きURLでの人確認による解除 今回 背景 django-axesによってユーザ認証機能にログ試行制限を設ける。 こ

    Django パスワード試行回数ロックとランダムかつ有効期限付きURLでの本人確認による解除 - Qiita
  • git commit --fixup で fixup する対象を peco/fzf で選べるスクリプト書いた - Qiita

    git commit --fixup が何かについてはgit commit --fixup とは何か - 詩と創作・思索のひろばを読んでもらうとして、 fixup を適用したいコミットをいちいち git log で調べるのが面倒なのでインタラクティブに選べるようにした。 以下のスクリプトをパスの通ったディレクトリに置くと git fixup が使えるようになる。適当な変更を git add して git fixup を実行すると、その変更を fixup として適用したいコミットを peco や fzf で選べる。 #!/bin/bash FILTER=${FILTER:-peco} MAX_LOG_COUNT=${MAX_LOG_COUNT:-30} if git diff --cached --quiet; then commits="No staged changes. Use git

    git commit --fixup で fixup する対象を peco/fzf で選べるスクリプト書いた - Qiita
  • tigを使って簡単にfixupやsquashコミットを作る - Qiita

    少しずつ市民権を得てきた感のある interactive git rebase 時の autosquash オプションですが、いくら git commit で --fixup や --squash で自動生成できると言っても、そもそも対象となるコミットを選択するのがめんどくさいという問題があると思います。 参考: git rebase -i のための rebase.autosquash オプション 最近だと peco を使ってコミットを絞り込むなどの方法があるかも知れませんが、すでに tig を使っているならtigを使うのが楽です。 [tig "bind"] diff = F ?!git commit --fixup %(commit) diff = S ?!git commit --squash %(commit) main = F ?!git commit --fixup %(comm

    tigを使って簡単にfixupやsquashコミットを作る - Qiita
  • 「SwiftUIでMVVMを採用するのは止めよう」と思い至った理由 - Qiita

    2022/04/23 追記 記事の続編として、以下の記事を書きましたので、合わせて御覧ください。 仕事SwiftUIでTCAを使ってみて、かなり知見がたまったので、その解説です。 MVVMからTCAへの移行を考えているのであれば、参考になると思います。 宣言的UIに、MVVMって不要なのでは? iOS開発の現場で、宣言的UIが当たり前に使われるような時代になりました。 SwiftUIの開発体験、素晴らしい です。最高です。 しかし最近、SwiftUIで当たり前のように 「MVVMで開発しよう」 となったときに、 「ほんとにそれでいいんだっけ?」 と疑問に思いました。 自分の考えを深掘ってみると 問い: iOS開発で、宣言的UIにMVVMを採用することは当にいいんでしたっけ? 結論: 「SwiftUIを使うのであれば、MVVMを採用するのは止めよう」 理由: ViewModelの存在

    「SwiftUIでMVVMを採用するのは止めよう」と思い至った理由 - Qiita
  • PlanetScaleというサーバレスDBが凄く勢いのあるサービスらしいのでQuick Startやってみた - Qiita

    PlanetScaleというサーバレスDBが凄く勢いのあるサービスと聞いて、公式にクイックスタートがあったのでやってみました。 環境 PC: MacBook Pro (Intel Core 2016) OS: macOS Montery12.2.1 では概要から確認していきます。 サーバーレスDBとは サーバがない、のではなく、サーバ管理や検討が不要 AWS Lambda(NoSQL)など PlanetScaleとは PlanetScale年表 2010年頃 YouTubeが急激に成長し、データベースが爆発しそうになっていたので、Sugu氏ともう一人のYouTubeのエンジニアがオープンソースプロジェクト「Vitess.io」(ヴィテス)を立ち上げる 2016年頃 MySQLでバイナリプロトコルを扱えるようにしたことで、VitessはYouTube以外の企業にとっても魅力的なシステムになり

    PlanetScaleというサーバレスDBが凄く勢いのあるサービスらしいのでQuick Startやってみた - Qiita
  • そこのお前! 余計なuseMemo1個に含まれるオーバーヘッドは余計なdiv 0.57個分だぜ! - Qiita

    ※効果には個人差があります。 useMemoのオーバーヘッドについて ReactのuseMemoは、パフォーマンス最適化に使われるAPIです。コンポーネント内で計算やオブジェクトの生成を行う際に、以前の計算結果をキャッシュして使い回すことで再レンダリング時の計算を削減したり、新しいオブジェクトの生成を防ぐことができます。 useMemoに関しては、あくまで最適化のためのものであるから「無駄に使うべきではない」という言説がよく見られます。その理由は、useMemoのコストもゼロではなく、余計な使用はそれだけパフォーマンスの低下に繋がってしまうからです。 しかし、筆者はuseMemoのコストは微々たるものであり、当に一目見て明らかに無駄でない限りは積極的に使うべきだと思っています。 そこで、筆者はuseMemoのオーバーヘッドがどれくらいかを調べるためのベンチマークを作成しました。この記事で

    そこのお前! 余計なuseMemo1個に含まれるオーバーヘッドは余計なdiv 0.57個分だぜ! - Qiita
  • :global と :normal コマンドを組み合わせてマクロの代替として使う - Qiita

    記事は、Vim Advent Calender 2021 その1 の20日の代理投稿です。 昨日の記事は @uyo さんの Vim Meme、明日の記事は tmrekk さんの Vim初心者のQuickfixによる検索・置換入門です。 そもそも、マクロってなに 簡単な説明になりますが、 任意の一連のキータイプを記録し、再現する機能です。 具体的には q{char}(任意の操作)q で (任意の操作) の部分を記録し、@{char} で記録した操作を再現します。 詳しくは、:h recoding を参照してください。 ところで 私はなんだかマクロ記録中に Vim に「早くしろ」と急き立てられている気分になってしまい、妙にマクロが使いにくく感じてしまってました。 なのでどうにかして他の方法を使って、マクロでできるような一気にテキストを編集するというのをやりたいなと思いました。 結果として、コ

    :global と :normal コマンドを組み合わせてマクロの代替として使う - Qiita
  • 漫画家さんイラストレーターさん向け UE4インストールガイド - Qiita

    まえがき 漫画イラストレーターの皆様、こんにちは。 記事はアンリアルエンジンにご興味を持って頂いた皆様に、 UE4をダウンロード、インストール、起動するところまでを ご解説させて頂く内容となっております。 アンリアルエンジンを利用すると、 以下の様な感じで3Dを漫画イラスト制作に活かすことが出来たりします。 https://twitter.com/shiba_zushi/status/1472803697210327040?s=20 UE4(=アンリアルエンジン4)とても楽しいです。 そしてさらに、無料でございます。 ぜひ皆様の制作にお役立て頂けましたら幸いです。 エピックゲームランチャーのダウンロード UE4をダウンロードする為には、 エピックゲームランチャーをインストールする必要があります。 エピックゲームランチャーはエピックゲームズが提供する、 UE4を含んだ様々なサービ

    漫画家さんイラストレーターさん向け UE4インストールガイド - Qiita
  • 😡webのスクロールでふわっと出てくるやつ絶対粉砕するマン【クソアプリ】 - Qiita

    おひさしぶりです。この記事はクソアプリ Advent Calendar 2021の13日目です 突然ですが皆さんは「スクロールに合わせてふわっと出てくるwebページ」ってどう思います? 最近多いですよね、あれ。 確かにオシャレだし楽しいしゲームとか作家さんのギャラリーサイトとかなら全然OK。でも情報が欲しくてアクセスしてるページで「ふわっ」ってされるとちょっとイラッとする。 ちょっと?...イラッと?...いや、 許さない、絶対 よろしい、ならば粉砕だ よそ様のサイトを粉砕する都合上、今回の実装はChrome機能拡張です。機能拡張はViteにChrome機能拡張用のプラグインvite-plugin-chrome-extensionを入れて作りました。今回は解説しないけど、これ超楽。フレームワークは無し、言語はTypeScriptです。 とは言え、クソアプリのためにChromeに機能拡張をイ

    😡webのスクロールでふわっと出てくるやつ絶対粉砕するマン【クソアプリ】 - Qiita
  • ファイルパーミッションでスロットがしたい - Qiita

    この記事は2021年Goアドベントカレンダー1日目の記事です。 ファイルパーミッションでスロットするコマンドラインツールを作りました。 経緯 ある日、サーバ上のとあるファイルの実行権限を変更する事がありました。 $ ls -lah sample_cmd -rwxr--r-- 1 jiro4989 jiro4989 0 Nov 21 15:14 sample_cmd* $ chmod 0777 ./sample_cmd $ ls -lah sample_cmd -rwxrwxrwx 1 jiro4989 jiro4989 0 Nov 21 15:14 sample_cmd* この chmod 0777って数字が3つ並んでるからパチスロみたいだなーーーと唐突に思いました。1 (パチスロやったことないですが) じゃあ、「ファイルのパーミッションをスロットで設定できたらテンション上がって地 味なサ

    ファイルパーミッションでスロットがしたい - Qiita
  • React 18に備えるにはどうすればいいの? 5分で理解する - Qiita

    React 18はReactの次期メジャーバージョンで、2021年の6月にalpha版が、11月にbeta版が出ました。また、Next.js 12でもReact 18のサポートが実験的機能として追加されました。React 18の足音がだんだんと我々に近づき、アーリーアダプターではない皆さんの視界にもいよいよReact 18が入ってきたところです。 特に、React 18ではServer-Side Rendering (SSR) のストリーミングサポートが追加されます。現在ReactでSSRを行いたい人の強い味方としてNext.jsが存在しているわけですが、Next.js 12でもReact 18を通してストリーミングの恩恵を受けることができます(Next.jsではSSR Streamingと呼んでいるようです)。また、厳密にはReact 18とは別ですが、React Server Comp

    React 18に備えるにはどうすればいいの? 5分で理解する - Qiita
  • AWS CLI による Lambda Layer のアップデートについて - Qiita

    CodeBuildを使ってLambdaに対して自動デプロイしていたのだが、Layer部分で急にエラーが出るようになったので調べてみた。 TL;DR CodeBuild だけでなく、コンソールからの AWS CLI でも起きる update-function-configuration を利用しなければ影響はない Lambda関数の説明に「aws:states:opt-out」を追加すれば、取り敢えずは今まで通り動く 2021/12/1 以降は上記説明を付けても無理そうなので、検討必要 Error Log An error occurred (ResourceConflictException) when calling the UpdateFunctionConfiguration operation: The operation cannot be performed at this t

    AWS CLI による Lambda Layer のアップデートについて - Qiita
  • やっと React Server Components が腑に落ちた - Qiita

    2020 年末に発表された React Server Components は、一言でいうと React コンポーネントをサーバ側でレンダーする仕組みです。……が、初見ではちょっと魔法すぎて訳が分からない技術でもあります。トーク動画だけ見てても「具体的にどんな仕組みで動いてるの?」みたいな疑問が山ほど浮かんでくると思います。 一体裏で何がどうなっているのか、この技術はどう使うのか、デモコードを触りながらやっと具体的に理解しはじめたので、なるべく動作が想像しやすいようにまとめました。なお、この記事単体よりは、他の記事や上記動画を見てある程度概要や公式の売り文句を掴んでからの方が理解しやすいと思います。 これまでの、普通にブラウザで動作するコンポーネントのことを、区別のためにクライアントコンポーネントと呼びます(単に区別のために既存のコンポーネントに別名がついただけです)。以下ではサーバコンポ

    やっと React Server Components が腑に落ちた - Qiita
  • 妄想的DHH理解 - Qiita

    Caution この記事はDHHファンの妄想によるシナリオが多分に含まれます。 というかほとんどです。 成り立ちが間違ってることも当然あるように思うので話半分で読んでください。 これは一体 最近のRailsフロントエンドやDHHの活動には一連の流れがあるわけですが、一部トレンドに沿ってない部分がある故にそれが汲めないというところがあるのではと思います。 それらの流れを記憶が定かなうちにつないで記録しておこうという記事です。 前提知識 Railsの生みの親、Rubyist Basecamp(社) DHHがCTOやってる会社 Basecamp(サービス) Basecamp(社)が開発してるプロジェクト管理ツール Trixを開発してたある日 Basecamp(サービス)に組み込まれてるリッチテキストエディタのtrixをcustomElements使って開発してたある日、DHHはあることに気づく。

    妄想的DHH理解 - Qiita
  • react-hook-formでサーバーサイドで行ったバリデーション結果がコントロール操作時にクリアされる - Qiita

    react-hook-form v6.10 ~ 6.11.5 までで確認した挙動です。 やろうとしたこと react-hook-formを使用して情報登録用のフォームを開発していたが、 仕様上フォームの入力内容バリデーションはAPIを呼び出してサーバーサイドで実施しなければいけなかった。 理由は単純で、フォームの入力内容がバリデーションを通った場合は入力項目を表示する確認画面を表示し、 バリデーションエラーがあった場合にはフォームの再入力を促すという画面構成だったからだった。 +------+ | Form |<---+ +------+ | | Submit | +--------+ フォームが submit されたらバリデーションAPIで検証。 | 検証OKなら確認画面へ、バリデーションエラーがあった場合は | バリデーションエラーメッセージを表示したフォーム画面を再表示する。 v +

    react-hook-formでサーバーサイドで行ったバリデーション結果がコントロール操作時にクリアされる - Qiita
  • tsserverをデバッグする - Qiita

    TypeScriptリポジトリのwiki にVSCodeを利用したデバッグ方法が記載されていたのですが、tsserver自体のデバッグだけだったらもっと簡単に出来るのでメモ tl;dr 単にnodeのデバッグを普通にVSCodeなりchromeのinspectorなりでやるだけです 手順 TypeScriptのリポジトリを取得 ビルドを実施 tsserver.jsをnodeから --inspect フラグ付きで実行 tsserverのプロセスにデバッガからアタッチする tsserverのプロセスに任意のコマンドを投げつけて適当にデバッグする TypeScriptのリポジトリを取得 普通にcloneしましょう https://github.com/microsoft/TypeScript.git ビルドを実施 普通にビルドしましょう。至って普通です ビルド結果は built/local に吐

    tsserverをデバッグする - Qiita