リズムのじかん

javascript、typescriptなど中心に書きます。

ElectronアプリをカスタムURIで起動する

はじめに webブラウザからリンクをクリックして、KindleやiTunesを起動したことありますよね。 このときリンク先アドレスは以下のようになっています。 kindle://home/?action=refresh itmss://itunes.apple.com/jp/album/liang-cheng-bai/id1065727732 カス…

Mithril.jsでがっつりSPAを作った話 - コード譜共有サイト「ChordKitchen」

Mithril.jsを使って、がっつりSPA(シングルページアプリケーション)を作ったので紹介します。 Mithril使いやすいので広まって欲しいです。 作ったもの コード譜をweb上で作成して共有できるサービスを作りました。 コード譜共有サイト ChordKitchen http:/…

ES6で関数をカリー化する関数を書く

pluck underscore.jsにpluckという関数があります。 この関数は、オブジェクトの配列から指定した属性を取り出した配列を生成します。 pluckの例1 以下のようなキャリアとスマホのデータから、キャリア名を取り出します。 var data = [{ carrier: 'docomo', …

【javascript】フレームワークを使わずにMVC

javascriptで、フレームワークを使わずにMVCしているサンプルがなかったので、作ってみました。 あくまで参考です。(業務ではちゃんとフレームワークを使ったほうが良いと思います。) 作ったもの よくあるTodoアプリです。以下で試せます。 http://jsfiddl…

クラスをインタフェースとして使う。mongooseのモデルに適用してみる。

この記事はTypeScript Advent Calendar 2014の25日目の記事です。 少し早めの公開です。 最後の残り一枠が最終日でした(;・∀・)最終日がんばります。 クラスをインタフェースとして使う typescriptの言語仕様書にこんなことが書かれています。 7.3 Interfac…

【小ネタ】typescriptで文字列が数値かどうか判定→変換

小ネタです。 文字列が数値かどうか判定して、数値ならその値を返し、数値でなければnullを返すとします。 javascriptで書くと以下です。 function(num){ return isNaN(num) ? null : Number(num); } これをtypescriptでそのまま書くとコンパイルが通りませ…

mongooseでPromise(qとか)

つい最近知ったのですが、mongooseは標準でPromiseの機能持ってるんですね。 Mongoose API v3.8.19 これを使って非同期処理してみます。 あとmongooseのPromiseをqのPromiseに変換します。 User.js var mongoose = require('mongoose'); var UserSchema = ne…

node.jsアプリのデプロイをCapistrano3で自動化する

Capistranoまだよく分かってないけど、ひとまずワンパス通ったのでメモです。 あまり自信はありませんが、ご参考になれば幸いです。 ※capistranoはv3.2.1を使っています。 やりたいこと node.jsアプリケーションのデプロイ作業を自動化したい。 サーバ環境 …

webstormでjs-beautifyを使ってコードをフォーマットする

あらすじ webstormのフォーマッタは自分的には貧弱な気がしてました。 だってメソッドチェーンを自動改行してくれない。 sublimeだとjs-beautifyがいい感じにしてくれるのに。。 webstormのpluginにはそれっぽいのはありません。 gruntだったらできるけど、…

Yosemiteでwebstormが起動しない

早速mac(macbook air Late 2010)をYosemiteにアップデートしました!! 長い長いインストールが終わって、webstormを起動すると、以下のメッセージが出て起動できません。Java6がないんですね。 対処方法は簡単。「More Info」をクリックします。 以下のペ…

オブジェクトをシリアライズする

業務でやったことのメモ。javaです。 やりたいこと オブジェクトをシリアライズしてクライアントへ送信する。 クライアントへ送信するのでアウトプットはString型。 import java.io.*; import org.apache.commons.codec.binary.Base64; public class Utils {…

typescript初心者が躓いたこと

typescriptを始めて1ヶ月くらい経ちました。 そんなtypescript初心者がはまったところをまとめます。 typescriptを始めた理由 趣味でwebサービスを作っていて、言語はjavascriptなのですが、昼間の本業が忙しいと1週間とか1ヶ月とか間が空いてしまいます。 …

ブラウザにPDFプラグインがインストールされているか判定するjavascript

以下のプログラムはきちんと検証できていません。自分用のメモです。ブラウザにPDFプラグインがインストールされているか判定するスクリプトを、業務で止むに止まれず作った。 最終的には、業務調整して使わずに済んだので良かった。 UserAgentの判定よりも…

mongoose + typescript

MVCのmodel 早速話は脱線します。 以下は個人的に違和感があります。あくまでも個人的な思いです。 railsの(scaffoldで作成される)model mongooseのmodel .netのEntityFrameworkをmodelと呼ぶこと 個人的に、論理モデルを"model"と呼ぶとしっくりきます。…

iframeで埋め込んだページの幅・高さを取得する

仕事でハマったのでメモ。 やりたいこと webページの一部で、iframeを使用して外部ページを埋め込む。 このとき、スクロールを表示せず、埋め込んでない風に(いかにもページの一部ですよ風に)表示する。 対応案1:そもそも、、 できるならiframe使わない…