サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
yuseinishiyama.com
2022年5月23日2年9ヶ月勤めたSoundCloud1を退職し、先月からShopifyでSRE2として働いている。しばらくこのままベルリンにいるが、この夏にカナダに引越す予定だ。日本、イギリス、ドイツを経て、これでいよいよ4カ国目となる。そろそろ安住の地を決めたいところだ。 転職の動機は色々あるが、ベルリンを早々に去ろうと思ったのが最初のきっかけだった。本題から外れてしまうので詳細は省くが、端的に言うと、言葉と文化の壁、住宅事情からのちょっとしたストレスの積み重ねが原因だ。 そういうわけで、昨年末から英語圏か日本に引越すことを前提に職を探しはじめたのだが、時を同じくしてリクルーター3からの連絡が頻繁に来るようになった4。Shopifyはその中の一つで、前職、前前職の同僚も働いていて良い印象を持っていたので、選考を受けることにした。結果、満足のいくオファーをもらい、選考の体験も良かったの
2020年12月22日以前の記事にあるように、かれこれ8年くらいやっていたiOS開発を一旦離れてフルタイムのSREに転向するという決断をした。それから約半年が経ったので、ここまでどのようなことをやったか振り返ってみる。まだまだ経験の浅い分野なので語彙に厳密性が欠けているかもしれない。 やったことKubernetesやはりこれを触ることが一番多い。弊社ではマルチテナントのクラスタが5つあり、うち2つがDCで、3つがAWS上で動いている。アプリケーション開発者やCI/CDパイプラインはGoで書かれた内製のコマンドラインツールを通じてクラスタとインタラクトする。つまり、開発者向けに新機能のサポートする度に、このツールのインターフェースを拡張することになる。 StatefulSets/Cephそうした中でもステートフルなアプリケーションのサポートが一番目立った変更だった。マネージドのサービスをほと
2020年6月1日追記:私はいわゆる「純ジャパ」の「文系エンジニア」だが、どちらの言葉もあまり好きではない。タイトルはこれらの言葉の普及を皮肉ったものだ。 エンジニアを狙った悪質な情報商材が増えているようだ。皆様にも用心していただきたい。 はじめに日本人は英語ができないとよく言われるが、本当だろうか。ヨーロッパで数年勤めた今、残念ながらこれは事実として認めざるを得ない。度々挙がる「TOEIC900点論争」などを見ても明らかなように、海外で要求される語学力は国内での一般的な理解と乖離している。経済的競争力があった親世代の駐在員とは違い、我々の多くは現地の従業員と対等な立場で仕事をすることになる。 高い人事評価を得るには、仕事の対象を個人<チーム<チーム横断<組織全体<業界全体というように拡大していく必要があり、これには高度な言語能力が不可欠である。20代に技術一本で海外を渡り歩いたが、気づけ
2020年5月10日昨年7月にiOS EngineerとしてSoundCloudに入社したが、今年の4月からは同社でSREをしている。 モバイルエンジニアのキャリアSoftware Engineerになって約8年、基本的にはずっとiOS Developerを名乗ってきた。そこそこ真面目にやった甲斐もあり、国内外のカンファレンスで登壇したり、書籍を執筆したり、それなりの規模のプロジェクトでTech Leadをする機会に恵まれた。 その一方で、長らく水平方向にスキルを伸ばしたいという思惑があり、伸びそうなSRE・ML・セキュリティといった分野を検討していた。その中でも特にSREがしっくりきたので、少し前からインフラ関連技術のキャッチアップをはじめていた。 本音としては「モバイルのキャッチアップにかけるコストを最低限におさえて別のスキルを伸ばしたい」と思っていた自分にとってこの数年のiOS開発環
2019年12月17日Cookpad(イギリス支社)を6月に退職し、7月からベルリンに移りSoundCloudで働いている。 日本を離れてから3年が経つ。何かしらの形で情報発信しないと日本での人間関係が文字通りゼロになってしまいそうなので近況を綴ることにした。ついでに、誰かの参考になれば尚嬉しい。 誰?2014年にCookpad入社。直後からiOS Tech Leadとして海外事業の立ち上げに従事し、2017年からは海外事業の拠点であるイギリスに出向。2019年7月にドイツに移りSoundCloud入社、現在に至る。『Swift実践入門』の著者の一人。 前職のことについてあまり言及しないが、端的に言うと素晴らしい職場だった。優秀なメンバーと刺激的なプロジェクトから多くを学んだ。こうして新しい挑戦ができるのも前職で成長する機会に恵まれたからに他ならない。日本・海外共に積極採用しているはずなの
当サイトでは西山勇世が、テクノロジー、音楽、哲学に関する記事を公開しています。 最新の投稿2024年2月12日 iPhoneを能動的に使う2024年2月10日 資本主義道徳2023年12月3日 モチベーションのソフトウェア2023年10月27日 フィクションの存在意義2023年10月17日 現実主義と正当化略歴ソフトウェアエンジニア。日本、イギリス、ドイツを経て、現在はカナダにてShopify Inc.に所属。大学では哲学を専攻するも、論理学をきっかけに計算機科学に興味を持ちプログラマを志す。文理の垣根を超えた芸術、哲学、科学の関連性に関心がある。 執筆Swift実践入門(共著、石川洋資・西山勇世)A Happy New EmployeeContinuous iOS App Delivery登壇Continuous Mobile App Delivery, MobOS, Cluj-Napo
2014年9月22日『12ステップで作る組込みOS自作入門』という本を読んだので、その内容や感想について書いてみる。 動機ウェアラブル時代に備えて勝手な予想ではあるが、これからウェアラブル端末向けアプリケーションの需要が高まるとすれば、それはすなわち計算資源の少ない環境での開発が避けられないということではないかと思う。そうすると、アプリケーション開発者も低レイヤの知識を身につけておいて損はないのではないかと考えている。 モバイルソフトウェアの限界を感じてなんとなくソフトウェアだけで問題が解決できそうな時代ではなくなってきた気がして不安を感じている。もし本当にハードウェア・スタートアップとかが台頭してきて、一山当てる時代とかになったら対応できないとまずそうだ。(モバイルソフトウェア開発自体に価値がないということではない。「アプリとか誰でも作れる。そのうち無くなる仕事。」みたいなニュアンスの語
2013年6月13日現在動画編集アプリを作っている。 動画にエフェクトとかBGMとかなんやらの設定をしていくわけだが、 画面上部にプレビュー画面を持ち、その下に編集用のOutletがいくつか存在するような見た目のViewControllerがNavigationControllerでいくつか続いていくというような作りだ。 ここで奇妙な問題が発生した。 MPMoviePlayerControllerを使用して、動画を再生しようとしたところ こんなエラーがでた。デコードできない?動画の形式が悪いのだろうか? だが、試しにそのViewControllerだけにして実行してみたところ問題なく再生できた。 ということは、特定のコンテキストにおいてのみデコードが失敗するわけだ。 先日の記事にもある通り、いざ実装を始めると全く予期しないところで躓くことが多々ある。 特にこういうロジックの問題でない箇所は
2013年9月16日開発者であれば、ユーザーには自分の開発したアプリの最新版を使ってほしいと思うだろう。また、ユーザーのアプリバージョンにばらつきがないことは、ビジネス面のメリットも大きい。仕事として開発を行っている人であれば、「アプリのアップデートが行われた場合に通知する機能」の実装を要求されたことは多々あるだろう。 そこで今回は、 アプリの最新版を取得し、ユーザーが利用しているアプリが最新版より古ければ通知する機能 の実装方法を紹介する。 さて、まず考えなくてはいけないのは、どこからアプリの最新版を取得するか、ということである。これにはおおまかに言って、2通りの方法がある。「1.自前のサーバを利用する方法」、と「2.AppleのAPIを利用する方法」の2つだ。どちらが適切な方法であるか比較するために、それぞれのメリット、デメリットを挙げてみた。 1.自前のサーバを利用する方法 メリット
2014-02-12(水) | -- (permalink) 概要 この2月からadvertisingIdentifierの利用方法が原因でリジェクトされるケースが大量に発生しているようだ。自分自身でadvertisingIDを利用するコードを書いている人はあまりいないであろうが、UDIDが利用できなくなった現在、効果測定を行うSDKの大半がトラッキングのためにこのIDを利用している。そして、このadvertisingIDの利用方法がリジェクトされてしまう原因であるようだ。 ちなみにリジェクトされるとこのようなメッセージがくる。 PLA 3.3.12 We found your app uses the iOS Advertising Identifier but does not include ad functionality. This does not comply with th
2013年9月6日Unityでスクリーンショットを撮るのは非常に簡単である。 Application.CaptureScreenshotという関数が用意されているからだ。 だが、この方法ではアプリのデータ領域に画像が保存されるだけなので、ユーザーが、その画像を閲覧できるようにはならない。アプリ内で画像を管理できるようにしてもいいかもしれないが、スクリーンショットを確認したいだけなのであれば、そこまでする必要はないだろう。 そこで今回は、UnityからiOSのカメラロールにアクセスする方法を紹介する。 #import <Foundation/Foundation.h> #import <AssetsLibrary/AssetsLibrary.h> #import <AVFoundation/AVFoundation.h> /* スクリーンショット撮影時に利用するネイティブコード。 */ //
2013年12月24日(この投稿はQiitaのiOS Second Stage Advent Calendar 2013の25日目の記事です) もはや非常に一般的となった、CIDetectorによる顔検出。 ただ、よく見るサンプルはほとんどカメラの入力に対するリアルタイム検出ばかりだったので、 試しに動画に対して顔を検出するサンプルを作成してみた。 https://github.com/yuseinishiyama/VideoFaceDetection CIDetectorとAVAssetReaderを組み合わせるだけで簡単にできる。 VFDVideoFaceDetector.h :::objective-c #import <Foundation/Foundation.h> typedef void(^VFDVideoReaderCompletionHandler)(NSArray *a
#import "VFDVideoFaceDetector.h" #import <AVFoundation/AVFoundation.h> @interface VFDVideoFaceDetector () @property (nonatomic, copy) VFDVideoReaderCompletionHandler completionHandler; @end @implementation VFDVideoFaceDetector { AVAsset *_asset; CIDetector *_detector; NSMutableArray *_allFeatures; } - (id)init { if (self = [super init]) { _allFeatures = [NSMutableArray arrayWithCapacity:0]; } retu
このページを最初にブックマークしてみませんか?
『yuseinishiyama.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く