Help us understand the problem. What is going on with this article?
弊社に5年間在籍していたロシアの天才ハッカーが先日退職しました。 ハッキング世界大会優勝の経歴を持ち、テレビ出演の経験もある彼ですが、正直こんなに長く活躍してくれるとは思っていませんでした。彼のようなタレントが入社した場合、得てして日本の大企業にありがちな官僚主義に辟易してすぐに退職するか、もしくはマスコットキャラとして落ち着くかのどちらかのケースがほとんどなのですが、彼は最後まで現場の第一線で活躍してくれました。 そんな彼が最後に残していった退職メールがなかなか印象的だったので、その拙訳をここに掲載します(転載について本人同意済み。弊社特有の部分は一部省いています。) ああ、なんという長い旅だったろう。この会社で5年間もセキュリティを担当していたよ(諸々の失敗は許してくれ) 俺は他の退職者のように面白いことは書けないが、私のこの退職メールを読んでくれている人、特に新人エンジニアのために、
はじめに Gemfileを使ってgemを管理してるプロジェクトで、日常的にbundle exec 何々ってやってて、alias be='bundle exec'とかしてるけど、beすら打つのが面倒、って状況よくありますよね。 結論から 2013/12/26にリリースされたRubyGems 2.2.0以降であれば、環境変数でRUBYGEMS_GEMDEPS=-とすることでbundle execを使わなくてもGemfileを読んでくれる。 少し追記 RUBYGEMS_GEMDEPSは"gem dependency file"へのパスを指定する機能。RUBYGEMS_GEMDEPS=MyGemfileであればカレントディレクトリからMyGemfileを読むことになる。カレントディレクトリからの相対パス、絶対パスともに使用可能。存在しないファイルを指定してもエラーは出ないので注意。 "-"だけが特
Xcode7系と6系が同居している環境でXcode6.4のXibファイル関係でビルドに失敗する問題への対処(Circle CIも)XcodeiOSqolk Xcode7.0とかXcode7.1は前から入っていたんだけど、いきなり、Xcode6.4でxibを開くとクラッシュするようになった。ビルドも失敗する。Xcode7.1で開発を始めたら発生したので、Xcode7系でビルドをしたり何かをしたのがトリガーになったみたい。 さらに、Circle-ciでのビルドも失敗する。 Xcode 6.4 で発生する Interface Builder のエラーを回避する - Qiita を参考にさせてもらって解決を図ろうとしたけど、 となってしまって、成功しなかった。El Captanだからかもしれない。幾つか対応策を調べて、対応が簡単なものを試してみた。 iOS Simulator crashes af
#!/usr/bin/swift import Foundation typealias Failure = (NSError!) -> Void typealias ResultBlock = (NSData!, NSError!) -> Void /// JSONObjectWithDataの戻り値として使用する enum JSONObjectWithDataResult { case Success(AnyObject) case Failure(NSError) } /// NSDataをJSONオブジェクトに変換し、JSONオブジェクトまたはエラーのいずれかを返す func JSONObjectWithData(data: NSData) -> JSONObjectWithDataResult { do { let json = try NSJSONSerialization.J
前振り Auto LayoutとSize Classesを有効にしたStoryboardにて、画面いっぱいのUIImageViewを作ろうとした際、UIViewControllerのviewにaddしているUIImageViewの制約を設定しようとすると左右-16ptがデフォルトで設定されてしまいました。 この-16ptを素直に設定しても見た目がおかしくなるわけではないし、0ptにする方法もあるんだけどなぜデフォルトで-16ptが必要なのかを調べたメモです。 謎の16ptについて説明されている記事 この文章で説明することは、下記のページで説明されているのでそれらを読んで分かるなら問題ないと思います。 SizeClassesとXcode6でのAutoLayoutの謎マージン http://qiita.com/uskiita/items/c643f5868f60b496911e What is
iOS8GM出ましたね!いまiOS8対応真っ盛りだと思います。 ObjCのアプリでSwiftのExtensionを作るとクラッシュ iOS8でExtensionが追加され挑戦されている方が多いかと思います。 そしてターゲットがわかれているのであえてSwiftに挑戦されている方もいるでしょう。ここで罠がありましたのでお知らせします。ObjCのアプリでSwiftのExtensionを作るとクラッシュします! 原因 Swiftを実行するにはSwift Standard Libraryが含まれている必要がありますが、ObjCのプロジェクトにはこれは含まれません。 そしてExtensionなどはそれ自身ではStandard Libraryを持っておらず、埋め込んだアプリのStandard Libraryを利用する仕様となっています。 したがって、ObjCのプロジェクトに対してSwiftでExtens
この記事は一部内容が古くなったので、全面的に書き直した記事を別にあげました(14/10/17 追記)。 ↓ [Swift] Optional 型についてのまとめ Ver2 Optional型とは? Optional型 : nilが入るのを許す 非Optional型 : nilが入るのを許さない Optional型の宣言方法 var a: Int? // Optional型 var b: Int // 非Optional型 var c: String? // Optional型 var d: String // 非Optional型
Xcode6 Beta5からまだ2週間ですが、Xcode6 Beta6が登場しています。この調子で二週間ごとにベータ版出すのかなApple... というわけで前回に引き続き、ダウンロード待ちの手慰みに。 Xcode 6 beta 6 Release Notes Optional型に関するさらなる改良 Foundation APIにおけるOptional型の見直しがさらに進んでいます。T!の多くが、nilを取りうる場合はT?、そうでない場合はTへと変更されています。間違いを見つけた方は、“#IUO”をSubjectに含めた上でRadarでご報告ください。なお、T!のまま据え置かれているものに関しては報告不要です。Appleでも把握しています。 T?であるべきところがTとなっている場合、以下のように明示的にOptional型を指定して代入したのち直ちにアンラップすることで回避できます。 var
自分が他社のiOSアプリ開発者と話す時にいつも同じことを聞いていたのでそれをQiitaにまとめていましたが、実際に他社の開発の現場でインタビューをしてくるというシリーズになりました。 記念すべき1社目はユビレジ社! ユビレジとはなにか 私の分かる範囲でユビレジというものについてすごく平たく説明すると、iPadを利用したお店のレジとそれを管理するウェブ上のシステムみたいな感じだと思います。そもそもお店のレジスターっていうものは単純な売上の計算のためだけのものと、商品や顧客情報をひもづけるPOSレジ(POSはPoint of sale)と呼ばれるものがあって、このPOSレジをiPadとウェブで実現するぜ!ということでしょう。 訊いてきたこと ユビレジ社ではiOSアプリ開発をしている人で知らない人はいないという@kishikawakatsumiさんと、インターネットで有名な@laisoさんを中心
はじめに: Vimならではの便利機能をマスターしよう! かれこれ数年前、僕がVim(というか、たぶんVi)と初対面したときは、「なんて使いにくいエディタなんだ!!」と最悪の印象でした。 しかし、周りのプログラマやネット上のエンジニアたちはみんな「Vim便利!」「Vim最高!」と言います。 なのでその言葉を信じ、僕も最悪の印象だったVimともう一度正面から向き合うことにしました。 そして、月日が過ぎ・・・僕もいつしか「Vim便利!」「Vim最高!」と叫ぶようになってしまいました!! これって洗脳? いやいや、洗脳じゃありませんw Vimにはメモ帳の延長線上にあるエディタでは実現できないような数々の便利な機能があります。 覚えるまでにはちょっと苦労しますが、覚えてしまえばメモ帳系のエディタでは追いつけないようなスピードでテキストを編集することができます。 とはいえ、そもそも覚える以前に「そんな
こんにちは、7日の予定が2日ほど遅延しております、すいません。 さて、私は OS X で ruby 1.9.3 の環境を構築するネタで書きたいと思います。 今回使う物 homebrew readline libyaml (2.0.0なら不要) openssl (trunk をビルドする場合) autoconf rbenv ruby-build Command Line Tools (Xcode) 尚、環境は Xcode 4.5 + OS X Mountain Lion を想定しています。 準備 最近の Xcode, 4.3 からは Xcode.app のなかに Developers ディレクトリが入ったためターミナルから gcc とか叩いても 見つからないと言われます。なので Command Line Tool をインストールしましょう。 Command Line Tool, 入れる方法は
8/19担当、Qiita初投稿の@inamiyです、こんにちは。 今回は、iOS/OSXアプリのUXの根幹である「Core Animation」について、 ハマりやすい点や、意外と知られていないtipsなどについて書きたいと思います。 アニメーション完了時のコールバック Delegateでif分岐しながら処理する方法もありますが、 [CATransaction setCompletionBlock:]を使う方が、より見通しの良いコードになります。 問題は、アニメーションが正常終了したかどうかのfinishedフラグがないという点ですが、 下記のようなコードを書くと、上手く判別できます。 [CATransaction begin]; [CATransaction setCompletionBlock:^{ CAAnimation* animation = [layer animationFo
どうもこんにちは。8/27担当のsaitenです。 XCode4.4から新たに新リテラルが使えるようになったりして、Objective-CがどんどんLL化してるなーと思う昨今です。 さて、今回はObjective-Cで書かれたDeferredの実装がぱっと見で見当たらなかったので作ってみました。 Deferredって何 概念的なところはこの辺りを参照。実装的にはDeferredオブジェクトは未完了、完了、失敗のいずれかの状態を持っていて、完了もしくは未完了の状態になると、予め登録しておいたコールバックに対して状態が変わったことを通知する仕組みを持っているといった感じです。 jQuery等でも実装されていて、javascriptな方面では割りとメジャーなんじゃないかと勝手に思っています。 使い方 例えば、こんな感じでHTTPリクエストを行うメソッドがあったとして、 - (void)reque
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く