タグ

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

  • 急なTypeScript案件🔥最初の30日間に使い倒したい「コードリーディング支援ツール」 - Qiita

    この投稿では、「TypeScriptの文法や用語がよく分からない」という問題を解消してくれそうなツールを紹介します。 勉強しながらの見切り発車 最近はTypeScript未経験でも、TypeScript案件にアサインされることが増えてきているように思います。 運がいいと着手前にTypeScriptをじっくり学習する時間を与えられることがあります。しかし、多くのケースでは、見切り発車で開発に参加するのではないでしょうか。 コードリーディングから始まる TypeScript案件は、理解すべき既存のTypeScript/JavaScriptコードがあるケースが多いです。 そのため、 読んで理解すべき既存のTypeScriptコードがある しかし、TypeScriptの知識が乏しい状態でスタート といった事態がよく起きます。 新規プロジェクトでは既存コードがありませんが、ググって出てきたサンプルコ

    急なTypeScript案件🔥最初の30日間に使い倒したい「コードリーディング支援ツール」 - Qiita
    kyaido
    kyaido 2022/01/19
  • クロスブラウザに対応したオートコンプリート付き入力フォーム - Qiita

    ※都道府県と市区は試していません ※住所は並び順も影響します iOSのSafariで起きた不思議な出来事と仕様 ・autocomplete属性に無効な値("nope"など)を指定しても無視された ・建物名・部屋番号のautocomplete属性に"address-line2"を指定してもaddress-line1が入った ・住所のname属性をhome_address1とhome_address2から、address1とaddress2にすると建物名・部屋番号が空欄になった ・URLの項目のname属性をweb_site_addressにするとstreetaddressが自動入力された Chromeで起きた不思議な出来事と仕様 ・電話番号の項目のnameにnumberを含めると先頭の0や国番号が消える(数値形式になるのかも) ・氏名の項目のnameにcontactを含めると先頭の文字が消え

    クロスブラウザに対応したオートコンプリート付き入力フォーム - Qiita
    kyaido
    kyaido 2022/01/17
  • [Node.js][JavaScript]CryptoAPIの違いでハマったのでまとめ - Qiita

    #Overview Node.jsはJavaScriptで書けるから、Webの中では"Write once, run anywhere"的な美味しいこともある。 しかし、各環境にbuiltinされているAPIを使ったときはそうはいかない時がある。 今回は暗号化のCryptoで不覚にも1日ハマったのでその記録を残しておく。 #Target reader Node.jsで暗号化したデータをブラウザで復号化したいと思っている方。 #Prerequisite AESの概要は理解していること。 今回はAES256-CBCを使用する。 記憶が正しければAES192はブラウザのAPIでサポートされていない旨のエラーが出たため。 #Body ##どうして片方のAPIで統一しないの? これはいい質問だ。実際のところ、Node.jsのcryptoをブラウザで実行したことがある。 どうして採用されなかったのか?

    [Node.js][JavaScript]CryptoAPIの違いでハマったのでまとめ - Qiita
    kyaido
    kyaido 2022/01/12
  • そこのお前! 余計なuseMemo1個に含まれるオーバーヘッドは余計なdiv 0.57個分だぜ! - Qiita

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

    そこのお前! 余計なuseMemo1個に含まれるオーバーヘッドは余計なdiv 0.57個分だぜ! - Qiita
    kyaido
    kyaido 2022/01/07
  • Node.js と ID について - Qiita

    [ English Version ] 2020年の 「Promise のキャンセルについて」ブログ記事に続き、これもまた基的なトピックとして深く掘り下げていきたいと思います。 アイデンティティ(略称ID)、つまりあるものを識別する方法は、ほとんどのツールがすぐに提供してくれるので、普段考える必要はありません。しかし、私たちはユーザーのために作っているのです。人間です。ID は、URL であったり、レシートであったりと、ユーザーの目に触れることが多く、そのときにIDの形が実際の違いを生むことがあります。 この記事を読んでいただければ、このトピックが魅力的であることに同意していただけると思います。その後、あなたはIDを同じように見ることができなくなるに違いありません。 この記事のコードは、関連する github レポ に掲載されています。 Classic ID's, auto increm

    Node.js と ID について - Qiita
    kyaido
    kyaido 2021/12/30
  • StackOverflowからのコピペをやめろ。今すぐにだ。 - Qiita

    Original article:https://dev.to/dotnetsafer/rip-copy-and-paste-from-stackoverflow-trojan-source-solution-4p8f その昔コピペできない文章というものがありました。 実際は単にフォントを変えているだけというものですが、人間の目に見える文字と実際の文字が異なることを利用した攻撃の一種と見ることもできます。 さて、最近になって似たような攻撃に関する論文が公開されました。 人間には見えない文字を織り交ぜることによって、一見問題ないコードが実は脆弱になってしまうというものです。 ただ論文は堅苦しいうえに長くて読むのがつらいので、具体的に何がどうなのかよくわかりません。 平易に解説している記事があったので紹介してみます。 以下はDotnetsafer( Twitter / GitHub / Web

    StackOverflowからのコピペをやめろ。今すぐにだ。 - Qiita
    kyaido
    kyaido 2021/12/29
  • GitHubのポップアップメニューはdetailsタグと:beforeが使われててクレバーだった - Qiita

    概要 普段使ってるGitHubUIパーツの実装を見てみたら真似したいエッセンスがあったので紹介します。 GitHub上でちょいちょい使われてるポップアップメニュー 図 マイページのコンテキスト切り替えメニュー 図 プルリクエストページのプロジェクト選択メニュー なにが優れてる? Javascript使ってない メニュー外をクリックしたらメニューが閉じる サンプルコード <div class="wrap"> <details> <summary>button</summary> <div>menu</div> </details> </div> *, *:before, *:after { box-sizing: border-box; } .wrap { width: 500px; height: 500px; margin: 0 auto; padding: 50px 50px; }

    GitHubのポップアップメニューはdetailsタグと:beforeが使われててクレバーだった - Qiita
    kyaido
    kyaido 2021/12/26
  • 開発中のnpmパッケージをローカルで参照する際に気をつけること - Qiita

    npmパッケージを開発中、デモページも同じリポジトリで開発してたら思わぬところでハマったので経緯と解決法を記録しておく。 経緯 ReactでシンプルなJSONエディタがほしくて作って Reactでシンプル(by Plain Text)なJSON Editorを作ったデモ。 入力された文字列をそのページ自体のCSS Propertiesとして使用している。https://t.co/lLXlXGmCzOhttps://t.co/pYLba2zmTS#react #react-hooks #jsoneditor #json #npm pic.twitter.com/mOIawqyiTi — 岩谷成晃 (@nariakiiwatani) August 10, 2020 次回別のコンポーネントを作って公開する際にやることを最小化できるように、boilerplateとして切り出してまとめて git p

    開発中のnpmパッケージをローカルで参照する際に気をつけること - Qiita
    kyaido
    kyaido 2021/12/24
  • 「もったいない」マインドが逆に効率を悪くする。フロー効率とリソース効率から考えるチームで仕事をする理由 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? #はじめに 前回、なぜ、ソフトウェアプロジェクトは人数を増やしても上手くいかないのかの記事において、プロジェクト型の人員規模を柔軟に変化させる開発スタイルに関して、理論的なスケジュール削減の限界について考察しました。その際に、チーム型開発や組織とソフトウェアの紐付けについても示唆しました。 今回は、チームでソフトウェアを開発することに関して、「フロー効率」と「リソース効率」という観点から考察し、なぜ私たちはチームで開発するのか、あるいはなぜプロジェクト型を採用するのかについての考え方を深めていきたいと思います。 そして、組織における効率

    「もったいない」マインドが逆に効率を悪くする。フロー効率とリソース効率から考えるチームで仕事をする理由 - Qiita
    kyaido
    kyaido 2021/12/14
  • Babelは何百万もの人々に使われているのに、どうして我々は飢えようとしているのか - Qiita

    フロントエンド界隈でBabelにお世話になったことのない人はいないでしょう。 新しいJavaScript文法を、古いバージョンのブラウザでも動作するように変換してくれるツールです IEが現役だったころはIE向けページになくてはならない存在でしたし、IE亡き今では最新のES機能を最速で採用できる場となっています。 // Pipe Operator "World" |> `Hello, ${#}!` |> alert(#); // 変換後 var _ref, _ref2; _ref2 = (_ref = "World", `Hello, ${_ref}!`), alert(_ref2); 未だどのブラウザもサポートしていないPipe Operatorも、Babelならごらんのとおり既に使えます。 また最近のWebフレームワークには大抵デフォルトで入っていて、気付いていなかったとしても裏で使われ

    Babelは何百万もの人々に使われているのに、どうして我々は飢えようとしているのか - Qiita
    kyaido
    kyaido 2021/11/25
  • 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
    kyaido
    kyaido 2021/11/25
  • 「Qiitaのユーザー名に3桁数字を使うときの注意」とその後 - Qiita

    (追記)Qiita側での修正リリース完了 こんにちは。元 @500 です。 Qiitaのご担当者様から、当該ユーザー名を取得出来ないようにする修正リリースを11月19日に行ったと連絡を頂きました。 同時に、ユーザー名の変更依頼を受けましたので、 別のユーザー名に変更し今に至ります。 この記事をご覧になった方からいろいろな意見が来ていましたので、11月12日時点の記事内容に加筆をして以下に残します。 その出会いは偶然に…… なぜか空いていた「短いユーザー名」 これまで備忘録はiCloudのメモに書いて同期していたのですが、今さらQiitaに記事を書こうと先ほどアカウントを作成しました。 私は特に共通のハンドルネームみたいなのもなく、各種サービス登録時には超適当にユーザーIDやユーザー名を決めるタイプです。 Qiitaでは3文字以上とあったので、適当にユーザー名500と打ってみたら、意外にも一

    「Qiitaのユーザー名に3桁数字を使うときの注意」とその後 - Qiita
    kyaido
    kyaido 2021/11/14
  • フロントエンドでClean Architectureを適用してみる(+サンプルコード) - Qiita

    ここ数年でClean Architectureはおなじみのアーキテクトとして親しまれるようになりました。 とりわけ単体テストを書く習慣が根付いているバックエンドで重点的に取り入れられているように見受けられますが、フロントエンドにおいても同様にClean Architectureを導入し、メリットを享受できます。 今回はフロントエンドにClean Architectureを導入する手順を、実際にコードを追いながら紹介していきます。 実際のコード 実際に書いたコードはこちらのGithubに公開しています。データを外部から取得するフローを表現するために、node.jsで実装されたモックサーバーも用意しました。 https://github.com/t-tiger/React-CleanArchitecture-Example 前提知識 Clean Architectureでおなじみの図と共に前提

    フロントエンドでClean Architectureを適用してみる(+サンプルコード) - Qiita
    kyaido
    kyaido 2021/11/12
  • なぜ、ソフトウェアプロジェクトは人数を増やしても上手くいかないのか - Qiita

    はじめに ソフトウェアプロジェクトには不思議な性質があります。現状のスケジュールに課題を感じて、短くするために人員を投下しても、なかなか思い通りに短くならない。それどころか悪化してしまうことがあります。場合によってはプロジェクト自体が破綻して失敗してしまうことすらあります。 今回は、このようなソフトウェアプロジェクトに潜む直感に反する性質を数理的なモデルを介して理解していく試みです。ある種の思考実験としてお楽しみください。 宣伝 Qiitaさんとコラボ企画でアドベントカレンダーをつくりました。 DXをめちゃくちゃ改善した話を募集しています。 https://qiita.com/advent-calendar/2021/dx-improvement 10人の妊婦がいても1ヶ月で一人の子供は生まれない これは誰かの技術力やプロジェクトマネジメント力に欠陥があるのではなく、「人月の神話」で有名な

    なぜ、ソフトウェアプロジェクトは人数を増やしても上手くいかないのか - Qiita
    kyaido
    kyaido 2021/11/02
  • Git 2.27 での git pull 時の warning について - Qiita

    warning: Pulling without specifying how to reconcile divergent branches is discouraged. You can squelch this message by running one of the following commands sometime before your next pull: git config pull.rebase false # merge (the default strategy) git config pull.rebase true # rebase git config pull.ff only # fast-forward only You can replace "git config" with "git config --global" to set a defa

    Git 2.27 での git pull 時の warning について - Qiita
    kyaido
    kyaido 2021/09/26
  • DenoがTypeScriptの使用をやめる5つの理由 - Qiita

    前書き この記事は翻訳記事になります。 近年、JSで書かれてるプロジェクトをTSに書き直すことが業界内で一種の風潮になって、 この記事で敢えてTSからJSに戻そうとする事例が目新しいと思ったので、翻訳してみました。 出処: 5 reasons why Deno will stop using TypeScript - StartFunction 原作者: eliorivero Denoの紹介: V8 JavaScriptエンジン及びRustプログラミング言語に基づいた、 JavaScript及びTypeScriptのランタイム環境である。Node.jsの作者であるライアン・ダールによって作成され、セキュリティと生産性に焦点を当てている。 --ウィキペディア 最近、Denoが内部コードでTypeScriptの使用を停止することを指摘する文書が浮上しました。 言及されている問題には、TypeS

    DenoがTypeScriptの使用をやめる5つの理由 - Qiita
    kyaido
    kyaido 2021/08/26
  • エンジニアリングマネージャ/プロダクトマネージャのための知識体系と読書ガイド - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 記事は、Engineering Manager Advent Calenderの1日目です。 はじめに エンジニアリングマネージャ(EM)と呼ばれる職務を設置する企業が増えてきました。 私たちの主催したイベントEOF2019でも700名近い方に参加していだき、また多くの方にご協力いただき成功裏に終わることができました。 EM Meetup/EM.FMなどのムーブメントの中心の一翼を担わせていただき、その高まりを感じる一方で不安も感じます。このエンジニアリングマネージャという職務は非常に多岐にわたるケースが存在していますし、必要だとされ

    エンジニアリングマネージャ/プロダクトマネージャのための知識体系と読書ガイド - Qiita
    kyaido
    kyaido 2021/08/09
  • 【非プログラマー向け】Kaggleの歩き方 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事は、Kaggle Advent Calendar 2019のアドベントカレンダー3日目の記事です。 「Kaggle興味あるけど、ガチっぽくて怖い…」と思われている方向けの参考になればと思います! ※以下情報は2019/12現在のものです Kaggleと出会うまで Kaggleと出会う前の経歴は、ざっと以下です。 マーケター ⇒ コンサルタント 文系出身(美術史専攻) プログラミング未経験(HTML少し触ったくらい) 黒い画面に畏敬の念しかない… こんな状態でしたが、直近1年でPython機械学習を勉強し、なんとかKaggleの

    【非プログラマー向け】Kaggleの歩き方 - Qiita
    kyaido
    kyaido 2021/07/25
  • すごいReactフック8選 - Qiita

    はじめに React.jsは現在、フロントエンド開発者に最も人気のあるJavaScriptライブラリです。Facebookが開発し、オープンソースのプロジェクトとして提供されているReactは、世界中の開発者や企業が使用しています。 Reactは、シングルページアプリケーションの構築方法を大きく変えました。その最大の特徴の1つがフックです。フックは2019年に導入されたもので、状態処理の時に、クラスコンポーネントの代わりに関数コンポーネントを使用できるようになりました。組み込みのフックに加えて、Reactは独自のカスタムフックを実装する方法を提供しています。 ここでは、アプリケーションやプロジェクトで使用できる、カスタムフックとその実装に関するお気に入りをいくつか紹介します。 1. useTimeout 宣言型アプローチでsetTimeoutを実装できます。まず、コールバックと遅延を受け取

    すごいReactフック8選 - Qiita
    kyaido
    kyaido 2021/07/06
  • Firefoxは危険なJavaScriptに対応しない - Qiita

    Firefox / Safari MozillaはMozilla Specification Positionsというリストを公開しています。 IETFやW3C、TC39などが提唱しているWeb技術に対して、Mozillaはどのように評価しているかという立ち位置を表明したものです。 あくまで現時点での評価であり、もちろん今後の仕様変更などに伴い評価は変わる可能性があります。 Mozilla's Positions Mozillaはどのように評価しているかの分類。 under consideration 評価の検討中。 important 優れた概念であり、Mozillaにとっても重要である。 worth prototyping 優れた概念であるが、プロトタイプを作成し、フィードバックを得て磨きをかける必要がある。 non-harmful 有害ではないが、良いアプローチではなく、取り組む価値

    Firefoxは危険なJavaScriptに対応しない - Qiita
    kyaido
    kyaido 2021/07/06