TypeScript + Expressでサーバーサイド開発やってみた。主にツールやデバッグ周りの話をしました。ぜんぜんわからない、おれはふんいきでデバッグしている。
TypeScript + Expressでサーバーサイド開発やってみた。主にツールやデバッグ周りの話をしました。ぜんぜんわからない、おれはふんいきでデバッグしている。
まず骨子となる WEB フレームワーク WEB サービスを作ろうというのですから WEB フレームワークを選ぶのがまず最初でしょう。ですが、個人で WEB 開発をする際には結局自分が一番慣れ親しんでいる言語のデファクトの WEB フレームワークを使うしかないでしょう。ここを適材適所で選べるようになるには上級者にならないといけないと思います。 とは言っても、Node.js での WEB 開発が他の言語と比べてめちゃくちゃ非効率な可能性を恐れて他の言語のフレームワークをいくつか触ってはみました。結果 JavaScript の細かい部品を組み合わせてすぐに捨てたり変えたりできる良さを発見し、JavaScript への愛が深まることになりました。 また、Node.js の WEB フレームワークも Express.js の次世代である Koa.js を使いたかったのですが日本語の情報量や既存のノウ
Node.jsを使って、ちょっとREST APIが作れるフレームワークを試してみようと思いまして。 Expressというフレームワークがスタンダードらしいので、これを試してみることにします。 Express ドキュメントをざっと見た感じ、シンプルで使いやすそうな雰囲気が? 以前にNode.jsのhttpモジュールを使って試したようなこと(JSONを受け取って四則演算を行うAPIを作ってみる)を、Expressを使って書いてみましょう。 Node.jsで、JSONをPOSTするHttpClient/受けるHttpServerを書いてみる - CLOVER🍀 環境 対象の環境は、このようになっています。 $ node -v v9.5.0 $ npm -v 5.6.0 準備 とりあえず、チュートリアルを見ながらインストール。 Installing $ npm install --save ex
index.md express実践入門 自己紹介 小川充 mitsuruog フロントエンドエンジニア Javascript, HTML, CSS, Node.js, API設計とか認証とか 2015/5月入社(約半年) はじめに あくまで「俺が考える最強のexpress実践入門」です。 初学者がexpressを攻略する上でのつまづくポイントと、中規模開発をターゲットにしたベストプラクティスを経験ベースでお話します。 おそらく、初〜中級者向けの内容です。 本コンテンツの使い方 express初心者 初学者向けチュートリアル(dotinstallとか)のあとに express経験者 ご自身のコードの見直しに 他の言語の経験者 他の言語の「あれ」は、node.jsでは「これ」のマッピングに (※)中で紹介するコードは抜粋したものであり、そのままでは動作しない場合があります。ご注意ください。
ども、@kimihom です。 今回は Node.js の Express を使った場合の非同期処理のスマートな対応方法をご紹介する。 Node.js の非同期処理の重要性 簡単な比較をすると、Ruby では非同期処理をほとんどしない代わりに、それぞれのリクエストの一連の処理がが終わるまでサーバーはそのために仕事をする。例えば、DB の読み書きの処理は ActiveRecord を使うが、そこで DB との接続をして処理が終わるまでサーバーの一つのリソース(プロセス)は占有されることになる。これはこれでシンプルなコーディングができるので良いのだけど、処理効率という観点ではあまりスマートな方法ではないと言われている。 Node.js でプログラムを書いていると、DB処理を含めたあらゆる処理が非同期となる。これによってより多くの処理を1つのサーバーで処理することが可能になる。しかし、JavaS
業務でExpressを触り始めてから1年ほど経ったので、私が思う「これはヤバい」をまとめておきたいと思います。 アンチパターンなので各見出しはやっちゃいけないことです。 みなさん真似しないように。ドミナントとの約束だ。 「サーバサイドもクライアントサイドもJavaScriptとか超楽じゃん」という考えでNode.jsに手を出す。 そもそも論として、Expressの中でのアンチパターンというか、プラットフォームを選ぶときに こんな考えでNode.jsを使おうとするのはヤバい というものです。 Node.jsに手を出した人の約9割(主観)がこういう思いから始め、そしてそのほとんどが「あ、これやっぱ別物だわ」となります。 まあ確かにjsなので文法は同じなんですけどね。 どちらもnpmからライブラリを引っ張ってこれるんですけどね。 結局サーバサイドとクライアントサイドを同じノリでできるわけがないん
環境 Node.js: v4.3.2 MongoDB: 3.2 Express.js: 4.13.1 Bootstrap: 3.3.6(ビューで使用) 準備 express-generatorでひな形を作成し、追加のパッケージをインストールしておきます。MongoDBへのアクセスにはmongooseを使用します。 Expressでページネーションを行うために、express-paginateというパッケージを使用します。また、mongoose-paginateをあわせて使用することで楽にページネーション出来るようになります。 $ express pagination-test $ cd pagination-test $ npm i express-paginate mongoose mongoose-paginate --save var mongoose = require('mong
bot-expressはオーダーメイドのChatbotを高速に開発するためのフレームワークでNode.jsで動作します。開発者はフォーマットにしたがって「スキル」を追加するだけでChatbotの能力を拡張していくことができます。 bot-expressに含まれる主な機能 NLU(Natural Language Understanding)によるメッセージの意図解析 複数メッセンジャーへの対応 文脈の記憶 ユーザーからの情報収集・リアクション 多言語翻訳 構成 コンポーネント bot-expressをベースとしたChatbotは下記のコンポーネントで構成されます。 メッセンジャー 自然言語処理のサービス Chatbot本体(bot-expressベースのNode.jsアプリ) 開発者はChatbot本体に「スキル」を追加することでChatbotの能力を拡張していくことができます。丁寧で品質
Node.js + Express の環境で HTTPS 通信できるようにする方法を整理しました。 あまり複雑な要素は含めずできるだけシンプルなサンプルコードを掲載します。 HTTPS サーバー 構築 Windows の IIS で自己署名入り証明書 をエクスポートすると PKCS#12 の証明書 (拡張子 pfx のファイル) になっているので、 今回は pfx を指定してHTTPSサーバーを構築してみます。 IIS で 自己署名入り証明書 を作成、エクスポートする方法は以下の「自己署名証明書の作成」を参照してください。 var express = require("express"); var fs = require("fs"); var https = require("https"); var app = express(); var options = { pfx: fs.re
サル並みの語彙力の僕が書いた記事です。 事前知識 APIサーバーとは Webサービスのバックエンドによく使われる。 「PHP入門」などでWebサービスを作るシーンが多く見られますがその違いは簡単に言うと「Webサービスの外部から利用できるかできないか」です。 多くのPHP入門の記事ではPHPでMySQLなどのデータベースからデータを取ってきてそれをそのままechoなどで表示する例がよく見られます。 しかし最近のWebサービス開発ではフロントエンドの役割をする部分がバックエンドのAPIサーバーにリクエストを投げてAPIサーバーがデータベースからデータを取ってきてそれをフロントエンドに返しページに表示するのが多い気がします。 APIサーバーを立てるメリットとして僕が一番思うのはそのアプリのスマホ版を作る時に楽です。 主なAPIサーバーの機能をまとめると「 受け取ったリクエストに対してそれに応じ
$ npm init -y の後に $ npm i -S express serve-index または $ npm install --save express serve-index 'use strict'; require('express')() .use(require('express').static('.')) .use(require('serve-index')('.', {icons: true})) .listen(process.env.PORT || 3000); 'use strict'; const express = require('express'); const serveIndex = require('serve-index'); const app = express(); app.use(express.static('.')); app.
こんにちは。フロントエンドエンジニアのkitoです。 前回、Node.jsで簡単なアプリを作成しました。 今回からExpress.jsに触れていきたいと思います。 簡単なアプリケーションをつくる 任意のディレクトリを作成して下記コマンドを実行してください。 npm init npm install express --save 念のためExpress.jsがインストールできてるか確認しましょう。バージョンを表した数字が表示されればインストールされています。 express -V それではExpress.jsで最小限のアプリケーションをつくります。 app.jsというファイルを作成して以下のコードを記述してください。 var express = require('express'); var app = express(); app.get('/', function (req, res)
ちょっと面倒なのを解決したい Express(node.js)でコンテナ立ち上げているんですが、ちょっとファイルを修正したら、 で毎回面倒。 ファイルを変更したら、勝手に変更を検知して、再起動かけてくれないかな? しかもdockerのコンテナは立ち上がったままで。 ありました。「nodemon」 nodemonを入れる nodemon Nodemon is a utility that will monitor for any changes in your source and automatically restart your server. Perfect for development. Install it using npm. インストール コンテナで利用するので、package.jsonに記述されるように。
はじめに socket.ioを使って簡単なチャットサーバーを作ろうとしました 当初、socket.ioを使わないapiの実装はphpで、socket.ioの部分だけnode.jsで・・・と考えていたのですが どうせならapiの部分もnode.jsで作った方がいいのかなと思ってちょっと調べことをメモ ほしい機能 ・getまたはpostリクエストを受け取ってjsonを返す ・mysqlを使う ・アクセスログ、エラーログ、アプリのログを出力 ・定数をどこかにまとめる ・サーバーが落ちた時に再起動するようにしたい 使った方が便利そうなもの ・バリデーションのライブラリ ・Promiseを使ってコールバック地獄にならないように とりあえずはこんなところだろうか getまたはpostリクエストを受け取る ここで必要そうなことはアクセスされるurlによって処理を振り分けることとgetとpostのパラメー
babelでexpressを動かすまでの設定です。環境はWindows 10。 プロジェクトフォルダ作って移動 mkdir sample1 cd sample1 babelとexpress-generatorをインストール(今回は、グローバルにインストール) npm i -g babel-cli express-generator express のインストール express ES2015を使うので、babel-preset-es2015 もインストール npm i --save-dev babel-preset-es2015 必要なモジュールをインストール npm install babel-nodeを使用するように package.json を修正 "scripts": { "start": "babel-node ./bin/www" }, .babelrcファイルを作成して、プ
あらすじ そろそろ最初から国外を視野に入れてサービスを始めるご時世のようです。 準備 mkdir practice-i18 && cd $_ npm init --yes echo 'node_modules' > .gitignore git init && git add . && git commit -m 'initial commit' npm install express i18n --save npm install supertest power-assert --save-dev 以下は個人的な設定 echo '**/node_modules/' > .eslintignore curl -sO https://raw.githubusercontent.com/nodejs/node/master/.eslintrc sed -i -e 's/require-buff
Sinatra ライクな Node.js 用Webアプリケーションフレームワーク、軽量アプリケーション向け。 Node.js + Express で最低限のWebページが作れます。 ちなみに Sinatra は Ruby です。 Node.js をデーモン化して、プロセスを監視してくれます。 最近は pm2 という更に高機能な監視ツールもあるのですが、移行は今後考えるとして日本語文献の多い forever を使う。 今回は、nginx から pm2 で動かした Node.js サービスに流すまでを目指します。 環境 ゲスト: CentOS 6.2 ホスト: MacBookAir MacOS 10.8 VM: Parallels Desktop 9 for mac ゲストを対象とし、IPアドレスは 10.211.55.2 とする。 Node.js インストール CentOSでndenvをシス
index.md express実践入門 自己紹介 小川充 mitsuruog フロントエンドエンジニア Javascript, HTML, CSS, Node.js, API設計とか認証とか 2015/5月入社(約半年) はじめに あくまで「俺が考える最強のexpress実践入門」です。 初学者がexpressを攻略する上でのつまづくポイントと、中規模開発をターゲットにしたベストプラクティスを経験ベースでお話します。 おそらく、初〜中級者向けの内容です。 本コンテンツの使い方 express初心者 初学者向けチュートリアル(dotinstallとか)のあとに express経験者 ご自身のコードの見直しに 他の言語の経験者 他の言語の「あれ」は、node.jsでは「これ」のマッピングに (※)中で紹介するコードは抜粋したものであり、そのままでは動作しない場合があります。ご注意ください。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く