並び順

ブックマーク数

期間指定

  • から
  • まで

521 - 560 件 / 7031件

新着順 人気順

JavaScriptの検索結果521 - 560 件 / 7031件

  • ナメやがってこの型ァ!!超イラつくぜぇ~~~~~ッ!!

    const colors = ["赤","青"] as const; type Colors = typeof colors[number]; //"赤" | "青" typeof colors[number]・・・ってよォ~~~~~ typeofはわかる。スゲーよくわかる TypeScritの世界では、typeofで変数から型を作れるんだよなァ だがnumberってのはどういう事だああ~~~~っ!? 配列にnumberを渡せるかっつーのよ───────ッ!! ナメやがってこの型ァ!! 超イラつくぜぇ~~~~ッ!! 解説 これはよォ 「Lookup Type」ってやつらしいぜぇ たとえばよォ 👇みたいに書くとPerson型からプロパティの型を取り出せるよなァ~?? type Person = { name: string, age: number } type name = Person

      ナメやがってこの型ァ!!超イラつくぜぇ~~~~~ッ!!
    • Reactを使うのかVueを使うのかについて個人的なモチベーションを整理したかった

      本記事はあくまで執筆時点(2022/3/27)での一意見でありますので、今後時間や技術的な変化により参考にならない部分も出てくるかもしれません。 Reactはいいぞ、Vueはいいぞと様々な情報が世の中には溢れているものの、「こういう場合には」という前提条件にあまり言及されていない情報が多いような気がしたので自分なりの視点で考えてみたいと思いました。 また、SvelteやAngular等他のフレームワークもありますが、そちらは個人的にはよくわからないので、あくまでReactとVueについてだけ言及していきます。 私のフロントエンド経験と気持ちの変化 2018年くらいにReactを勉強し始める。 → Reactって難しい…。 2019年くらいにVueを学び始める。 → Vueって簡単!Reactよりわかりやすくてええやん! 2020年くらいにNuxtの案件に参画する。 → Webフロントエンド

        Reactを使うのかVueを使うのかについて個人的なモチベーションを整理したかった
      • 新MacBook Pro(M3)でも機密情報が漏えい 2020年以降のApple製品全てに脆弱性 米国チームが発表

        このコーナーでは、2014年から先端テクノロジーの研究を論文単位で記事にしているWebメディア「Seamless」(シームレス)を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。 Twitter: @shiropen2 米ジョージア工科大学などに所属する研究者らが発表した論文「iLeakage: Browser-based Timerless Speculative Execution Attacks on Apple Devices」は、Mac、iPad、iPhoneなどのApple製品に搭載のSafariを標的としたサイドチャネル攻撃に関する研究報告である。 この攻撃は、最近発売されたM3チップを搭載した新型MacBook Proでも成功し、ソフトウェアの更新状況に関わらず、Apple製品にとって依然として脅威であることを示した。 「iLeakage」

          新MacBook Pro(M3)でも機密情報が漏えい 2020年以降のApple製品全てに脆弱性 米国チームが発表
        • Reactで大量描画しても60fps出すためのパフォーマンスチューニング術 - SmartHR Tech Blog

          こんにちは、SmartHRでプロダクトエンジニアをやっている @Tokky0425 です。 みなさんは普段組織で働いていますか?僕は組織で働いています。 組織で働くにあたって便利なもの、ありますよね。そう、組織図です。 SmartHR にも組織図の機能があるのですが、部署数や従業員数が多いとブラウザ上での操作が重くなってしまうという問題がありました。 最近「数万人規模の組織図での 60fps」を目指してこの組織図機能の描画パフォーマンス改善を行ったので、その中で実践したフロントエンド開発における大量描画処理の Tips を共有します。(React を前提としています) そもそも問題はどこにあるのか 最近まで、SmartHRの組織図機能は数万人規模の企業で十分に使えるような作りになっていませんでした。というのも、対象従業員数が数万人を超えてくると、いろんな操作が著しく重くなり、実用に耐える操

            Reactで大量描画しても60fps出すためのパフォーマンスチューニング術 - SmartHR Tech Blog
          • jsライブラリ選定はopenbaseが超絶便利 - Qiita

            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? openbaseとは https://openbase.io Find and compare open-source packages with user reviews, categorization, and unparalleled insights about packages' popularity, reliability, activity, and more. 手を抜いてdeeplでw ユーザーレビュー、カテゴリ分け、パッケージの人気、信頼性、アクティビティなどについての他の追随を許さない洞察力で、オープンソースパッケ

              jsライブラリ選定はopenbaseが超絶便利 - Qiita
            • 【怖い】経緯を読んだらガチの国際クライムサスペンスだった→フリーのエンジニアを狙ったサイバー攻撃が増加中

              🍪🍺 @cookieandbeer 国際犯罪の被害に遭いかけたので注意喚起です! 海外サイト(WeWorkRemotely)で良さげな案件を探していて、出会ったクライアントとビデオ通話した後「早速今の実装見てみてほしい」という話になりました。もう遅いし明日にして今日は飲むか〜と思っていたら「すぐチェックしてほしい」という連絡が pic.twitter.com/bRhXJkFEGX 2024-07-20 16:41:25 🍪🍺 @cookieandbeer しょうがないにゃあ…と思いつつまずは親の顔より見た setupTest.js を見るとそこには変わり果てた姿が…… 偶然昼までMarkdown書き物をしてたためVSCodeの折り返しを有効にしていたので気づきましたが、普段無効にしてるときだったらこんなふうに見えるので気づくのは難しそう pic.twitter.com/fbk3og

                【怖い】経緯を読んだらガチの国際クライムサスペンスだった→フリーのエンジニアを狙ったサイバー攻撃が増加中
              • 今Partytownがヤバい。JavaScript Sandboxの未来はどっちだ?

                概要 Partytownというプロジェクトが先月発表された。このプロジェクト自体はWebのパフォーマンス向上(3rd Party Scriptによるブロッキングの低減)を主目的としているが、実質ブラウザにおけるJavaScript Sandboxの方向性に一石を投じるものであるとして自分は理解した。本稿ではこちらについて背景とともに解説を試みる。 WebブラウザにおけるJavaScript Sandbox JavaScriptで記述されたWebアプリケーションにおいて、たとえばプラグイン機構を実現したいなど、他Partyが提供あるいはユーザ自身が記述したスクリプトを、ホストとなるアプリケーションに影響を与えることなく実行することを許可したい、というケースはままある。2000年代に跋扈したブログパーツの類はWebコンテンツに対するプラグインの代表例とも言えるが、埋め込み先ページに対しての全権

                  今Partytownがヤバい。JavaScript Sandboxの未来はどっちだ?
                • JavaScript 長いループ 分割 - hitode909の日記

                  ブラウザで長いループや、重い処理をともなうループを回したいとき、同期的にJavaScriptを実行するとメインスレッドがブロックしてしまうので、ちょっとずつ細切れに分割して実行したい、ということがある。 昨日久しぶりに書いたら新たなパターンと出会ったので、これまでにどう書いてて今回どうなったかメモ。 setTimeoutする 以前(10年前とか)はこんなのをよく書いていた。 itemsがでかいArrayで、console.logがすごく重い処理だとして読んでください。 function iterateHeavyTask(items) { const startAt = new Date(); while (items.length > 0 && new Date().getTime() - startAt < 10) { console.log(items.shift()); } if (

                    JavaScript 長いループ 分割 - hitode909の日記
                  • Reactを使うならReact Developer Toolsの再レンダリング時ハイライトくらい設定してくれ

                    最近 React と Next.js に入門したのですが、入門時点で一番最初に知っておきたかったことについて書きました。 「React 初心者が useState とかを学習する前にまず一番にやることはこれ」っていう内容です。。 タイトルは自分への戒めです。 TL;DR この記事を読むと React Developer Tools の簡単な使い方を知り、useState の再レンダリングについて動きがイメージできるようになると思います React Developer Tools これのこと。React を使った開発をするのであれば、必ず導入しないといけないレベルのもの。 再レンダリング時ハイライトの設定 React Developer Tools をインストールした後、F12 を押下して Component を選択この歯車を押下する。 すると、以下のような部分があると思うのでチェック ON

                      Reactを使うならReact Developer Toolsの再レンダリング時ハイライトくらい設定してくれ
                    • サーバサイドレンダリングの導入から生じるSSRF | セキュリティブログ | 脆弱性診断(セキュリティ診断)のGMOサイバーセキュリティ byイエラエ

                      オフェンシブセキュリティ部の山崎です。サーバサイドレンダリング(SSR)の導入によってSSRFが発生する問題を見つける機会があったため、本記事では実例を交えながら紹介したいと思います。 サーバサイドレンダリング(SSR)とは? 本記事で扱うSSRとは「サーバ上でHTMLを出力すること」を指しています。ただしerbやjspのようなテンプレートからHTMLを出力するのとは異なり、一般的には以下のようにクライアントサイドレンダリング(CSR)の文脈で使われることが主です。 近年のVue.jsやReactを代表するようなWebフロントエンドフレームワークはブラウザ上で動的にDOMツリーを構築して画面を描画(CSR)するのが主流となっています。これによってページ遷移を挟まずユーザ体験のよいシングルページアプリケーション(SPA)が作ることができるというメリットがあります。 ただ、単純なSPAにはデメ

                        サーバサイドレンダリングの導入から生じるSSRF | セキュリティブログ | 脆弱性診断(セキュリティ診断)のGMOサイバーセキュリティ byイエラエ
                      • CORSガイドの決定版 | POSTD

                        無垢な仔猫の写真を集めたウェブサイトを訪問したと想像してみてください。かわいい仔猫達の写真の背後には、このウェブサイトの強大な力が隠れています。誰かがウェブサイトにアクセスすると、サイトのオーナーはその訪問者のネット上の行動に関するあらゆる情報を入手できます。その中には、銀行取引情報、SNS上の投稿やメッセージ、メール、オンラインの購買データなどが含まれます。あなたが受ける信用面や金銭面の損害はどれほどのものになるでしょうか。あなたのメッセージが流出し、銀行口座のお金が使い込まれるかもしれません。しかし幸いなことに、実際にはそのような状況は起こりません。それは、SOPとCORSのお陰なのです。 目次 Ajax(Asynchronous JavaScript And XML) インターネットがジャングルではない理由 認証情報を「含める」vs「含めない」 CORSルールの定義 クロスオリジンリ

                          CORSガイドの決定版 | POSTD
                        • フロントエンドのスピードに置いていかれたので、よく聞く技術を調べて分類してみた

                          元フルスタックエンジニア(死語)をやらせていただいていたものです。 JavaScript(TS)周りの進歩が凄く、あまりにもついていけていなかったので、気になったワードを片っ端から整理してみました。 それぞれに対する説明の正しくないものが含まれてしまっている可能性があります。 そんなところを見つけたときは優しく教えてくださると助かります。 各ツールの詳細というよりは、それぞれがどんな役割のものなのかを記載しています。 この記事が誰かの助けになれば幸いです。 調査・分類した言葉(技術)たち Hono Bun Deno Biome Vite Webpack Turbopack esbuild Babel SWC Prisma まず上記に上げたものが、どういった機能を持つものなのかもわかりませんでした。 それを整理すると以下になるようです。 JavaScript Runtime Deno Bun

                            フロントエンドのスピードに置いていかれたので、よく聞く技術を調べて分類してみた
                          • TypeScriptの型を展開してホバー表示してくれるVSCode拡張「Prettify TypeScript」が便利

                            TypeScriptは強力な型システムが魅力です。 しかし、複雑な型定義は理解が難しいです。特にライブラリの型定義などはジェネリクスや交差型などがネストしていることも多く、すぐに把握するのが難しい場合があります。 Visual Studio Code(以下VSCode)でTypeScriptの開発をしている際、型にカーソルをホバーすると型情報が表示されます。 しかし、深いネストや複雑な型の場合、展開される情報が不十分で、定義を追う必要があります。 そんな時に役立つVSCodeの拡張機能がないかな〜と探していたら「Prettify TypeScript」というぴったりの拡張機能を発見しました!この拡張機能を使うと、ホバーした時に型が展開された状態で表示されるため、型情報を把握しやすくなります。 Prettify TypeScriptの概要 Prettify TypeScriptを使用すること

                              TypeScriptの型を展開してホバー表示してくれるVSCode拡張「Prettify TypeScript」が便利
                            • JavaScriptを雰囲気で使っていたので勉強し直したら知らなかったこと

                              小ネタ。chromeで動作確認 何となく使っていたので改めて勉強してみたら知らなかったことなどのまとめ this 関数の呼び出し元のオブジェクトがthisになる。ただし、呼び出し元のオブジェクトの指定がない場合は、windowオブジェクトがセットされる。ただし、厳格モードuse strictの場合はundefinedがセットされる const foo = { bar: function() { // 呼び出し元はfoo.bar() console.log(this); // foo object const baz = function() { // 呼び出し元はbaz()でオブジェクトの指定がない console.log(this); // window object } baz(); const qux = function() { 'use strict'; // 呼び出し元はqux

                                JavaScriptを雰囲気で使っていたので勉強し直したら知らなかったこと
                              • 高卒三十路フリーターだけど未経験からIT系行きたい

                                未経験で年収350万円(残業代込み)は欲しい 無謀か? javascript触ってるの楽しくなったので折角なら業界に入ってみたいと思ったけどWEB系は諦めてる インフラ系が安牌な気がするのでlpicの小豆本とかいうのアマゾンでポチっておいた 基本情報対策でjavaの勉強先行してオラクル取ろうと思ってるけど、基本情報からjavaとか消えるんだってな…… 優しい有識者の就職アドバイス求む 年齢的にもうきついかのう

                                  高卒三十路フリーターだけど未経験からIT系行きたい
                                • TypeScript で MCP サーバーを実装し、Claude Desktop から利用する

                                  MCP(Model Context Protocol)とはアプリケーションが LLM にコンテキストを提供する方法を標準化するプロトコルです。MCP を使用することで、LLM は外部ツールやサービスからコンテキストを取得するだけでなく、コードの実行やデータの保存など、さまざまなアクションを実行できるようになります。この記事では MCP サーバーを TypeScript で実装する方法を紹介します。 MCP(Model Context Protocol)とはアプリケーションが LLM にコンテキストを提供する方法を標準化するプロトコルです。多くの LLM ではユーザーに適切な回答を提供するために追加のコンテキスト情報を必要とします。例えば、今日の天気の情報をユーザーから求められたとしても LLM が学習したデータにはその情報は含まれていないため、正確な回答ができません。このような状況では L

                                    TypeScript で MCP サーバーを実装し、Claude Desktop から利用する
                                  • JavaScript での時刻操作に Moment.js ではなく Day.js を利用し続けている理由

                                    JavaScript での時刻操作に Moment.js ではなく Day.js を利用し続けている理由2020/09/21 昨日、拙作の Nuxt.js プラグインである @nuxtjs/dayjs の v1.2.0 をリリースしました。 このプラグイン自体は2019年3月に開発をはじめて、おおよそ一年半ほど管理してるのですが、それ以前から JavaScript での時刻操作では Day.js を使ってきました。 Moment.js のプロジェクト終了が告知され、時刻操作ライブラリに注目が集まっていることなので、今一度 Day.js の採用理由についてまとめてみます。 Day.js について iamkun によって開発されている時刻操作のライブラリです。Moment や date-fns などは Organization によって管理されていますが、時刻操作ライブラリとしては珍しく個人に

                                      JavaScript での時刻操作に Moment.js ではなく Day.js を利用し続けている理由
                                    • モノレポにすべきか、レポジトリを分割すべきか

                                      先日 フロントエンドの Monorepo をやめてリポジトリ分割したワケ というブログがバズっていた。そのおかげか、Twitter でもモノレポに関する言及がちょこちょこあった。一家言あるドメインなので書きたい。ただの一家言(a.k.a お気持ち)なのでぜひ皆さんの意見も聞いてみたい。 tl;dr 別に自分はどっち派とかではなく、どっちも選ぶ。強いて言うならリポジトリ分割派で、依存更新がしんどくなったら monorepo 派。 免責 モノレポに対する一家言を書きたいだけであって、内容自体はフロントエンドの Monorepo をやめてリポジトリ分割したワケ と全く関係なく、そのブログで述べられている施策については何も言及しません。ただ一つ言及するとしたら肉の部位がコードネームに採用されているのは良いと思いました。🍖🍖🍖 モノレポにしたくなる状態の前提にあるもの 前提は元記事と同じように

                                        モノレポにすべきか、レポジトリを分割すべきか
                                      • Fresh 1.0

                                        Fresh is a new full stack web framework for Deno. By default, web pages built with Fresh send zero JavaScript to the client. The framework has no build step which allows for an order of magnitude improvement in deployment times. Today we are releasing the first stable version of Fresh. Client side rendering has become increasingly popular in recent years. React (and React-like) pages allow program

                                          Fresh 1.0
                                        • なぜ出力時のHTMLエスケープを省略してはならないのか - Qiita

                                          メリークリスマス! 週末もPHPを楽しんでますか? ところでWebセキュリティはWebアプリケーションを公開する上で基礎中の基礎ですよね! メジャーな脆弱性を作り込まないことはWeb開発においては専門技術ではなく、プロとしての基本です。 中でもXSS (Cross-Site Scriptingクロスサイトスクリプティング)やインジェクションについての考慮は常に絶対に欠いてはならないものです。 現実にはプログラミングには自動車のような運転免許制度がないため、自動車学校に通わず独学で公道に出ることができてしまいます。つまりは基礎知識がないままにWebプログラマとして就職したり、フリーランスとして案件を請けることも現実には罷り通っています。それは一時停止標識も赤信号も知らずにタクシー営業しているようなものです。 このような事情により、体系的な理解のないWeb開発初心者は (時にはn年のキャリアを

                                            なぜ出力時のHTMLエスケープを省略してはならないのか - Qiita
                                          • どのようにTypeScriptを使うのか - uhyo/blog

                                            現在、TypeScriptの重要性は、フロントエンド開発を中心としてますます増すばかりであります。それだけに、TypeScriptをどのように使うべきかという問題については多様な意見が見られます。 これまで筆者はTypeScriptの使い方に、特にコンパイラオプションの使い方について意見を散発的に発信してきましたが、このたび記事にまとめました。この記事では、特に次のような意見に対しての反対意見を述べます。 厳しいコンパイラオプションは型パズル愛好者のためのものであり、普通の人は細かいことを気にせず緩い設定でよい。熟練のJavaScript使いにはTypeScriptは必要ない。例え話最近はTypeScriptを補助輪に例えたりするのが流行っていますので、この記事でも例え話をしてみます。筆者の考えでは、TypeScriptというのは例えるならば料理人が使う包丁のようなものです。コンパイラオプ

                                              どのようにTypeScriptを使うのか - uhyo/blog
                                            • 雑にReactアプリを作りたい時に使ってるもの

                                              import "./App.css"; import { Link, Route, Switch } from "wouter"; function Nav() { return ( <nav> <Link to="/">Home</Link> <br /> <Link to="/about">About</Link> </nav> ); } function Home() { return ( <div className="App"> <h2>Home</h2> <Nav /> </div> ); } function About() { return ( <div className="App"> <h2>About</h2> <Nav /> </div> ); } function App() { return ( <> <Switch> <Route path="/" compo

                                                雑にReactアプリを作りたい時に使ってるもの
                                              • React 19を概念から理解する

                                                2024-05-29うひょさんに聞く! React 19アップデートの勘所 #React19_Findy

                                                  React 19を概念から理解する
                                                • Prettier と ESLint の組み合わせの公式推奨が変わり plugin が不要になった

                                                  前に書いた ESLint と Prettier の共存設定とその根拠について が公式推奨が変わったことにより一部間違った情報になっているのでその訂正記事です。 該当記事に書いた内容は Prettier と ESLint の関係を読み解く上で役立つ情報だと思うので、警告とこのページへのリンクを書いた上でそのまま残しておきます。 (追記) この記事の内容も間違った内容を書いていました。なので一度大幅な訂正をしています。prettier-eslint も推奨ではありません。 変更点の要約 Prettier と ESLint の組み合わせについて公式 の推奨方法が変わりました。 きっといつかこの情報も古くなるので直リンクではなく、ドキュメントの GitHub のリンクを貼っておきます。 ドキュメント自体のリンクはこちらです。 新しいドキュメントを要約すると、 Linter と Formatter

                                                    Prettier と ESLint の組み合わせの公式推奨が変わり plugin が不要になった
                                                  • mouseover 中に表示される DOM のデバッグ | blog.jxck.io

                                                    Update 2024-03-30: Chrome 123 から "Emulate a focused page" が追加された。 これを用いれば良いため、以降の全ての方式は古くなった。 Apply other effects: enable automatic dark theme, emulate focus, and more https://developer.chrome.com/docs/devtools/rendering/apply-effects#emulate_a_focused_page マウスが乗ってないと出ない UI も、そこに Tab などでフォーカスを移し、その状態で Dev Tools の "Emulate a focused page" を有効にすれば良い。 Intro 先日、後輩が「mouseover 中にしか表示されない DOM のデバッグ」に手こずっ

                                                      mouseover 中に表示される DOM のデバッグ | blog.jxck.io
                                                    • Auth.js | Authentication for the Web

                                                      // auth.ts import NextAuth from "next-auth" import GitHub from "next-auth/providers/github" export const { auth, handlers } = NextAuth({ providers: [GitHub] }) // middleware.ts export { auth as middleware } from "@/auth" // app/api/auth/[...nextauth]/route.ts import { handlers } from "@/auth" export const { GET, POST } = handlers // src/auth.ts import { SvelteKitAuth } from "@auth/sveltekit" impor

                                                        Auth.js | Authentication for the Web
                                                      • Vue.js、Nuxt JSを学習するときにやったこと

                                                        Vue.js、Nuxt JSを学習するときにやったこと以前「WebデザイナーのためのVue.js事始め」という記事でVue.jsについて触れたのですが、それから今まで、どんな手順で勉強してきたのかを紹介してみます。途中ReactやGatsbyを取り入れたりもしていたのですが、結局 .vueファイルでの単一ファイルコンポーネントが楽だなーと思い、今はVue.jsに全振り中です。これから勉強してみたい方の参考になれば幸いです。 Web デザイナーのための Vue.js 事始め 1. Vue.js 公式 Web サイトを確認まずはVue.js の公式 Web サイトを確認。日本語にも対応しています。ここで基本的な使い方、文法、何ができるのかなどをざっくり学習しました。 サンプルコードがある箇所は実際にCodePenを使ってコードを記述し、動作確認します。公式は今後何度も繰り返しチェックすることに

                                                          Vue.js、Nuxt JSを学習するときにやったこと
                                                        • 一休レストランで Next.js App Router から Remix に乗り換えた話 - 一休.com Developers Blog

                                                          このエントリーは一休.com Advent Calendar 2023の15日目の記事になります。 CTO 室の恩田です。 現在は一休レストランのフロントエンドのリアーキテクトを手がけています。 今日はその中で Next.js App Router から Remix に乗り換えた話をご紹介したいと思います*1。 背景 6日目の記事で香西から紹介させていただきましたが、2023年10月に一休レストランのスマートフォン用レストラン詳細ページをリニューアルしました。 一休レストランの Rust バックエンドが正式リリースされました。https://t.co/7N4VGv5ej9 このページのスマートフォンビューはバックエンドが Rust で書かれた GraphQL になってます— naoya (@naoya_ito) 2023年10月4日 ちなみにフロントエンドも、旧バージョンは Nuxt v2

                                                            一休レストランで Next.js App Router から Remix に乗り換えた話 - 一休.com Developers Blog
                                                          • Chrome の console.log でハマらないために

                                                            JavaScript を書いたことがある人ならば一度は使うであろう console.log ですが、この関数は思ったよりも厄介な性質を持っています。その性質を知らずに console.log を使うと、デバッグ時に大ハマリしてしまうことがあります。この記事では console.log の落とし穴についてお話します。 今回は Chrome に特化して解説しますが、Firefox や Safari でも同じ落とし穴があります。 console.log とは まずはさらっと基本をおさらいしましょう。 大前提なのですが、console.log は JavaScript の言語仕様(ECMAScript)で定義されていません。ブラウザ向けには whatwg の仕様がありますが、あくまでもそれはブラウザ向けの仕様であり、Node.js を含むほぼ全ての JavaScript 環境で使えるのは cons

                                                            • JavaScriptのデザインパターンについて

                                                              どうもoreoです。 今回はモダンなJavaScript開発環境で役立つデザインパターンを紹介します。 この記事は、JavaScript Patterns WorkshopとPatterns.devを参考にしています。 有名な「Java言語で学ぶデザインパターン入門」などでは、古典的な23個のデザインパターンが紹介されていますが、JavaScript Patterns WorkshopではPatterns.devをベースとして、モダンなJavaScriptにおける6つのデザインパターンについて言及されています。この記事ではそれらについてまとめてみたいと思います! ※本記事中のコードは、JavaScript Patterns WorkshopとPatterns.devから引用させていただいております。 1 Design Patternsとは? デザインパターンとは、ソフトウェア開発で繰り返し

                                                                JavaScriptのデザインパターンについて
                                                              • head内でパフォーマンスの問題がある箇所、Webページのレンダリングを妨げる要因を明らかにするCSS

                                                                Webページのレンダリングを妨げる要因、<head>タグ内でレンダリングをブロックしているCSSやJavaScript、サードパーティーのリソースなどを表示して、どこを修正すればよいか教えてくれるCSSのスニペットを紹介します。 ちなみに下記のグリーンは問題なし、レッドはエラーで対応が必要、オレンジは特定のシナリオで問題が発生する、です。 ct.css ct.css -GitHub ct.cssの特徴 ct.cssのデモ ct.cssの使い方 ct.cssの特徴 <head>内にあるタグは、ページのレンダリングを妨げる要因となる最大の箇所で、正しい形式であることは非常に重要です。ct.cssは、Webページの<head>タグ内に潜在するパフォーマンス上の問題を明らかにするCSSのスニペットです。 ct.css ct.cssの使用にあたっての制限事項は、下記の通りです。 一致しないmedia

                                                                  head内でパフォーマンスの問題がある箇所、Webページのレンダリングを妨げる要因を明らかにするCSS
                                                                • 「バニラ」の起源について

                                                                  IBMのBookMasterでは、デフォルトを"vanilla"、特別な設定を"mocha"と呼んでいたらしい。 http://web.archive.org/web/20211224091337/ftp://public.dhe.ibm.com/printers/products/dcf/samples/B2H.HTM 「Chapter 6. Caveats and restrictions (what's supported and what's not!)」に以下の記述がある。 Conditional sections (.cs) and BookMaster's "vanilla" DVCF macros (.CONFIG and .WHEN) are supported, but not BookMaster's "mocha" DVCF macros (e.g. .USING,

                                                                    「バニラ」の起源について
                                                                  • ブコメの熊がウザいので、削除するブックマークレット作った

                                                                    javascript:document.querySelectorAll(".entry-comment-contents").forEach(function(e){if(e.innerText.indexOf('🐻')!=-1||e.innerText.indexOf('ʕ•̫͡•ʔ')!=-1){e.remove()}})ブックマークレットのクリックが面倒な人は、GreasemonkeyかTampermonkeyで。 他のパターンのコメント削除したい人は『||e.innerText.indexOf('削除したいコメントに含まれる文字列')!=-1』を修正なり、追加なりでどうぞ。 何か要望があれば、はてブコメント(ただし熊系は消してます)か言及でどうぞ。気が向いたら対応します。 追記1(2021/08/03午前)なんか漏れてるのがある。文字列の方は、もっと短くした方が良さそう。ただ、

                                                                      ブコメの熊がウザいので、削除するブックマークレット作った
                                                                    • 【React】リッチテキストエディタ(Quill、Tiptap、Slate...)の考え方や前提知識

                                                                      概要 4年ほどProductionで使っていたリッチテキストエディタ(Quill on Nuxt.js v2)をTiptap on Next.jsに移行しました。 既存のQuillエディタの使い勝手をTiptapで再現しつつ、改善できるところは改善しつつ、既存の4年分のリッチテキストデータが正しく編集できるようにしなければいけませんでした。 本記事では移行の具体的なプロセスを解説しようと思っていたのですが、リッチテキストエディタは前提知識があまりに多いため、前提となる知識や考え方を解説しているだけでそこそこのボリュームになりました。そこで、一旦考え方や前提知識をまとめた、という体で公開します。 本記事を読んでから各ライブラリのDocsを読んだりカスタマイズを始めたら、少しハードルが下がっていることかと思います。 対象読者の例 リッチテキストエディタに興味がある リッチテキストエディタの開発

                                                                        【React】リッチテキストエディタ(Quill、Tiptap、Slate...)の考え方や前提知識
                                                                      • TypeScriptで学ぶ!SOLID原則

                                                                        はじめに 皆さんこんにちは、株式会社エムアイ・ラボのエンジニアです! 今回はソフトウェア設計のSOLID原則について学習したので、弊社のメインの開発言語であるTypeScriptのサンプルコードを使って共有できればと思います。 SOLID原則は、オブジェクト思考プログラミングにおいて、ソフトウェアがメンテナンスしやすく、拡張や変更に強いソフトウェア設計を行うための原則です。 SOLID原則にはSOLIDの頭文字をそれぞれとった、5つの原則があります。 単一責任の原則(Single Responsibility Principle) 単一責任の原則とは、クラスが一つの機能や責任を持つべきで、クラスが変更される理由は一つであるべきというです。 クラスが一つの機能や責任のみを持つようにすることにより、コードは再利用可能でテストが容易になります。 単一責任の原則を遵守している例 以下のBirdクラ

                                                                          TypeScriptで学ぶ!SOLID原則
                                                                        • React/Next.jsでの俺的ベストプラクティスを見てくれ

                                                                          木瓜丸です。 最近になって、やっとNext.jsを上手く使いこなせてるんじゃないか?!と思えるようなコンポーネントの設計手法を見つけたので、Zennにまとめてみたいなと思います。 この記事で触れること この記事では、主にページ単位でどのように状態管理を行うのかに焦点を当てることにします。 コンポーネントの管理の仕方などは特に着目しませんがご了承下さい。 hooksの導入 React初心者の方は最初に疑問に思うと思いますので、hooksについて触れておきます。 hooksというのは、Reactによって提供されているuseState, useEffectといったやつや、それらを組み合わせて作ったオレオレ状態管理基盤の総称です。 この記事で用いる基本的なhooksをいくつか紹介します。 useState その名の通り、状態を持つ変数を作ってくれます。 const Hoge = () => { c

                                                                            React/Next.jsでの俺的ベストプラクティスを見てくれ
                                                                          • 非エンジニアの自分がウェブ地図サイトを公開するまで - Qiita

                                                                            こんな風にグリグリ動かせるウェブ地図サイト、作ってみたいけどハードルが高いなぁ…という方もいらっしゃるのではないでしょうか。 実際、自分もサイトを作るまではそう思っていました。 しかし意外と簡単に、オープンソースのソフトのみで作れてしまうんです! (サーバ代や取得するのであればドメイン代等はかかりますが…) 非エンジニアのデザイナーの自分ですがサイト公開までできたのでやり方を共有します! ※自分のスキルとしては関してはgithubもVScodeも使えない、CSSとhtmlぐらいならツギハギでなんとか…(10年前ぐらいの知識)というレベルなので、特に後半のサーバ周りに関してもっと楽なやり方があるかもしれません。 QGISで地図を作る 一番の肝はやはりメインの地図コンテンツです。 ここではQGISというオープンソースのGISソフトを使います。 詳しい地図の作り方・QGISの操作方法については割

                                                                              非エンジニアの自分がウェブ地図サイトを公開するまで - Qiita
                                                                            • React / Redux を実務で使うということは

                                                                              注意 この記事に書いてあることは古い情報になっている可能性があります 最近ReduxToolkit周りの進化がめざましく、更に追加されたReduxのドキュメントの項目がかなりわかりやすく書かれているため、基本的にこちらを推奨します 既にRTKなどの概要を知っているひとは特に Tutorials > Redux Essentials のセクションを読んでほしいです こんにちは、すずです Reactを使い始めて2年半経ち、その間に3つのサービス(SPA)を立ち上げてきました その経験から、 React や Redux を実務でしっかり使ってく上でのノウハウを紹介していきます (この記事ではある程度ReactやReduxの記事・ドキュメントを読んだ初学者を対象としています) 序 フロントエンド、モノを作ったはいいものの、「変更しづらい」「スケールしない」「この作りではパフォーマンスが出ない」って

                                                                                React / Redux を実務で使うということは
                                                                              • Modern Web Development on the JAMstack を読んでまとめた - console.lealog();

                                                                                https://www.netlify.com/pdf/oreilly-modern-web-development-on-the-jamstack.pdf Netlify社が2019年に公開した本?PDFです。 せっかくJamstackの会社に入ったので、読んでおかないといけない気がして。 あとJamstackは人によって解釈が違ったりするとし、Jamstackの真髄について知っておきたいですよね?と思い。 ただこれなんと127ページもあるんですよね〜。 全編もちろん英語なので、読むのも中々に大変ですよね〜。 てなわけで、ざっくり訳してまとめまておきました。(それでも長いけど) はじめに ここ最近のWebの進化はすさまじい ブラウザもJavaScriptもパワフルになった その分ユーザーの要求も増える やることが増えると処理は遅くなる 遅いページは見向きもされないモバイル当たり前の世界だ

                                                                                  Modern Web Development on the JAMstack を読んでまとめた - console.lealog();
                                                                                • React ユーザー向けの Next.js ガイド

                                                                                  最近会社で Next.js のチュートリアルを担当することがあったり、これからもあるので資料として記事をしたためておこうと思う。 対象は、React は知っているけどこれから Next を学ぼうとする人が想定。 つまり React 単体と Next の差分をまとめる。 React そのものから学びたい人は別の資料にアクセスした方が良いだろう。 Next の学習教材 とりあえず公式だけ読めば良い。(これでいまブラウザバックされたら面白いな・・・) 主に二つあり、 ドキュメントや API: https://nextjs.org/docs/getting-started チュートリアル: https://nextjs.org/learn/foundations/about-nextjs を読むと良い。 Next は何を解決しているか、何が嬉しいか 元々は SSR のための煩雑な手続きをしなくてい

                                                                                    React ユーザー向けの Next.js ガイド

                                                                                  新着記事