タグ

ブックマーク / qiita.com (487)

  • axiosやfetchに替わるKyのススメ - Qiita

    Kyとは Kyは、Sindre Sorhusが開発したJavaScript向けの軽量かつ多機能なHTTPクライアントです。ネーミングの意図はよくわかりませんが、AxiosやネイティブのFetch APIに代わる、より効率的で使いやすい選択肢として設計されています。 Kyの利点 軽量で効率的: Kyのコアは非常に小さく(約2 KB)、パフォーマンスが重要なアプリケーションにとっては特に大きなメリットとなります。 Promiseベース: Fetch APIと同様に、KyはPromiseを基盤としており、async/await構文との組み合わせが容易です。 シンプルなAPI: Kyが提供するAPIは非常にシンプルなので、学習コストが抑えられます。 再試行機能: Kyには、失敗したリクエストの再試行する機能が組み込まれており、エラーハンドリングの実装コストを減らします。 JSON処理: Kyは自動

    axiosやfetchに替わるKyのススメ - Qiita
    cl-gaku
    cl-gaku 2024/07/27
    いつになったら素のJavaScriptとAPIで戦えるようになるんだ
  • バッチファイルでzip圧縮する(PowerShellを使用) - Qiita

    Y子です。 今日はファイルを圧縮してみます。 概要・用途 PowerShellを使って、zip圧縮します。 自動処理の中で、圧縮してサイズを小さくしたり、複数ファイルを1ファイルにまとめたり、等の用途を想定します。 【確認環境:Windows 10 Home (Bld. 19042.928)】 コード (1) 1ファイルを圧縮する 1つのファイルを圧縮して、1つのzipファイルを作ります。 zipファイルの置き場所は、元ファイルと同じフォルダとします。 zipファイルのファイル名は、元ファイルの末尾に「.zip」を追加しただけとします。 @echo off setlocal rem 引数がない場合は終了する if "%~1"=="" (echo 引数がありません & pause & exit /b) rem 圧縮前ファイル set str_file=%~1 rem 圧縮後ファイル set

    バッチファイルでzip圧縮する(PowerShellを使用) - Qiita
    cl-gaku
    cl-gaku 2024/07/26
    でかすぎると落ちるんだよなこいつ
  • なんだか助かる便利なおっちゃんになりたい - Qiita

    これまでの生存戦略 それほど尖った能力や知識がない中で、私のこれまでの生存戦略としては求められればなんでもやる、少しくらい泥水でも飲むというものでした。 フロントエンドからバックエンド、データベース設計、API設計、実装、インフラ側の設定、提案書作成、プレゼンテーション、プロジェクト進行、どれも“専門家として誇れるか”というと疑問がありますが、求められればなんでもやるスタンスでそれが自分の価値提供の形と考えていました。 また、以前までは「若い」というのも、強みでした。 一回りほど上の年齢に見られることも珍しくなく、「そんな若かったのか」と驚かれるなかで、「若いのに頑張ってるね」と年齢のフィルターで大目にみてもらえました。 しかし、そんな私も気が付けば40歳、もう若さという武器はありません。 (つい先日まで20代だったはずなのに..何かおかしい..) 体力的にも無理が効かず、新しいことを学ぶ

    なんだか助かる便利なおっちゃんになりたい - Qiita
    cl-gaku
    cl-gaku 2024/07/17
    問題はそのおっちゃんが俺と比べてなんぼもうてるかやねんなあ…
  • 元々は /usr は user の略に決まってるじゃん?ホームディレクトリを置く場所だったんだから - Qiita

    Twitterとか見て「そうだったのかー」とか言うんじゃなくて、ちゃんと調べてみましょうよ。/usr は元々ユーザーのホームディレクトリをおいていた場所ですよ。/bin などを置いていたシステムディスクの容量が足りなくなったので別ディスクだった /usr 以下を使うようになっただけです。Unix System Resources とかそんな長い名前、後付けに決まってるでしょ? 翻訳は面倒なので、DeepL(の少し手直し)です。 初期の Unix のドキュメントから URLと1972年という年から、おそらく Version 1 Unix (1971) のドキュメントだと思います。ここ 経由で見つけました。 12ページにこのようなものがあります。詳細はよくわかりませんがディレクトリ構造でしょう。 idata: / root 41. 140016 .byte 7,1 9f-.-2 41. <..

    元々は /usr は user の略に決まってるじゃん?ホームディレクトリを置く場所だったんだから - Qiita
    cl-gaku
    cl-gaku 2024/06/20
  • 「これはHEAD^^」 「これはHEAD^2」 「これはHEAD~2」「HEAD@{2}、reflog用」「全部いっしょじゃないですか」「違う!!もっとよく見ろ!!」 - Qiita

    「これはHEAD^^」 「これはHEAD^2」 「これはHEAD~2」「HEAD@{2}、reflog用」「全部いっしょじゃないですか」「違う!!もっとよく見ろ!!」Git 画像略 TL;DR(Too Long; Didn't Read) ~nは単純なコミットの親をたどる(ブランチの分岐がある場合は現在のブランチのみで辿れるコミット) ^nはマージコミット向けで^2は「そのコミットの2番目の親(取り込んだブランチの前回のコミット)」 だからHEAD^n(n > 2)は存在しない 2024/06/04追記: OctopusなMergeだと3つ以上のブランチからマージできるので^nも存在する......があまり見かけることはない HEAD^^は「HEAD^の親」、HEAD^2は「HEADのもう一人の親」みたいな......。タラちゃんがHEADだと波平がHEAD^^でマスオがHEAD^2です(

    「これはHEAD^^」 「これはHEAD^2」 「これはHEAD~2」「HEAD@{2}、reflog用」「全部いっしょじゃないですか」「違う!!もっとよく見ろ!!」 - Qiita
    cl-gaku
    cl-gaku 2024/06/05
  • Git不慣れ勢を束ねて安全なチーム開発をするメモ - Qiita

    稿は当初チーム開発時のメンバー向けにまとめたものです。 ある程度、端折っていた背景などを記載しました。 git初心者同士でのチーム開発において、git操作を詳しく知らないメンバーも含め安全に行う必要がありました。しかし、開発期間はごくわずか...この状況を回避するために、下記の対応をとりました。 Gitコマンドの基礎的な内容を理解する(私) 各種操作をGUI上で完結させる拡張機能を色々と導入する シンプルな開発フロー(Github flow)を採用し、コマンド実行に相当する操作を限定する 各操作をGUI上での操作に置き換え、チームメンバーに教える 稿はその際の、コマンドやGUI操作に関するメモをまとめたものになります。 こういった取り組みのおかげか、チームの開発をすんなりフローに乗せることができました。 ■ 前提条件 対象とする動き Github flowを回すうえで、 cloneする

    Git不慣れ勢を束ねて安全なチーム開発をするメモ - Qiita
    cl-gaku
    cl-gaku 2024/05/24
    “git操作をVScode上で行い、開発フローをさっさと動かしたい”
  • 「JavaScriptで要素をドラッグして移動する簡単な方法」という記事が初耳だらけだった件 - Qiita

    はじめに まず↓の記事を見てない方はぜひ見てください! 自分にとってはこの記事には「えっ、ナニコレ!」なテクニックが多く、特に解説もなかったのでいろいろ調べてたら休日が消えてました... なのでその時間の供養もかねて、自分が知らなかった部分を中心に、僭越ながら元記事の解説を書いてみたいと思います。 ちなみに、以下が元記事のコードそのままを実装したものです。たしかに掲載コードだけで要素がグリグリ動きますね。 See the Pen js-drag-move-original by www-tacos (@www-tacos) on CodePen. 初耳1: $img まずコードのここ <img id="$img" src="https://js.cx/clipart/ball.svg" width="40" height="40"> <script> $img.onpointermove

    「JavaScriptで要素をドラッグして移動する簡単な方法」という記事が初耳だらけだった件 - Qiita
    cl-gaku
    cl-gaku 2024/02/28
    大昔はnameやid振った要素にグローバルからアクセスしまくったウルトラスパゲッティ大盛りフォームがそこら中にあったな
  • cowsayを入れておくとAnsibleの出力結果が見やすい - Qiita

    if [ ! -e /usr/bin/ansible ];then sudo apt-get install -y ansible cowsay; fi < TASK: packages | install mail > ------------------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || ok: [localhost] => (item=sharutils,postfix,mailutils,mutt) => {"changed": false, "item": "sharutils,postfix,mailutils,mutt"} _________________________________ < TASK: packages | install guiapp > -------------

    cowsayを入れておくとAnsibleの出力結果が見やすい - Qiita
    cl-gaku
    cl-gaku 2024/02/28
  • エンジニアはどう学んでいけばよいのか - つまりは「知ったかぶり」 の積み重ね - Qiita

    はじめに この記事では、学んでいくためのマイルストーンとして「知ったかぶりができること」を設定するのもアリなのでは? という提案をします。 初学者でなくても『どうやって学んでいこうかな~』は全エンジニアの関心事だと思うので誰かの行動のきっかけになれたらうれしいです。 目次 (エンジニア人生は勉強や! 「知ったかぶり」を再定義する 「知ったかぶり」を可視化する 無知の知はすぐに自覚できる どうすれば人に説明できるようになるのか いったんここまでのまとめ 脳内イメージの解像度をどう上げていくか アウトプット先を意識したインプットをしよう " 知ったかbrilliant Journey of Engineers " さあ、なにを知ったかぶりしていこう? おわりに (エンジニア人生は勉強や! 技術は高速かつ複雑に成長しているので、新たな分野を学ばなきゃいけない機会はどんどん増えていく。また、そ

    エンジニアはどう学んでいけばよいのか - つまりは「知ったかぶり」 の積み重ね - Qiita
    cl-gaku
    cl-gaku 2024/02/20
    知ったかしても大丈夫なラインの見極めが重要
  • 詳細設計の書き方 - Qiita

    はじめに システム開発において詳細設計という工程があります。 プログラマーはこの詳細設計を確認しながら開発を行うことになります。そのため詳細設計ではシステムの構造や仕様、動作などを細かく定義することが必要になります。 詳細設計を行うことでシステム開発の方向性が明確になり、コーディングやテストをスムーズに行うことができます。 詳細設計の成果物としてはクラス図やシーケンス図、画面設計書やデータベース設計書などがあり、システムの動きや機能を具体的に表現するものです。 今回は詳細設計を作成する機会があったので、詳細設計の書き方についてまとめたいと思います。 詳細設計の目的やメリット 詳細設計の目的は、システム開発の品質や効率を向上させることです。詳細設計では、システムの仕様や動作を細かく定義することで、以下のようなメリットがあります。 開発工程でのバグや遅延を減らすことができる テスト工程での不具

    詳細設計の書き方 - Qiita
    cl-gaku
    cl-gaku 2024/02/18
    動くものがくると要求も変わってくるから最近はプロトタイピングして最後にドキュメントしかやってない
  • もうjsなんていらない!世界で流行っているHTMXについてまとめてみた - Qiita

    HTMXとは https://htmx.org/ HTMXは、JavaScript を記述せずに、Ajax通信や高度なUXを実現できるライブラリ。 軽量 で 高速 で、既存のサーバーサイドのフレームワークとシームレスなやり取りができる。また、AJAX通信の発火、フォームの送信処理、DOMの更新などを既存のHTML要素を拡張するだけで可能とする。WebSocketやSSEにも対応しているので、チャットアプリなどにも適している。 2023 JavaScript Rising Starsでは、 フロントエンド・フレームワーク部門で見事2位に輝いた!(一位はReact、全部門だとshadcn/ui) 似たような機能として、Ruby on RailsHotWireがあるらしい。 2024年はHTMXがくると言われているぐらい世界で騒がれているのだが、あまり日では流行っていない。以下はGoogle

    もうjsなんていらない!世界で流行っているHTMXについてまとめてみた - Qiita
    cl-gaku
    cl-gaku 2024/01/19
    “似たような機能として、Ruby on RailsのHotWireがあるらしい。”ここで読まなくて良くなるのでわりあい親切なほう
  • 障害対応で大切だと感じていることのまとめ - Qiita

    私個人の障害対応の経験と 一昨日参加したIncident Response Meetup vol.1での学びから 障害対応において大切だと感じていることをまとめる。 障害とは リリース後のシステムにおいてシステムの不具合やユーザーの操作ミスによってユーザー業務に影響が出ているもしくは出る恐れがあるもの。 障害対応の目的 システムを直すことではなく、ユーザー影響の回避・低減・早期回復をすること。 障害対応に対する心構え システムの信頼性の要である 障害への対応の仕方でユーザー影響が大きく変わる いつ発生するかわからないため特定の人が常に障害対応をするということは不可能である 素早く適切に行動するための備えが重要である 役割分担 障害対応では復旧対応、原因調査、ユーザーへの説明、社内調整などたくさんのことをやる必要がある。 またそれぞれの作業の難易度が高いことも多い。 一人の人間にできることは

    障害対応で大切だと感じていることのまとめ - Qiita
  • 業務で説明に失敗したUIに対するモヤモヤをどう言語化すべきだったのか反省会 - Qiita

    明けましておめでとうございます。 大遅刻で年が明けてしまいましたが、この記事はUIデザイン Advent Calendar 2023 23日目の記事です。 注意 記事で取り上げている例は実在する企業・プロジェクトとは一切関係ありません。 記事は、筆者が実際に業務中にしてしまった失敗をモチベーションに書かれているものの、具体例は完全に一から創作しており関連性はありません。 はじめに 某企業でエンジニアとしてスマートフォンアプリ開発をしています。 その中で、アプリの見た目や挙動を要件通りに実装する際、正直モヤモヤと違和感のあるデザインが何箇所かありました。 しかしながら、ユーザの期待操作や導線を考えてどうして改善したほうが良いと考えたのか、という形にうまく言語化できず、関係者の皆さんに全く伝わらない説明をしてしまうという悔しい思いをしました。 今後そのようなことがあった際に、せめて似たケー

    業務で説明に失敗したUIに対するモヤモヤをどう言語化すべきだったのか反省会 - Qiita
    cl-gaku
    cl-gaku 2024/01/09
  • Webシステムにおいて「画像や帳票等のファイルはDBへ格納すべきなの?」を調べてみた(ファントムファイル) - Qiita

    Webシステムにおいて「画像や帳票等のファイルはDBへ格納すべきなの?」を調べてみた(ファントムファイル)oracleWeb この記事は、 JPOUG Advent Calendar 2023 24日目の記事です。 23日目は multilayer さんの記事『OCIのLanding Zoneについて調べてみた!』でした。 想定読者 ファントムファイルについてよく知らない、帳票の扱い方をあまり考えたことがない人 イントロダクション 皆さん、世の中のWebシステムで利用される画像や帳票ファイルがどこに保存されているかご存知でしょうか? 帳票や大きな画像ファイルなどを扱う際、大きく分けて2つの設計方針があります。 ・DBに直接保存する ・DB外部に保存し、パスなどをDBに保存する オライリーのSQLアンチパターンの、”ファントムファイル”という章にはこのあたりのことが書いています。 [Amaz

    Webシステムにおいて「画像や帳票等のファイルはDBへ格納すべきなの?」を調べてみた(ファントムファイル) - Qiita
    cl-gaku
    cl-gaku 2023/12/25
    利用者に紐づかなくて数がしれてるようなのはBLOBにしちゃう
  • 「//このコメントを消したら動かない」は大体Shift_JISの2バイト目が原因で発生する - Qiita

    TL;DR Shift_JISにしただけでコンパイラが通らなくなる恐ろしい事件とその回避法について。 \ (¥)のASCIIコードは0x5c 表、能は良くない UTF-8は神 2023/12/06追記 誤りがあったので訂正します。こんな読まれると思ってなかったので正直ちょっとびっくりしていますが、いろいろコメントありがとうございました。(ツイート等全て拝見しました。) Shift_JISが悪いわけではない(デフォルトのエンコーディング設定の問題)→追記しました UTF-8にはUTF-FSSという仕様でこの問題が回避されている→マジでタメになる知識ありがとうございます OSによってデフォルトのエンコーディング設定が異なるせいで、デフォルト環境での動作がOSにより異なる→なるほど?(調査中) CRLFとLF問題では→なるほど?(調査中) そんな問題何を今更→UTF-8が出てから生まれたからです

    「//このコメントを消したら動かない」は大体Shift_JISの2バイト目が原因で発生する - Qiita
    cl-gaku
    cl-gaku 2023/12/05
    “Shift_JISやめろ”京理あるやめさせてくれマジで
  • やはりお前らの真偽値メソッド名は間違っている。 〜「Xxx できる?」系メソッドの命名〜 - Qiita

    晒すつもりではありませんが、Facebook で友人のとある投稿を見かけて最初は「三単現にしないと💢」という軽い気持ちで返答したのですが、よくよく考えて見たらこれ思った以上のクソ命名でしたので、とりあえず流れのスクショを上げときます: はい、今回の記事はマサカリです。あしからず。 見ての通り、最初は友人の後輩ちゃんが isCanUseSkill という明らかにアレな命名をしてきたので、友人がそれを指摘をするも、まさかの allowSkill という更にダメな名前をつけてきた件。isCanUseSkill はまだ「なんだこいつの英語はwww」という意図はわかるから笑って済ませそうな名前ですが、allowSkill は「これは命令なのか Yes-Or-No 質問を間違えて命令にしちゃったのか💢」という、書いた人がもし友人じゃなかったら絶対引きずり出して小 1 時間殴りたいレベルのクソ名前

    やはりお前らの真偽値メソッド名は間違っている。 〜「Xxx できる?」系メソッドの命名〜 - Qiita
    cl-gaku
    cl-gaku 2023/11/29
  • Java 21仮想スレッドではsynchronizedの代わりにReentrantLockで同期化する - Qiita

    仮想スレッドと synchronized Java 21 で仮想スレッドが導入されましたが、仮想スレッドで synchronized を使用すると、そのキャリアスレッド (1 つ以上の仮想スレッドが動作しているプラットフォームスレッド) からアンマウントできず、スタックしてしまい、synchronized を抜けるまでキャリアにピンニング (固定化) され独占されしまいます。仮想スレッドとかプラットフォームスレッドとかを気にせず、どちらでも以前の synchronized と同じように排他制御するには、代わりに ReentrantLock クラスを使用します。 private final ReentrantLock lock = new ReentrantLock(); public void m() { lock.lock(); try { // 共有リソースへのアクセスなど } fin

    Java 21仮想スレッドではsynchronizedの代わりにReentrantLockで同期化する - Qiita
    cl-gaku
    cl-gaku 2023/11/14
    なるほど確かに“Java 21 で仮想スレッドが導入されましたが、synchronized はプラットフォームスレッド (OS スレッドに対応) に作用するため、そこで動作している仮想スレッドすべてに影響がおよんでしまいます。”
  • 私がエンジニアをイラっとさせてきた質問時の態度5選 - Qiita

    上司に質問をすると、いつも相手を不機嫌にさせてしまいます…」 このような悩みを持つエンジニアは少なくないのではないでしょうか。実際、誰もが「こんな質問をして怒られたらどうしよう」と躊躇したことがあるでしょう。 ただ、もしかしたらその悩みは簡単に解消できるかもしれません。なぜなら、エンジニアがイラっとする質問の態度はある程度きまっているからです。質問者として適切な態度を理解することで、質問が改善されるはずです。 はじめに まず、これは全員の共通認識だと思うのですが、大前提として『質問をすること』は難しいです。ですので、この記事ではあえて「良い質問」と「悪い質問」の違いには触れません。その手の議論にはすでに飽き飽きしているからです。 次に、エンジニアという生き物について説明します。多くのエンジニア技術力を身につける必要があるため勤勉家な人が多いです。少なくとも私は「自分で学ぶ気のない人に厳

    私がエンジニアをイラっとさせてきた質問時の態度5選 - Qiita
    cl-gaku
    cl-gaku 2023/10/23
    “つまり…(中略)これらの質問(もはや質問でもありませんが…)は「依頼」としてお金を出して解決するように苦言を呈されます。”こんなもん相手にかかわらず怒るだろ
  • [研究室向け]なぜ君はソースコードのエラーを自分で解決できないのか? - Qiita

    1. Intro 1.1 タイトルの答え それは,最初から"How"(どうやってこの問題を解決すべきか)だけを考えているからです. 最初に問うべきなのは"Why"(なぜこの問題が起きたか)です. このタイトルの問いも,なぜ?から始まっています.「どうやって自分でエラーを解決するか」だけを考えていると,問題の根的な原因が分からないため,ずっと自分でエラーを解決することはできません. 1.2 Keyword 最初に自分に問いかけるべき言葉 〇 Why(なぜ?): なぜこの問題が起きたか ✕ How(どうやって?): どうやってこの問題を解決すべきか 1.3 背景 研究室では毎年,いつまでたっても自分でソースコードのエラーや出力の問題を解決できず,進捗が遅かったり開発をあきらめてしまったりする人が発生する.記事では,なぜ自分でエラー・問題を解決できないのか?を明確にする. <注意書き> この

    [研究室向け]なぜ君はソースコードのエラーを自分で解決できないのか? - Qiita
    cl-gaku
    cl-gaku 2023/10/09
    読まんしググらんし
  • ブラウザ上でCSVファイルをパースする - Qiita

    背景 CSVファイルのアップロード機能を考えます。 一番シンプルな方法は、formタグにinput type="file"タグを入れて、指定したファイルをPOSTします。 例えば、HTMLタグ/フォームタグ/ファイルの送信欄を作る - TAG index Webサイト です。 問題 CSVファイルのバリデーションにサーバーへの送信が必須です。 POST前にチェックできれば、ユーザが意図しないCSVファイルを指定した場合に、迅速なフィードバックを返せます。 便利なユーザーインタフェースが作れます。 また、CSVファイルの仕様は エスケープ 区切り文字 改行文字 ファイルのエンコーディング を考慮する必要があります。面倒です。 自分では、パーサーを書きたくありません。 解決策 npmパッケージとして公開されているCSVパーサーを利用します。 今回は、csv-parserを使って、ブラウザ上でC

    ブラウザ上でCSVファイルをパースする - Qiita
    cl-gaku
    cl-gaku 2023/09/20