Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
まえがき データにIDを持たせたいとき、単純な方法としては、DBの提供するauto incrementを使う場合やUUIDを利用することがある。それぞれの方法の利点欠点は以下の通り。 データベースのauto incrementを使う場合 利点: 特別な実装が必要ない 欠点: DBを1台で運用するとデータベースがパフォーマンス・障害のボトルネックになる DBを二台にするとIDのユニークさや順序の保証が困難 UUID(v4)※1を利用する場合 利点: 分散環境で各々がIDを生成しても衝突しない IDを公開したくない場合に、推測されにくいIDを生成できる 欠点: 128ビット必要、DBのインデクシングやプログラミング言語で扱うときに不利なことがある IDから時間の情報が失われる、例えば2つのIDを比べてどちらが古い投稿か判断できない 世界の大企業がどうしてるか 調べてみると多くの企業がブログなど
あれ、 "-s"では変わってないですね…darwin環境ではでないのかななld周りのなにかだと思うのでそれはあとで追うとして、元々が26MBだったのが、5.2MBまで減りました。 圧縮に upx -9 を使った場合、かかった時間は15.70秒でそこそこ時間がかかりますね。3回ほど実行してだいたい同じぐらいでした。伸長時は0.10秒ほどでした。もちろんメモリなどにも依存しますので、この結果は鵜呑みには出来ませんが、あくまで目安として。 さらにいうと、 upx -1 で圧縮した場合は 0.78秒しかかかりません。それでいて、6.4MBと充分な圧縮効率となりました。この辺りはターゲットとする環境に合わせて決めればいいと思いますが、 -1 で十分な気もします。 まとめ¶ Goのバイナリが大きい問題は、ldflagsとUPXを使うことである程度解決できるのではないか、という話でした。 UPX知らなか
ソフトウェアエンジニアのための ITインフラ監視[実践]入門 技術評論社様よりご恵贈頂きました。著者のkoemuさん、ありがとうございます。 この本は本当に監視入門にふさわしく、以下のように網羅的かつ、そして何より陳腐化しない、普遍的な監視に対する心構えや考え方に対して非常によくまとまっていました。 レイヤリングと状況分析、システムの把握 監視システムをどのように設計、構築し育てていくか 監視の人員体制と業務設計 実際の障害の際の心構えと対応方法 自動化を見据えた話 監視に対する心構えや、「監視システムをどのように運用していくか、閾値をどのように決めていくか」、そして、なかなか無い観点として「監視体制の業務設計」といった話が印象深かったです。 モデルケースとして、Linuxサーバー上のApache、MySQL、Tomcatの監視などが取り上げられており、実際に Mackerel!!!を使っ
暗号化すれば終わりじゃない 暗号鍵の管理も仕様に入れよ 間違った暗号実装はむしろ危険 「暗号」は、ITを安全に利用する上で必要不可欠の技術です。例えば、PCやスマートデバイスのWebブラウザーからインターネットバンクやオンラインショップを利用する際は、アクセスプロトコルにHTTPではなくHTTPS(SSL/TLSプロトコル)が使われるのが一般的になっています。HTTPSは暗号技術を用いて、通信内容を盗聴や改ざんから保護すると同時に、アクセス先Webサイトの認証を行います。 最近では、GoogleやFacebook、Twitterといった大手のB2Cサービスでも、常にHTTPSが利用されます。皆さんにとって、暗号技術は身近なものになっているといえるでしょう。しかし、暗号技術をきっちり理解して使いこなすのは、結構難しいことなのです。 重要なデータをデータベースやファイルシステムに保管する場合、
一昨年からだいたい月1回ぐらいのペースで、Webの基本的な仕組みを基礎から学ぶ「RESTful#とは勉強会」を開催しています。主催はshokolaさんで、私は進行役を担当しています。 2月23日に開催したRESTful#とは勉強会13では、ヴァル研究所さんの協力のもと、駅すぱあとWebサービスをレビューするという企画をやりました。いろんな意見が出てとてもおもしろかったです。みなさんありがとうございました。 RESTful#とは勉強会13 当日の内容とポイント RESTful#とは勉強会13 ツイートまとめ ゲストとして来ていただいた@Keisuke69さんがブログ記事を書いておられたので、これは私も書かなければ、ということで感じたことを書いていきます。 keisuke69.hatenablog.jp 駅すぱあとWebサービスについて、当日思っていて言い忘れたこと トークンをURLのクエリパ
生成・使用分離の原則*1オブジェクトは、他のオブジェクトの生成か、使用のいずれかのみを行い、双方を行ってはならない。どういうこと?設計の簡素化のため、オブジェクトの利用、オブジェクトの生成・管理を混ぜて考えてはならない。どうして?この規則に従えば、作業分担が明確化され、結合度が低下する。オブジェクトの使用は概念レベルを取り扱う。オブジェクトの生成は具象レベルを取り扱う。これらレベルの違うものを混ぜて設計すべきではない。これらを分けて考えることで、それぞれに集中できる。特に概念レベルの洗い出しの時、つまりオブジェクトの責任を考えている時、「生成方法や管理方法を後から考えればいい」と思っていられることは、設計を非常にやりやすくする。それに、概念レベルのオブジェクトが出そろってからじゃないと、生成のビジネスルールはわからない。この原則の世界「使用するオブジェクト」(クライアント)は実際に使用する
Other questions about DI Dependency Injection breaks Encapsulation Comments on Disco with Design Patterns: A Fresh Look at Dependency Injection Criticisms by so-called "experts" A simplified definition Conclusion References Amendment History Comments Introduction Way back in 2004 I made the following observation: There are two ways in which an idea, principle or rule can be implemented - indiscrim
アジャイルソフトウェア開発の奥義 第2部「アジャイル設計」の自分用まとめ。 アジャイル設計 アジャイルな設計 「原則」「パターン」「プラクティス」を継続的に適用することで、読みやすく変更に強い状態を保つことができる設計。 悪い設計 第2部の中で「貧弱な設計の兆候」「腐敗するソフトウェアの兆候」として、以下の7つが挙げられている。 硬さ (設計変更が難しい) 脆さ (設計が壊れやすい) 移植性のなさ (再利用が難しい) 扱いにくさ(正しい設計をするのが困難なソフトウェア、面倒な開発環境) 不必要な複雑さ("後で必要になるかもしれない"と考えて先行実装したコード) 不必要な繰り返し (コピペ) 不透明さ (目的や意図がわかりにくい) 原則 システムに悪い設計の兆候が見られるとき、その原因がオブジェクト指向設計の原則に反していることだったりする。 ただし無条件で原則に従うと「不必要な複雑さ」を招
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く