タグ

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

  • Reactのべからず集 - Qiita

    Reactは便利なライブラリですが、ライブラリの想定を外れる使い方をするとうまく動かないとか、進化が続いているのですでに古くなってしまった書き方とかが存在します。 ここでは、そのような、Reactでやるべきでない書き方についてまとめてみました。 ★★★★ この「★★★★」は、「守らないと正常動作しなくなる」レベルのものについて扱います。 JSXを使うファイルでReactを用意し忘れる JSXはReact.createElementに変換されますので、直接アクセスしているように見えなくても、名前空間内にReactが必要です。 eslint react/react-in-jsx-scope コンポーネント内部からpropを書き換える あくまでpropsは親から子へ渡されるものなので、子の側で書き換えることはReactの枠組みの想定外となります。 setState以外の手段でstateを書き換え

    Reactのべからず集 - Qiita
  • Markdownをプレビューなしで見たまま編集できるOSSを発見! - Qiita

    何がMarkdownプレビューの問題か? 多くのマークダウンエディタは、エディタとプレビューが分かれているのが当たり前になっています。対応関係を考えなら編集する不便があります。長くなるに連れてスクロール同期の質なども影響してきます。LaTeXで論文書くときも同じ苦労があります。例えば、Microsoft WordやScrapboxのようにWYSIWYG = What You See Is What You Getだとより書きやすくなります。 "見たままの編集"とエンジニアに優しいMarkdownの融合はとても強力だと思います。 OSSのMarkdownエディタ - HyperMD 念願だった見たまま編集できるHyperMDというOSSのプロジェクトを発見しました! GitHubリポジトリ Typoraという存在 Typoraという同じような目的のプロジェクトは以前から知られていますが、OS

    Markdownをプレビューなしで見たまま編集できるOSSを発見! - Qiita
  • 2019年版: JavaScriptのループの考察 - Qiita

    JavaScript いつの間にかずいぶん違う言語になったなぁ、と思うけど、 for(let i = 0; i < 100; i++) { /.../ } これはまだこう書くしかないのかな?const使えない? — Takuo Kihira (@tkihira) June 6, 2019 このツイートを起点に、パフォーマンスの話が出て、紀平さんも計測されていたんですが自分でも思うところがあって計測して考察してみました。 実測前の僕の予想(というか過去の経験)は 普通のforが最速 for-inは速度以前に使ってはいけない for-ofとforEachは関数呼び出しがループごとに挟まるのでどちらも遅いが同じ水準 for ofは言語標準なので最適化が行われる期待! でした。さて、結果はいかに? それぞれのループの解説 伝統的なfor 伝統的なループが一番軽いというのはみんなが認めるところです。

    2019年版: JavaScriptのループの考察 - Qiita
  • JavaScriptの日時処理はこう変わる! Temporal入門 - Qiita

    日時の処理は様々なアプリケーションにおいて避けては通れないタスクです。JavaScriptにおいてもそれは例外ではありません。 JavaScriptでは最初期からDateオブジェクトが日時を表すオブジェクトとして存在していましたが、これは非常に使いにくいAPIで知られています。その結果、momentに代表されるような日時処理ライブラリを使うのが事実上スタンダードとなっています。 この記事では、将来的に日時処理の有力な選択肢になると期待されるモジュールであるTemporalについて解説します。Temporalでは、既存のDateによる日時処理のつらい部分が解消されることが期待されています。 なお、例によってTemporalはまだ策定中の仕様です。現在Stage 2というフェーズにあり、APIを鋭意策定中という状況です。よって、この記事にかかれている内容は確定までにまだ変化するかもしれません。

    JavaScriptの日時処理はこう変わる! Temporal入門 - Qiita
  • React Tokyo with ZEITカンファレンスメモ - Qiita

    概要 React Tokyo with ZEIT に参加してきました。 カンファレンスの内容を自分なりに理解した範囲で残しておきます。 自分の理解不足により正確に表現できていないところも多々あると思いますので、参加していらっしゃった方がもしご覧になっていたらどうかご指摘お願いします。 発表内容 1. SPR(Serverless Pre Rendering)について Guillermo Rauch氏 (from ZEIT) staticが良い! 計算(computing)させるとどうしても遅い 静的(static)なものは速い キーワードとなるのは「キャッシュ(cache)」 キャッシュすることでビルドはめっちゃ速くなる staticはstaticでしかない。動的(dynamic)なデータでレンダリングしたい 単純なtypoを修正するだけでもデプロイには時間がかかる そこで、Serverl

    React Tokyo with ZEITカンファレンスメモ - Qiita
  • 我が名は神龍……どんなテストもひとつだけ自動化してやろう - Qiita

    『我が名は神龍……どんなテストもひとつだけ自動化してやろう』 じゃ、じゃあ!このブラウザテストを自動化してください! Chromeで https://kids.yahoo.co.jp/ にアクセスして 検索ワードに ねこ と入力して さがすをクリックして 検索結果にネコ - Wikipedia が含まれていることを確認して 検索結果に 買い方 を追加して さがすをクリックして 探しているのは「の飼い方」?と表示されることを確認して クリックするとの飼い方で再検索されて 検索ボックスを不倫で上書きして さがすをクリックして このページは表示できませんと出ていることを確認 『よかろう……たやすい願いだ』 まずはライブラリのインストールと初期設定をしてやろう…… # [ライブラリのインストール] # CodeceptJSとPuppeteerをインストールします。nodeとnpmが必要ですので

    我が名は神龍……どんなテストもひとつだけ自動化してやろう - Qiita
  • fish 3.0がやってきた - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    fish 3.0がやってきた - Qiita
  • Mac OS X High Sierra のキー入力速度を速くする - Qiita

    今まで自分のMacのキー入力が割ともっさりしてるなと思っていたのですが、Macのキー入力の設定変更でかなり快適になって感動したので、メモしておきます。 環境 Mac OS X 10.13.6 High Sierra 設定方法 大きく分けて2種類あります。手軽さは 1.の方法、システム上限を超えてキー入力を速くしたい場合は2. の方法を使う形になります。 システム環境設定から設定する defaults コマンドから設定する システム環境設定から設定する 手軽に設定したい場合はこちらから。 [System Preferences] - [Keyboard] より、Key Repeat(キーのリピート)、Delay Until Repeat(リピート入力認識までの時間)をどちらも一番右の最速にします。設定は即時反映されます。 defaults コマンドでシステム環境設定より速く システム環境設定

    Mac OS X High Sierra のキー入力速度を速くする - Qiita
  • フロントエンドでTDDを実践する(理論編) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事は リクルートライフスタイル Advent Calendar 2018 8日目の記事です。 2018/12/10更新:続編で フロントエンドでTDDを実践する(react-testing-libraryを使った実践編)を書きました。 はじめに 自分のフロントエンドチームでは、TDDでの開発フローを実施することでフロントエンド開発の課題に向き合っていきます。 今回は、一般的に難しいとされるフロントエンドでのテストについて、どんな方針でテストを書けばいいかについて書いてみたいと思います。 フロントエンド開発の課題 プロジェクトにより

    フロントエンドでTDDを実践する(理論編) - Qiita
  • 2018/11/27に判明したnpmパッケージ乗っ取りについて - Qiita

    概要 event-streamというnpmパッケージに攻撃コードが混入されました。攻撃コードはflatmap-streamというパッケージに含まれており、event-stream パッケージはこの flatmap-stream への依存性を追加される形で間接的に攻撃コードの実行を行う状態になっていました。 攻撃コードが分析された結果、copayというBitcoinウォレットからクレデンシャルを盗むことを目的とされていたことが確認されています。 参考リンク 調査が行われているGitHub Issue HackerNewsスレッド Details about the event-stream incident - The npm Blog 影響をうけたパッケージ event-stream@3.3.6 flatmap-stream@0.1.1 flatmap-stream@0.1.1 パッケージ

    2018/11/27に判明したnpmパッケージ乗っ取りについて - Qiita
  • HTML5 Conference 2018 登壇資料まとめ - Qiita

    HTML5 Conference 2018 の登壇資料のまとめです。 資料を発見次第随時アップデートしていきます。 HTML5 Conference 2018 https://events.html5j.org/conference/2018/11/ 2018年11月25日(日) 東京電機大学 千住キャンパス 1号館 タイムテーブル https://events.html5j.org/conference/2018/11/session/ ハッシュタグ 総合: #html5j ホール(2階): #html5j_h 各ルーム(1階:A-C/2階:D,E): #html5j_a #html5j_b #html5j_c #html5j_d #html5j_e セッション ZOZOのグローバルECのフロントエンドアーキテクチャ設計 (権守健嗣さん) 光を超えるためのフロントエンドアーキテクチャ (

    HTML5 Conference 2018 登壇資料まとめ - Qiita
  • yahoo/fetchrを使う - Qiita

    先日参加した、isomorphic tokyo meetupで紹介されていたfetchrが良さそうだったので、使ってみた。 fetchrが解決する課題 React+Fluxでサーバサイドレンダリング時に、superagentやaxios、isomorphic-fetchなどのIsomorphicなHTTPクライアントを使ってデータをフェッチするが、そのまま使うと下記のような課題にぶつかる。 ブラウザから直接BEのAPIにアクセスできない(またはさせたくない、外部のAPIでキー・シークレットをブラウザ側で持ちたくない)場合、そのAPIとProxyするエントリポイントを作る必要がある。 フェッチ部分のロジックが共有されるので、ブラウザではWeb API経由でフェッチして、サーバサイドレンダリング時は直接DBにクエリを叩きたい、みたいなのを自分で実装すると面倒。 fetchrはBEや外部のAPI

    yahoo/fetchrを使う - Qiita
  • Reactの次期機能のSuspenseが凄くって、非同期処理がどんどん簡単になってた! - Qiita

    React17の次期新機能のSuspenseが凄い! と思ったので少し学習していました! Suspense自体の説明は下の動画がわかりやすいかも。 13:15ぐらいからプログラムのDemo 29:30ぐらいからSuspenseとはなんぞや、という説明をしてくれています。 Githubにdemoもあったので、実際に動かしてみたい方はこちらも是非是非 つまりSuspenseって何? Suspenseっていう機能があるわけじゃないんです、すみません 概念というかなんといいますか 自分の意訳・解釈なので間違っていたら土下座しに行きます 外部APIからデータを取得・表示するような処理で使えるんですね。 読み込みを開始したらLoadingを出して、APIが戻ってきたらデータを表示してローディングを消して……っていう、reduxやsagaを使って今まで頑張ってきているものがあると思うんですね。 API

    Reactの次期機能のSuspenseが凄くって、非同期処理がどんどん簡単になってた! - Qiita
  • 【PHP7.4】ついにPHPにプロパティ型指定がやってくる - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    【PHP7.4】ついにPHPにプロパティ型指定がやってくる - Qiita
  • Vue CLI UIが想像以上に便利だった話 - Qiita

    概要 最近、vue-cliがバージョンアップしていて、ふーんとか思いながら流してたんですが、vue-cli uiという機能があることを教えてもらい改めて調べて動かしたら結構感動してしまったので、記事にしてみました。cli-uiどうなん?って思った方のお役に立てていただければと思います。 プロジェクトを始める いつものCLI とりあえずcliをグローバルインストール!!

    Vue CLI UIが想像以上に便利だった話 - Qiita
  • ReactのcomponentDidCatchを使ってErrorハンドリングしたら開発者もユーザーも幸せになれそう - Qiita

    経緯 現在Reactプロジェクトに携わっているわけですが、ユーザーからたまに下記のようなお問い合わせを受けることがあります。 「ページが真っ白で何もできない」 もちろん「500エラー」とかその辺はすでにハンドリングしているわけですが、たまにこういった問い合わせがあったります。んで、だいたいよくあるのが「ReferenceError: hoge is not defined」とかだったりするんですよね。 フロントのcomponentで起きたエラーある場合に起きるのですが、番環境ではログは出ないようになっているので、何がundefinedなのかわからないんですよね。 その際に、どんなエラーでどこのページで起きたかわかればエラーの修正がしやすいのかなと。 componentDidCatchを使う ってか、ほぼほぼこれだけで解決です。こいつのすごいのは子コンポーネントにも孫コンポーネントにも、

    ReactのcomponentDidCatchを使ってErrorハンドリングしたら開発者もユーザーも幸せになれそう - Qiita
  • React-Reduxが分からない人のためにReact-ReduxのAPIを全部説明する - Qiita

    import React from 'react' import { render } from 'react-dom' import { createStore } from 'redux' import { Provider } from 'react-redux' import Button from './components/Button' import rootReducer from './reducers' const store = createStore(rootReducer) render( <Provider store={store}> <Button /> </Provider>, document.getElementById('root') ) connect of React-Redux connectの主な役割は、Providerにセットされた、Red

    React-Reduxが分からない人のためにReact-ReduxのAPIを全部説明する - Qiita
  • 何故for文は許されるのか?反省会会場 - Qiita

    祖父母記事: なぜfor文は禁止なのか?ポエム版 親記事: でもやっぱりfor文は使っていいと思うよ だって遅いんだもん こんなに遅いとは思いませんでした。 まさか1/6の速度しか出ないだなんて軽くショックです。 折角良いサイトhttp://jsben.chを教えてもらったので速度改善を目指して色々試行錯誤してみましょう。 この記事(反省会)では、速度も意識したメソッドチェーンのあり方を考えていきます。 メソッドチェーンはチューニングでどの程度速くなるのか それによる可読性はどの程度影響するのか 結局JSerはどう生きていけば良いのか 配列を生成するイディオムの速度比較 JSは配列作るのが下手くそですが、 メソッドチェーンや関数型プログラミング的な事をしたければ、 まずは速い数列(配列)を作るイディオムが必要です。 とりあえず4パターン用意してみました。 // length指定: 別の所で

    何故for文は許されるのか?反省会会場 - Qiita
  • CreateJS 2.0が待望のES Modules対応。使い方とwebpackによるバンドル方法 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    CreateJS 2.0が待望のES Modules対応。使い方とwebpackによるバンドル方法 - Qiita
    turusuke_0
    turusuke_0 2018/04/08
    2.0.0-beta で対応されているらしい…
  • Impostor Syndrome(詐欺師症候群)とQiitaについて - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? dev.to を見ていたら、 #impostorsyndrome というタグがあり、 #shecoded でもけっこうみんな Impostor Syndrome に苦しんでいたという記述がありました。 調べてみたら、 Impostor Syndrome (詐欺師症候群) に陥っている方は多いんじゃないかと思い、というか自分がまさに当てはまった気がしたので、エンジニアの視点でまとめてみます。 Impostor Syndrome とは wikipedia によると インポスター症候群またはインポスター・シンドローム(英: Impostor

    Impostor Syndrome(詐欺師症候群)とQiitaについて - Qiita