タグ

developmentに関するnagachikaのブックマーク (60)

  • WebAPIでエラーをどう表現すべき?15のサービスを調査してみた - Qiita

    2017-01-05 追記 2016年3月にエラーの標準形式RFC7807「Problem Details for HTTP APIs」が提案され、今日現在proposed standard(標準化への提唱)となっています。こちらも是非ご覧ください。 RFC 7807 - Problem Details for HTTP APIs HTTP APIの詳細なエラー情報をレスポンスに持たせるための仕様 最近はREST APIを提供しているサービスが増えてきていますね!また公開されるAPIだけでなく、Microservicesなアーキテクチャを採用して、バックエンドがWeb APIで通信するケースも増えてきているように思います。 APIを使うときはあまり気にしたこともなかったですが、いざAPIを設計してみるとどんなインターフェイスがいいのか、どんな形式がいいのかといった疑問が次々と出てきます。

    WebAPIでエラーをどう表現すべき?15のサービスを調査してみた - Qiita
    nagachika
    nagachika 2015/05/27
    毎回悩むところなのでたいへん参考になる。
  • 技術/UNIX/なぜnohupをバックグランドジョブとして起動するのが定番なのか?(擬似端末, Pseudo Terminal, SIGHUP他) - Glamenv-Septzen.net

    ホーム 検索 - ログイン | |  ヘルプ 技術/UNIX/なぜnohupをバックグランドジョブとして起動するのが定番なのか?(擬似端末, Pseudo Terminal, SIGHUP他) [ Prev ] [ Next ] [ 技術 ] 何をいまさら当たり前の事を・・・と思われるだろう。 $ nohup long_run_batch.sh & SSHからログアウト後も実行を続けたいバッチジョブを、"&"を付けてバックグラウンドジョブとしてnohupから起動するのは定番中の定番である。 しかし、「nohupを使わなくても実行を続けることが出来る」やり方があったり、さらには「nohupを付けてもログアウト時に終了してしまう」パターンがあるとしたらどうだろう? そして、ある日あなたの後輩や同僚がこれらについてあなたに質問してきたら、あなたはどう答えるだろうか? 「Web上で検索したら見つか

  • Linux kernel 3.9 の新機能 SO_REUSEPORT を試してみる - nigakyのブログ

    Linux kernel 3.9 のマージウィンドウでは SO_REUSEPORT というソケットオプションがマージされました。 Merge branch 'soreuseport' · c617f39 · torvalds/linux · GitHub これは同一ポートに複数のリスナー(listen ソケット)が bind できるようになるというもので、Webサーバなど単一のポートに多くのコネクションが来るようなワークロードで、複数プロセスでうまく負荷分散ができるようになるそうです。 (これまでだと一人がaccept()してそれぞれの worker に渡すというようなモデルがありましたが、これでは accept() する部分がボトルネックになってしまいがちでした。) BSDでは元々 SO_REUSEPORT オプションはあったようですが、マルチキャスト通信で使うもののようです。Linux

    Linux kernel 3.9 の新機能 SO_REUSEPORT を試してみる - nigakyのブログ
  • リソースモデリングパターン

    Webアプリケーションについて、RESTfulなURL・リソース設計のパターンを見出すことで、 どのパターンかを判断するだけで、既存の Good Practice が適用できる 名前をつけて呼べるようにしたい Railsなどのフレームワークで簡単に適用できるようにしたい ということを目指しています。 ほんとうに役立つか これはパターンと言えるのか もっと他にもある だいぶ粒度がバラバラ 名前の付け方(パターンは名前重要) など、ぜひご意見をください。 パターン Collection & Member Resource パターン Singular (Singleton) Resource パターン Filtered Collection パターン Filtered Subresource パターン Multi-member Resource パターン Partial Resource パター

    リソースモデリングパターン
  • iOS Development Tips I Would Want If I Was Starting Out Today

    iOS Development Tips I Would Want If I Was Starting Out Today Making iOS apps is getting easier and easier with each new release of Xcode. However, all the new features and approaches means there are more options to choose from, outdated books and old documentation. Back in my day it was so much harder - that's is true in many respects, but a much higher level of quality and features is expected n

  • 殺伐荒野コーディング - steps to phantasien

    ある朝会社にいくと git.webkit.org がダウンしている。仕事にならない・・・。 意気消沈したが くだを巻く口実ができたとウェブをひやかしていた 少し距離をおいて日々の業務を見直すいい機会だと調べものをしていたところ ソーシャルコーディングの講演で使われたスライド が紹介されておりふんふんと眺めた。 ソーシャルコーディングというのは GitHub なんかで fork と pull request みたいな対話を通じ 友達百人できるかんじですすめる民主的で人類賛歌なソフトウェア開発のことを指す(と私はおおまかに理解した)。 たしかに GitHub で送った pull request が “Nice! Thanks!!” とかいって受け入れられるとうれしいよね。 プログラマやっててよかった気分になる。 私が仕事でやっているのはコミッタレビュアそれ以外の身分差別と中央集権型 SCM,

    nagachika
    nagachika 2012/02/20
    「パッチが合意に至るとどこからともなく bot がやってきてパッチをツリーにコミットする」えっ、Bugzilla にはそんな機能があるのかー
  • 最近もらった本: アジャイルサムライ - steps to phantasien(2011-09-13)

    いただきました. ありがとうございます. そして読んでいるうちに, どうも自分はアジャイルへの興味が失せていると気付いた. さいわい "アジャイルサムライ" は良く書かれており 感想はもうウェブ上にたくさんあるようなのでここでは保留し, かわりになぜ自分の関心が失せたのかを説明してみたいと思う. 理由はだいたい二つある気がする. ひとつはしょうもない理由: 私の参加しているプロジェクトはとても大きく, 独自の開発スタイルをもっている. したっぱの自分はそのやり方に口を出す気がなかなかおきない. 時差があり英語も苦手(これはほんと情けなくて泣ける)だからなおさら乗り気でない. 変える気がないものへの関心は薄れる. 二つ目はもう少しマシな理由. 件のプロジェクトはそこそこアジャイル風になっている. おおよそ time-boxed にリリースがあるし, 開発者の自動テストもある. リファクタリン

  • Linux スレッドプログラミング

    GNU/Linux でのスレッドプログラミング NPTL (Native POSIX Thread Library) Programming. 以前から GNU/Linux でスレッドプログラミングをするための簡単なガイドを書きたいと思っていました。今更スレッドプログラミングについて書いても目新しいものになるとは思えないのですが、初めて NPTL (Native POSIX Thread Library) を使ったプログラムをするという方には、もしかしたら役に立つ情報かもしれません。はじめは怖々小さなプログラムを書いて動かしてみる。思ったより簡単なことに驚かれるでしょう。スレッドプログラミングと言っても難しいことはなにもありません。ライブラリが沢山仕事をしてくるおかげで快適に使うことができます。 文中では glibc のバージョンによる違いについても触れます。参照したバージョンは gli

  • PB memo(2006-05-23)

    ★ [Ruby][開発]確実に再現しないバグの修正確認 今日は午後から現実逃避のプログラミング。当は人事評価とか事務的作業があるのですが、他人の評価は気が重い。 スレッド間の協調に関する障害等タイミングや他のプロセスとの通信や負荷によって発生したりしなかったりするバグの場合、修正してから動作確認の際に充分な試行回数を取って障害が収まったことを保証しなくてはいけません。 このようなバグによる障害発生が確率過程であると仮定すれば、障害の発生確率(p)が決まれば、ベイズ推定により n回の試行で障害再現しない時にバグが残っている確率(p_bug(n))の収束計算ができます。こんな感じかな。 p_bug(n) = (1 - p)*p_bug(n-1) / (1 - p*p_bug(n-1)) これで求める品質水準(ε)を定めて、 p_bug(n) < ε となる最小の n を求めればよいでしょう。

    nagachika
    nagachika 2011/01/21
    起きたり起きなかったりする不具合が確率過程だとした時、何回やって再現しなかったらどのくらいの確率で直ったと言えるかを計算。
  • Technical Note TN2123:CrashReporter

    CrashReporterはクラッシュしているすべてのプログラムに関する情報を記録する、Mac OS Xのデバッグ機能です。このテクニカルノートではCrashReporterについて詳しく説明します。CrashReporterが生成するクラッシュログと、そのログを利用してプログラムをデバッグする方法について説明します。このテクニカルノートは、Mac OS Xユーザ空間のソフトウェアを開発する方なら誰にでも役に立ちます。 はじめにMac OS XのCrashReporterは、アプリケーションが現場で直面する問題を把握するための便利な機能です。CrashReporterは3つの有用なアクションを実行します。プログラムがクラッシュすると、CrashReporter はクラッシュログ(一般的に、~/Library/Logs/CrashReporter/<プログラム名>.crash.log)を記録

  • Jewel-mmo開発日記 Ruby/SDL の 2D 描画速度実験

  • とあるアプリの開発運用(トラブルシュート)

    SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014Nov Matake

    とあるアプリの開発運用(トラブルシュート)
  • Cocoaの日々: [Mac][iOS] Frameworkとは?

    iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど Mac OS X / iOS における Frameworkの作成や利用方法について調べてみた。Framework に関しては Mac OS X 向けに下記のリファレンスが用意されている。 Framework Programming Guide: Introduction to Framework Programming Guide この内容を読みつつ調べたことを加味して Frameworkについてまとめた。 なお iOS においては Framework の仕組みはシステムでサポートされているものの、ユーザが独自の Framework を作成することは推奨されていない(ドキュメントが存在しない)。また iOSでは開発時にユーザが独自の Frameworkを作成できるものの実機への配置はで

    Cocoaの日々: [Mac][iOS] Frameworkとは?
  • CEDEC感想など - Nao_uの日記

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    CEDEC感想など - Nao_uの日記
  • Interface Builderを使わずにiPhone,iPadアプリを作る方法 - プログラマでありたい

    iPhone,iPadの画面開発ツールにInterface Builder(IB)があります。Apple謹製ということで使い勝手がよくのですが、ソース中にブラックボックスが入ることが嫌がる人、開発でGUIベースのツールを使いたくない人とInterface Builderを使わずに開発したい人は沢山いると思います。でも始めはどうすれば良いのか結構悩みます。決まりきった手順を覚えておけば簡単ですので、まとめておきます。ちなみにこの辺りのことは、iPhoneプログラミングUIKit詳解リファレンスに非常に丁寧に説明されています。 1.プロジェクトの作成 何でも良いです。今回はiPad向けのViewBaseプロジェクトでNoMoreIBという名前のプロジェクトを作成しました。 2.MainWindow.xibの削除 選択して削除するだけです。 3.info.plistの編集 info.plist(

    Interface Builderを使わずにiPhone,iPadアプリを作る方法 - プログラマでありたい
  • 【レポート】FreeBSD GCCアップデート停止、LLVM Clangへ移行 - BSDCan 2010 | エンタープライズ | マイコミジャーナル

    FreeBSD、GCC 4.2.1でアップデート停止 FreeBSD - The Power To Serve FreeBSDはシステムコンパイラとツールチェーンの入れ替えを進めている。2010年5月中旬にカナダで開催されたBSDCan2010およびFreeBSD Developer Summitで、このあたりのまとまった議論と発表があった。GCCからLLVMへの移行はFreeBSDのみならず他のOSSプロジェクトでも進んでいる。FreeBSDの事例が他のプロジェクトにすべて当てはまるわけではないが、FreeBSDの場合にはどういった背景があってLLVMへの移行が決定されたのかがわかって興味深い。なお、いくつかのプロジェクトはFreeBSDと似たような理由で移行を進めている。 FreeBSDはこれまでGCCをシステムのデフォルトコンパイラとして採用してきた。強力な機能、必要とするアーキテク

  • はじめてのにき(2010-05-09)

    _ amazon web services の登録おもしれー 電話番号を入力すると、 ブラウザで見てる画面に PIN が出てきて 電話がかかってきて、 PIN を入れると即座にブラウザが次の画面に移行した。 かっこいい (00:05) _ 結論としては 速い やったこと 8CPU のインスタンスを singapore にゲット。 76セント/hour とのこと。 mysql のポートを開けておく。 ログインしたら yum install distcc-server 。 /etc/sysconfig/distccd を適当に ### See distcc(1) manual page for more information on these options. ### #OPTIONS="--nice 5 --jobs 5 --allow 10.0.0.0/24 --port 1234" O

    nagachika
    nagachika 2010/05/09
    Amazon EC2 で分散ビルド。こんなこともできるのか。
  • プロファイラのしくみ steps to phantasien t(2007-08-23)

    UNIX 偏向文書 artu の中で "Measure Before Optimizing" と説く Raymond は, 同時にプロファイラの計測機構 (instrumentation) がもたらすノイズについて注意を促している. 私のプロファイラ信仰に不安が翳を落とす. gprof ノイズはさておき, そもそもプロファイラはどんな仕組みで速度を測っているんだろう. gprof のマニュアル によると, GNU 一族のプロファイラは次のように実装されている: まず "-pg" オプションつきの gcc でソースをコンパイルする. この指示を受けたコンパイラは各関数の冒頭に "mcount" という名前の関数呼出しを加える. リンクする C のランタイムも専用バージョン (gcrt0.o) に差し替わる. このランタイムは裏で profil() 関数を使いタイマを仕掛ける. そのタイマは発

  • 並列イベント駆動I/Oフレームワーク「mpio」リリース - Blog by Sadayuki Furuhashi

    分散KVS kumofs のコードは、全体で約2万行です*1。 そのうち、ネットワークI/Oやプロトコルに関するコードは約1万行*2で、全体の約半分を占めています。 ロジックは残りの半分*3だけで実装されています。 この実例から分かりますが、kumofsのような分散アプリケーションを開発するにはI/O周りの実装が大変で、とてつもなく大きな障壁になっています。*4 さらに今日では、性能を稼ぐためにマルチスレッド化が必須です。また、多数のクライアントを少ないリソースで効率よく相手にするには、非同期・イベント駆動型のアーキテクチャも必要になります。さらに、究極的な性能を達成すべく GC を利用しない C++ においては、実装のみならず設計も大変です。 これに加えてソケットAPIの難解な挙動に対処にしなければならないため、C言語やC++によるネットワークプログラミングは、vimの使いこなしなどと同

    並列イベント駆動I/Oフレームワーク「mpio」リリース - Blog by Sadayuki Furuhashi
  • GDBで歴史をさかのぼれるように!なりました! GDB 7.0 の新機能Reverse Debuggingを使ってみた - 日記を書く [・w・] はやみずさん

    Twitter上で、@alohakun が言及していた GDB の reverse debugging の機能を使ってみました。 GDB にトレースと逆実行機能入ったのか。 http://www.gnu.org/software/gdb/news/reversible.html http://twitter.com/alohakun/status/4481139191 まずは簡単な使い方を説明したあとに、インストール方法を説明します。 こんなときに便利 「変なこと」が起きている大体の場所がわかっているとき デバッグ中に、大体どこで変なことが起きているかはわかっているけど、細かい場所は特定できていないとき、reverse debuggingが効果を発揮します。 GDBでステップ実行をしていて、「しまった!行きすぎた!」という経験はよくあると思います。こういうとき、今まではプログラムの実行を最

    GDBで歴史をさかのぼれるように!なりました! GDB 7.0 の新機能Reverse Debuggingを使ってみた - 日記を書く [・w・] はやみずさん