俺、サービス売って家買うんだ

Swift, Kotlin, Vue.js, 統計, GCP / このペースで作ってればいつか2-3億で売れるのがポっと出来るんじゃなかろうか

JavaScript

async/awaitが手になじむまで色々書いてみるよ〜

現在運用中のプロジェクトのNodeのバージョンを7から8にあげたのでPromiseで書いていた箇所を徐々にasync/awaitに置き換えています。 簡単に書ける一方でPromsieに慣れすぎていたため、「これ並列処理になるんだっけ」とか、「てか、これ動く?」見たいなレ…

ES2015でどこまでクイックソートを短くかけるか

やってみた。 function quick(arr) { if (arr.length === 0) return [] const [pivot, ...tail] = arr return [...quick(tail.filter( x => x <= pivot )), pivot , ...quick(tail.filter( x => x > pivot ))] } const sorted = quick([8, 1, 10, 5, 4, 5, 1…

Moment.jsを使ってタイムゾーンがEtc/GMTの日付と時刻をAsia/Tokyoに変更する

iOSのIn-App Purchase の Auto-Renewing subscription (自動更新型の購読)を利用した開発では購入処理が走った際や、期限切れの際にAppleから得られるレシートの検証をAppleのサーバーにpostして行う必要があります。 当然ながら有効期限を表すexpires_date …

Vuexを利用せずに親子関係を持たないコンポーネント同士で通信する

しばらくぶりにWebのフロントエンドを書いてるので色々復習を込めて。 ReactやVueなどコンポーネント指向で実装できるフレームワークを利用して開発する際に親子関係を持たないコンポーネント同士で通信をしたい時ってありますよね。 とりわけシングルページ…

webclip から url scheme でパラメータを渡してアプリを起動する

ユースケース エンドユーザーに任意のページを webclip してもらう エンドユーザーはiOSホーム画面に webclip されているページを Safari の standalone モードで起動する そのままネイティブアプリにディープリンクでリダイレクト その際に url scheme を利…

【Node.js】 requireで読み込まれたファイルのキャッシュを削除する

以下のExpressを利用したコードでjsonを返す。この時data.jsonは他の処理によって随時更新され、その反映をレスポンスに乗せたい。 本来ならアクセスされる度にその更新の反映がレスポンスのjsonに現れてほしいのだがNodeのrequireの仕組み上、無駄なファイ…

SPAサービスサミット #1 に行ってきたよ

今日はSPAサービスサミットというSPAでサービスを運営している会社の勉強会に参加してきました。 開発の話とか技術選定の話はよく聞くのですが、すでに数年間運用を続きけているサービスの話を聞くことができとても参考になりました。 参加したイベント pera…

React + Reduxでマウスについてくる星を作る

さて、皆様七夕の夜をいかがお過ごしでしょうか? 七夕ということで、マウスの軌跡を星が追従するJavaScriptを書きました。 作ったもの www.youtube.com DEMO ※一旦PCのみ もうホント簡単なんですが、Web1.0時代に流行していたマウスに画像を追従させるあれ…

Vue.js Tokyo v-meetup="#1"に行ってきたよ

今日はVue.jsのミートアップに参加してきました。 なんとVue.jsの生みの親のEvan YouさんのQ&Aセッション付き! vuejs-meetup.connpass.com 全体を通して、気になった箇所や今後調べておきたいことを箇条書き程度に。 気になったこと Vue.jsは学習コストが低…

Vue.jsで親テンプレートから子テンプレートに表示するコンテンツを制御する

Vue.jsでコンポーネントを定義するときに、コンポーネントを使いまわしつつ表示する文言を変えたいってこと結構ありますよね。 例えば 同じモーダル用コンポーネントを利用しつつモーダルに表示する文言だけ変える とは言えJSのから変数として文字列を渡すの…

mocha + should.jsでNode.jsのテストを書く

また今度詳細は書こうと思うんですけど今年もGWにこのブログの著者二人で、都内のコワーキングスペースにこもって開発していました。 最近の記事を読んでくださってた方だと察しはつくと思いますが、FacebookのMessenger Platformを利用したbotです。 で、現…

Vue.jsでコンパイル前のテンプレート変数を隠す

さてさて、Vue.jsを利用しているとコンパイル前に{{}} (マスタッシュ記法)のテンプレート変数が一瞬画面に表示されて不格好に見える問題が発生します。 例えば(無理やりですが)、下記の場合コンパイルまで少なくとも3000msはかかるのでその間テンプレート変…

Vue.jsのmixinを利用して肥大化したViewModelをリファクタリングする

今回はVue.jsのmixin機能を利用して肥大化したViewModelをリファクタリングするお話です。 肥大化してしまった例 Vue.jsを利用して画面全体をVMとして扱ことはよくあると思います。具体的には画面全体を囲むHTML要素のidををコンストラクタに渡すオブジェク…

Vue.jsでcomponentsに親からデータがわたらない時に確認する2つのこと

Vue.jsはコンポーネントを利用てUIの親子関係にルールを持って記述できるようなフレームワークになっています。 その仕組みの一つにpropsというコンポーネント(子ども側)のルールがあります。 これは何かというと、コンポーネント側のオブジェクトにpropsと…

【今更ES2015を追ってみるシリーズ 4】Iterator編

2015年中に終わる気配が全く無いですが、不定期連載その4です。 今回はIteratorについて。 前回までの記事 【今更ES2015を追ってみるシリーズ 1】Promise編 - 俺、サービス売って家買うんだ 【今更ES2015を追ってみるシリーズ 2】Proxy編 - 俺、サービス売っ…

東京Node学園祭2015に行ってきたよ

nodefest.jp Node周りの最近の動向をキャッチアップするため、東京Node学園祭2015に行ってきました。 実は初参加です。 夏に参加したYAPCに引き続き、学んだことや話を聞いて思ったことを備忘のため箇条書き程度にまとめます。 今回参加したセッション The S…

Vue.jsを0.12.1から1.0.3にアップデートした際にハマったこと

Here we go. Vue.js 1.0.0. https://t.co/ieUmKsNLa1— Vue.js (@vuejs) October 27, 2015 ついにVue.jsがメジャーアップデート!1系統がリリースされましたね! おめでとうございます。 このアップデートに便乗し、会社で利用しているVue.jsのバージョンを0.…

【今更ES2015を追ってみるシリーズ 3】Symbol編

不定期連載その3です。 今回はSymbolについて調べたのでその辺を書きます。 前回までの記事 【今更ES2015を追ってみるシリーズ 1】Promise編 - 俺、サービス売って家買うんだ 【今更ES2015を追ってみるシリーズ 2】Proxy編 - 俺、サービス売って家買うんだ S…

【今更ES2015を追ってみるシリーズ 2】Proxy編

不定期連載その2です。 今回はProxyについて調べたのでその辺を書きます。 前回の記事 【今更ES2015を追ってみるシリーズ 1】Promise編 - 俺、サービス売って家買うんだ Proxyとは? A proxy object is an exotic object whose essential internal methods a…

【今更ES2015を追ってみるシリーズ 1】Promise編

不定期連載です。 なんやかんやでしばらくRubyを書くことが多くて、本職であるJavaScriptに関するキャッチアップが滞ってたのでECMAScript 2015周りについて遅ればせながら追いかけて見ようと思います。 とりあえず某誰かのTweetで今後の「非同期処理はPromi…

【Vue.js応用】vue-routerでSPAの足回り構築

2015/10/31追記 この記事はVue.js@0.12.1を元に書かれています。最新版は1系統で書式に大きな変更がありますでのご注意ください。 Vue.jsを0.12.1から1.0.3にアップデートした際にハマったこと - 俺、サービス売って家買うんだ さて、案件でVue.jsを使うのも…

Vue.jsでモーダルウィンドウを作ってみる

2015/10/31追記 この記事はVue.js@0.12.1を元に書かれています。最新版は1系統で書式に大きな変更がありますでのご注意ください。 Vue.jsを0.12.1から1.0.3にアップデートした際にハマったこと - 俺、サービス売って家買うんだ Vue.jsやAngularJSのデータバ…

Vue.jsのComponentsの使い方

2015/10/31追記 この記事はVue.js@0.12.1を元に書かれています。最新版は1系統で書式に大きな変更がありますでのご注意ください。 inheritやカスタムタグ周りの書式に変更があります。 Vue.jsを0.12.1から1.0.3にアップデートした際にハマったこと - 俺、サ…

シンプルでかっこいいグラフの作り方 / Google Chart APIでオプションを駆使する

デザイナーじゃない僕らが(それなりに)かっこいいものを作るにはひたすら引き算しまくるのが一番良いのではないでしょうか。 デザインを論するなんておこがましいですが、シンプルな物がカッコイイデザインなのは、なんとなくそんな気がしますよね。 とこ…

jspmとSystemJSを利用したモジュール管理

さて、RequireJS、Browserify、webpackなど様々なクライアントサイドの依存管理ツールが出ていますが今日はjspmについて紹介します。 jspmとは jspmとはSystemJSを利用したクライアントサイドのモジュールローダーのためのパッケージ管理システムです。不明…