Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
post-cline-world.md After Cline - あるいは語りえぬ者について語ろうとする時代について この資料は以下のイベントの登壇用の殴り書きです https://hack-at-delta.connpass.com/event/350588/ 今までの資料を引用して話すので、この資料はアウトラインです。 最初に: 自分の技術選定の基準 ハイプサイクルにおけるアーリーアダプター相当で手を動かす ハイプ・サイクル https://mba.globis.ac.jp/about_mba/glossary/detail-20659.html https://www.thoughtworks.com/radar を読む イノベーターっぽい人達をSNSで監視してる 一定の熱量を感じたら自分でも動かして評価する 破壊的イノベーションを逃すな 破壊的イノベーション - クリスチャン・ク
ソフトウェアの世界には「悪い方が良い」原則という有名なエッセイがある。キレイにレイヤ分けされた一貫性のある良いデザインよりも、一見手抜きっぽい悪いデザインのほうが実は良いときもあるという話だ。この逆説的なデザイン原則を僕は身をもって体験したことがある。それについてちょっと書いてみようと思う。 僕はlldというリンカの現行バージョンのオリジナル作者だ。リンカというのはコンパイラと組み合わせて使うもので、実行ファイルやDLLを作るのに使用される。lldはプロダクトとしてはかなり成功していて、標準のシステムリンカとして採用しているOSがいくつかあったり、GoogleやFacebookなど皆が知っているような大規模サイトの中で広く使われていたりする。 現在のlldは2世代目で、第1世代のlldは僕がプロジェクトに参加する前から存在していたのだけど、数年前にそれを捨てて一から書き直すということになっ
スタンフォードのコンピュータサイエンスの授業で、ときどきこれは良問と思う問題がテストで出ることがある。僕の印象に残っているのは「xをfloatとするとき、x + 0.25 - 0.25 = xが成り立たないxを求めよ」というものだ。浮動小数点数を理解していないと、両辺が同じにならないケースがあるほうが不自然に思えるだろうから、この問題は浮動小数点数の奇妙さを結構うまく突いていると思う。この問題を元に浮動小数点数についてちょっと説明してみよう。 まずコンピュータ上での数について少し考えてみよう。コンピュータにおける数と、数学の整数や実数は、よく考えてみると全然違う。コンピュータは有限の記憶領域しか持っていないので、無数にある数を表すことが根本的にできない。つまりコンピュータ上の数は「本物の数になるべく似せた別の何か」だ。現実的には、例えば32ビットの数なら2^32パターンしか表せないので、そ
対になる言葉 comment out / uncomment コメントにする、コメントを解除する。 comment out は into a comment の意味。 comment だけならコメントする、評するの意味になる。 add / remove 追加する、削除する。 リストなどに値を入れる場合などにも使われる。 特に、末尾に追加する場合は append、先頭に追加する場合は prepend を使う。 Add A to B で、A を B に加える。 Remove A from B で、B から A を取り除く。 start / stop 開始する、止める。名詞だと開始、停止。 静止状態から動き出す感じが start。 途中からでも使える。 バーコードや通信の符号で StartCode / StopCode という使い方をする。 begin / end 始める、終わる。 最初の一歩を
エンジニア組織を強くするための本を出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 デメテルの法則 別名最小知識の法則。デメテルは、豊穣の女神。アスペクト指向などの研究であった「デメテルプロジェクト」に由来。 基本的な考え方は、任意のオブジェクトが自分以外(サブコンポーネント含む)の構造やプロパティに対して持っている仮定を最小限にすべきであるという点にある。 単純化して説明すると、オブジェクトの"メンバーのプロパテ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 本投稿では、Android開発を行う中で、筆者が有益だと感じた情報やつまづきやすいポイントを、オフィシャルのソースへのリンクを中心にまとめています。これから開発を始めるチームや個人の方の参考にしていただければ幸いです。 開発の心得 Android Developers のドキュメントを読みましょう!英語が苦手な方は敬遠しがちかもしれませんが、参考になる情報がたくさんあります。ある程度開発経験を積むとスムーズに理解でき、新たな発見もあって読んでいて楽しいと思います。 https://developer.android.com/i
iOS データ設計入門の続きです。前回は iOS であつかうデータ全般について書きましたが今回はデータをフラッシュドライブに保存する方法について説明します。 データの永続化って何? メモリにあるデータはアプリを終了すると消えてしまいます。 アプリを終了しても残しておきたいデータはフラッシュドライブに保存する必要があります。メモリにあるフラッシュドライブに保存することをデータの永続化といいます。永続化されたデータはフラッシュドライブが壊れない限り永続的に保存され残ります。以降 iOS でフラッシュドライブがどのように管理されているのかと、データを永続化するのにどのような方法があるのかについて説明していきます。 フラッシュドライブを構成する3つの領域 データを永続化する方法を説明する前に iOS でフラッシュドライブがどのように管理されているか見ていきましょう。 iOS ではフラッシュドライブ
1年半ほどコツコツと書きためてきた iOS アプリ開発 / Objective-C 関連の Tips をカテゴリ別にまとめてみました。 数が多いので、オススメのものを太字にしてあります。 (更新情報 2012.8.11)ちゃんと数えてみたら88個しかなかったので、20個ほど追加しました。 (追記 2013.10.1) 本記事をきっかけに秀和システム社よりお声がけいただき、書籍を執筆 させていただきました。iOS開発に役立つTips集です。ぜひ下記ページより 目次を見ていただき、興味のある項目がありそうであれば ご購入いただけるととても嬉しいです。 『iOSアプリ開発 達人のレシピ100』という本を書きました ライブラリ/フレームワーク ゲームアプリ向け UI コンポーネントセット "UIKitForGame" ゲームアプリをつくる際に便利な UIKit のカテゴリ/サブクラスの詰め合わせラ
2013-06-24 2012年4月23日にテキサスの Austin で行われた RailsConf 2012 での Rich Hickey (@richhickey) さんによる基調講演、Simplicity Matters を書き起こして翻訳しました。 Rich Hickey さんは Clojure や Datomic の作者です。 この翻訳は Creative Commons Attribution ShareAlike 3.0 ライセンスに基いて公開します。 Rich Hickey 講演 e.e d3si9n 訳 談: こんにちは。ご招待いただきありがとうございます。 聞く所によると RailsConf はいつもコミュニティーからかなり外れた人を選ぶらしく、今回は僕ということになりました。 僕の電話ボックスは外に駐車してあります。(会場、笑) だけど、今日は言語の壁を越える話題を持
JavaScriptでよく使われるコード片に即時関数というものがあります。無名関数を宣言して即実行することで、ブロックスコープの存在しないJavaScriptにおいて擬似的にブロックスコープを再現します。 var a = "global"; (function(){ var a = "local"; alert(a); //local })(); alert(a); //global 一番有名なのはこの(function(){ ... })()の形式なのですが、なぜfunctionの外側にカッコが必要なのか不思議に思ったことはないでしょうか? ためしにfunction(){ ... }()と書いてみると、Syntax Errorが発生します。 なぜfunction(){ ... }()はSyntax Errorなのか JavaScriptにはfunction文とfunction式があって、
Java SE 7から、switch構文で文字列が使えるようになりました。 public void hoge(String s){ switch(s){ case "a": System.out.println("AA"); break; case "b": System.out.println("BB"); break; default: System.out.println("Other"); } } ところが、残念なことに、sがnullの場合はdefaultには飛ばず、ぬるぽが発生します。 そこで、null判定は事前にif文で行うことになるので、次のようなif-else switchイデオムを使うと便利です。 if(s == null){ System.out.println("Null!"); }else switch(s){ case "a": System.out.printl
昨日のエントリーに引き続き,バッドノウハウ的なものを箇条書きでまとめておく。思い付いた順に追加していく予定。 Activity関連 永続化はonPauseで行う*1。詳しくはActivityのライフサイクル図を参照のこと。 onPauseと対になっている処理は,onResumeで行うこと。onStart/onStopはあんまり使わない,気がする。 DialogはAlertDialog.Builderを使って実装するのが楽。ただし,裏で何らかの処理を行なっている間,ユーザーに操作をさせないために表示するダイアログ(いわゆるProgressDialog)は使わないようにする。DialogではなくActivityを新しく作って表示させることで,いくつかのトラブルを回避できる*2 *3。 重いタスクはUIスレッドで処理しない。AsyncTaskなどを使ってワーカースレッドで実行する。ただし,ワーカ
ここしばらくのAndroid開発で身に付いた,カスタムViewについてのノウハウを軽くまとめておく。 onMeasure/onLayoutについて ビューが画面に表示される際に,onMeasureとonLayoutが呼ばれるので,そこをいい感じにoverrideしてやるのがポイント。ちなみに,onMeasureはビュー及び子ビューのサイズを決定するために,onLayoutは子ビューの表示領域を決定するために呼ばれる。onMeasureもonLayoutも,ルートビューから子孫ビューに向かってレイアウトツリーを辿るようにして呼ばれる。 onMeasureに関しては,すべての子孫ビューのレイアウトを自身で制御する*1ならば真面目にoverrideする必要はないみたい。ただし,子孫ビューにうんたらLayout*2みたいなViewGroupのサブクラスを含み,なおかつ,うんたらLayoutにその子
[This post is by Gilles Debunne, an engineer in the Android group who loves to get multitasked. — Tim Bray] A good practice in creating responsive applications is to make sure your main UI thread does the minimum amount of work. Any potentially long task that may hang your application should be handled in a different thread. Typical examples of such tasks are network operations, which involve unpr
こんにちは。 Android AppのListViewを使って開発していろいろTipsがあったので、備忘録を兼ねてブログを書きます。 参考にしたのはこちらです。 http://blog.tappli.com/article/36222638.html http://techbooster.jpn.org/andriod/ui/2979/ http://yaino.com/gzudoc2/0001/000108.html http://d.hatena.ne.jp/poyonshot/20110224/1298556195 http://blog2.kojin.biz/2010/02/24/android%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E3%81%A7%E3%81%AE%E6%82%A9%E3%81%BF%E4%BA%8B%E3%8
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く