TrackJS automatically detects JavaScript errors with a story about how the error happened, allowing you to fix critical bugs before your users even notice them. Stop relying on customer reports and start resolving issues.
どう考えているか、というのを聞かれたので、記事に起こしておきます。個人の意見です。 Prettier を使う 気づけばコードの整形を人間がやる時代は終わりました。 細かいコーディングスタイルでレビューの時間を取るぐらいだったら、一貫した自動整形ルールを適用すべきです。 人によっては細かいこだわりがあって prettier の規則が気に食わないかもしれず、僕も最初はそうでしたが、Atomで保存する度に自動整形を走らせる prettier の強烈な開発体験によって、最終的にそれらのこだわりを全て捨てることが出来ました。 生産性を求めるなら、現時点では最優先で導入すべきものです。 React.createClass を使わない v16 で削除されたのでいわずもがな。 同様に、 createClass でしか使えなかった mixin 周辺機能も丸ごと deprecated です。 「可能な限りは」
こんにちは。maxmellon です。 今回は,Reactの再レンダリング回数をなるべく減らす方法について紹介したいと思います. 前回記事と関連があります.もしよろしければ合わせてお読みください. 本記事は,Reactのライフサイクルなどの基本的な仕様の理解のある前提で話を進めていきます。 Reactの基本的なことにつきましては,下記などを参照してください. https://facebook.github.io/react/docs/why-react.html http://mizchi.hatenablog.com/entry/2014/09/02/201728 はじめに Reactが再レンダリングされるケース Reactのコンポーネントが再レンダリングされるには,次の2ケースがあります. state の変化によって DOM が 追加,削除された時. state の変化によって DOM
Node.js Performance 改善ガイド Memory の場合 メモリリークかどうかを特定する メモリリークではない場合 CPU の場合 どこの処理に時間がかかっているのかを確認する v8 simple profiler flame graph を取得する File の場合 大きなサイズのファイルをどうしても扱う時 Network の場合 keepalive を on にする その他: 全体的にパフォーマンスを改善するためにやること JIT が効いているかを確認する clusterが使えないか検討する C++ addons vs JavaScript libraries まとめ 参考資料 Node.js Performance 改善ガイド この記事は Node.js 2 Advent Calender の 5日目の記事です。 qiita.com Node.js のパフォーマンスに
Nihonbashi.js #3 自己紹介 @sota1235 又の名をきりんと申します メルカリでエンジニアやってます 好きな言葉: Promise.resolve() 嫌いな言葉: $.Deferred.done() document.cookieが憎い 憎いです 名作でも言及があるくらいdocument.cookieは邪悪な存在 メロスは激怒した。必ず、かのdocument.cookieを除かなければならぬと決意した。メロスにはJavaScriptがわからぬ。メロスは、フロントエンドエンジニアである。z-index: -1し、console.logして暮して来た。けれども脆弱性に対しては、人一倍に敏感であった。 なぜ憎いか そもそもCookieはHTTPレイヤーの概念です Cookieに秘密情報だのそのページに必要なものだのを突っ込むな サボらずにAjaxしてくれ データstoreし
Rust Advent Calendarの13日めです。 イントロダクション Rustを語るときしばしば「RustはWebフロントエンド開発もできる」ということが言われます。もちろん、RustはLLVMフロントエンドであり(LLVMから見てClangっぽく見えるように頑張っている)、emscriptenを使うことで用意にasm.js/wasmにできるわけですが、そこにとどまらずRust自体がオフィシャルにemscriptenバックエンドをサポートしています。更にごく最近、LLVM自体のwasm backendもサポートされました。 さて、では実際RustでWebフロントエンド開発はできるのでしょうか。もちろん、コストの掛かる何らかの特別な処理を行うためにJavascriptからRustの関数を呼び出したり、あるいはこちらの方がされているように、emscriptenのOpenGL imple
tl;dr (要約) Kuromojiに代わる新しい形態素解析器「Sudachi」 なにが良いの? 最新の辞書 企業(ワークスアプリケーションズ)による継続的な更新 複数の分割単位 → 検索用途での再現率と適合率の向上 プラグインによる拡張 省メモリ Elasticsearchで使いたい プラグイン: WorksApplications/elasticsearch-sudachi 使い方は当記事の後半をご覧ください 注: この記事の執筆者はSudachiの開発に関わっています さまざまな形態素解析器 形態素解析は、伝統的な自然言語処理(Natural Language Processing, NLP)において基盤となる技術です。そして世の中にはさまざまな形態素解析器が存在します。販売されているものもありますが、一般に公開されているものだけでもいくつか例をあげると、JUMANとRNNLMを利
こういう書き方にしてしまったせいで、テストの時にうまくモックできず困ったよというメモ。 問題のコード こういうやつ。 function foo(id) { bar(id); // ... } function bar(id) { // some heavy logics... } module.exports = { foo, bar, }; モジュール内が関数だけで構成されてるのは○。 ただし、テスト的には都合が悪い。 何に困るか テストでこの関数をモックしたい・・って時に困る。 さっきのコード例で、`foo()`をテストするときに、`bar()`をモックしたいとする。 jestだとこんな風にするはず。 const mod = require('../mod'); describe('foo test', () => { let barSpy; beforeEach(() => { ba
Shibuya.XSS techtalk #10 の発表資料です。
皆さん、Yahoo!検索大賞 2017はご覧になりましか? このアワードで大賞に輝くと、「今年の顔」の名誉を手に入れることができるんです。 そんな栄えある今年の大賞は、ブルゾンちえみとのこと。 他にも、俳優部門は高橋一生、女優部門は吉岡里帆、といった具合に各分野毎に受賞者がいます。 ところで、僕はあまりテレビを観ないので、誰が誰やらわかりません。 このままだと安心して2018年を迎えることができないので、画像を読み込んでそれが誰なのか判定するアプリが必要です。 一目見れば区別つきそうなものですが、僕の濁った目で直接見るよりも、機械に判定させた方がよいに決まっていますので、作ってみました。 実際の動きはこちらから確認できます。 今回はブルゾンちえみも含め、Yahoo!検索大賞の受賞者から以下の5人をピックアップし、判別できるようにしています。 ブルゾンちえみ(お笑い部門) 高橋一生(俳優部門
Andrew Betts (@triblondon) is a web developer and principal developer advocate for Fastly, working with developers across the world to help make the web faster, more secure, more reliable and easier to work with. He founded a web consultancy which was ultimately acquired by the Financial Times, led the team that created the FT's pioneering HTML5 web app, and founded the FT's Labs division. He is a
JSer.info #361 - 設定より規約(Convention over configuration)なbundlerであるParcelがリリースされました。 🚀 Announcing Parcel: A blazing fast, zero configuration web application bundler 📦 webpackやFuseBoxは詳細を設定ファイルで扱いますが、Parcelには現時点では設定ファイルがありません。 代わりにビルトインのプラグインとpacakge.jsonに書かれたparcel-plugin-から始まる名前のパッケージをPluginsとして読み込むことで、対応するファイル(Assets)などを拡張します。 (Assetの内部処理として、それぞれのAssetsに対応する設定ファイルを使う仕組み。たとえばJSAssetならば内部的にBabelが利
Kotlin 1.2では、JavaVMとJavaScriptのマルチプラットフォーム対応を推し進め、プラットフォーム共通モジュールとプラットフォームに依存するモジュールを同一プロジェクト内で記述可能になった。 JetBrainsは「Kotlin 1.2」正式版のリリースを発表しました(日本語訳)。 Kotlinはオープンソースで開発されているプログラミング言語です。JavaVM上で動作し、Java言語よりも簡潔で安全なコードを書けることなどを特長としています。 Kotlinは、今年5月に行われたGoogle I/O 2017でAndroidの正式な開発言語となることが発表され、これをきっかけにして急速に注目度が高まっています。 Kotlin 1.2 is Here!https://t.co/TRclENjhz7 pic.twitter.com/lZo18u8SQz — Kotlin (@k
設定不要のビルドツール parcelというビルドツールが空前の勢いでGitHubスターを集めており、リリース数日で5000スターを超えています。今日だけでも1000スター以上増えており、Googleなどの有名企業リポジトリ以外でこのスピードで人気がでるのは異例です。 https://github.com/parcel-bundler/parcel https://parceljs.org/ 実際に試してみたところ、これはwebpack一強時代を終わらせるレベルの使いやすさだと確信しました。 作者はAdobeのエンジニアで、その他著名エンジニアも続々と参加している様子です。 webpack疲れ webpackが出た当初、webエンジニアはgulp/grunt疲れの状態だったことを覚えている方もいるかと思います。 webpackの統合された設定ファイルは、タスクランナーで逐次処理していたものを
最近、Webページからざっくりメインコンテンツっぽいものを探し出すプログラムを作成しましたので得られた知見についてまとめてみます。本文などの情報を利用せずに汎用的にメインコンテンツを探したかったので、Elementの位置、幅、高さ(以下rect)等の視覚的な情報を使用して抽出してみました。具体的には puppeteerでページをスクレイピングして各Elementの情報をまとめたツリー構造を作る Elementにスコアを付けて尤もらしいものをメインコンテンツとする というステップで抽出します。 メインコンテンツを抽出する完全なコードについてはgistのサンプルを参照してください。 ページのスクレイピング puppeteerを使ってページをスクレイピングします。最初にdomツリーを探索して必要な情報をjsonとて抽出します。視覚的な情最新のとして各Elementごとにrectの情報を取得します
つくったもの 原稿の締切と進捗を管理するシステムです。 これが画面の全体像のキャプチャです。モザイクが多くてよくわからないので、ちょっと説明を加えたのが下の画像です。 上のほうに、その日と翌日の掲載予定記事が出ます。その下にカードのような感じで表示されているのが、各原稿の締切/進捗管理です。 カードは締め切り日順に表示されていて、各カードの内容はこんな感じになっています。締め切りを本人に伝えたかどうかとか、ネタのメモを書き込むことができます。ステータスは未入稿・チェック中・リライト中・入稿済みの4種類があり、手で更新します。 この日は三土さんの締切で、まだ原稿が入稿されていないことがわかりますね。(三土さん晒してすいません。この記事は無事掲載されました) 締切1週間前とか、超過とか、状況によってカード自体の色も変わって気づきやすくなっています。 背景 僕はデイリーポータルZ(以下、DPZ)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く