タグ

Threadとrefactoringに関するraimon49のブックマーク (4)

  • 同期エンジンの心臓部を書き換える

    0 0 719 0 この 4 年間、Dropbox では、デスクトップ クライアントの同期エンジンを白紙の状態から再構築しようと懸命に取り組んできました。同期エンジンは、デスクトップ パソコン上の Dropbox フォルダの陰に隠れた魔法です。これは、Dropbox で最も長く使われているコード部分であり、最も重要なコード部分の 1 つでもあります。今回、新しい同期エンジン(コードネーム「Nucleus」)をすべての Dropbox ユーザー向けにリリースさせていただくことを、ここに発表いたします。 同期エンジンの書き換えは当に大変な作業で、多くの環境でマイナスともなりうる構想であったことに鑑みると、手放しで祝う気持ちにはなれません。結果的には Dropbox にとって素晴らしいアイデアであったわけですが、それは、私たちがこのプロセスにどのように取り組むべきかを熟考したからこそ、たどり着

    同期エンジンの心臓部を書き換える
    raimon49
    raimon49 2020/05/27
    長年の本番環境運用でユーザーから「鍛えられた」PythonコードをRustで全面書き換えした話。覚悟やドメイン知識だけでなく大量が必要とも。
  • Objective-CのSingleton、その歴史的経緯など - Toyship.org

    Objective-Cのシングルトンって、昔はcopyWithZoneとかもあって、無駄に面倒だったような記憶があるんだけど、いつの間にか簡単になったんだっけ……?と思ってたので、ちょっと整理してみました。 ARCとGCDが出る前からシングルトンを実装してた人にはちょっと懐かしい話かもしれません。 Singletonとは 改めて説明するまでもないですが、シングルトンとはプロセス内のどこからよんでも同じオブジェクトにアクセスできるようにするデザインパターンです。 どのプログラミング言語においても重要なデザインパターンです。 iOSのシステムフレークワークでもよく使われており、 などはおなじみですよね。 上のメソッドは何回呼んでも同じオブジェクトがかえるようになっているので、いつでも同じオブジェクトに対して処理をすることができます。 自分で実装しなくても、ほとんどの人はシングルトンパターンを使

    Objective-CのSingleton、その歴史的経緯など - Toyship.org
    raimon49
    raimon49 2014/04/08
    良記事。allocとcopyメッセージが呼ばれた時の対応も。
  • GCD すごい - yashiganiの英傑になるまで死ねない日記

    iOS には,iOS4.0 から GCD っていう非同期処理の仕組みが入ったんだけど,今までこれという活かしどころがなくて使っていなかった ちょうどいい感じの活かしどころが出てきたのでここぞとばかりに試してみた. 音楽再生するアプリで自分の iPod Library からリストに上がっている曲を探してくるんだけど,これが 50 コくらい探そうと思うと結構な量の曲数が入っているライブラリとか,3GS だとむっちゃ時間がかかって画面の遷移に挟んだりすると,とてもじゃないけど精神衛生に支障をきたすレベルのロックがかかる(5~20秒くらい) こんなかんじ for (NSString *title in titles) { MPMediaPropertyPredicate *titlePredicate = [MPMediaPropertyPredicate predicateWithValue:t

    GCD すごい - yashiganiの英傑になるまで死ねない日記
  • 使わなくなった機能・新しい機能

    概要 C# も .NET Framework (のライブラリ)も、ずいぶんと進歩してきました。 その結果、一部の構文やライブラリは、別のもので置き換えられる/置き換えた方がいいものも出てきています。 過去の遺物 いくつかの構文は、もう完全に過去のものです (互換性のためだけに残されています)。 非ジェネリック コレクション ポイント: 非ジェネリック版のコレクションは使ってはいけない。 C# 2.0 で 「ジェネリック」 が導入されると同時に、ジェネリック版のコレクションが導入されました。 それ以前の、非ジェネリック版のコレクションを使うメリットは一切ないので、使わないようにしましょう。 非ジェネリック版からジェネリック版で、名称が変わっているものもあるので気を付けましょう。 「ジェネリック版に、ArrayList 相当のものがない」という誤解もあったりしますが、List<T> がこれに相

    使わなくなった機能・新しい機能
    raimon49
    raimon49 2012/01/30
    レガシーな書き方からモダンな書き方へ
  • 1