こんにちは、アプリケーション共同開発部の河野(こうの)です。 今年の WWDC で Vision フレームワークが発表され、テキスト検出などの機能を簡単にアプリに組み込むことができるようになりました。 しかし、画像のここにテキストがあるよという検出はできるものの、そのテキストが何の文字なのかという文字認識の機能についてはまだサポートされていません。 近い将来 Vision フレームワークに文字認識の機能が追加されるとは思いますが、いま文字認識の機能をアプリに組み込みたい場合はどうすればいいのか。 iOS アプリ開発のプロジェクトで文字認識機能を開発する機会があり、そのときに調査したことなどをまとめたいと思います。 概要 今回、認識したい文字列は – 数字と大文字英字のみからなる文字列 – 1 行のある決まった文字数 – 特定のフォント – 文字間で前後関係を持たない文字列 というような条件
はじめに iOSのユニットテストを行うのに、標準ですとXCTestがありますが、 最近Quickと呼ばれるテストフレームワークがよく使われ出しました。 XCTestも非常に強力なテストフレームワークですが、初見であったり、他の人が記載したテストコードは中々読みづらかったりします。 QuickはXCTestと比べて見かけ上自然なので、後でメンテがやりやすいです。 実際に記事本文にSampleを載せていますので、是非体感してみてください。 今日はそんなQuickの触り部分を紹介します。 はじめに 導入 CarthageからFrameworkを導入 ProjectファイルのDefine Moduleを設定する テストコードを書く QuickSpec describe, context, it beforeSuite, beforeEach, afterEach, afterSuite expec
アプリ開発等で有名なフェンリル社にお招きいただき、「エンジニアという仕事を楽しみ続けるためのキャリア戦略」というテーマで講演させていただきました。フェンリルさんに許可をいただいたので、その講演内でつかった約60ページのスライド資料を全ページ公開します。 エンジニアを楽しみ「続ける」というところがポイントで、世の中の変化も激しいし自分も飽きたり慣れたり状況や心境が変わったりする中でどうやって楽しみ「続ける」よう工夫しているのか、というのを実体験を多く交えつつ話しています。 エンジニア、昔は楽しかったんだけど最近はどうも惰性でやってるかも、とか、若くて優秀な人にはもうかなわないなぁ、という感じの方々には共感していただける部分があるかもしれないのでぜひ見てみてください。
OutOfMemoryError (以下 OOME)が起こったときにお手上げ状態にならないためにも、 Java のメモリ管理の仕組みとか、 OOME が起こったときの調査方法とかを調べる。 環境 OS Windows 7 > java -version java version "1.8.0_74" Java(TM) SE Runtime Environment (build 1.8.0_74-b02) Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode) Java 8 で、 Oracle の JVM を前提とした話です。 Java のメモリ管理 これを知っておかないと、 OOME が起こっても、メモリ内で何が起こっていて、どこを調査すべきで、どのように対処したらいいのかが判断できない。 なので、まずは、そもそも J
追記 2019/12/05 Vue 3.0 のリリースが現実的に近づいてきて色々と事情が変わっているので、話半分に聞いておいてください。 はじめに Patreon での支援募集をはじめました。この記事が良かった!という方は、今後の情報発信のためにもぜひぜひ支援お願いします。 https://www.patreon.com/potato4d Vue.js Advent Calendar 2018 年の管理役の potato4d です。昨年に引き続き、今年も Vue.js のアドベントカレンダーは他にもたくさんあるので、ぜひ #1 から追ってみてください。 12日目の今日は、 Vue.js + TypeScript での理想的な開発環境について考えてみたいと思います。 Vue.js における TypeScript 利用はまだまだ課題が多く、型の恩恵をうけるためのテクニックも複数存在しています。
ほな、ここから、Cloud Mapの各リソースを解説していきます。 ( ゚ Д゚) イタダキマス ( つ旦O と_)_) 名前空間の作成とインスタンス検出方法の解説 AWS Cloud MapのWebコンソールにアクセスし、「名前空間の作成」ボタンをクリックします。 名前空間の作成時重要なのが、サービスインスタンスの検出方法の違い。最初にここを完全に把握しておく必要があります。 API呼び出し(API calls) サービスインスタンスの検出をAPIコールのみで実施します。具体的に利用するAPIはDiscoverInstancesで、ヘルスステータスやサービス名でのサービスインスタンス検出が可能です。 aws servicediscovery create-http-namespace --name hamako9999.com API呼び出しとVPCのDNSクエリ(API call
Gradle の dependencies で指定する compile, api, implementation についての勉強メモ。 compile は非推奨 Gradle 3.4 で Java Library Plugin が追加されたことで、 dependencies で compile を使用することは非推奨となってたらしい(runtime, testCompile, testRuntime も)。 4.7 の Java Plugin の説明では、ガッツリ Deprecated と書かれている。 (4.6 のドキュメントだと Deprecated って書いてないけど、明確に非推奨となったのは最近?) 代わりに implementation と api を使用することが推奨されている。 compile と implementation の違い compile の場合 実装 |-set
エンジニア歴17年の俺が、事業系の開発タスクをバンバン投げてくる非エンジニアに、保守の必要性を死ぬほど分かりやすく説明する。 [Ateam Lifestyle x cyma Advent Calendar 2018]の5日目は、株式会社エイチームライフスタイルの@gonjyu121が担当します。 はじめに最近のWEBサービス運営チームというと、事業運営や企画営業のチームと、エンジニアチームが一緒になって働く事が多いですよね。 そんな時、多くのエンジニアが、 「品質保持やリファクタリング、改善系のissue(タスク)の優先度がなかなか上がらず、着手できない・・・・・・」 といった悩みを抱えがちです。これなんですが、非エンジニアの皆さんからすると、 「エンジニアがすごいのは分かるんだけど、何をやってるか、なんでこんな時間がかかるのか、正直分からないんだよなー」 と思っていたりします。こんな話、
最近元気がありませんm(><)m こんにちはTOSHです。 今回は、アプリ開発の基本でもある画面遷移について紹介していこうと思います! 基本的な遷移の方法 Xcodeで画面遷移(アプリ内で画面を移動すること)際には、segueでボタンとパーツをつなげるのが一般的だと思います(下記参照)。 この方法は最も一般的で便利であるとは思いますが、例えば パスコードを入力して画面遷移をしたい 何回タップしたら遷移するといった 場合ではこのような方法では実装できないのでまた別の方法で実装する必要があります。 コードを使った画面遷移(2通り) viewControllerとviewController同士をsegueでつなぎ、そのsegueを遷移したいタイミングで呼び出す(TypeA) 遷移したいviewController自体に名前、識別IDをつけて遷移したいタイミングでviewControllerその
Amazon Web Services ブログ [AWS Black Belt Online Seminar] AWS re:Invent 2018 アップデート速報 資料及び QA 公開 先日 (2018/11/30) 開催しました AWS Black Belt Online Seminar「AWS re:Invent 2018 アップデート速報」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報 AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. Transit Gatewayが出たことによってvpc peeringは不要になりますか? A. 不要にはなりません。Transit Gate
自己紹介 元インフラエンジニアで6月からモバイルアプリ開発者として働いています。 それまでSwiftは独学でやっていたのですが、業務やっている中でコードでUIを作成する際にビギナー向けにまとまっているサイトが少ないなと思ったのでまとめます。 目標 storyboardを使わない AutoLayoutでレイアウト調整する なるべくハードコードしない なるべく共通化する 以下のような簡単なログイン画面を作成する Version Swift: 4.1 xcode: 9.4 目次 初期設定 UIパーツを設定 UIパーツを画面に表示させる AutoLayoutでレイアウトを指定する (補足) UIパーツを拡張する マジックナンバーは変数で管理する R.swiftを使う ボタンをタップした際の処理 初期設定 プロジェクトからstoryboardファイルを削除 [Target]→[General]→[D
アプリを作ってて、出来上がりの画面を共有することが多いと思うのですが、いくつか普段使っている方法の紹介 環境はOSX 10.10, Xcode6 です。 シミュレータのスクリーンショット メニューバーのFile以下に Save Screen Shot があります。 あるいは、シミュレータを起動しながら ⌘ + S 保存されるファイルパスは のような感じ。 Macでスクリーンショットを撮る OSXにもスクリーンショットを撮るショートカットがあります。 ⌘ + shift + 4 を押すとカーソルが変わり、スクリーンショットを撮りたい位置からドラッグすると下図のように範囲を指定できます。 離すと撮影、escを押すとキャンセルです。 ⌘ + shift + 4を押した後にspaceを押すとウィンドウを撮影できます。 保存されるディレクトリは、デフォルトではデスクトップです。defaultsコマン
"Unlearn"という言葉は、どれだけの人にとって馴染みのあるものだろうか。 僕はこの言葉に、学生時代に出会っている。教育学系の大学院にいたので、自分自身の研究テーマとは離れているものの、「学び」とは何かというような議論にも接することがあった。その中で、「Unlearn=学びほぐし」という言葉遣いがなされていたことを記憶していた。 今年になってから、この言葉に複数回接することがあり、少しこのUnlearnについて調べてみた。この記事では、この辺りの経緯と途中経過としてまとめておく。問題意識に導かれることも、学術的に網羅性を考慮して調査をしたわけではないので、あくまで覚書である。 日本のアジャイルの文脈でのUnlearnとの再会 野中郁次郎と竹内弘高におけるUnlearn 鶴見俊輔の「まなびほぐし」 一般的な英単語としてのUnlearn 終わりに 参考文献 日本のアジャイルの文脈でのUnl
はじめに こんにちは。 最近生後7ヶ月の娘を見た人から「眉毛が垂れててお父さんそっくりですね〜」と言われるのが定番になっている加藤です。 さて、今回はSwiftのDIフレームワークであるSwinjectの話です。 DIとは DIはDependency Injectionの略で、日本語では「依存性の注入」と訳されます。 「DIとは何か」を説明した記事は山ほどありますが、ここでは一番端的に表現している記事を見つけたので引用します。 “依存性注入とはインスタンス変数にオブジェクトを与えるということです。本当にただそれだけです。” - James Shore Swiftにおける現実的なモックより引用。 つまり、あるオブジェクトが依存しているオブジェクトを外から渡してあげることを意味します。 依存しているオブジェクトを中で作らずに外から渡してあげることで、オブジェクト同士を柔軟に組み合わせることが可
AWS News Blog New – CloudFormation Drift Detection AWS CloudFormation supports you in your efforts to implement Infrastructure as Code (IaC). You can use a template to define the desired AWS resource configuration, and then use it to launch a CloudFormation stack. The stack contains the set of resources defined in the template, configured as specified. When you need to make a change to the configu
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く