タグ

ブックマーク / soutaro.hatenablog.com (5)

  • Squareに転職しました - soutaroブログ

    11月からSquareで働いています。POSレジを作るのが嫌になったと言ってユビレジを辞めてSiderに転職したのが2016年、その3年後にまたレジの会社で働くことになるとは……(レジは作ってませんが。) *1 アメリカに行くのかというとそんなことはなくて、東京で日法人の従業員として働いています。Squareが日でサービス開始したのは2013年のことですが、それ以来東京のオフィスには開発者がいない状況でした。募集もしてなかったのですが、募集があるかどうかの確認もせずに知り合いづてに応募した人間がいて、それが私です……入社してから気づいたのですが、最近、全社を挙げてSFから世界中に分散していくというのを進めているそうで、その流れに気づかないうちに乗っていたのかもしれません。 今回仕事を探すに当たっては「RubyとSteepの開発に時間を使えるようにしたい」「社内でRubyの型に関するテス

    Squareに転職しました - soutaroブログ
    koogawa
    koogawa 2019/12/25
    🎉
  • それでenumとclassのどっちにすれば良いの? - soutaroブログ

    SwiftのenumがObjective Cで欲しいときはどうするか - soutaroブログ この記事には enumが便利なのは ある状態では有効だけど、別の状態では有効ではない値を定義するとき です。 と書きましたが、「それはサブクラスっていうやつではないか」という声があります(どこに?)。その通りで、enumとクラスはよく似ている側面があって、enumでできることはクラスでも(再コンパイルの量とか、網羅性の検査とか、isKindOf:とか、キャストとかの問題を見なかったことにすれば)できるという話でした。 ここで疑問になるのは、 なぜSwiftにはenumとclassという似たような機能が二つ用意されているのか(TMTOWTDI?) 何を考えてenumとclassを使い分ければ良いのか でしょう。 enumとclassの違い Swift的には「classは状態を持てるがenumは持て

    それでenumとclassのどっちにすれば良いの? - soutaroブログ
  • SwiftのenumがObjective Cで欲しいときはどうするか - soutaroブログ

    Swiftではenumという種類のデータ型を定義できます。Cのenumと違って、引数を持てるようになっています。これが便利なのは ある状態では有効だけど、別の状態では有効ではない値を定義するとき です(すごい雑な説明なので、他の使い方も調べておきましょう)。 Swiftのenumとは 例えばあなたが最強のレジアプリを開発しているとしましょう。販売する商品の価格には次の二通りがあります。 単価と税率が決まっているもの(単価¥100、税8%) 全体の金額からの割合であるようなもの(10%割引) enumを使わないで普通のクラスにしようとすると、こんな感じになるはずです。 class MenuItem { let isPercentage: Bool let unitPrice: NSDecimalNumber! let vatPercentage: NSDecimalNumber! let p

    SwiftのenumがObjective Cで欲しいときはどうするか - soutaroブログ
  • Swiftでas!と書く場合のガイドライン - soutaroブログ

    as!って言うのは、要するにダウンキャストできない場合にプログラムを終了させるものである。 if let x = expr as? SomeClass { f(x) } else { fatalError() } と書くのであれば、 f(expr as! SomeClass) と、同じことなので、as!で書いた方が良い。その方がタイプ数が減るし、コードの見た目も簡潔になって理解しやすくなる。長いコードはそれだけで苦痛だし、なにか間違ったプログラミングをしていることを示すシグナルにもなる。ダウンキャスト失敗の場合に終了するためだけにifを書くことは、全体的なコードの乱雑さを増してしまい、当の問題の見落としに繋がる。 ただし、as?とかas!とかダウンキャストをしてる時点で、そのプログラムには潜在的な問題があると考えることもできて、当にダウンキャストが必要なのか3回くらい考えた方が良い。

    Swiftでas!と書く場合のガイドライン - soutaroブログ
    koogawa
    koogawa 2016/02/25
  • コーディング面接の例 - soutaroブログ

    プログラマの面接をするときには実際にコーディングをしてもらうべきという話は良く聞くが、もうちょっと細かくどういうお題を出したら良いかとか、どういう風に評価したら良いかとかの話はあんまり聞かない気がする。せっかくなので、ユビレジでの面接で私がコーディングについて確認するときのパターンを、いくつか紹介してみようと思う。 実際にコードを書いてもらうパターン 候補者がどのくらいプログラミングできそうかの予備情報がない場合に、簡単なアルゴリズムを書いてもらうことが多い。例としては、 Linked Listを書いてください Stackを書いてください など。ここで、おもむろに int main(int argc, char* argv[]) { などと書き始める人は、あまり良い印象をもたれない。 class Stack などと書き始める人は上よりは期待できる。 このとき、わざと出題で詳細をあまり明らか

    コーディング面接の例 - soutaroブログ
    koogawa
    koogawa 2015/06/22
  • 1