タグ

ブックマーク / qiita.com/gfx (3)

  • Swiftでマルチスレッド時の同期処理はどうやるのか - Qiita

    このエントリはSwift 1.0の時に初版を書きました このエントリはSwift version 2.1 / Xcode 7.1.1 で動作確認済みです Swift Book にはスレッドや同期(synchronization)への言及がないからどうしたものかなと思っていたのだけど、objcにAPIをつかえば実現はできそうだ。 参考: What is the Swift equivalent to Objective-C's “@synchronized”? demo: https://github.com/gfx/Swift-MultiThreading objc_sync_enter() / objc_sync_exit() を使う これらはobjcの低レベルAPIで、@synchronized ブロックの実装のためにコンパイラが使う関数だけど、Swiftからも呼び出せる。 このままだ

    Swiftでマルチスレッド時の同期処理はどうやるのか - Qiita
  • git(1)の最初のコミットをビルドして使ってみた - Qiita

    gitが10周年ということで、gitの最初のコミットのリビジョンのソースコードをビルドして動かしてみた。最初のコミットとはつまり、最初にgitがセルフホスティングされたリビジョンということになる。 参考文献: の虫: gitの10周年を記念したLinus Torvalsへのインタビューの翻訳 commit e83c5163316f89bfbde7d9ab23ca2e25604af290 Author: Linus Torvalds <torvalds@ppc970.osdl.org> Date: Thu Apr 7 15:13:13 2005 -0700 Initial revision of "git", the information manager from hell わずか11ファイル、READMEを含めて1200行あまりのコミットだから、ビルドくらいはできるはず。 OSX 10

    git(1)の最初のコミットをビルドして使ってみた - Qiita
    kaz_hiramatsu
    kaz_hiramatsu 2015/04/09
    初期のは単なるコマンドなのか。分かりやすい
  • SwiftのPOSIX APIでcat(1)を書く - Qiita

    SwiftはPOSIX APIもわりとそのまま呼べたり、ポインタも( Unsafe とかついているので恐ろしい感じはしますが)かなりいい感じに扱えたりします(cf. Swift - UnsafePointerと上手に付き合う)。 なので、POSIXのAPIだけを使ってファイルを扱うのも簡単です。ことによるとObjective C系のAPIを使うよりも簡単かもしれません。 OSX/iOS系のツールはいままでRubyで書かれることが多かったのですが、POSIX/Foundation/Cocoaをそのまま使えてかつスクリプト言語のように使えるSwiftでコマンドラインツールを書くようになるかもしれないですね。 そいういうわけで、手始めにcat(1)を実装してみました。 #!/usr/bin/xcrun swift // スクリプト言語のようにshebangを使える! import Foundat

    SwiftのPOSIX APIでcat(1)を書く - Qiita
  • 1