タグ

Node.jsとjavascriptに関するd_animal141のブックマーク (33)

  • Node.jsとはなにか?なぜみんな使っているのか? - Qiita

    この記事は 「JavaScriptの勉強してたらみんなNode.jsの存在を前提に話が進む。でもNode.jsってWebサーバじゃないの? なんでインストールしなきゃいけないの? なんでみんな使ってるの?」 といった疑問を解消することを目的としています。 基礎:JavaScriptの特徴 まずはJavaScriptと他のプログラミング言語の違いを知っておく必要があるので解説します。 JavaScriptChromeやFirefoxといった「ブラウザ上」で動作するプログラミング言語です。 対してPythonRubyのような一般的なプログラミング言語は通常「パソコン上」で動作します。1 このことが生み出す違いは、OSの機能にアクセスできるかどうかです。 「OSの機能」とは例えばファイルの読み書きや、ネットワーク通信などの機能のことです。 パソコン上で動作するアプリケーション(Python

    Node.jsとはなにか?なぜみんな使っているのか? - Qiita
  • webアプリ開発における環境変数まわりのベストプラクティス

    nodejsを例に解説します。nodejsでは環境変数はprocess.env.環境変数名でとりだせます。また、開発環境・テスト環境・番環境をそれぞれNODE_ENVという環境変数にdevelopment test productionと入れる文化があります。 アプリケーションコードに自分が今いる環境(開発|ステージング|番)を意識させない これはつまり、コード内で環境識別変数(今回で言うところのNODE_ENV)によってif分岐を作らないという意味です。各環境にどのような設定が入るかはアプリケーションコード外にその種類分作成しましょう! bad if(開発環境){ const logger = new Logger({ level: 'debug' }); } else if (ステージング環境){ const logger = new Logger({ level: 'info }

    webアプリ開発における環境変数まわりのベストプラクティス
  • package.json のチルダ(~) とキャレット(^) - Qiita

    バージョン指定でいっつもこいつの違いを忘れてしまって、npm とか semver のドキュメントを探すところから始まるから自分用のメモ。 ^1.1.2 = 1.x ~1.1.2 = 1.1.x (追記 一応↑は間違っていないのだけど、厳密にいうとちょっと間違っていた) チルダ表記 ~ "明記したところ以下のバージョンがあがることのみ許容" ~1.1.2 = 1.1.2 <= version < 1.2.0 ~1.1 = 1.1.x ~1 = 1.x オリジナルの定義は、 Allows patch-level changes if a minor version is specified on the comparator. Allows minor-level changes if not. キャレット表記 ^ "一番左側にある、ゼロでないバージョニングは変えない (それ以下があがることは

    package.json のチルダ(~) とキャレット(^) - Qiita
  • Node.jsのexportsとmodule.exportsの違いについてのメモ - Qiita

    既にいくつか記事がありましたが、自分の中で整理するためにメモ 参考 Node.js : exports と module.exports の違い(解説編) 実践Node.js プログラミング (Programmer's SELECTION) Node.jsのexportsとmodule.exportsについて 結論 公式ドキュメントに「もし exports と module.exports の間の関係が魔法のように 見えるなら、exports を無視して module.exports だけを使うようにしてください」とあるので今いち違いが分からない場合、module.exportsをとりあえず使うということで良さそう クラスのようなものを作成するような場合にはmodule.exportsを使えば良い(例えばコンストラクタを使うなども) 関数だけモジュール化したい場合にはexportsを使う事

    Node.jsのexportsとmodule.exportsの違いについてのメモ - Qiita
  • How to package assets with a node module

  • [意訳]私がGulpとGruntを手放した理由 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? このポストは、Why I Left Gulp and Grunt for npm Scriptsを筆者の許諾を得て意訳したものです。間違いがありましたら、ご指摘いただけると幸いです。 (以下、訳) 私はGulpとGruntが不要な抽象化レイヤーだと気づきました。npmのscriptsはとても強力で、そっちの方が便利だったりします。 例を挙げましょう 私はかつてはGulpが大好きでした。しかし結局のところ、100行ものgulpfileと大量のgulpプラグインを扱うハメになりました。Gulp上でWebpackやBrowsersync、Mo

    [意訳]私がGulpとGruntを手放した理由 - Qiita
  • (Babel 5における)ES6のモジュールを解説してみた - uehaj's blog

    警告 以下でのモジュールの説明はトランスパイラであるBabel 5,6で動作を確認した振舞いについての記述です。2015年11月現時点で、ECMAScriptのモジュール仕様策定範囲は、来の全体範囲のまだ一部であるとのことです。その状況でのBabelの実装は、良く言えば先行的、悪く言えば将来そのままである保証はなく、現時点でも他のES2015をサポートする処理系との間での相互運用の保証はありません。また、現時点でBabelのモジュール機能を使うこと自体にリスクがあるという意見もあります。CommonJS側からBabelが生成したモジュールをCommon JSモジュールとして読み込もうとしたときの互換の問題として、Babel5で可能だったことがBabel6では利用不可になる、といったことも起きているようです。 そこらへんを含めて解説されているこちらの資料が参考になります。 (2015/11

    (Babel 5における)ES6のモジュールを解説してみた - uehaj's blog
  • Electron を試す - 開発環境の構築 - アカベコマイリ

    これまで NW.js を使ってきたが同じ Chromium + Node 系のフレームワークとして最近は Electron のほうが勢いあるようなので試したくなった。使用感を把握するため、まずは開発環境を構築してみる。 更新履歴 2015/11/5 npm-scripts を babelify 7.2 (Babel 6.x) を採用した内容へ更新。また最新 watchify の Windows 対応について追記した。これらの詳細については babelify v7.2 を試すを参照のこと。 2015/10/19 npm-scripts を最新へ更新、Main プロセスのビルド説明に Browserify の --node オプション解説を追加。 設計方針 package.json と npm だけを使用 AltCSS は Stylus を採用 ユニット テスト対応 コード ドキュメント対応

  • npm とフロントエンドのパッケージ管理の未来

    JavaScript 系パッケージマネージャの重複問題 npm は言わずもがな Node.js のパッケージマネージャだが、フロントエンド開発においては Bower も利用するのが一般的になっている。この現状の問題点は、package.jon と bower.json という似たような管理ファイルを二重で管理しなければならないということだ。 現状の使い分けをおさらいをしておくと、次のような感じになる。 タスクランナー(Grunt/gulp)・モジュールシステム(browserify/webpack)・テストスイート(karma/testem)などの開発環境系の管理が npm の主なお仕事。インストールされたパッケージは node_modules 内に展開されて、CommonJS スタイルのモジュール管理から利用する。 題につながる話としては、ブラウザで動くライブラリの一部は npm にも

    npm とフロントエンドのパッケージ管理の未来
  • ElectronでBrowserWindowと通信する(ipc編) - techium

    Electronでアプリを開発している際にBrowserWindowを生成している処理部とBrowserWindowのhtml上でと通信したいことが多々あります。 そこでElectronではプロセス間通信を用いて通信し、処理を受け渡すことが可能です。 そのやり方についてご説明いたします。 また、なぜプロセス間通信なのかという部分もこの後ご説明していきます。 プロセス間通信 ElectronではBrowserWindowを生成する側でappの制御を行う処理をメインプロセス(main process)。 BrowserWindowをappが生成して動作するプロセスをレンダラープロセス(renderer process)と呼ばれます。 メインプロセスは一つしかプロセスが存在しないのですが、レンダラープロセスはBrowserWindowが複数生成された際に複数のプロセスを持つことになります。 これ

    ElectronでBrowserWindowと通信する(ipc編) - techium
  • JavaScriptのモジュール管理(CommonJSとかAMDとかBrowserifyとかwebpack) | tsuchikazu blog

    昨年のAdvent Calendarを眺めたり、JS周りの記事を見ていると、RequireJSとか、CommonJSとか、AMD、Browserify、webpackあたりが、同じような文脈で登場するんですが、それぞれ何を指しているのかよくわからなかったため、今更ながらまとめてみます。 前提 小規模にしかJavaScriptを使っていないWebサイトでは、jQueryを使ってDomイベントで色んな処理をして、Domに反映させる。というような処理が、ごちゃっとまとめて書くことが多いかと思います。ごちゃっととは、特にDomにしか情報を保持していない状態を指していて、イメージとしてはこのようなコードです。 $(function() { # イベントハンドラ $("#btn").on("click", function(){ $.ajax({ url: "api/resources", dataT

    JavaScriptのモジュール管理(CommonJSとかAMDとかBrowserifyとかwebpack) | tsuchikazu blog
  • ES6時代のNode.js

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。情報システム部の伊藤(@koh110)です。 社内システムの開発、運用を担当しています。 今回、担当しているシステムをNode.js LTS(v4.x)へバージョンアップしました。 それに伴い実施したES6対応の中から3つの事例を紹介したいと思います。 varを撲滅しよう arrow functionを使おう callbackを撲滅しよう varを撲滅しよう varをlet, constに置き換えます。基はconstに置き換えます。 メリットは以下の点で、コードの品質向上につながると思います。 プログラム中で変更不可である事を明示的に示せる。 誤った使い方をした時にバグとして検出される。 varを利用するとブロック

    ES6時代のNode.js
    d_animal141
    d_animal141 2015/12/02
    ES6時代のNode.js - Yahoo! JAPAN Tech Blog
  • 初めてのWebサービスを3日でつくってみた(Node.jsで) - Think Big Act Local

    Node.jsを触って勉強してたらWebサイトができました。 結婚式の余興.jp - 結婚式の余興を考えるときに参考になる動画を集めました Youtubeから結婚式の余興の動画を集めてくるサイトです。Web開発は初めてだったので、つくった流れや勉強の方法などをまとめてみます。 9/14追記)スマホ対応をやりました! 普段はiOSアプリを書いています 普段はiOSアプリ開発者をやっていて、仕事趣味でObjective-Cを書いてます。とても楽しくて2年くらい続けてるのですが、サーバーサイド書けたら幅が広がっていいな、とずっと思ってました。 普段の週末は個人アプリを作ったりしてるのですが、夏休みだし新しいことやろうと思ってNode.jsを触ってみました。 つくったもの 結婚式の余興.jp - 結婚式の余興を考えるときに参考になる動画を集めました 結婚式の余興動画がまとまっていて、だら見できる

    初めてのWebサービスを3日でつくってみた(Node.jsで) - Think Big Act Local
    d_animal141
    d_animal141 2015/11/08
    初めてのWebサービスを3日でつくってみた
  • Node.jsエンジニアなら2014年内に知っておきたいPromise入門 | Tokyo Otaku Mode Blog

    Promiseは非同期処理をベースにした並列処理の実装方法の一種です。Promiseでは並列処理の各タスクが必ず1回実行されることが保証され、タスクとタスクからの結果を取得する処理を分離することできます。また、タスクの並列処理/直列処理をユーザーが自由に制御することができます。 ECMAScript Language Specification 6th EditionにPromiseが追加されたことから、しばらくの間JavaScriptの非同期処理に関する話題の中心はPromiseになると思われます。 Node.jsでも既にPromise対応したモジュールも多く、Promiseでのみ非同期処理を提供しているモジュールも存在します。Promiseを使用する機会は今後必然的に増えていくでしょう。 今回のエントリーでは、Node.jsでPromiseを使用する方法を説明します。コード例を中心に理

    Node.jsエンジニアなら2014年内に知っておきたいPromise入門 | Tokyo Otaku Mode Blog
    d_animal141
    d_animal141 2014/09/18
    Node.jsエンジニアなら2014年内に知っておきたいPromise入門
  • むしろ駄菓子屋さんで | browserify概説

    browserify(ぶらうぜりふぁい、と発音しているのを誰かから聞きました)は、その便利さに比して、利用例などが少ないため、お粗末ながら、今日までにわかったことをまとめてみようと思いました。ドキュメントが足りない状況はしばらく変わらないと思いますので、ハックヒント用に内部構造を含めて、概要を伝えられればと思います。 そもそもbrowserifyとは 御存知の通りnode.jsはブラウザでも動作するjsで記述します。ですから、サーバーとクライアントで共有できるコードは共有したいものです。ですが、それには幾つかの壁がありまして、思いつく分だけを書きますとこのぐらいになります。 モジュールシステム(CommonJS) node.jsの組み込みモジュール http要求を受け取って、ブラウザへコードを届ける仕組み これらを提供するのがbrowserifyです。 処理の概要 browserifyの流

    d_animal141
    d_animal141 2014/04/14
    むしろ駄菓子屋さんで | browserify概説
  • browserify を使い始めるためのファーストステップ 2013 冬

    browserify は、ブラウザ JavaScript のためのコードを、Node スタイルのコード(Node 向けの JavaScript コードを書いているかのような形)で記述しておいて、ブラウザ上で利用できるような Javascript コードとして出力してくれるツール。 require() で利用しているモジュール群をすべてアナライズして、それらモジュールコードまですべて都合よい形で同梱してくれる。 リリース当初(3年くらい前)は Node で HTTP サーバを建ててブラウザ用 Javascript コードを返すような仕掛けから始まったはずで、そこから静的ファイルを出力する仕組みが追加されて、現在ではむしろ後者の方がメイン扱いになっている感じになっている。 そうなった背景として、Grunt の登場でその辺りの機能が有効的に参照利用できるようになったり、実際に Grunt を使っ

    d_animal141
    d_animal141 2014/01/23
    browserify を使い始めるためのファーストステップ 2013
  • node.jsとMySQLで割と普通のデータベースウェブアプリを作ってみるチュートリアル | さくらたんどっとびーず

    2011年はサーバサイド JavaScript の年! サーバサイド JavaScript命は node.js! ということで割と普通のウェブアプリケーションを node.js で作るためのチュートリアルを書いてみました。WebSocket とか新しめの話題は結構見ますが、PHP とかで普通のウェブアプリ作ってる人向けのチュートリアルとかあんま見ないような気がしたので、って感じです。 チュートリアルの内容ですが、コード量が少なめで機能的にも分かりやすそうなモノということで、短縮 URL ウェブアプリケーションを作ってみることにしました。bit.ly とか t.co とか nico.ms みたいなアレです。短縮 URL のデータは MySQL に保存します。 結構長文になっちゃったので、先に目次置いときます。 node.js のインストール npm (Node Package Mana

    node.jsとMySQLで割と普通のデータベースウェブアプリを作ってみるチュートリアル | さくらたんどっとびーず
    d_animal141
    d_animal141 2014/01/17
    node.jsとMySQLで割と普通のデータベースウェブアプリを作ってみるチュートリアル
  • Bower入門(応用編) - from scratch

    Bower入門(応用編) さて、応用編を書いていきます。 基礎編ではBowerのインストールとライブラリ管理する上での基的なコマンドを紹介しました。 応用編ではBowerのライブラリを管理する上で利用するべきツールやライブラリを公開する上で心がけるべきことについて書いていきます。 少し長いのでサマリ Bowerを管理する上で利用すると良いツール:grunt-bower-taskがオススメです ライブラリを公開する上で心がけること、その1:mainとignoreをちゃんと書きましょう ライブラリを公開する上で心がけること、その2:ちゃんとgit tagを使ってバージョン管理しましょう Bowerからインストールしたライブラリを利用する場合 前回の基礎編で少し書きましたが、おさらいすると、Bowerはあくまでパッケージマネージャなので、インストールしてもフォルダ構造までは変えてくれません。

    Bower入門(応用編) - from scratch
    d_animal141
    d_animal141 2013/12/25
    Bower入門(応用編) - from scratch
  • Node.jsについて知っておくべきこと | readwrite.jp

    2009年ごろから始まった「Node.js」フレームワークが、ウェブ・プログラミングの世界に大きなインパクトをもたらしている。 マイクロソフト、ヤフー、LinkedInやPayPalなどに続き、今や多くの開発者がNode.jsのメリットを理解した上でそれを学習し、利用している。 皆さんはNode.jsが「レスポンシブ」で「軽量だ」とは聞いたことがあるかもれないが、その理由まではよく知らないのではないだろうか。ここでは、Node.jsがあなたの次のウェブサイトやアプリケーション、あるいはAPIのバックボーンになるかもしれない理由をいくつか挙げてみたい。 ウェブの利用シーンの変化かつてインターネットは閲覧することがその利用目的の中心だった。ユーザは受け身でコンテンツを読み、眺め、ダウンロードするだけであり、チャットは掲示板またはブログ上で非リアルタイムに行われていた。 しかしソーシャルメディア

    Node.jsについて知っておくべきこと | readwrite.jp
    d_animal141
    d_animal141 2013/11/17
    Node.jsについて知っておくべきこと
  • Re* Programming » c#

    xs-dev インストール npm i -g xs-dev 初期設定 xs-dev setup --target-branch public helloworld xs-dev run --example helloworld エラーが出るようになるが... /Users/weizen/.local/share/xs-dev-export.sh:source:5: no such file or directory: /export.sh IDF_PATH のパスがないことによるエラーだった ESP32のセットアップをすると解消されるらしい => ならなかった xs-dev info で表示される ESP32 IDF Directory のパスを IDF_PATH に指定 source $HOME/ 今回、中国出身の Designer 王雅さんと一緒に制作した 「寄席の箱」 を SNACK

    d_animal141
    d_animal141 2013/10/22
    Node.js MVCフレームワーク Sails.js が良さげなので少し試してみた