StackShare delivers tech stack insights to over one million developersExplore StackShare Community
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
forkanart という絵をフォークするという絵を描く人向けのサービスをリリースしたのですが、今回はその裏側の技術的な話をします。 ざっと構成を列挙します。 フロントエンド: nginx (フロントエンド) - http://nginx.org/ Varnish (キャッシュ) - https://www.varnish-cache.org/ uWSGI (アプリケーションサーバー) - http://projects.unbit.it/uwsgi/ バックエンド: MySQL (ユーザー情報) - http://www.mysql.com/ MongoDB (上記以外全部) - http://www.mongodb.org/ アプリケーション: Python 2.7 - http://python.org/ Pyramid - http://www.pylonsproject.org/
最近はスマートフォン系の開発から離れてしまっているので、感覚が鈍らないうちに(備忘録も兼ねて)スマートフォン向け開発(主にネイティブアプリ開発)におけるユーザビリティチェックリストを作ってみました。 ちなみに、このチェックリストは以下が前提となっていますのでご了承ください。 ・独自性を生み出すようなものではない ⇒現在のスマートフォンアプリのメインストリームの中で、アプリの印象をより洗練されたものにするためのポイントです。 ・案件の内容に関わらず意識すべきポイント ⇒ある程度汎用性の高いチェックリストになっているとは思います。 それでは、全てベーシックな内容ではありますが、その中でも特に基本的なものから説明していきます。 ※僕がiPhoneユーザーということもありiPhoneの画面イメージばかりが並んでいますが、全てAndroidでも使えるチェック項目です。 小さくし過ぎない、詰め込み過ぎ
UserAgent判定ライブラリはCPANに数多くあるし他の言語でも似たようなものだと思うが、ライブラリや言語をまたがって一致した結果を返してくれるようなものは存在しない(と思う)。が、特にHadoopを使うようになってJavaの事情をある程度無視できなくなってくると、これがたいへん問題に思えてきた。Javaで書かれたUserAgent判定ロジックが欲しいが、普段書くコードはJavaではない*1ので、他の言語でも全く同じように判定してくれるライブラリが欲しい。結果が食い違っていたり、新しいUserAgentを判定したいときに片方だけ対応されて片方は置き去りになったりすると大変困る。 ということで、作った。v0.1.0。現状ではJavaとPerlの実装がある*2。 https://github.com/tagomoris/woothee https://github.com/tagomori
はじめに はじめまして。(株)ミクシィの加藤和良です。2008年度に入社し、2011年1月からはシステム本部 技術部に所属しています。技術部は、日記やコミュニティといった特定のサービスに紐づかない、mixi全体を裏から支える部署です。「支える」ための方法は、実際のサービスの一部として動作する共通基盤から、開発効率を上げるために社内で動作しているものまで、多岐にわたります。 mixiでは、ここ数年で自動テストの導入が急速に進みました。図1は、mixiのソースツリーにおけるコードと、そのテストコードの毎月1日のバイト数をグラフにしたものです。2008年の頭には少なかったテストが急速に増え、今年の5月にはコード量をも追い越しているのがわかります。 携帯電話向けmixiである「mixiモバイル」の開始が2004年、mixiニュースが2006年ですから、2008年当時のmixiも、それなりに大き
階層付きのトレース出力をこのような感じで実装します。 (function(global) { function console_q() { function begin() { console.log(repeat("|", nest) + "+- " + fname + "(" + slice.call(args).join(",") + ")"); } function q() { console.log(repeat("|", nest) + "| " + fname + "(" + slice.call(arguments).join(",") + ")"); } function end() { console.log(repeat("|", nest) + "`- " + fname); return --console.q.nest; } function repeat(st
WACATE 2011 夏に誘われたのがキッカケでソフトウェアテストを勉強しはじめて10ヵ月くらいがたちました。 先日、わんくま名古屋でソフトウェアテストの勉強法についてLTしたのですが、みなさんにいろいろ聞かれたのでここにまとめておこうと思います。 本当は1年の区切りで書こうと思ったけど、まぁいいでしょう。 追記ここから わんくまで発表したLT資料はこちらです うさみみのソフトウェアテスト勉強法 View more presentations from Kyon Mm 追記ここまで こういうのを書くときに時系列で書くべきか、コツを書くべきか悩みますね。 でも、みんなが知りたいのは僕の歴史じゃなくってコツだと思うので後者で書きます。前者はTwitterとか勉強会とかお食事とかお茶でもしているときに聞いてみてください。 以下では多くの書籍を紹介していますが、僕がこの10ヵ月で読んだ本。ってい
私は夏休みの宿題のやり方を教えてもらったことがありません。約2ヶ月という限られた時間で、どういう風に消化していくと良いのかを学習したことがなかったのです。 夏の終わりに24時間テレビが放送されますが、あれを見ながら、答えをチラ見し、綺麗なドリル(*1)を1冊消化するのは忘れられない子供の頃の思い出です。 この経験はソフトウェア開発にも似ていて、開発の手法を知らなければ、良い結果を生むのは難しいのです。不幸なことに、夏休みの宿題のように明確に何をやるべきなのか、明確では無いのです。 夏休みの苦い思い出と、ウォーターフォールっぽい大失敗プロジェクトの経験をいくつか得た上で、アジャイルソフトウェア開発を学ぶことによって、ソフトウェアのつくりかたを学びました。 これは、中小のSIerでも、イケてるWEBサービスを提供している会社でも教えてくれたことではありませんでした。そう、夏休みの宿題のやり方を
こんにちは、「livedoor Blog」を担当している吉沢です。 スマホの登場で、すっかりケータイ (フィーチャーフォン/ケータイ/ガラケー) が日陰に追いやられた感がありますが、ケータイも毎年進化していて、モバイルサイトの開発が行いやすいケータイがユーザへ浸透してきています。 livedoor Blog では、スマートフォン分野に注力しながら、月間15億PV あるケータイ版のUI最適化にも引き続き取り組んでいます。今回は、livedoor Blog で採用した事例を元に、この先1〜2年のケータイ開発・運用に役立てられる、3キャリア共通の CSS から最新のコーディング事情を紹介したいと思います。 アクセスシェア〜ライブドアの場合 まずはどの世代のケータイをメインに開発して表示くずれを起こさないようにするか検討するため、アクセスシェアを把握します。 1年前と比べると、iモードブラウザ2.
Androidアプリケーションの開発をすることになりました。 ド素人ですが楽しそうです。 っていうことで開発環境の選定から行うことになりました。 テストのないコードを書けるほどアジリティなプログラミングスキルがないのでテスティングフレームワークの選定とか。 半日ほどざっくりと試したりしてみて今の構想としては次の感じです。 どれも1時間以内に使えそうって意識できたものだけが残った点が「僕のいつも通りな基準だなー」って思いました。 自動テストフレームワーク Robotium -> エミュレーター起動UIテスト Robolectric -> エミュレーター起動なしロジックテスト +(Spock) -> Robolectricを使用して書けるなら使いたい ビルドツール Gradle -> 実質Gradleでしかやる気がない CI Jenkins Android Plugin -> CIサーバー確保
ここ最近、PyQtを使って以前公開した株価取得ライブラリのGUI化をやってたら思いの外楽しかったのだけど、インストーラーとかパッケージングとかそのあたりがまあ面倒くさくてまあダルい。 ごにょごにょいろいろ試してようやく動くっぽくなったので忘れないうちに書くけれども、深い理解まで至っていないので間違いがあるかも。 MacとWindowsの両方。 実行環境は、Mac OSX 10.6.8とWindows7。 Pythonのバージョンは2.7.2。当初は3.2でいこうとしていたのだけど、使用ライブラリが3系に未対応だったので2.7.2。 作ったアプリ ある銘柄の指定期間の株価(当日の高値, 安値, 終値, 出来高)をcsv形式でファイルに書き出すツール。 Mac版はこちら。 Windows版はこちら。 ソースコードはこちら。 レジストリとかは未使用。 SnowLeopardだと微妙にうまく動かな
distutils, setuptools, distribute, pip, virtualenv, buildout 再掲¶ http://www.freia.jp/taka/blog/691 (2010/12/5) の更新版。 各パッケージの用途と概要¶ distutils¶ Python の標準パッケージです。eggは作れませんが、 python setup.py build したり、 python setup.py install したり、 python setup.py register ... でPyPIにパッケージを新規登録出来るようになったり、 python setup.py bdist sdist upload でパッケージファイルをアップロードしたり、といった機能が提供されています。 詳しくは Pythonのマニュアル を参照のこと...。 setuptools¶ s
In this article, Dan McKenzie helps designers become familiar with what they need to know to get started with Android and to deliver the right assets to the development team. From demystifying Android screen densities, to what Android 3 is about. For designers, Android is the elephant in the room when it comes to app design. As much as designers would like to think it’s an iOS world in which all a
In this short tutorial, we will be creating a replacement for the default browser checkboxes in the form of a simple jQuery plugin. It will progressively enhance your forms but at the same time fall back to the default controls if JavaScript is unavailable. HTML The first step is to lay down the structure of the underlying HTML document. We will need a form with checkboxes which we will later be r
WEBサービスを立ち上げるまでに、やらなければならないことを自分用にまとめてみました。少人数でやっていると、いろいろやらなければならないことが多くてつい忘れてしまいがちですよね。 1) サービス名決定 サービス名とキャチフレーズだけは、最初に決定しておいた方がいいです。思いつかない場合は、TOPページのワイヤフレームを書きながら考えたりします。また、サイト名を Google などで検索してみて、ユニークな名前であるかを調べておかないと後で後悔したりします。 2) ドメイン取得/DNS反映 サービス名が決定したら、ドメインが利用可能か調べます。 最近では、.in や .me などを使った面白いドメイン名もありますよね。なるべく短く、覚えやすいドメイン名にします。 3) サーバー サービスを配置する、クラウドやレンタルサーバーなどからサーバーを選びます。 特殊なモジュールのインストールなどが必
Stateful JavaScript Applications is a new book by Alex MacCaw, published by O'Reilly, written to help you build the next generation of rich internet applications. Building rich JavaScript applications that bring the desktop experience to the Web is now possible, thanks to powerful JavaScript engines and the CSS3 and HTML5 specifications. The key is moving state from the server to the client side;
is a totally awesome idea still being worked on. Check back later.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く