Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? キーワード: JavaScript, Babel, Webpack, Koa, React 最近(たぶん)のJavaScriptの開発と環境の基本を1からReactサーバサイドレンダリングまで1ステップずつ体得するための__殴り書きロードマップ__です。 人それぞれJavaScript界隈を敬遠してきた理由はあると思います。私は半年ほど前にちょっと触ってみるかと思い立って野良記事を参考に環境構築していたところ、__当然のように書かれていたimport/export文が動かない__ところからBabel->Gulp->Webpackと次々に
const fs = require('fs'); const path = require('path'); const Koa = require('koa'); const logger = require('koa-logger'); const serve = require('koa-static'); const compress = require('koa-compress'); const Router = require('koa-router'); const app = new Koa(); // https://github.com/koajs/static const SERVE_OPTIONS = { maxage: 30 * 24 * 60 * 60 * 1000 }; const distFolder = path.resolve(__dirname,
下記はよく使われているフレームワークとなり、情報量もある。 Expressはスタートアップからエンタープライズまで広く使われており、コミュニティも大きい。ただし、ある程度複雑なアプリケーションにはシンプルすぎるかもしれない。用途的には、HapiやKoaを採用した方がいい場合もあると考える。 Express 35k GitHub stars 最も使用されている/コミュニティも大きい 情報量が多い Nodeの思想っぽく、シンプルなものを組み合わせてつくるという方針。そのため、ミドルウェアとして多くのライブラリが存在する。 Koa 19k GitHub stars Express開発者によって開発された async/awaitが使用できる点でExpressと思想が異なる Expressよりは、HTTP middlewareであるConnectに近い。しかし、Expressの多くの機能はKoaに実
KoaとMongoDBのGridFSを使った、以下の基本的な機能があるファイルのアップローダーの実装をしてみました。 簡易的にmimeTypeがtext image audio videoの4種類のファイルに対応します。 ファイルアップロード ファイルアップロード進捗表示 アップロードキャンセル(ただしファイル単位) ファイル削除 ファイルダウンロード 初めに 今回使用するライブラリは以下の通りです。 koa koa-router koa-static mongoose mongoose-gridfs async-busboy ボディーパーサーにはkoa-bodyparserというのもありますが、koa-bodyparserはmultipart/form-dataに対応していないため、代わりにasync-busboyを使用しました。 サーバー側の処理 gridfsインスタンスの生成 gri
Angular5で「俺式KOANスタック」でWebアプリ構築するための個人的な備忘録記事。 KOAN に辿り着くまでの経緯 事の始まりは、Angularを覚えたての自分が、Angularを使ったバックエンドまで開発するWebアプリを作っていた時のこと。 (当時は、いわゆる「Angular2」で開発していた。) Webアプリ開発のBoilerplate(=ひな型)の1つである「MEANスタック」という言葉を知ったことがきっかけ。 MEAN(ミーン)とは 「MEANスタック」とは、MongoDB, Express, AngularJS, Node.js のAcronym(=略)で、Webアプリ開発に用いられるソフトウェアの組み合わせのこと。 『この4つを組み合わせて、体裁の整ったWebアプリを構築できまっせ』ということ。 MongoDB開発者の Valeri Karpovni 氏により、201
フロントエンド初期設定 Angular5で「俺式KOANスタック」でWebアプリ構築するための個人的な備忘録記事。 概要については「こちら」を参照。 事前に「Angular5 初期設定」が完了していることが前提。 フォルダ名およびフォルダパス設定を変更 ルートディレクトリの「src」フォルダを「client」に名称変更する ルートディレクトリ直下の .angular-cli.json の内容を以下の通りに変更 src ディレクトリを指定している箇所(apps.root, lint.project)を client に、ビルド出力先(apps.outDir)を dist/client に変更する { "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "project": { "name": "【作成したプロジェク
KoaでGitHubのAccessTokenが欲しくなって調べてやってみたのでメモ。 PassportのGitHubStrategyを使えば簡単。 passportの設定 認証に必要な情報をStrategyを通してセットアップする。 passportはexpress準拠に作られているが、koa-passportがexpressのAPIとの互換性を保持してくれるのでそいつを使う。 scopeについては本家を参照。 import passport from 'koa-passport' import { Strategy } from 'passport-github' passport.use(new Strategy({ clientID: process.env.GITHUB_OAUTH_CLIENT_ID, clientSecret: process.env.GITHUB_OAUTH_
お願いだから Don't Repeat Yourself 開発中のAzure上のWebサービスで 大きな不具合を出してしまい 色々と探っていくうちに気が狂いそうになったが やっぱりこの壁はぶつかっておくべきだったと思い 備忘録。 環境は以下。 lang:node 8.00 + Typescript2.7.1 FW:Koa2.5.0 + TypeOrm等 DB:CosmosDB(MongoDB) cloud:Azure App Service 事の発端はazureのCosmosDBでnode上からTypeOrmのupdateOneを 試みようとしたが例外発生。 原因は更新対象が複数件データベース上にあったようで Azureサポート様のご協力で特定することができた。 調べていくうちに一意であるはずのデータが複数件登録されていたのは リクエストの二重送信(二重起動)が原因 改めてリクエストが複数
開発環境を作る。 node.jsのインストール nodistの利用 Nodistのページから、「Download the installer from the releases page」のところにあるインストーラをダウンロードしてインストールする。 コマンドプロンプトから、以下の様に実行できれば、OK nodist -v v0.8.8 (2016/12現在) 以下を実行してインストール出来るバージョンを調べる。 nodist dist 以下を実行してインストールしたいバージョンをインストールする(10.6.0の場合) nodist + 10.6.0 以下を実行して、nodeの使用するバージョンを設定する(10.6.0の場合) nodist 10.6.0 node.jsのバージョン確認 v10.6.0``` (2018/07現在) 以下を実行して、nodeにあったnpmのバージョンにしてお
nanameue,incでインターン中の斎藤です。 最近JSばっかりでkoa.jsにまで手を出してしまったのでkoa.jsの入門記事を書きます。 個人的には1年半ほどRailsをいじっていたのですがReactからJS界隈に入り始め、ついにバックエンドまで到達しました。 Rails界隈と比較すると割とミニマムな物が好まれていて、高機能なものよりシンプルな部品を組み合わせて作っていく感じです。 Railsのあまりの大きさに嫌気がさしRailsからnode系に移った人も多いらしくRailsを真似たsailsというフレームワークもありますが全く流行ってません。 自分は1週間ほど前からkoa.jsをやり始めたのですが、yieldとかgenerateなどを使っているので理解するのに時間がかかりました。なのでその部分を解説します。多分ここがkoaの本質でkoa自体はスーパーミニマムなので多分ここを理解す
gloops Advent Calendar 24日目 Merry Christmas!! gloops Advent Calendar 24日目です 23日目は @t_shibaki さんの「webのサーバーエンジニアがunreal engineをさわってみた」でした 昔と違ってプログラムを書かずにゲームが作れちゃうんですね。。すごい 早速ですが、タイトルだけ見ると「何を言ってるんだ??」という感じだと思います 何がしたいかというと、ブラウザ(Service Worker)内で KoaJS 1 を実行しリクエストを処理させれば オフラインアプリに近いことができるのでは?と試してみたところ実現できたので、共有します (全然クリスマスっぽいネタじゃなくてすみません!) 概念図 初回のみ、ServiceWorker、ServiceWorker 登録用の HTML と JavaScript をサ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く