タグ

javascriptに関するjoker1007のブックマーク (378)

  • Why React Query?

    Have you ever thought about why a specific piece of technology gets popular? Usually there's never a single reason, but I do have a theory that I think is one of the primary drivers. I call it The 5 O'Clock Rule. With The 5 O'Clock Rule, the level of abstraction for solving a problem will bubble up until it allows the average developer to stop thinking about the problem. Unfortunately, it doesn't

    Why React Query?
  • 2020年に立ち上げたWebフロントエンド構成の振り返り

    こんにちは、よしこです。 株式会社ナレッジワーク というスタートアップで、2020年4月の創業時から一人目のフロントエンドエンジニアをしています。 初期に考えて組み上げたスタックで1年半ほど開発・運用してみて、なかなか快適に日々開発ができているので 新規開発のプロダクト立ち上げ時にどのようにフロントエンドを構築したのか? 立ち上げから1年以上開発・運用を続けてきた今、それらの選択はどうだったのか? を記事にして振り返り、公開したいなと思いました。 (プロダクトの内容はステルスで進めていてあまり対外的な発信ができないので、かわりに技術的なところはどんどんオープンにしていきたいなという気持ちがあります) いろいろな項目ごとに振り返りたいので、この記事は各項目を横断するindexとして項目ごとの概要を簡単に説明し、深堀りは項目ごとに追って詳細な記事を書いていく予定です! 前提 プロダクトとしての

    2020年に立ち上げたWebフロントエンド構成の振り返り
  • クライアントサイドのモデルとは何か 前編 ~ クライアントサイド MVC の死 - mizchi's blog

    前置き この記事、来は Flux には Model がないのではないかと思った覚書 - ナカザンドットネット と Flux の Store が ViewModel かって話からの MVW とかどうでもいいって話 - 型の蓄音機は 1 分間に 45 回にゃあと鳴く のアンサーとして書き始めた記事だが、前置きだけで別テーマとなったので、前後編に分割する。 僕は元々がゲームクライアント屋だったときの発想を引きずってるのと、既存の Web の開発の文脈に対して距離を置いていることを明言しておく。あとこういうテーマでとある原稿書いていたので、頭の整理も兼ねて。 ActiveRecord の功罪を振り返る このテーマを語るにあたって、まず Rails の MVC について述べなければならない。なぜなら、フロントエンドのアーキテクチャとは、サーバーサイドの MVC の模倣に始まり、破綻し、結果として

    クライアントサイドのモデルとは何か 前編 ~ クライアントサイド MVC の死 - mizchi's blog
    joker1007
    joker1007 2018/05/16
    最近JS書かなくなってしまったが、vueからreactとfluxが出てきた辺りで一気にGUIアプリっぽくなって、それが筋が良さそうと思ってからあんまり変わってないので、ギリギリ最近の大事な時期には触ってたっぽいな。
  • Prepack · Partial evaluator for JavaScript

    *Prepack is still in an early development stage and not ready for production use just yet. Please try it out, give feedback, and help fix bugs. What does it do? Prepack is a tool that optimizes JavaScript source code: Computations that can be done at compile-time instead of run-time get eliminated. Prepack replaces the global code of a JavaScript bundle with equivalent code that is a simple sequen

    joker1007
    joker1007 2017/05/04
    何これキモいww すごいけど、これちゃんと意図通りに動くのか……?
  • 大量の要素を高速に表示するためのバーチャルレンダリング入門 / Virtual Rendering Introduction

    第68回HTML5とか勉強会の資料です。

    大量の要素を高速に表示するためのバーチャルレンダリング入門 / Virtual Rendering Introduction
    joker1007
    joker1007 2017/02/27
    これは、自作のelectronで作った動画管理ツールで採用してるな。最近はライブラリ増えてて良さそう。
  • #child_process_sushi でJavaScriptアーキテクチャについて話してきた

    #child_process_sushiで最近やってたJavaScriptの設計の話をしてきた。 Almin.js | JavaScriptアーキテクチャ Fluxとかで上半分は皆やるようになったけど、ドメインモデルとかFluxの場合にビジネスロジックとかをどこに書くとかはまだ未成熟な気がしているので、そのパターンを考えててAlmin.jsというのを書いたという話をした。 Almin自体は大した実装ではないので、サンプルとかドキュメントとしてパターンについて学べるものを書いていきたいイメージ。(このアーキテクチャ話自体は、色々な言語で繰り返しやっては言語が廃れて、パターンがちょっと違う形で残るというのを繰り返している by @t_wada) JavaScriptでもウェブアプリやElectronでのアプリのような、APIを叩いて表示して終わりじゃなくて、ドメインモデルの生存期間が長いものが

    #child_process_sushi でJavaScriptアーキテクチャについて話してきた
  • 仮想DOMで魂が震えてから一年、仮想DOMとFluxの今 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? なぜ仮想DOMという概念が俺達の魂を震えさせるのか から一年、みなさまどのようなフロントエンドをお過ごしでしょうか。 僕はひたすら過去資産をリファクタしています。 需要の雰囲気 色んな所に書きましたが、去年僕が仮想DOM AdventCalendar をやったのは、「僕自身がproductionで使いたい」ので、「Reactまあいいよね」的な雰囲気を作って外堀埋めるのが目的でした。そして、その目的はおおよそ果たされたと言ってもいいでしょう。ご協力ありがとうございました。 僕自身はKobito for WindowsReactを使って

    仮想DOMで魂が震えてから一年、仮想DOMとFluxの今 - Qiita
  • 6.0.0 Released · Babel

    NOTE: Not all integrations have been updated yet. This is a very disruptive major so please bear with us as we smooth out the edges. It’s hard to believe it’s been a year since the Babel project started, but there was a birthday cake, so it must be real! I work with some super awesome people. Thank you @cpojer and Ovidiu! pic.twitter.com/l1NzyobiBz — Sebastian McKenzie (@sebmck) September 28, 2015

    6.0.0 Released · Babel
  • Vue.js 1.0.0 リリースしました — Vue.js

    Oct 26, 2015 こんにちは HN ! Vue.js に精通していない場合は、より高い概要について、このブログ記事を読みたいかもしれません。 300 以上のコミットの後に、8 つのアルファ (alpha) バージョン 、4 つのベータ (beta) バージョン 、そして 2 つのリリース候補(RC)バージョン、今日、私は Vue.js 1.0.0 エヴァンゲリオン (Evangelion)のリリースを発表するのをとても誇りに思っています!それはコミュニティから全てのフィードバックなしには不可能でした。API の再設計プロセスに参加した全ての人びとに感謝します。 テンプレート構文を改善しました1.0 のテンプレート構文は、多くの微妙な整合性の問題を解決し、Vue のテンプレートをより簡潔で一般的に読みやすくなります。最も注目すべき新機能は、v-on と v-bind に対する省略記法

    Vue.js 1.0.0 リリースしました — Vue.js
  • do式が実装された - JS.next

    概要 ブロック文のようでありながら、かつ中に書かれた最後の式の評価を返すdo式が実装された。 基 let foo = do { // ブロックスコープを作る let x = 1 + 1 // 中に文(や式)を記述できる x + 3 // 最後に評価された式がdo式の結果となる function fn(){} // 文は評価されない } console.log(foo) // 5 但しfor文やwhile文などは少し注意が必要で、 まず初期化部、条件部、更新部の評価はdo式が返す値にならない。 let bar = do { for (let i = 1; i <= 10; i++) i } // 実際の最後の式評価は (11 <= 10) => false console.log(bar) // 10 そして処理部に何も書かれていない場合でも、undefinedと評価される。 let ba

    do式が実装された - JS.next
  • 作図系ツール・ライブラリまとめ

    diag.md シーケンス図とかフローチャートをしごとで描画することになった場合、 テキストから生成できたら楽なので、それ系のツールまとめ GraphViz http://www.graphviz.org/ C製 Doxygen, Moinmoinなどと連携可能 ブロック図、クラス図、ネットワーク図など PNG, SVGなど 出力可能形式一覧 JavaScriptEmscripten)版もある。リアルタイムプレビュー出来て便利 https://github.com/mdaines/viz.js PlantUML Java製 シーケンス図, ユースケース図, クラス図, アクティビティ図, コンポーネント図, ステート図, デプロイ図, オブジェクト図などめっちゃたくさん作れる PNG, SVG, LaTeX, ASCII出力 なんとワイヤーフレームも作れる。アイコンとかも入れられる。 オ

    作図系ツール・ライブラリまとめ
  • TypeScript の開発環境構築と周辺ツールの紹介

    前回はなぜTypeScriptか?という話を書きました。今回はTypeScriptを使うとして、どういう環境を作れば気持ちよく開発できるかについて解説します。 稿に出てくるサンプルをまとめたリポジトリを随時メンテしております。時期によっては、記事の内容に沿わない(より磨かれた)状態になっているかもしれません。 TypeScriptの開発環境が指すものは2つあります。IDEやエディタといった、当に開発を行うための環境と、初期設定を行ったりリリースビルドを作ったりするためのタスクランナーの二種類です。 記事ではお勧めの構成として、Visual Studio Code+grunt+dtsmを用いていきます。別構成として、Atomとgulp、tsdについても言及します。いずれの構成でも、Mac OS X、WindowsLinuxといった主要なプラットフォームで同じように動かすことができま

    TypeScript の開発環境構築と周辺ツールの紹介
  • エディタの実装をcycle.jsでMVIベースにしてみた話 - ✘╹◡╹✘

    最近Electronでエディタをつくっており、最初はReact.jsを使いながらゆるいFlux風の設計でつくっていたのを、cycle.jsを使いながら一部をMVI風の設計に置き換えてみた。400行程度の一画面のコードだったので3時間ぐらいで置き換えられて、前よりも責務が適切に分割されるようになったので、体部分も次の機能追加時に置き換えようと思っている。 とりあえずプレビュー画面だけ置き換えた 置き換えたのは、編集中のファイルを別画面でプレビューとして表示する画面で、ただプレビューするだけの機能のほかに連続したスライドとして表示するプレゼンテーション機能もある。1つ前のブログ記事を見てもらうとわかりやすいと思うけれど、次の画像のようなやつ。ボタンをクリックしてモードを切り替えたりキーボードを使って移動したり、またエディタ側でファイルの内容が書き換わったりと、それっぽく言えば幾らか動きのある

    エディタの実装をcycle.jsでMVIベースにしてみた話 - ✘╹◡╹✘
  • Jets.js

    How does it work? The main idea is not to affect attributes of each tag in the list while filtering. Instead apply dynamic CSS rule in only one <style> tag and browser will decide which item of list to show or hide. Since it's just CSS - Jets.js may be applied to any tag, whether it's a table or UL, OL, DIV… Search term may be set using text field, select or even programmatically. In fact, plugin

    joker1007
    joker1007 2015/09/25
    CSSのセレクタを使って検索フォームを実装するライブラリ。ちょっと使ってみたが、一覧に表示してるものを絞り込むだけの用途でいいなら、やたらレスポンス早くて簡単にできる。
  • フロントエンドエンジニアのための「俺の最近のRailsのJS開発環境」を考察する - Qiita

    「俺の最近のRailsのJS開発環境」 for フロントエンドエンジニア TL;DR 「片手間のJS」ならhogehoge-railsで大丈夫(e.g. browserify-rails, sass-rails, etc.) 「気でJS書く」ならsprocketsから切り離す(e.g. SPA, etc.) 迷えるフロントエンドエンジニアに愛の手を ※ 個人の見解です はじめに 記事の内容は個人の見解であり、所属する組織の公式見解ではありません. 職は学生,片手間にRailsエンジニア,そのさらに片手間に過激派フロントエンドエンジニアやってる人間の戯言です. 『俺の最近のRailsのJS開発環境を教えてやる』を受けて,フロントエンドエンジニアの視点から見たRailsのJS環境を考察してみた記事になります. 元記事をdisっているわけではなく,むしろリスペクトしたうえで視点を変えてみた

    フロントエンドエンジニアのための「俺の最近のRailsのJS開発環境」を考察する - Qiita
    joker1007
    joker1007 2015/06/30
    俺の書いた記事が出てた。最近はgulp + browserifyを適当な所に吐いてそこをsprocketsのロードパスにしつつsourcemapの出力先を調整するか、public/assetsに直接吐くかのどっちかって感じ。
  • TechCrunch | Startup and Technology News

    TechCrunch Daily News Every weekday and Sunday, you can get the best of TechCrunch’s coverage. Startups Weekly Startups are the core of TechCrunch, so get our best coverage delivered weekly.

    TechCrunch | Startup and Technology News
    joker1007
    joker1007 2015/06/18
    なんかJava Applet的な匂いがするが、まあ主要ブラウザがネイティブでサポートして標準になってくれるなら未来ありそうな気がする。JSエンジンのVM化って感じ。
  • 大規模Reactアプリケーションを構築するためのベストプラクティス | POSTD

    Sift Scienceで製作にReactを使い始めてからほぼ1年になりました。その間、Backbone+Reactという フランケンシュタインのような 複合アプリケーションを、Reactコンポーネントからなる、かなり大きな1つの階層に育て上げました。この記事では、UI不和を最小限にしながら、コードベースをスケーリングするために役立った技法とベストプラクティスを紹介します。また、一般的なコンポーネントのデザインパターンについて、いくつか説明します。 この記事が皆さんの時間の節約と精神衛生の維持に役立ち、UIが複雑になってもReactコードベースの保全性を維持する(破綻するのではなく)ための新しいツールを提供できれば幸いです。 componentDidUpdateで、もっとできる React質は、DOMの更新というタスクを命令的なものから宣言的なものに変えるということです。他のタイプの命

    大規模Reactアプリケーションを構築するためのベストプラクティス | POSTD
  • mermaid.jsが素晴らしいけどなかなか使ってる人見かけないので実例晒す(追記あり) - Qiita

    mermaid.jsとは JavaScriptのチャート作成ライブラリです。他にも似たようなのは色々ありますが、これ一でフローチャート、シーケンス、ガントに対応してるので、個人的にお気に入り。 http://knsv.github.io/mermaid/ サイトの各チャートのページ見ると書き方と何ができるかはわかるので、ご覧あれ。 僕の使い方 JSのライブラリを自分でインポートして何かすることはほとんど無くて(後述の理由からガントだけJSで使ってるけど)、基的には以下の2つの方法で使ってる。 Haroopad フリーでクロスプラットフォーム(OS X, Win, Linux)なMarkdownエディタ。 v0.13からmermaid.jsがインテグされているので、何もしなくてもそのまま使える。 mermaid.jsのグラフの書き方は、コード表記で、言語をmermaidにしてあげるだけ。

    mermaid.jsが素晴らしいけどなかなか使ってる人見かけないので実例晒す(追記あり) - Qiita
    joker1007
    joker1007 2015/05/24
    blockdiag使うことが多かったけど、これも便利そうだ!
  • なんだかんだで SPA から jQuery に戻った話 - ボクココ

    最近は SPA とか React といった話題が尽きないが、自分は結局 フロントエンド JavaScript は jQuery が最もいいと感じている。それはそれら SPA の JavaScript をいじった経験を踏まえての感想。 理由としては、「 やりたいことができにくい 」これに尽きる。 最新を追うということ 自分が最初にSPAを触ったのは AngularJS だった。なるほど、この ng-repeat や $route, $scope などを使えば、今までサーバサイドでやってたようなレンダリングが表側で制御できるようになる!と感動したものだった。この気持ち良さはきっとサーバーサイドでごにょごにょやっていた経験のある人ならなおさら感動するものだ。 さて、じゃあといって「次作るのは SPA のサービスにしよう!」と意気込んで初めて見たとする。それで作っただけで話題になるし、エンジニア

    なんだかんだで SPA から jQuery に戻った話 - ボクココ
    joker1007
    joker1007 2015/05/18
    jQueryを素で使ったらメンテ出来るのは大体書いた本人しか居なくなる。Backboneで構造化してる方がほとんどの場合においてなんぼかマシである。
  • Taming the asynchronous beast with ES7

    One of the trickiest aspects of PouchDB is that its API is asynchronous. I see no shortage of confused questions on Stack Overflow, Github, and IRC, and most often they stem from a misunderstanding of callbacks and promises. We can't really help it. PouchDB is an abstraction over IndexedDB, WebSQL, LevelDB (in Node), and CouchDB (via Ajax). All of those APIs are asynchronous; hence PouchDB must be

    joker1007
    joker1007 2015/05/16
    ここまでくるとPromiseの便利感が全然違ってくるな。