サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
slowquery.hatenablog.com
サーバレスアーキテクチャと聞いて、どのようなアーキテクチャを思い浮かべるでしょうか。Martin Fowler.comのサーバレスアーキテクチャの解説記事ではいくつかのサーバレスアーキテクチャの実装例がリストアップされています。 ここでは、最もよく使われると思われるフロントエンドアプリのためのサーバレスアーキテクチャを考えてみます。 フロントエンドアプリのためのサーバレスアーキテクチャ API Gateway、Lambdaを中心とした標準的な構成です。 フロントエンド(SPA/Native) 認証認可API 代表的なサービス: Facebook, Twitter, Google, Auth0 役割: ユーザの認証認可、OAuth Access TokenやJWTの発行・更新・検証 API Gateway 代表的なサービス: AWS API Gateway, Apigee 役割: フロントエ
GitHubのユーザ名を変更する方法です。過去のコミットのユーザ名やメールアドレスも修正します。 GitHubのユーザ名を変更 Account Settings -> Change username ローカルのgitのユーザ名を変更 git config --global user.name "新ユーザ名" git config --global user.name "新メールアドレス" ローカルのgitリポジトリのリモートリポジトリを変更 ローカルgitリポジトリに移動 cd ローカルgitリポジトリ 過去のURLを表示 git remote -v 新URLを表示 コピペしてユーザ名のみを変更すると楽です git remote set-url origin https://github.com/新ユーザ名/リポジトリ名.git 過去のコミットの名前を変更 ここからはお勧めできませんがどう
これはWeb API Advent Calendar 2014の16日目の記事です。 はじめに Web API Advent Calendar 2014 8日目ではkazuchikaさんよりApigee製のAPI負荷ツールapibの紹介がありました。 この記事ではapibに加えてBoomというGolang製の類似ツールを簡単に紹介し、様々なマイクロWebフレームワークに対して両者を使ってみます。 Boom rakyll / boom Python製のAPI負荷テストツールBoomをGo言語に移植したもの Googleエンジニアが開発 Apache Bench(ab)と同じくリクエスト回数を指定した計測 レスポンス時間がヒストグラム表示される ソースコードがコンパクト インストール Golang環境がセットアップされているものとします。 go get github.com/rakyll/bo
iOSアプリの無料版と有料版を提供するとき等に、Xcodeの1つのプロジェクトから無料版と有料版の2つのアプリをビルドしたいケースがあります。 Xcodeで2つのプロジェクトに分けてしまうと、バグ修正や新機能追加のたびに両プロジェクトをコーディングする必要があって大変なので、広告や有無や制限値の差異程度であれば1つのプロジェクトから2つのアプリをビルドすると楽です。 ここでは1つのプロジェクトの同一ソースから2つのアプリをビルドする方法を説明します。 Xcode上での作業 ここでは、有料版が既にあって、新たに無料版を追加する場合を例にして説明します。 有料版のTargetを複製して無料版を作る Projectツリーを開く Targets > 有料版アプリを右クリックする Duplicateをクリックして複製する 無料版のTarget名が「Target名 copy」となっているので無料版の名
GitHub製エディタAtomのソースコードがMIT Licenseで公開されたので久しぶりに使ってみたところ、以前はできなかったMarkdwonファイルのリアルタイムプレビューができるようになっていました。 ここでは、AtomのMarkdownリアルタイムプレビュー機能の現時点での仕様やその調べ方を簡単にまとめます。 仕様の調べ方 Atomの機能はコア部分を除くとパッケージと呼ばれる取り外し可能なモジュールの集合体となっています。Vimにおけるプラグインのようなものですが、基本的な機能もパッケージとして実装されているのが特徴です。 Markdownのリアルタイムプレビュー機能はmarkdown-previewというパッケージが担当しています。したがって、このパッケージのコードを見ると仕様がわかります。 atom/markdown-preview - GitHub Markdownリアルタ
Herokuで運用しているアプリをCLIのターミナル経由で削除する方法です。 ターミナルで削除するとgit remoteの設定を削除する必要がないため、WebのGUI管理画面で削除するよりも楽です。 確認無しで削除する heroku apps:destroy --app アプリ名 --confirm アプリ名 アプリの作成や削除をスクリプトなどで自動化したい場合はこちらを使います。 確認ありで削除する heroku apps:destroy --app アプリ名 確認を求められるのでアプリ名を入力します。
クライアントサイドのMV※フレームワークの一つにAngularJSがありますが、2012年にバージョン1.0がリリースされ、2013年になって一気に大流行しました。このAngularJSの流行に乗りながら、サーバサイドも含めてJavaScriptで開発するMEAN (MongoDB + Express + AngularJS + Node.js) 構成のスタイルにも注目が集まっています。 ここではyeomanの力を使って以下のような構成のMEAN+αアプリの雛形を簡単に生成してみます。 yeoman yo bower grunt AngularJS node.js express passport jade sass Twitter Bootstrap 3 MongoDB mongoose Karma CoffeeScript 今回はyeomanのgeneratorとして、全generat
iOSアプリでデータを保存(serialize/deserialize)する方法としてCoreDataがありますが、コード量が多く慣れるまでにも時間がかかります。 ここではより簡単なMagicalRecordによって、CoreDataを使ってみます。 MagicalRecordはActive Recordパターンを採用したCoreDataのラッパーです。ActiveRecordは、Martin FowlerらのPatterns of Enterprise Application Architectureで名付けられ、Ruby on Railsで普及しました。 MagicalRecordがあれば、Webアプリ開発者でもCoreDataを簡単に扱えるようになり、iOSアプリ開発がより身近に感じられるようになると思います。 前提 CocoaPodsはインストール済みとします。CocoaPodsの
はじめに MongoDBとPythonで開発したWebアプリをHerokuで運用してみます。MongoDBの運用にはMongoDBホスティングサービスのMongoHQを使い、PythonのWeb Application Frameworkは軽量なBottleを使います。HerokuのようなPaaSやMongoHQ/MongoLabのようなDBaaSを使えば、IaaSよりも短期間で楽にアプリを公開できます。 HerokuにWebアプリをデプロイ アプリのローカルgitリポジトリ作成 mkdir アプリ名 cd アプリ名 git init git add . git commit -m "コメント" ※virtualenvでPythonの仮想環境を作っておくとパッケージ管理等が楽ですが必須ではありません。 Pythonアプリの開発 Bottleを使ったアプリを開発します。 注意点 MongoH
Wine - Run Windows applications on Linux, BSD, Solaris and Mac OS X. Wineを使うとParallels DesktopやVMware FusionやOracle VM VirtualBoxといった類いの仮想化ソフト無しにWindowsアプリを実行する事が出来ます。対応ソフトは日々増え続けており、AppDBで参照する事が出来ます。AppDBに記載されていないソフトが動作するケースも多いです。 Wineインストール brew install wine ※ brew install wineを実行すると、○○(ライブラリ名)を--universalでインストールしてくださいと表示されます。したがって、brew install wineが成功するまで--universalでインストールされていないライブラリを削除します。 bre
Web RTCとは 公式サイトでは、「シンプルなJavascript APIとHTML5を用いて、ブラウザ内でリッチで高品質なリアルタイムコミュニケーション(Real Time Communication)アプリを開発できるようにする」ことを目標としたプロジェクトと書かれています。 Our mission: To enable rich, high quality, RTC applications to be developed in the browser via simple Javascript APIs and HTML5. 対応ブラウザ 公式サイトでは以下のブラウザで利用可能と記載されています。(2013年1月29日現在) Google Chrome : stableバージョン Firefox : Aurora 非公式ではありますが、Can I use getUserMedia
Macboook Airなどのローカル環境でHadoopを気軽に試したいケースもあるかと思います。OSX 1台だけでHadoopを使う場合の環境構築手順をまとめました。 参考 - 公式サイト:Single Node Setup 環境 OSX 10.8.4 Apache Hadoop 1.1.2 Java 1.6 インストール手順 HomebrewでHadoopをインストールします。 brew install hadoop ssh認証用の鍵を作成します。 ssh-keygen -t rsa -P "" cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 「システム環境設定」の「共有」で、リモートログインをオンにします。 localhostにパスワードなしでsshログインできることを確認します。 ssh localhost 設定ファイルを修正します。
Rubyのrvm/rbenv, Node.jsのnodebrewのようなバージョン管理ツールのPython版の導入方法です。 一時期PythonbrewからPythonzという同様のツールに乗り換えていたのですが、Pythonbrewに戻したため導入方法をまとめておきます。 戻した理由はここ(pythonbrew とか pythonz とか : 魅力は一言で)のPythonzの感想と一緒です。 Pythonbrewのインストール Pythonbrewののインストールスクリプトをダウンロード&実行します。 $ curl -L http://xrl.us/pythonbrewinstall | sh PythonbrewやPythonbrew上のPythonは次のディレクトリ配下にインストールされます。 ~/.pythonbrew Pythonbrewをシェルに設定します。 bashの場合、~
概要 PythonにはIPythonというブラウザやターミナルで対話的にPythonを実行できるツールがあります。 また、科学計算ライブラリnumpy, scipyやグラフ描画ライブラリmatplotlibがあります。 こうしたツールを組み合わせて、Pythonを使ってブラウザで対話的にグラフを描画してみます。 環境 インストールした環境です。 OSX Mountain Lion 10.8.3 homebrew pythonbrew Python 2.7.3 インストール方法 OSXだと非常に簡単に環境が構築できます。 numpy $ pip install numpy scipy $ brew install gfortran $ pip install scipy matplotlib $ pip install matplotlib IPython & IPython noteboo
5-10分くらいの作業でターミナルをこんな見た目に変えられます。 oh-my-zsh robbyrussell/oh-my-zsh · GitHub zsh用の設定管理フレームワークです。プラグイン形式でzshに機能追加したり、テーマを設定することでzshのビジュアルを変更することができます。既に数多くのプラグインやテーマが提供されています。 今回はテーマの設定だけ行います。 インストール curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh テーマの設定 vim ~/.zshrcでZSH_THEMEにテーマ名を設定します。テーマ名やグラフィックは robbyrussell/oh-my-zsh · GitHub > Themes で見ることができます。例えばwedisagreeテ
「VimmerだがMarkdown文書を書く時にはリアルタイムプレビュー機能が欲しいのでしかたなく専用エディタを使っている。」 そんな根無し草的Vimmerの夢を叶えるVim用のMarkdownリアルタイムプレビューツールがあったので紹介します。 使い方 vimでmarkdownテキストを開くだけです。 vimでMarkdownテキストを入力するとWebブラウザが自動的に起動して、GitHubとよく似たプレビューが表示されます。 そして、vimのMarkdownテキストを入力するとリアルタイムにブラウザのプレビューがアップデートされます。プレビューを更新させるためにMarkdownテキストを保存する必要はありません。 導入方法 instant-markdown-d これは何? Markdown文書をHTMLに変換してブラウザにリアルタイムプレビューするNode.jsのアプリです。 REST
vimでPython用の設定を行ったのでまとめておきます。 何ができる? 大まかに言うと次の5つが行えます。 コード補完 pep8チェック Pyflakesチェック McCabe複雑度チェック pep8用インデント 前提 vimプラグインの管理にNeoBundleを使っています。 NeoBundleの使い方は省略しています。 コード補完 : jedi × jedi-vim インストール jedi : Pypi - jedi pip install jedi vimプラグイン : jedi-vim NeoBundle 'davidhalter/jedi-vim' cd ~/.vim/bundle/jedi-vim git submodule update --init 設定 カスタマイズしない場合は、~/.vimrcに設定する必要はありません。 カスタマイズする場合は、davidhalter
homebrewの標準リポジトリにはOpenCVは無いのですが、homebrewでOpenCVをインストールしてPython2で使ってみます。 OpenCVインストール Homebrew/homebrew-science · GitHubをリポジトリに追加 brew tap homebrew/science OpenCVをインストール brew install opencv 注意 numpyが無いと言われる場合 homebrewでpythonとnumpyをインストールします。 brew install python sudo pip install numpy cmakeの実行に失敗して、https://github.com/mxcl/homebrew/issues/20268を参照せよと言われた場合。 オプションを付けてインストールします。 brew install --env=std
PhantomJSとNode.jsを使ってWebサイトのスクリーンショットを取得してみます。 PhantomJSについては、PhantomJS公式サイトに詳しく記載されていますが、代表的な使い方として以下のような例が取り上げられています。 HEADLESS WEBSITE TESTING SCREEN CAPTURE PAGE AUTOMATION NETWORK MONITORING PhantomJS PhantomJSインストール brew install phantomjs 以下のコマンドを入力してインストールされている事を確認します。 $ phantomjs Node.jsでPhantomJS node-phantom : alexscheelmeyer / node-phantom を使ってみます。 npm search phantomで、数多くのPhantomJS用パッケージ
WebRTC / WebAudio API 以前の投稿webブラウザでwebカメラを使ってみようでは、WebRTCのgetUserMedia()関数を使って、端末のWebカメラのデータをブラウザに表示させました。 こんどは、同じくWebRTCのgetUserMedia()関数を使って、端末のマイクやオーディオ入力から取得した音データをWebブラウザで鳴らしてみます。 ブラウザの設定 Chromeを起動して、アドレスバーに以下のアドレスを入力します。 chrome://flags 「ウェブ音声入力」の項目を有効化します。(以下の状態にする) 以上でブラウザの設定は終わりです。 コード //getUserMedia()の汎用化 navigator.getMedia = ( navigator.getUserMedia || navigator.webkitGetUserMedia || nav
TouchDBとは 概要 公式サイトを見ると次のように解説されています。 TouchDB is a lightweight Apache CouchDB-compatible database engine suitable for embedding into mobile or desktop apps. Think of it this way: If CouchDB is MySQL, then TouchDB is SQLite. 訳: TouchDBはlightweightなApach CouchDB互換のDBエンジンで、モバイルやデスクトップアプリへの組み込みに適しています。CouchDBをMySQLとするとTouchDBはSQLiteに相当します。 特徴 モバイル向けのCouchDB互換のNoSQL CouchBaseのメンバーが開発 iOS用(Objective-C実装)
このページを最初にブックマークしてみませんか?
『slowquery.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く