LINEログインを組み込むと、ユーザーがLINEアカウントで簡単にサイトやアプリにログインできます。サイトやアプリは、LINEユーザーのプロフィールを取得できます。
Anyone who's written a website or webservice in Go is probably familiar with the http.Handler interface and its ServeHTTP(res http.ResponseWriter, req *http.Request) function. Many of the 3rd party web frameworks expose something similar, often with a custom Request parameter. Personally, I've never been a fan of having the response passed into actions like that. I understand why the standard libr
gistfile1.md 先輩に学ぶ HTTP Status Code 超雑にまとめました。修正してください。 登場人物 アプリケーション先輩: いつも忙しい。横に広がるのが得意(デブじゃない)。 後輩: 頼んでばっかしで役に立たない。 サーバー先輩: アプリケーション先輩と仲がいい。Unix Socket でつながるくらい仲良し。 プロクシ先輩: アプリケーション先輩とかサーバー先輩と後輩の間を取り持って代わりに伝えたりしてくれる。たまに勝手にレスポンスを書き換える。 1xx 系 100 Continue 後輩「あ、先輩!お願いが!」 アプリケーション先輩「おー、聞いてやる。詳しく話せ」 101 Switching Protocols 後輩「せんぱーい、お願いなんですけどー」 アプリケーション先輩「ちょっと待て、お前 HTTP 1.0 で喋るな、 HTTP 1.1 か TLS 1.0 で
バッチ処理というのはそれ単体で勉強しようとするとなかなか何を勉強したらいいのかわからないことが多い。 特に経験がWeb系ばっかりだと、いざバッチ処理を実装しようとした時に基本的なノウハウを知らないままに書いてしまうことが多い。 バッチ処理というのは実態を整理すると「何らかのトリガーを期に起動し、データをロード・加工・変換・集計してから、出力する」という事になる。 まぁ、INがあって処理してOUTがあるという点では関数だと考えてもいいだろう。 システムの利用者(人に限らない)のアクションとは直接関係ない処理であったり、利用者のアクションをトリガーとしていても、即時にレスポンスがいらないor返せない場合に バッチ処理を選択する事が多い。 実現方式はシェルスクリプト、LL言語、実行可能バイナリだったりするし、デーモンとして立ち上げる場合もある。 利用者の操作に対して対話的・同期的な処理はオンライ
ここでは、私がたどりついた最善のやり方を紹介しましょう。個人的に過去数年にわたって大量のGoコードと付き合ってきた経験から集めたものです。これらは全て非常にスケーラビリティがあると思っています。私が、スケールする、と言うときは次のような意味があります。 アプリケーションが求める環境は、アジャイル環境の中で変化していきます。開発の3、4か月後に、全てをリファクタリングする必要が出てくるなど、考えたくもないはずです。新しい機能は簡単に追加できなくては意味がありません。 あなたのアプリケーションは多くの人々によって開発されます。可読性が高く、維持しやすいものでなくてはなりません。 あなたのアプリケーションは大勢の人々に使われます。バグは容易に特定でき、修正できなくてはなりません。 長期的にみるとこれらのことが重要になる、ということを私は今までに学んできました。小さなことであっても、多数に影響しま
Intro 最近 Extensible Web の話がたまに出るようになりましたが、なんというかレイヤの高い概念(ポエム)的な話が多い気がしてます。 もう少し具体的な API とか、「それコード書く上で何が変わるの?」って話があまりないので、今日はそこにフォーカスして、 Extensible Web 的な流れの中で整理された API の話をします。 しかし、実際には API が 「Extensible Web という理念で生まれたかどうか」は自明ではないので、 今標準化されている低レベルな API を拾い、それを整理するというエントリだと思ってもらと良いかもしれません。 あまり知られてない API もあると思うので、これを期に「これがあれば、今までできなかったアレが、標準化や実装を待たなくても、できるようになるな」と思ったら是非書いてみると良いと思います。 実際はそれこそが Extensi
セッション HTTPでは、WebブラウザとWebサーバが次のようにして通信します。 WebブラウザとWebサーバが接続される Webブラウザが要求を出す Webサーバが応答を返す 接続を切断する この一連の流れを「セッション」と言います。あるセッションと別のセッションとは、基本的には無関係です。 ところが、これでは困る場合があります。例えば、インターネット上のショッピングサイトで、「商品Aを購入」というボタンをクリックしたとします。これをセッションAとしましょう。続けて、「商品Bを購入」というボタンをクリックしたとします。これをセッションBとしましょう。このユーザは商品Aと商品Bを購入したいわけですね。しかし、Webサーバにとっては、セッションAとセッションBは無関係です。つまり、「商品Aを購入」ボタンを押したユーザと「商品Bを購入」ボタンを押したユーザとは無関係ということになります。これ
2013年のいま、API界隈が熱い! 今年に入り、官公庁の統計データやNHKの番組情報など、今までなかなか利用できなかったデータがAPIとして扱えるようになってきました。このエントリでは現在公開されているAPIを一覧でまとめます。いま使えるAPIはこれだけ読めば大丈夫。2013年の最新マッシュアップ事情をあますとこなく網羅します! HOT! API 総務省 次世代統計利用システム(国勢調査、人口推計、就業構造、企業統計、物価統計 etc.) NHK番組表(※未公開) 行政・自治体・公共サービス 郵便番号 郵便番号検索API(郵便番号 → 住所) 郵便専門ネット(郵便番号 → 住所、郵便番号の簡易存在チェック) ぽすたん(郵便番号 → 住所、住所 → 郵便番号) IW3 PROJECT(郵便番号 → 住所、住所 → 郵便番号) 宇宙 Google+ JAXA PR(※現在一部の学生に限定公開
書籍業界の Github ? 僕は電子出版業界に明るくないので今回初めて知ったのですが、O'Reilly が Atlas という新しい出版プラットフォームの開発を進めているみたいですね。 正式サイト https://atlas.oreilly.com/ ブライベート β版 http://atlas.labs.oreilly.com/ Publishing with Atlas - YouTube その機能(予定)は、まるで書籍業界の Github のよう。(まるで〜というかα版は GitHub上に構築されてます) Webブラウザ上に執筆専用エディタ(普通のテキストエディタで書いてもよい) Markdownっぽい記法で本を執筆できる gitベースでバージョン管理が出来る(forkもできる) collaborate 機能があって、著者、編集者、レビュアーなど複数人で編集できる HTML + C
TwitBlogin! http://twitblogin.com/ とか作ったことだし、そこそこ開発環境整って、今なら思いつく限りのサービスはさっくり実装できそうだったのでPython初心者向けに書いておく。 少しでもPythonユーザが増えれば幸い。 対象は Python の基本的な構文程度はわかるけど、具体的に何から手をつけていいかわからない人 目次 Apache/WSGI/MongoDBの環境構築 flask [ Sinatra風ウェブアプリケーションフレームワーク] pymongo [ MongoDBラッパー ] werkzeug [Web Application デバッガ] jinja2 [ HTMLテンプレートビルダー ] pyquery [ jQuery風HTMLパーサ ] nose [ TDD ] 細かいライブラリの使い方とかPython本体の言語仕様とかは適当にぐぐって
Go言語で構造体と構造体をマッピングする、いわゆるObject mapperを生成するCLIを書きました。 経緯 READMEに書いてる通りですが、いわゆるClean architectureなど多層構造のアプリケーションではどうしても似たようなオブジェクトを定義せざるを得ないことがあります。 特にキツい(?)のがgRPCを採用した場合ですね。 protocが吐く構造体は完全にprotobufに依存したものになっておりある程度層をまたいで同じオブジェクトを持っていくのは許容しよう、と割り切ってもこれをいわゆるドメイン層にそのままもっていくのは結構ハードルが高いのではないかと思います。 #あと、gogo/protobuf 亡き今、protoc-gen-goが非標準命名規則でソースコードを出力するのもキモチワルイ。。。 WEB上にいっぱいあるGo + gRPCのクリーンアーキテクチャサンプル的
100ミリ秒のウェイトが入るHelloWorldPHP<?php usleep(100000); echo "Hello World"; ?> Node.jsvar http = require('http') server = http.createServer() server.on('request', function(req, res){ setTimeout(function(){ res.writeHead(200, {'Content-Type': 'text/plain'}); res.write('Hello World'); res.end() }, 100) }) server.listen(3000, '127.0.0.1'); console.log('Server running at http://127.0.0.1:3000/'); 実行を忘れずに
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く