タグ

javascriptとprogrammingに関するwindishのブックマーク (69)

  • この書籍について · JavaScript Plugin Architecture

    JavaScript Plugin Architecture この書籍はJavaScriptのライブラリやツールにおけるプラグインアーキテクチャについて見ていくことを目的としたものです。 次の形式で読むことができます。 Web版 PDF形式 ePub形式 Mobi形式 この書籍のソースコードは、次のGitHubリポジトリに公開されています。 azu/JavaScript-Plugin-Architecture: JavaScriptプラグインアーキテクチャの Twitterのハッシュタグは#js_plugin_book 更新情報はRSSやリリースノートから見ることができます。 はじめに JavaScriptの世界では1つの大きなライブラリよりも小さなライブラリを組み合わせていくようなスタイルが多く見られます。小さなものを組み合わせて作るためには、プラグインと呼ばれる拡張の仕組みが必要とな

    windish
    windish 2020/09/06
    えっなにこれよさげ。
  • TypeScript Deep Dive 日本語版 | TypeScript Deep Dive 日本語版

    TypeScriptJavaScriptを拡張して作られたプログラミング言語です。トレンドが示すとおり、TypeScriptJavaScriptに代わって第一に選択される言語になりました。TypeScriptが提供する静的型システムは、コードの保守性と可読性を大幅に向上させます。またブラウザ等の互換性を心配することなく、モダンで便利なJavaScriptの機能を利用できます。 ~�

    TypeScript Deep Dive 日本語版 | TypeScript Deep Dive 日本語版
  • SPAにおける状態管理:関数型のアプローチも取り入れるフロントエンド系アーキテクチャの変遷|ハイクラス転職・求人情報サイト AMBI(アンビ)

    こんにちは、小林(@koba04)です。 記事では、シングルページアプリケーション(以下、SPA)における状態管理について解説します。 GmailやTwitterは、SPAとして構築されている代表的なWebアプリケーションであり、スムーズなページ遷移をSPAによって実現しています。またElectronやPWA(Progressive Web Apps)の登場により、複雑なアプリケーションをWebの技術を使って構築する場面も増えてきました。 これらの複雑なアプリケーションにおいては、既存のページ単位での状態管理の考え方では対応が難しくなります。 そこで今回は、具体的なフレームワークも取り上げながら、Webフロントエンドにおける状態管理のアプローチについて紹介します。 フロントエンドでの状態管理の複雑化 ページの単位を超えた状態の保持 モデルとビューによる処理の分割 イベントの管理が複雑にな

    SPAにおける状態管理:関数型のアプローチも取り入れるフロントエンド系アーキテクチャの変遷|ハイクラス転職・求人情報サイト AMBI(アンビ)
  • 正規表現で数値を3桁カンマ区切の文字列にする - atsukanrockのブログ

    数値を、3桁カンマ区切の文字列にして出力したいということがよくある。そのような場合、Perlであれば、以下のように記述できるそうだ。これは、正規表現の先読みと後読みという機能を使っている。 $value =~ s/(?<=\d)(?=(\d\d\d)+$)/,/gしかし、JavaScript 1.5では、先読みをサポートしているが後読みはサポートしていないようだ。一次資料は調べていないが、『カネムーメモ: 正規表現、先読みと後読み』とあった。ということで、JavaScriptでは以下のように記述することになる。 String(value).replace(/(\d)(?=(\d\d\d)+$)/g, "$1,");ちなみに、JavaScriptの正規表現が先読みをサポートしたのがいつか、MDCで調べてみた。『New in JavaScript 1.5 - MDC』ということなので、1.5か

    正規表現で数値を3桁カンマ区切の文字列にする - atsukanrockのブログ
  • Yarn

    超高速 Yarn はダウンロードしたパッケージをキャッシュするので、再ダウンロードは不要です。さらにリソースを最大限利用できるように処理を並列化するので、インストール時間はかつてないほど高速です。

  • Jest · 🃏 Delightful JavaScript Testing ドキュメント

    スナップショット機能で大きなオブジェクトを容易に追跡できるテストを作成できます。スナップショットはテストと一緒に、あるいはインラインに埋め込んだ状態で表示できます。

    Jest · 🃏 Delightful JavaScript Testing ドキュメント
  • 細かすぎるけど伝わって欲しいlodash.jsの話 - KAYAC Engineers' Blog

    ギリギリの時間にこんばんは、12/2のアドベントカレンダーは、HTMLファイ部ののびーがお送りします。受託事業でWebフロントを書いたり、テクニカルディレクションをやったりしている人です。 さて今年はさっくりと、常日頃からお世話になっているlodash.jsというライブラリについて、掘り下げた紹介をさせていただきます。 lodash.jsとは https://lodash.com/ A modern JavaScript utility library delivering modularity, performance & extras. つまるところ、 ユーティリティー(なんか便利)関数を集めたやつ めっちゃかるい という特徴を持つライブラリです。近頃のフロントエンドの流行りであるThree.jsだったり、Vue.jsだったりといったものに比べると 地味 です。非常に地味ですが、個人的

    細かすぎるけど伝わって欲しいlodash.jsの話 - KAYAC Engineers' Blog
    windish
    windish 2018/10/23
    便利そう
  • 【脱・gulp】npm-scriptsでシンプルなフロントエンド開発環境を作る - KAYAC Engineers' Blog

    この記事は、Tech KAYAC Advent Calendar 2016 の22日目の記事です。 こんにちは!カヤックのクライアントワークチーム・フロントエンドエンジニアの@takumifukasawa です。 昨年のアドベントカレンダーではWebGLも怖くない!canvasライブラリを効率良く学ぶオススメの順番という記事を書かせていただきました。 もくじ はじめに 手順 npm scriptsとは gulpと比較したメリット・デメリット サンプルの開発環境 明日は はじめに 今年の夏頃、いつも通りgulpを使っていた僕は、ある日gulpのバージョンアップか何かをしたら自作のgulp開発環境が上手く使えなくなって、すごくハマりました。それはそれは深刻な事態に…。 その時にふと、「あれ、なんでgulp使ってるんだっけ…」と立ち返り、gulpをなくしてみたらどうなるんだろうとあれこれ手を動か

    【脱・gulp】npm-scriptsでシンプルなフロントエンド開発環境を作る - KAYAC Engineers' Blog
  • Node.js でちょっとしたサーバーサイドやるなら、 Micro が良いかも - Qiita

    ZEIT が作っている Micro という Node.js のフレームワークがあり、使いやすそう。 ZEIT は、かの Next.js を作っていて、 Mongoose を作った人や socket.io を作った人が所属しており、とても信頼できる。 ちなみに、 ZEIT は Now という、 Node.js (及び Dockerized されたもの)を動かせる、サーバーレスのサービスもやっている。 ZEIT(時) と Now(今) という世界観が良いですね。 初動が早くて、快適だった。 [追記] 何かに Micro 8 と書いてあって、最初、そういう名前のフレームワークと思ったのですが、実際は 8 はバージョン名で、 Micro のようです。また現行バージョンは9でした。 多分これ https://zeit.co/blog/micro-8 [/追記] Features README の F

    Node.js でちょっとしたサーバーサイドやるなら、 Micro が良いかも - Qiita
    windish
    windish 2018/07/10
    ふむふむ
  • マーチン・ファウラー氏「リファクタリング 2nd Edition」で20年ぶり内容刷新、サンプルコードはJavaScriptに。Web主体で書籍はエッセンシャル版の位置づけ

    マーチン・ファウラー氏「リファクタリング 2nd Edition」で20年ぶり内容刷新、サンプルコードはJavaScriptに。Web主体で書籍はエッセンシャル版の位置づけ マーチン・ファウラー氏が20年ぶりに大幅に内容を刷新した書籍「リファクタリング 2nd Edition」を今年秋に出版する計画だ。サンプルコードはJavaからJavaScriptに変わる。また、コンテンツ体はWebサイトとなり、書籍はそのエッセンシャル版の位置づけとなる。 「リファクタリング」とは、ソフトウェアの機能追加や変更、性能向上などに備えるため、開発されたコードの外部に対する振る舞いは変更せず、より整理された、あるいは洗練されたコードに書き換えること、あるいはその手法のことを指します。 いまでは開発者の間で広く知られているこのリファクタリングについて、その目的や手法などを書籍としてまとめあげ、出版したことで啓

    マーチン・ファウラー氏「リファクタリング 2nd Edition」で20年ぶり内容刷新、サンプルコードはJavaScriptに。Web主体で書籍はエッセンシャル版の位置づけ
    windish
    windish 2018/04/05
    "サンプルコードはJavaからJavaScriptに変わる" おお。。。じだいのながれ
  • 【連載記事】JavaScriptでプログラミングを学ぶ その2:関数

    前回の記事では、JavaScriptにおける基的な要素について学びました。今回は前回学んだ知識を活かして、より高度なプログラムに挑戦してみましょう。 連載目次 基礎と文法 関数(この記事) 配列とオブジェクト オブジェクト指向 データ構造とアルゴリズム HTMLとDOM(予定) 未定 今回学ぶ内容 今回学ぶのは関数です。関数という言葉は数学で何度も聞きましたね。そう、あれです。あの関数です。 関数は、if文やfor文と違って、学んだからといって特別に新しいことができるようになるわけではありません。どちらかというとコードを整理するための道具のようなもので、処理の内容はそのままに綺麗なコードを実現するために使います。 数学において関数は憎むべき敵でしたが(二次関数の試験は思い出したくもない!)、プログラミングにおいて関数は強い味方になります。ぜひ習得しましょう。 始める前に index.ht

    【連載記事】JavaScriptでプログラミングを学ぶ その2:関数
    windish
    windish 2017/12/22
    力作お疲れ様です!
  • 【連載記事】JavaScriptでプログラミングを学ぶ その1:基礎と文法

    JavaScriptは昔からあるプログラミング言語ですが、特に近年ではウェブ技術の盛り上がりにともない、JavaScriptの人気も上昇しています。 JavaScriptを学ぼうとすると、数多くの書籍・記事を見つけることができます。しかしながら、それらの多くはすでに他の言語でプログラミングを学習している人向けであったり、JavaScriptをもうすでに使っている人向けの小さなアドバイスであったりします。よってプログラミング初心者がJavaScriptを学ぼうとすると、様々な困難に直面します。特に、体系的にまとまった初心者向けの文献を探すのは、骨が折れます。 そこで、この連載記事では、いままでプログラミングを学んだことがない人を対象に、JavaScriptによるプログラミングを習得してもらうことを目標にしています。プログラミングの楽しさを、ぜひ体験してください。 連載目次 基礎と文法(この記

    【連載記事】JavaScriptでプログラミングを学ぶ その1:基礎と文法
    windish
    windish 2017/12/14
    KIAIを感じる記事。個人的にモダンJSをあまり知らないのでためになった!
  • Web Share APIでページをシェアする

    現代において、SNSやアプリへのページシェアは必須とも言える機能です。例えばこのブログの記事も、記事の下部に多数のシェアボタンが設置されています。 Web Share APIはそういったページシェアをブラウザ上で実現するAPIです。今までは各サービス独自のシェアボタンを設置していましたが、Web Share APIを使うことで、統一的な手法でシェアができるようになります。 Web Share APIについて Web Share APIはページをシェアするためのAPIで、WICGが仕様を定めています。詳しい仕様は以下のURLになります: https://wicg.github.io/web-share/ 対応ブラウザは現在のところAndroidChrome61のみです。 簡単な使い方 Web Share APIは非常に単純なAPIです。以下に最も簡単な例を示します: // ボタンを作ってb

    Web Share APIでページをシェアする
    windish
    windish 2017/08/30
    こんなのあるのね
  • 200行のコードへのブロックチェーンの実装 | プログラミング | POSTD

    ブロックチェーン の基的な概念は非常にシンプルです。分散型データベースで、順序付けられたレコードのリストが連続的に増加していきます。しかしシンプルとは言え、ブロックチェーンやそれを使うことで解決しようとしている問題について話をする際に、頭を悩まされることがよくあります。これは、 ビットコイン や イーサリアム といった、一般にもよく知られているブロックチェーンベースのプロジェクトでよく聞かれる話です。「ブロックチェーン」は、 取引 や スマートコントラクト 、または 暗号通貨 といったコンセプトと強い結びつきがあります。 そのため、来シンプルであるべきブロックチェーンの理解がより困難になってしまっています。抜け目のないソースコードであれば尚更です。 そこで、 NaiveChain という、200行のJavascripitに実装した、非常にシンプルなブロックチェーンを紹介したいと思います

    200行のコードへのブロックチェーンの実装 | プログラミング | POSTD
    windish
    windish 2017/08/07
    やっぱりコードを読むのが一番わかりやすい
  • 初学者としてJavaScriptを学ぶ | さにあらず

    はじめに​ 僕が以前書いたModern JavaScript 概観、そして Electron へは、読んで貰えただろうか? あれは初学者には全く向いてないエントリだ。 あのエントリは、僕の理解したモダンな JavaScript 全体について概観することを目的としているからね。 あれを読んで、「今の JavaScript ってこんなに大変なのか…」と感じた人は多いだろう。 しかし、ある程度のソフトウェアを開発するために技術全般を概観しようとすれば、ああいう分量になるのは致し方ない。 と言う訳で、今回はちゃんと初心者向けのエントリを書いた。 少し多く感じるかもしれないが、丁寧に説明しようとしたからだと好意的に解釈して欲しい。 開発環境​ Thinkpad X1 Carbon 2016 年モデルに Windows10 をインストールしてある。 ハードウェアスペックは、こうだ。 CPU i7 66

    初学者としてJavaScriptを学ぶ | さにあらず
    windish
    windish 2017/03/27
    ふーむふーむ。
  • Modern JavaScript概観、そしてElectronへ | さにあらず

    この一か月分の学習成果を整理したリポジトリを作ったので、その成果についてまとめておく。 作ったサンプルプロジェクトだけを手軽に欲しければ、このリポジトリを clone してほしい。 taichi/js-boilerplate master ブランチには、ミニマムな JavaScript 開発環境がサンプルコード付きで入っている frontend ブランチには、React/Redux/webpackなウェブアプリケーション用の開発環境が入っている デフォルトブランチにしてある electron ブランチには、frontend ブランチの内容に加えてElectronでアプリケーションを開発するための環境が入っている はじめに​ 最近の JavaScript について​ 僕は仕事として JavaScript を書いている訳ではないけども、この半年くらいの間にちょっとしたツールならいくつか作った。

    Modern JavaScript概観、そしてElectronへ | さにあらず
    windish
    windish 2017/01/25
    ずいぶんな力作だ。長い旅…"これでやっと、作りたかったアプリケーションの開発に取り掛かれる"
  • Promiseとasync/awaitでJavaScriptの非同期処理をシンプルに記述する

    JavaScriptにおける非同期処理は一種の悪夢です。非同期処理は容易にコードを複雑化させ、品質の低下を招きます。そこでこの問題を解決するため、非同期処理を簡単に扱うことができる、Promiseやasync/awaitという機能が導入されました。この記事では、Promiseとasync/awaitを用いた非同期コードの単純化について簡単な解説をします。 実行順序がコード通りにはならない非同期処理 非同期処理とは何でしょうか。非同期な処理は、コードの順番通りには実行されません。どういうことか、簡単な例を見てみましょう。 setTimeout(() => console.log('hello'), 500); console.log('world!'); このコードでは500ミリ秒後に「hello」と表示し、その後に「world」を表示しようとしています。ですが、実際には「world」の後に

    Promiseとasync/awaitでJavaScriptの非同期処理をシンプルに記述する
    windish
    windish 2016/07/14
    古都ことさんの技術記事わかりやすい
  • JavaScriptをめぐるパラレルワールド 〜Webデザイナーから見た今どきのフロントエンド事情〜|dwango creators' blog(ドワンゴクリエイターズブログ)

    どうも、ほそだです。ゴールデンウィークも終わり、暖かい空気を感じる季節になりました。 さてちょっと前に、こんな記事が話題になっていました。 You Don’t Need jQuery – Qiita (旧題:もうjQueryは必要ない) 元々は海外の方が書かれたものを日語訳してくださったものですが、あらかた網羅されていて感服しました。実は今回、これと全く同じようなことをこのブログのネタにしようと考えていたのですが(jQueryでやってたことをjQueryを使わずにやってみた的な)、締切間近になってさあ書くぞってタイミングでここまで完璧なものを先に出されちゃったので、こりゃ勝てねえと泣く泣く断念したのですよね。。 それで急遽新たにネタを考えなきゃいけなくなったのですが、これに対するネット上での反応がけっこう興味深いなと思って見ていました。 「もうjQueryは必要ない」に関するみんなの反応

    JavaScriptをめぐるパラレルワールド 〜Webデザイナーから見た今どきのフロントエンド事情〜|dwango creators' blog(ドワンゴクリエイターズブログ)
    windish
    windish 2016/05/18
    いい記事!「機能を増やす」JSから抽象表現のJSへ。"現実にはIEみたいなならず者もいますし"
  • You Don't Need jQuery - Qiita

    注意とお願い この記事の内容はもはや古いです。ここに書いている方法では動かないものをいくつか見つけました。参考にする際は動作をよく確認してから使ってください。 ひとつお願いがあります。「あれ、動かないぞ」というコードを見つけたら是非コメントか編集リクエストで教えてください。解決方法までなくても結構です。「これはもう動かないよ」という印をつけたいのです。 この記事はYou Don't Need jQueryの日語訳と同じ内容です。 先日ひょんなことからYou Don't Need jQueryの日語訳をさせていただきました。著者のCam Songさんからも快諾をいただけたので1、Qiitaでも公開させていただきます。 なお、家の英語の説明は継続的にメンテされているので、この記事の情報は古くなっている可能性があります。 追記 この記事は当初は「もうjQueryは必要ない」というタイトルで

    You Don't Need jQuery - Qiita
  • 10年のツケを支払ったフロント界隈におけるJavaScript開発環境(2016年4月現在)。 - 日々、とんは語る。

    2015年はCSSが普及した以来となる10年に1度のフロントエンド大変革期で、それまでのツケが一気に回ってきたと個人的に感じていました。目まぐるしく状況が変化していきましたが、2016年になり、個人的にだいぶ落ち着いてきたと感じているので、ここらへんでまとめておきたい思います。 最初に結論を書いておくと、 『React + Redux + react-router + material-ui + axios + ES2015 + Babel + webpack + ESLint + Airbnb JavaScript Style Guide』 という組み合わせが、いま僕の採用しているJavaScriptの環境です。 主要ライブラリは React A JavaScript library for building user interfaces | React 去年、一気に普及したReact

    10年のツケを支払ったフロント界隈におけるJavaScript開発環境(2016年4月現在)。 - 日々、とんは語る。
    windish
    windish 2016/04/04
    JSのテクノロジーって「なぜこれを使うに至ったか」の説明がなく突然出てきて解説されることが多くてつらい。