フリーランスになってから日々あったことを記載していきます。

2017年12月28日木曜日

RT-AC87UでNAS機能を利用してみた。

家族写真を撮る機会が増えて、写真をPCに保存しているのですがHDDの容量が足りなくなってきました。

どうせHDDを買うなら、気軽に家族が見れるようにとNASを導入しようと思いいろいろ情報を調べていると。。。

なんと自分が使っているルーターにNAS機能がついていることが判明!!!
そんでもって試してみました。

私が持っているルーターは ASUSTekのRT-AC87Uです。これは買ってよかったです。
今の時代、CPUやSSDもそうですがネットワーク速度も重要なので2年ぐらい前に思い切って買いました。


ルーターにつなげる外付けHDDはIO-DATAです。アマゾンで探したらこれがトップに来たので特に考えず選びました。4TBが1.3万円とは。昔と比べると遥かに安い。。。


このHDDは出荷時のフォーマットがNTFSなのですが何もせずにルーターとUSB3.0でつなげることができます。なんでもRT-AC87Uがいろんなフォーマットに対応してくれているみたいです。FAT32だと1ファイル2GBとかの制限があるらしいので今後、家族の動画を入れる際に変な制限がかかるのは嫌なのでNTFSで接続できて良かったです。

そんでもってルーターの設定は、、、

USBアプリケーションを選択し、UPnPメディアサーバーをONにする。
私の場合は、メディアサーバー名も変更しました。



Samba共有のタブをクリックして中にある設定をONにしていきます。
ゲストアクセスはONにするのは危険ですが簡単にできるので今回はこれでやってみました。
デバイス名も自分の好きなものに変更できます。
ワークグループはWindowを主に使っているならそのままでいいと思います。

とりあえずこの設定をすればPCから今回つなげたHDDに写真をアップすることができました。
そして、アップした写真をPS4のメディアプレイヤー機能を使ってスライドショーが動くことを確認しました!!!

うーん。簡単すぎる。セキュリティは後で調整しよう。

とりあえず。お手軽にNASが作れました。

ちなみにPCからルータにつないだHDDへの転送速度は平均200Mbps程でした。

意外と早いので、写真だけでなくPCのバックアップとして暗号化したデータを置いてもいいかも。

2017年11月29日水曜日

ASRock H87 Performanceがやっと32GB認識した!

私のPCはASRock H87 Performanceというマザーボードを使っています。



おおむね満足なのですが、不満点としてなぜかメモリが16GBしか認識しない。。。

昔、メモリを買って32GBを試してみたんですが、シングルチャンネルの16GBしか認識しませんでした。

最近、ゲーム実況をやろうと考えてPremiere Proを入れたのですが、chromeと同時起動している状態だとメモリがギリギリでした。
動画編集にはやはりメモリが大量に必要なので、再び32GBにチャレンジすることにしました。

今回も新たにメモリも購入!

でやってみると最初はやはり16GBしか認識しませんでした。。。が!!!

あきらめずにいろいろ手探り試しているとなぜかできるようになりました!

何が効いているのかわかりませんが、私がやって手順は下記となります。
  1. メモリは4スロットありますが、始めはメモリを2つだけ刺してデュアルチャンネルでPCを起動する。(メモリスロットに注意。マニュアルを読んでデュアルチャンネルで動くスロットに刺しましょう)
  2. UEFI画面にメモリの設定があるのですが自動ではなく、刺したメモリに合わせてDDR3-1600する。(すいません。項目名忘れました。)
  3. 電源を消して、空いているスロットに全部のメモリを刺す。
  4. PCを起動する。
そうするとなぜか32GB認識しました!

正直、なぜできたのかが不思議です。最初のデュアルチャンネルを認識させたのがいいのかUEFIでメモリの種類を固定にしたのか。。。

まぁ、動けばいいです!あとは日ごろ使って安定して動くことを願っています。

2017年11月26日日曜日

いまさらペイント3D!

今日は久しぶりに暇だったのでペイント3Dやってみました。
(本当はいろいろ考えてやらないといけないこと山積みだけどさぼってる。)

元の3Dの素材はPolyというGoogleのサイトからカンガルーをダウンロードしました。





















それを3D Builderに読み込ませてテクスチャを変更しました。











でもって3Dペイントでぬりぬりすれば完成です。
これは何もしてないですけど。













昔はShadeっていう有料のソフトを買えばこういうのが作れたんですが、今は何も買わないでこれだけ作れる時代になりましたね。
こういうデザイン関係の世界もかなり進んでいるんですね。

2017年11月21日火曜日

WindowsとMacを両方使うためにキーボードとマウスを変えました!

メインのWindowsマシンとiMoveで編集するためのMac miniがあるのですが、

狭い机の上に
Windows用のキーボードとマウス、
Mac mini用のキーボードとマウス
を置くとどう考えてもスペースが足りない!

そんなわけでこれを買いました!



買った理由は、Flowと呼ばれる機能を使ってキーボードとマウスを1台ずつにしようとする作戦です!

手順は

  1. WindowsにLogicool Optionsをインストール。
  2. Windowsにキーボードとマウスを接続。(1番を割り当てる)
  3. Mac miniにLogicool Optionsをインストール。
  4. Mac miniにキーボードとマウスを接続。(2番を割り当てる)
  5. WindowsとMac miniのLogicool Optionsを起動しマウスを選択するとFlowを有効箇所があるのでそれを選択
  6. Logicool OptionsのFlowの画面でリンクキーボードをCraft Advanced Keyboardに変更する。
って感じです。


が。。。自分の環境だと最初はFlowが使えませんでした!???

いろいろ悪戦苦闘した結果、原因はHyper-Vでした。

Hyper-Vを使うとネットワークアダプタが追加されそれが悪さしているみたいでした。

Hyper-Vをアンインストールし再起動後、Flowを有効かするとするとあっけなくWindowsとMac miniを行き来することができました。

試しにYoutubeにあげる動画(サイズ約4GB)をWindowsからMac miniへコピー&ペーストするとちゃんとMac miniにコピーされました。

とりあえず机のスペースが広くなってよかったです!
ファイルのコピーも簡単にできるし、キーボードも打ちやすいです。

もっと早く買っておけばよかった!

2017年11月15日水曜日

ゲーム実況はMinecraftから始めることにしましたorz

本当はニンテンドースイッチのゲームから始めたかったのですが、、、

理由はこれ
  1. Nintendo Creators Programに参加するには、あらかじめYouTube パートナー プログラムに参加完了している必要があります。詳しくはこちらの申請要件をご確認ください。
なるほど、、、

まだ動画一本も上げてないから無理じゃん!

というわけでMinecraftにします。

Minecraftがどんなものかやってみましたが難しいですね!!!

Youtuberの人たちがどれだけ上手いかわかりました。

初心者なのでちまちまとやっていこうと思います。

2017年11月14日火曜日

ゲーム実況を始めようと思います。

個人事業主になったのですが、サラリーマン時代と同じこと(SES)をしています

何か新しいことをしたいと思いながら日々を過ごしていたのですが、

ゲーム実況をしようと思います。

きっかけは、ニンテンドースイッチが手に入ったことwww

先々週の土曜日に名古屋のビックカメラに開店と同時に行ったら、ニンテンドースイッチが緊急入荷という札があったのでついつい無理して買ってしまいましたwww

ソフトはスーパーマリオ オデッセイゼルダの伝説 ブレス オブ ザ ワイルドです。

そんでもってゲーム配信について調べたところキャプチャボードも購入。


実際にやってみたところバッチリ録画できていました。

ちなみにゲーム配信では著作権に気を使う必要があるので、

Nintendo Creators Programにも加入しました。

とりあえずスーパーマリオ オデッセイの動画を取って編集してみようかと思います。

初めてだらけなのでほかのYouTuberには敵わないですがやってみようと思います。

2017年11月10日金曜日

初めての確定申告の準備(freeeでやってます)

freeeで初めての確定申告をするために準備してました。

なんで準備していたかというと、、、

所得税を払うためにどれだけお金を持っていないか分からないので調べていたのです。
(結局分からなかったけど。)

準備でfreeeからいろいろ警告が出てました。
出てた警告はこれ。

  • "口座:現金"がマイナス
  • 口座の残高が不一致
でした。

解決方法を記載します。

"口座:現金"がマイナス

現金がマイナスは、手動で登録したもの口座がすべて"口座:現金"になっていたこと。

私の場合は、銀行口座から現金を財布に入れるとき"プライベートの出金"にしているので、

freeeの口座では"口座:現金"が0のままになっている。

だけど、財布から本などを買ったときに登録する口座は"口座:現金"にしてしまっていた。

そりゃ、マイナスになるよね。

そんなわけで30分かけて、口座を"口座:プライベート資金"にすると"口座:現金"が一致しました。

一致したといっても0円ですが。

口座の残高が不一致

原因は、口座振替。。。

私の場合は、売り上げの入金はA銀行、出金はB、C銀行にしています。

本当は出金も一つにしたいけどいろいろ手続きがめんどくさいのでそのまま。

解決方法はfreeeのヘルプを見てください。

分かりやすいです。

口座のタイムラインというものを見れば口座の残高が一致しているかわかります。



というわけで不一致はなくなりました。

あとは来年の1月1日まで待たないといけないですね。



2017年11月7日火曜日

PixelBookが欲しいんだけど。お金はないが余ったノートパソコンならある!

そんなわけでPixelBookが欲しいのですが、

まず日本向けに売っていません。

価格も999$なので10万以上ですか。。。

高いなぁ。。。

あきらめるかと思いましたが、Chrome OSだけでも落ちてないかと探してたらありました。

といってもChromium OSと言いますが。

ネットを検索したらインストール方法が詳しく乗っているので探してみてください。

簡単な手順を書きます。
  1. 余ったノートPCからソフトのアンインストール&データのバックアップ
  2. Chromium OSのインストールメディアの作成
    1. Chromium OSのダウンロード(DailyのCamd64OS-20171104010101.img.7zをダウンロードしました。Windowsを入れていたマシンだとCamd64OSが対象です。)
    2. 7Zipの解凍
    3. 解凍したファイルでインストールメディアを作成(USBメモリで作成しましたが正直DVDとかで作成した方がいいと思います。USBメモリがおかしくなります。)
  3. ノートPCをインストールメディアを刺して起動する(BIOSなどに注意。最初に起動するものがHDDやSSDだとインストールメディアが起動しません。)
  4. Chromium OSにログイン
  5. Chromium OSのタブでCtrl + ALT + Tでターミナルを起動する
  6. ターミナルで"install /dev/sda"と入れるとHDDまたはSSDにインストールされる
  7. ノートPCを再起動。インストールメディアは抜きます。
  8. またChromium OSにログイン
といった流れになります。


入れたのはいいですが起動はそんなに早くないです。

10秒ぐらいでしょうか?

Windows10よりは早いのは間違いないですが。

外出先でこのノートPCを使ってみたいと思います。

2017年11月2日木曜日

Xamarin試しにやっています。

サーバーはPython。

クライアントはとなると現在、Xamarinを考えています。

ということで「Xamarinネイティブによるモバイルアプリ開発 C#によるAndroid/iOS UI制御の基礎」を買いました。

 
途中の本は、さらっと読んでChapter5のMVVMCrossを実際にやっているのですが躓きました。

といっても環境はMacですけど。

5-2でプロジェクトの新規作成でプロジェクト名が「MvxApp」としていますが、それだとAndoridやiOSのビルドが通らないorz

ネットで検索しても出てこないので、プロジェクト名を「MvxApp.Core」、ソリューション名を「MvxApp」(.Coreなし)にしたら出来ました。

Macだと後から名前を変えても通らないので注意してください。

2017年10月27日金曜日

AnacodaでJupyter環境が簡単にできた!

最近はやりのPythonを勉強するときに検索するといつも目に付くのは、

  • Anaconda
  • Jupyter
の二つです。

AnacondaはPythonにあるいろいろなライブラリも一緒に入れてくれるので、
簡単にPythonを始めることができます。

で、問題はJupyterです。

正直、JupyterはなくてもPythonプログラムは動くのですが、

はやりなので使ってみたいwwwということでコマンドプロンプトで設定して

動くようにしていたのですが設定するのがめんどくさかった。

それを簡単にインストールするツールを初めて知った(今頃ですが)

その方法を下記に記載していきます。

①プログラムの「Anaconda Navigator」をクリックします。

②Application on のコンボボックスで環境を選択。
③選択した環境でJupyterをInstallする。

 ④Installしたら文字がLaunchを選択するとJupyterが開きます!

簡単にインストールできて感動しました。

ちなみにインストールすると、プログラムにも追加できるのでここからも起動できます。


いやーーー、これでPythonの勉強がはかどりそうですね!

近々始めようと思います。

2017年10月26日木曜日

noteというWEBサービスに登録してみた。

noteというWEBサービスに登録してみました。







見た感じ簡単にブログを作れるサービスのようです。

会員には二種類あります。

  • 無料
  • プレミアム 月額500円
私はとりあえず無料に入りました。

プレミアム会員になるといろいろできるようになるみたいです。

私がいいなと思ったのはコンテンツを有料で販売できるところです。

自分でそういうの仕組みを作るのは大変ですからね。

◎販売単位
  • ノート
    • 買い切り
  • マガジン(複数のノートをまとめたもの)
    • 買い切り
    • 定期継続(自動継続)
◎販売価格:ノート、マガジンともに100円から10000円まで(プレミアム会員だと50000円までいけます)


とりあえず、井上純一さんの「キミのお金はどこに消えるのか」の3話(100円)と4話(100円)を買いました。

ノート行っていますが、普通のブログみたいで上からスクロールするだけです。

もう一つ見つけたのが「アプリマーケティング研究所」でした。

最近はマーケティングに興味を持っているのでフォローしてみました。

何か見てみようかなと思ったんですが、アプリマーケティング研究所の1ノートが高い!

1ノート500円でちょっとやそっとで買えない。

ノートを何個かまとめたマガジンという形式でも買えるみたいですが、それが2000円。。。

1冊の本としてみれば安いのかそれとも。。。

本ならさっと買えるのにWEBサービスの記事だと買えない。

なんか心理的障壁を感じます。

そういう心理的なものは、新しいサービスにはよくあるものかもしれないですね。

2017年10月25日水曜日

笑えるウェブマーケティング本2wwww

前作の「沈黙のWebマーケティング −Webマーケッター ボーンの逆襲− ディレクターズ・エディション」が面白かったので続編を買ってしまいました。

それがこのの本です。



相変わらず面白すぎますwww

ただ、勉強になりますね。

SEOを意識していろいろライティングを書かないといけないらしいです。

前回のセミナーでもホームページを作っておりあるワードだと1位に表示されるらしいです。

そうでもしないと儲からないということでしょうか?

ニッチなところ(敵がいないところ)かつSEOで1位を取るのは難しそうですよね。

でも身近にそれができている人がいるので自分も頑張ってみようと思います。

2017年10月24日火曜日

笑えるWEBマーケティング本wwww

敵がいないところを探すためにマーケティングの本を探していたのですが、

その中で目を引く表紙があったので買ってみました!

それが下記の本です。



読んでみけど笑えるwwww

ハードボイルドギャグって感じですが読みやすいのです。

学べる要素としては

  • SEO
  • WEBデザイン
  • WEBライティング
  • WOT
  • コンテンツSEO
  • コンテンツマーケティング
  • ソーシャルメディア
みたいです。(目次からそれらしいものをリスト化しました。)

これを読んで、樂実舎のホームページを変えてみようかな。

2017年10月23日月曜日

土曜日にセミナーがありました。

内容は簡単にだけど。。。

  • 元ITエンジニア⇒現在は農家
  • 有機野菜を作っているらしい
  • もう10年やっていて儲かってきているらしい
  • 生産性を上げて週休3日を実現しているらしい
  • 長いことやれば必ずファンがついてくる!
  • ホームページは重要。

で一番重要なことは。。。

敵がいないところで勝負する!

だそうです。

農家なのですでに敵はいるけど、ニッチを攻めれば必ず敵がいないところがある。

そこを攻めて長く続けば生活できるような収入は得られるらしい。

正直、長く続けるのはしんどい。

たとえばこのブログも1か月ほど休んでしまった。

セミナーの刺激を受けたのでできるだけ更新していけるようにしていきたい。

2017年9月27日水曜日

フリーランスから脱皮するには。

フリーランスになったものの結局はSIerに所属しています。

そこから脱却するにはと考えていたら下記の本を見つけました。



読んでいる途中ですが、気になったのはピラミッドの上に進むか横にそれるかの話。

上に進むかというのは、SIerとして自分で独自に受注する。
横に進むというのは、AIやIoTなどで独自パッケージを作るって売る。

という話を読んで私は真っ先に、横に進むと思いました。

ただ、3年から5年のスパンを考えないといけないみたいorz

しばらくはSIerのフリーランスを続けるしかないのかなぁ。

2017年9月25日月曜日

AmazonBusinessに加入した。

今日、AmazonBusinessに加入しました。

入り方は簡単でした。

  1. AmazonBusinessでアカウントを作る
  2. 開業届を提出する(紙で会ったものを1つのPDFファイルにしました)
  3. AmazonBusinessからメールが来るのを待つ。

AmazonBusinessを始めた理由は、法人価格で安く買えるものがあると記事を読んだからです。

しかし、自分が欲しいと思ったものは値段は変わりませんでした。

法人相手なので大量に購入した時などは安くなるんでしょうね。

まぁ、良いこともあります。

いままで個人のメールアドレスで買っていたものが、

会社のメールアドレスで買えるようになるのはいいことです。

管理がしやすくなっていいですね。

まだ始まったばかりなので、これからに期待です!

2017年9月22日金曜日

経済に興味がある。

デフレ時代で働いてきた私にとって、経済状況はとても重要です。

たまに経済関連の本を読んでいますが、

正直、信用できる人とできない人がはっきりしています。

私が経済の話で信用できる人は、高橋洋一さんで今は下記の本を読んでいます。



本の中でも書いていますが、GDPとかは個人が知る必要なんてないのです。

自分の置かれている環境で儲かるか儲からないかが重要です。

でも、選挙で変な政治家を選ぶと自分の置かれている環境に影響が出てきます。

そう考えるとやっぱり最低限知っておくべき経済の知識があるはずです。

そういう意味で、信用できる人の経済本を読んで定期的に思い出す必要があると思います。

2017年9月20日水曜日

百姓貴族を読んでたら農業に興味を持った。

土日の休みに久しぶりにマンガを読んでみたのですが、

読んだのが下記の百姓貴族!



学生時代にガンガンで鋼の錬金術師を読んでいたので絵が懐かしいなと感じながら読んでみました。

それで農業高校では農業経営という科目があるらしく、

工業高校の情報技術科を卒業した自分には経営を勉強するタイミングはなかったので、

早くに経営を勉強できるのをうらやましく思いました。

そんでもって、農業経営の本を今読んでいます。


なかなかおもしろいです。

自分も個人事業主なのでIT企業と同じ土俵で戦うと勝てないでしょうけど、

別の業種に行けば勝てるかもしれないと感じました。

今年は終わっているようなので、来年著者の農園に行ってみたいと思います!

2017年9月18日月曜日

ネタが見つからない。

最近、ブログを休みがちでしたがネタが見つかりませんでした。

といってもやろうと思えばいろいろあるのですが

手を出すと大変なので躊躇しているといった部分もあります。

メインの仕事にあまり影響しないようなことを探すと本を読むぐらいが

一番楽なんですよね。。。

でもそれだとあまり意味がないのでちょっとどうするか考えます。

2017年9月16日土曜日

Googleの"バックアップと同期"にして大正解!

OneDriveからGoogleの"バックアップと同期"にして大正解!でした。

まず、前回も書いたアップロードが楽。

楽というかフォルダを指定しただけです。

それで231GBがGoogleにバックアップされました。

そして面白いのがGoogleフォトのアシスタント。

写真や動画をアップロードするとGoogleフォトのアシスタントがいろいろ作ってくれます。

  • アルバム・・・ある1日をまとめてくれます。
  • アニメーション・・・写真をつなげてアニメーションGIFのようなものを作ります。
  • ムービー・・・アニメーションに近いけど、時間も長くBGMもついてきます。
  • コラージュ・・・写真をタイル状にして1枚の写真を作ります。

自分の場合、230GBも一気に上げたのですごい勢いで作ってくれましたw

正直、もうバックアップはGoogleにお任せします。

2017年9月14日木曜日

OneDriveからGoogle の"バックアップと同期”に乗り換えようかな。

仕事で必要なのでoffice 365 soloに契約しています。

そうすると1TB分、OneDriveに保存することができます。

それでいままで写真のバックアップを取っていたのですが、

上げるのがめんどくさかった。

●方法1.PC上のOneDriveにファイルを格納する。

これはまず、SSDなので容量があまりありません。

そこに何十GBのファイル群を常駐させることは得策ではありませんというかおけません。

●方法2.OneDriveアプリ

まず、マイクロソフトのストアにあるOneDriveアプリの動作が不安定すぎる。

写真になるので32GBのSDカード丸ごと保存しないといけません。

まともに動作することはありませんでした。

●方法3.Edgeブラウザに直接フォルダごと上げる。

この方法でいままで上げてきたのですが。。。

ファイルを上げ切った後はEdgeがまともに動かなくなります。

最悪は、いままで開いていたページや履歴が消えてしまいますorz

☆彡これからは。。。

いままで苦労していたのが、Googleの"バックアップと同期"で変わります。

クライアントアプリで同期したいフォルダを選ぶだけ。。。

これでファイルがGoogle Driveに移行されます!

楽ちんです。

ファイルが1GBとかなら全然、OneDriveのままだったんだろうけど、もう駄目でした。

今までの写真サイズを確認したら230GBありました。

家族の写真にどんだけ取ってんだって気もしますが、これからもどんどん増えそうです!

そしたら運用が簡単なものがいいですよね!

2017年9月13日水曜日

飲み会がありました。

昔、参加していたプロジェクトで飲み会があったので参加しました。

皆楽しそうで何よりでした。

結構、年月が経っているのでプライベートではいいこともあったみたいで

うれしかったです。

また、一緒にやれたらいいと思いました。

という感想文です。

まだ酔っぱらっているのでこの辺で。

2017年9月12日火曜日

4Kディスプレイをどう使っていいかわからないorz

4Kディスプレイ買ったのはいいんですが、、、

どう使いましょう?

左上にYouTube。

右上にChromeのユーザー1。

右下にChromeのユーザー2。

左下が埋まらない!!!

もっと言えば、仮想デスクトップを使って分けたい気がする。

でもそもそも何するの?

。。。

なんか贅沢な悩みになってきた。

元々はデュアルディスプレイで首を左右に振るのがめんどくさいから

大きくしたんだけど。。。

それが解決しただけでもよしとするか。

使っていけば何かわかるかも。

しばらく使っていきたいと思います。

2017年9月11日月曜日

4Kディスプレイ50インチはデカ過ぎた。

50インチの4Kディスプレイですが。。。

いいです!!!

ただ、置く場所は注意ですね。

アマゾンでは評価が分かれているようですが、普通に使えてます。

ウルトラワイドディスプレイ買わなくてよかったです。

2017年9月10日日曜日

4Kディスプレイ来ました!

とりあえず来ました。

セットアップ中です。

ただ、、、

大きすぎて首が痛い気もする。

配置を考えないとやばいかも。。。

2017年9月9日土曜日

4Kディスプレイを買おうと思います。

本日、エディオンや大須にあるお店を巡ってきたのですが、

4Kディスプレイを買おうと思います!

で買うのはこれです。


大須に実物を見たのですがとてもよかったです!!!

とても迷ったのですが買います!

で気になるのがグラフィックボードの性能。。。

今はGTX1060 6GB。。。


動くらしいです。

ただ、ゲームは余りみたいですね。

とりあえずこれでいけますね。

よかった。

アマゾンで注文して来るのは明日です。

明日、荷物が早くこればセッティングしてブログを書きたいと思います。

2017年9月8日金曜日

ストレス解消にゲームしています!

最近、ストレス解消にゲームしています。

ゲームといってもスマホゲームではなくPCゲームです。

やっているものは鉄拳7!


やっているといっても毎日何時間もやっているわけでなく、

週末に1,2時間やる程度です。

これだけでも結構、心が軽くなった気がします。

趣味がある人はそれをやっても同じ効果が得られるんでしょうね。


余談:今はやりのPUBGもやってみましたが、一人なので移動に時間がかかってあまり面白くありませんでした。

PCでの操作にも慣れいないので難しいです。

慣れたら楽しいんでしょうね。


2017年9月7日木曜日

どうやったらドキュメントの生産性を上げられるのか?

今日の内容は特に答えがあるわけではありません。

最近、レビューが続いておりどうやったらドキュメントの生産性が上がるのか考えている。

誤字脱字が多くて自分でも嫌になってくる。

どうやったらそれが減らせられるのだろう?

個人的には、毎回書いてあることは同じだと思うんだけどやっぱり違う。

困った。

ほかにも書き漏れとかがある。

OneNoteを使っているがどこにメモをしているけど、

そのほかにも必要なことがあるのでメモを大量に取っているけど、

大量なメモに必要なメモが隠れてしまう。

困った。。。

どうしたらいいのかな。。。

とりあえず自分が始めたのはドキュメントの書き方のプロセスをまとめました。

これでいけたらいいな。

2017年9月6日水曜日

個人事業主になると税金に敏感になる。。。

今すぐ払う必要はなかったのですが、

お金があるうちに市県民税を払ってきました。

昨日は4Kディスプレイを買おうかどうか迷っていましたが、

それよりも先に払うべきものを払っておこうかなとおもったので。。。

そういう支払いが終わったら、

4Kディスプレイを買おうかと思います。

ウルトラワイドディスプレイは、止めておきます。

横幅も必要だけど、縦も必要だなと思ったので。

2017年9月5日火曜日

4Kディスプレイかウルトラワイドモニターか。。。

自分のPC環境を変えたくて

最近変わったのがグラフィックボードです。

もう一つ変えたいのがディスプレイなんです。

ディスプレイを変えるにしても二つの選択肢があります。
  • 4Kディスプレイ
  • ウルトラワイドディスプレイ

4Kディスプレイ買うならこれ。


ウルトラワイドディスプレイ買うならこれです。

正直、4Kのすごさがわからないのでどうしようかなといった感じです。

ウルトラワイドディスプレイを買いたいのは、

いまデュアルディスプレイで作業しているので、

それを一枚にしたら電源周りとか楽かなといったことを考えています。

でも4Kディスプレイもおんなじなんですよね。

むしろ4Kを買うと縦が長くなるからもっといいかも。

悩みます。。。

2017年9月4日月曜日

キャンピングカーが欲しいかも

GIGAZINEで下記の記事を読んだ。

「自動車に住む」ことを選ぶ若者がアメリカでは増えつつある

正直、フリーランスになったらネット上だけで仕事を簡潔できるようになったら

記事のような生活もしてみたいと思っている。

といっても、まだそんな風にならなそうだけど。

SEの作業は基本、企業の建物内でやるのがほとんど。

外に持ち出せる資料なんてないし。

ネット上で作業できたら春とかに桜前線を追いかけながら北上するとかやってみたいなぁ。

早くそんな時代になってほしい。

ならないなら自分で作るしかないんだろうけど、ネタが思い浮かばないなぁ。

2017年9月3日日曜日

セミナーの内容は。。。

セミナーの内容は障害者施設を経営している人の話を聞くことでした。

やはり自分にも子供がいるせいか自分でもやれるのかなという目線で聞いていた。

場所は障害者の人が働くカフェで話を聞いたのですが、これが意外でした。

外から見たらカフェなんですが実態はデイケア施設のようです。

デイケア施設だからカフェにお客が来ようが来なかろうがいいみたい。

カフェの売り上げは障害者の方へバックされるみたいです。

障害者の方も時給で働いているようです。

正直、お金の使い方がうまいなと思いました。

経営者とは、お金を投資して新たにお金を生む仕事をするのですから感動しました。

ただ、障害者の方が本当に独り立ちできるのかは分からなかったので何とも言えませんでした。

東京では、ごみの仕分けなどで障害者でも20万~30万貰える仕事もあるようです。

正直、こういうことなら社会貢献として企業してもいいかもしれません。

2017年9月2日土曜日

今日セミナーに行ってきました。

セミナーに行くといろんな商売があるんだなと気づかされます。

そこで面白かったのがマザーテレサが言った名言をポジティブに考えてたことです。
思考に気をつけなさい、それはいつか言葉になるから。
言葉に気をつけなさい、それはいつか行動になるから。
行動に気をつけなさい、それはいつか習慣になるから。
習慣に気をつけなさい、それはいつか性格になるから。
性格に気をつけなさい、それはいつか運命になるから。
なんですがどう読んでもネガティブにしか思えません。

しかし、これをポジティブに考えるといいことになりそうですね!

これは面白かったです。

それ以外の内容は明日報告します。


2017年9月1日金曜日

お酒を飲むようにしようかな。

あるYouTubeの動画でビールが体にいい!

との話が出ていた。


なんでもビール単体ではいいこともあるけど、

一緒に食べるものが脂っこいとか太る要素があるものを食べるから太るらしい。

でも科学的なので反論もあった。


結局どっちがいいのかな?

正直、ビールを飲まずにストレス貯めるよりも私は飲む方を選ぶ!

2017年8月31日木曜日

自炊した本をOCRスキャン中。終わらない。

OCRスキャンが終わりませんでしたorz

やはりadobeでも約8GBのpdfを一気にOCRすることはできないようです。

OCR起動中ですが強制的に終了させ、ファイル数を絞ってOCRしています。

これでないと終わらないみたいです。

2017年8月30日水曜日

自炊した本を分割&OCRスキャン中。

この間、頑張って自炊した本がiPad Proで開けなかったですorz

といっても全部開けないわけではなく、

ページ数が多くサイズがでかいものが開けないみたいです。
(開かなかったpdfは ページ数約350 サイズ122MB)

対策方法は、ページ数を減らしてサイズを減らすことです。

そんなわけでフリーソフトでpdfファイルを分割してページ数を減らそうとするんですが、

ソフトが落ちてしまいました。(うまくいくときもあるんだけどめったにない)

なんとPCでも落ちるようなpdfファイルでしたorz

ある意味pdfの生みの親であるadobeのソフトを体験版で使ってみたところかなり性能がい
い!

巨大pdfファイルを分割しても落ちるようなことはありませんでした。

そんなわけでしょうがないのでAdobe Acrobat DCを買いました。



といってもアマゾンに記載されているものではなくこれです。

Adobe Acrobat Pro DCを年契約で月々払いです。

年払いしても金額変わらないので月々払いにしました。

どうせ分割するなら検索できるpdfにしたいということで、

今やっていることは、OCRスキャン中。

これをすることでページ内にある画像内にある文字を認識して、

pdfファイル内に検索できる文字をつけてくれます。

と簡単に言っていますが、ものすごい時間がかかっています。

1日中やっていますが終わりません。

自炊した本が約8GBあるので明日の夜には終わりそうです。

2017年8月29日火曜日

DHCから注文したサプリメントが届きました

土曜日から月曜日まで食べまくったせいか太りました。

というわけでこれを見越して買ったサプリメントが届きました。

私が買ったのはDHCダイエット対策キット対応型サプリ16です。

結構でかいです。

1日3包ということで袋に包まれているようです。
なるほど。これは飲みやすいですね。

とりあえず明日からやっていきます。

結果は、ダイエットブログにアップします!

2017年8月28日月曜日

今日はお休み。

今日は事情によりお休みです。

明日から普通に更新します。(たぶん)

2017年8月27日日曜日

DHCの遺伝子検査 ダイエット対策キットの結果が返ってきました!

返ってきました。

8月12日に遺伝子を取って、8月13日に郵便に出しました。

一部だけお見せします。





遺伝子結果だけでなく、食事や運動そしてサプリメントまで紹介してくれています。

サプリメントについては、54種類の中から自分に合ったひとつを教えてくれてました。

ちょっと買ってみて試してみようと思います。

2017年8月26日土曜日

Google Cloud Vision APIをまとめてみた。少しだけ。⑥

今回は前回の続きです。

使っている写真はこれ。


実物には顔も入っています。

Google Cloud Vision APIで機能を指定して実行しました。

機能:IMAGE_PROPERTIES・・・画像の一連のプロパティ(画像のドミナントカラーなど)を計算します。
結果
{ "responses": [ { "imagePropertiesAnnotation": { "dominantColors": { "colors": [ { "color": { "red": 204, "green": 197, "blue": 193 }, "score": 0.38275525, "pixelFraction": 0.39605987 }, { "color": { "red": 26, "green": 24, "blue": 30 }, "score": 0.07262851, "pixelFraction": 0.056065526 }, { "color": { "red": 74, "green": 46, "blue": 34 }, "score": 0.018936483, "pixelFraction": 0.010450501 }, { "color": { "red": 146, "green": 47, "blue": 24 }, "score": 0.0046235467, "pixelFraction": 0.0043073012 }, { "color": { "red": 162, "green": 45, "blue": 7 }, "score": 0.004520693, "pixelFraction": 0.0010591724 }, { "color": { "red": 170, "green": 157, "blue": 150 }, "score": 0.10815035, "pixelFraction": 0.08727581 }, { "color": { "red": 25, "green": 27, "blue": 43 }, "score": 0.07013925, "pixelFraction": 0.034529023 }, { "color": { "red": 175, "green": 153, "blue": 139 }, "score": 0.04542019, "pixelFraction": 0.029444994 }, { "color": { "red": 227, "green": 232, "blue": 235 }, "score": 0.03355918, "pixelFraction": 0.034175962 }, { "color": { "red": 132, "green": 120, "blue": 115 }, "score": 0.03263211, "pixelFraction": 0.02782093 } ] } }, "cropHintsAnnotation": { "cropHints": [ { "boundingPoly": { "vertices": [ {}, { "x": 599 }, { "x": 599, "y": 899 }, { "y": 899 } ] }, "confidence": 1, "importanceFraction": 0.52 } ] } } ] }

結果を見ましたが、画像を加工するような人しかいらない気もします。

imagePropertiesAnnotation・・・支配的な色などの画像プロパティを格納します。
cropHintsAnnotation・・・画像を提供するときに新しい作物を生成するために使用されるクロップヒントのセット。

crop=クロップとは画像の一部を抜き取ることみたいです。

それにしても謎なのがimagePropertiesAnnotationです。

支配的な色を知って何をするのかがわかりません。

ネットを探せばこれを使って何かやっている人がいるかもしれませんね。

2017年8月25日金曜日

Google Cloud Vision APIをまとめてみた。少しだけ。⑤

今回は前回の続きです。

使っている写真はこれ。
実物には顔も入っています。

Google Cloud Vision APIで機能を指定して実行しました。

機能:SAFE_SEARCH_DETECTION・・・画像の画像セーフサーチプロパティを判別します。
結果
{ "responses": [ { "safeSearchAnnotation": { "adult": "VERY_UNLIKELY", "spoof": "VERY_UNLIKELY", "medical": "VERY_UNLIKELY", "violence": "VERY_UNLIKELY" } } ] }

まずは値から。VERY_UNLIKERYは可能性がほぼないという意味と考えられます。

そんでもって、チェックしている可能性は下記となります。
adult:画像がアダルトコンテンツか
spoof:なりすましか。面白いか不快に見えるような画像。
medical:医療用の画像
violence:暴力の画像

Google翻訳でやっているので何となくで申し訳ありませんがこんな感じでした。

おっさんが立っているだけなのでそりゃそうですよね。

何にも引っかかりませんでした。

2017年8月24日木曜日

Google Cloud Vision APIをまとめてみた。少しだけ。④

この間やっていたVision APIでほかにも選択できものがあるのでやっていこうかと思います。

使っている写真はこれです。
実物には顔も入っています。

機能:TEXT_DETECTION・・・画像内のテキストに対してOCRを実行します。
結果
{ "responses": [ { "textAnnotations": [ { "locale": "en", "description": "SURF\nBEACH\nTRE RESORT LIfE SHINING\nIN THE RISING SUN\n-IN FLORIDA-\n", "boundingPoly": { "vertices": [ { "x": 194, "y": 170 }, { "x": 318, "y": 170 }, { "x": 318, "y": 323 }, { "x": 194, "y": 323 } ] } }, { "description": "SURF", "boundingPoly": { "vertices": [ { "x": 198, "y": 170 }, { "x": 318, "y": 175 }, { "x": 316, "y": 216 }, { "x": 196, "y": 211 } ] } }, { "description": "BEACH", "boundingPoly": { "vertices": [ { "x": 197, "y": 236 }, { "x": 308, "y": 231 }, { "x": 310, "y": 289 }, { "x": 200, "y": 294 } ] } }, { "description": "TRE", "boundingPoly": { "vertices": [ { "x": 202, "y": 216 }, { "x": 213, "y": 216 }, { "x": 212, "y": 228 }, { "x": 201, "y": 228 } ] } }, { "description": "RESORT", "boundingPoly": { "vertices": [ { "x": 219, "y": 215 }, { "x": 248, "y": 216 }, { "x": 247, "y": 228 }, { "x": 218, "y": 227 } ] } }, { "description": "LIfE", "boundingPoly": { "vertices": [ { "x": 254, "y": 216 }, { "x": 268, "y": 217 }, { "x": 268, "y": 228 }, { "x": 254, "y": 227 } ] } }, { "description": "SHINING", "boundingPoly": { "vertices": [ { "x": 273, "y": 217 }, { "x": 306, "y": 218 }, { "x": 305, "y": 231 }, { "x": 272, "y": 230 } ] } }, { "description": "IN", "boundingPoly": { "vertices": [ { "x": 214, "y": 281 }, { "x": 220, "y": 282 }, { "x": 219, "y": 293 }, { "x": 213, "y": 293 } ] } }, { "description": "THE", "boundingPoly": { "vertices": [ { "x": 226, "y": 279 }, { "x": 237, "y": 280 }, { "x": 236, "y": 292 }, { "x": 225, "y": 291 } ] } }, { "description": "RISING", "boundingPoly": { "vertices": [ { "x": 244, "y": 280 }, { "x": 270, "y": 282 }, { "x": 269, "y": 293 }, { "x": 243, "y": 291 } ] } }, { "description": "SUN", "boundingPoly": { "vertices": [ { "x": 275, "y": 283 }, { "x": 289, "y": 284 }, { "x": 288, "y": 296 }, { "x": 274, "y": 295 } ] } }, { "description": "-IN", "boundingPoly": { "vertices": [ { "x": 195, "y": 295 }, { "x": 218, "y": 296 }, { "x": 217, "y": 320 }, { "x": 194, "y": 319 } ] } }, { "description": "FLORIDA-", "boundingPoly": { "vertices": [ { "x": 229, "y": 296 }, { "x": 304, "y": 299 }, { "x": 303, "y": 323 }, { "x": 228, "y": 320 } ] } } ], "fullTextAnnotation": { "pages": [ { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "width": 600, "height": 900, "blocks": [ { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 196, "y": 170 }, { "x": 318, "y": 170 }, { "x": 318, "y": 294 }, { "x": 196, "y": 294 } ] }, "paragraphs": [ { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 196, "y": 170 }, { "x": 318, "y": 170 }, { "x": 318, "y": 294 }, { "x": 196, "y": 294 } ] }, "words": [ { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 198, "y": 170 }, { "x": 318, "y": 175 }, { "x": 316, "y": 216 }, { "x": 196, "y": 211 } ] }, "symbols": [ { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 198, "y": 174 }, { "x": 219, "y": 175 }, { "x": 217, "y": 212 }, { "x": 196, "y": 211 } ] }, "text": "S" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 224, "y": 171 }, { "x": 255, "y": 172 }, { "x": 253, "y": 209 }, { "x": 222, "y": 208 } ] }, "text": "U" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 258, "y": 173 }, { "x": 286, "y": 174 }, { "x": 284, "y": 211 }, { "x": 256, "y": 210 } ] }, "text": "R" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ], "detectedBreak": { "type": "EOL_SURE_SPACE" } }, "boundingBox": { "vertices": [ { "x": 293, "y": 179 }, { "x": 318, "y": 180 }, { "x": 316, "y": 215 }, { "x": 291, "y": 214 } ] }, "text": "F" } ] }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 197, "y": 236 }, { "x": 308, "y": 231 }, { "x": 310, "y": 289 }, { "x": 200, "y": 294 } ] }, "symbols": [ { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 197, "y": 236 }, { "x": 216, "y": 235 }, { "x": 218, "y": 279 }, { "x": 199, "y": 280 } ] }, "text": "B" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 218, "y": 235 }, { "x": 238, "y": 234 }, { "x": 240, "y": 278 }, { "x": 220, "y": 279 } ] }, "text": "E" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 240, "y": 235 }, { "x": 263, "y": 234 }, { "x": 265, "y": 289 }, { "x": 242, "y": 290 } ] }, "text": "A" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 264, "y": 237 }, { "x": 285, "y": 236 }, { "x": 287, "y": 290 }, { "x": 266, "y": 291 } ] }, "text": "C" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ], "detectedBreak": { "type": "EOL_SURE_SPACE" } }, "boundingBox": { "vertices": [ { "x": 287, "y": 236 }, { "x": 308, "y": 235 }, { "x": 310, "y": 289 }, { "x": 289, "y": 290 } ] }, "text": "H" } ] } ] } ], "blockType": "TEXT" }, { "property": { "detectedLanguages": [ { "languageCode": "sv" } ] }, "boundingBox": { "vertices": [ { "x": 201, "y": 215 }, { "x": 306, "y": 215 }, { "x": 306, "y": 231 }, { "x": 201, "y": 231 } ] }, "paragraphs": [ { "property": { "detectedLanguages": [ { "languageCode": "sv" } ] }, "boundingBox": { "vertices": [ { "x": 201, "y": 215 }, { "x": 306, "y": 215 }, { "x": 306, "y": 231 }, { "x": 201, "y": 231 } ] }, "words": [ { "property": { "detectedLanguages": [ { "languageCode": "eo" } ] }, "boundingBox": { "vertices": [ { "x": 202, "y": 216 }, { "x": 213, "y": 216 }, { "x": 212, "y": 228 }, { "x": 201, "y": 228 } ] }, "symbols": [ { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 202, "y": 217 }, { "x": 203, "y": 217 }, { "x": 203, "y": 228 }, { "x": 202, "y": 228 } ] }, "text": "T" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 205, "y": 216 }, { "x": 208, "y": 216 }, { "x": 208, "y": 227 }, { "x": 205, "y": 227 } ] }, "text": "R" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ], "detectedBreak": { "type": "SPACE" } }, "boundingBox": { "vertices": [ { "x": 210, "y": 216 }, { "x": 213, "y": 216 }, { "x": 213, "y": 227 }, { "x": 210, "y": 227 } ] }, "text": "E" } ] }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 219, "y": 215 }, { "x": 248, "y": 216 }, { "x": 247, "y": 228 }, { "x": 218, "y": 227 } ] }, "symbols": [ { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 219, "y": 215 }, { "x": 221, "y": 215 }, { "x": 220, "y": 227 }, { "x": 218, "y": 227 } ] }, "text": "R" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 223, "y": 215 }, { "x": 226, "y": 215 }, { "x": 225, "y": 227 }, { "x": 222, "y": 227 } ] }, "text": "E" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 229, "y": 215 }, { "x": 232, "y": 215 }, { "x": 232, "y": 226 }, { "x": 229, "y": 226 } ] }, "text": "S" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 234, "y": 215 }, { "x": 237, "y": 215 }, { "x": 237, "y": 226 }, { "x": 234, "y": 226 } ] }, "text": "O" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 239, "y": 216 }, { "x": 243, "y": 216 }, { "x": 243, "y": 227 }, { "x": 239, "y": 227 } ] }, "text": "R" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ], "detectedBreak": { "type": "SPACE" } }, "boundingBox": { "vertices": [ { "x": 245, "y": 216 }, { "x": 248, "y": 216 }, { "x": 248, "y": 226 }, { "x": 245, "y": 226 } ] }, "text": "T" } ] }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 254, "y": 216 }, { "x": 268, "y": 217 }, { "x": 268, "y": 228 }, { "x": 254, "y": 227 } ] }, "symbols": [ { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 254, "y": 217 }, { "x": 255, "y": 217 }, { "x": 255, "y": 226 }, { "x": 254, "y": 226 } ] }, "text": "L" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 257, "y": 217 }, { "x": 259, "y": 217 }, { "x": 259, "y": 226 }, { "x": 257, "y": 226 } ] }, "text": "I" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 261, "y": 217 }, { "x": 263, "y": 217 }, { "x": 263, "y": 228 }, { "x": 261, "y": 228 } ] }, "text": "f" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ], "detectedBreak": { "type": "SPACE" } }, "boundingBox": { "vertices": [ { "x": 265, "y": 217 }, { "x": 268, "y": 217 }, { "x": 268, "y": 228 }, { "x": 265, "y": 228 } ] }, "text": "E" } ] }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 273, "y": 217 }, { "x": 306, "y": 218 }, { "x": 305, "y": 231 }, { "x": 272, "y": 230 } ] }, "symbols": [ { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 273, "y": 218 }, { "x": 277, "y": 218 }, { "x": 277, "y": 228 }, { "x": 273, "y": 228 } ] }, "text": "S" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 279, "y": 218 }, { "x": 282, "y": 218 }, { "x": 282, "y": 228 }, { "x": 279, "y": 228 } ] }, "text": "H" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 284, "y": 218 }, { "x": 287, "y": 218 }, { "x": 287, "y": 229 }, { "x": 284, "y": 229 } ] }, "text": "I" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 289, "y": 218 }, { "x": 291, "y": 218 }, { "x": 291, "y": 229 }, { "x": 289, "y": 229 } ] }, "text": "N" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 293, "y": 219 }, { "x": 296, "y": 219 }, { "x": 295, "y": 231 }, { "x": 292, "y": 231 } ] }, "text": "I" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 298, "y": 219 }, { "x": 301, "y": 219 }, { "x": 300, "y": 231 }, { "x": 297, "y": 231 } ] }, "text": "N" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ], "detectedBreak": { "type": "EOL_SURE_SPACE" } }, "boundingBox": { "vertices": [ { "x": 303, "y": 219 }, { "x": 306, "y": 219 }, { "x": 305, "y": 231 }, { "x": 302, "y": 231 } ] }, "text": "G" } ] } ] } ], "blockType": "TEXT" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 194, "y": 279 }, { "x": 304, "y": 279 }, { "x": 304, "y": 323 }, { "x": 194, "y": 323 } ] }, "paragraphs": [ { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 194, "y": 279 }, { "x": 304, "y": 279 }, { "x": 304, "y": 323 }, { "x": 194, "y": 323 } ] }, "words": [ { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 214, "y": 281 }, { "x": 220, "y": 282 }, { "x": 219, "y": 293 }, { "x": 213, "y": 293 } ] }, "symbols": [ { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 214, "y": 281 }, { "x": 216, "y": 281 }, { "x": 215, "y": 293 }, { "x": 213, "y": 293 } ] }, "text": "I" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ], "detectedBreak": { "type": "SPACE" } }, "boundingBox": { "vertices": [ { "x": 218, "y": 281 }, { "x": 220, "y": 281 }, { "x": 219, "y": 293 }, { "x": 217, "y": 293 } ] }, "text": "N" } ] }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 226, "y": 279 }, { "x": 237, "y": 280 }, { "x": 236, "y": 292 }, { "x": 225, "y": 291 } ] }, "symbols": [ { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 226, "y": 280 }, { "x": 228, "y": 280 }, { "x": 227, "y": 291 }, { "x": 225, "y": 291 } ] }, "text": "T" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 230, "y": 279 }, { "x": 233, "y": 279 }, { "x": 232, "y": 291 }, { "x": 229, "y": 291 } ] }, "text": "H" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ], "detectedBreak": { "type": "SPACE" } }, "boundingBox": { "vertices": [ { "x": 235, "y": 280 }, { "x": 237, "y": 280 }, { "x": 236, "y": 292 }, { "x": 234, "y": 292 } ] }, "text": "E" } ] }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 244, "y": 280 }, { "x": 270, "y": 282 }, { "x": 269, "y": 293 }, { "x": 243, "y": 291 } ] }, "symbols": [ { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 244, "y": 280 }, { "x": 247, "y": 280 }, { "x": 246, "y": 291 }, { "x": 243, "y": 291 } ] }, "text": "R" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 249, "y": 280 }, { "x": 250, "y": 280 }, { "x": 249, "y": 291 }, { "x": 248, "y": 291 } ] }, "text": "I" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 252, "y": 280 }, { "x": 255, "y": 280 }, { "x": 254, "y": 291 }, { "x": 251, "y": 291 } ] }, "text": "S" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 257, "y": 281 }, { "x": 260, "y": 281 }, { "x": 259, "y": 292 }, { "x": 256, "y": 292 } ] }, "text": "I" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 262, "y": 281 }, { "x": 264, "y": 281 }, { "x": 263, "y": 292 }, { "x": 261, "y": 292 } ] }, "text": "N" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ], "detectedBreak": { "type": "SPACE" } }, "boundingBox": { "vertices": [ { "x": 267, "y": 282 }, { "x": 270, "y": 282 }, { "x": 269, "y": 293 }, { "x": 266, "y": 293 } ] }, "text": "G" } ] }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 275, "y": 283 }, { "x": 289, "y": 284 }, { "x": 288, "y": 296 }, { "x": 274, "y": 295 } ] }, "symbols": [ { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 275, "y": 283 }, { "x": 278, "y": 283 }, { "x": 277, "y": 294 }, { "x": 274, "y": 294 } ] }, "text": "S" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 280, "y": 284 }, { "x": 283, "y": 284 }, { "x": 282, "y": 295 }, { "x": 279, "y": 295 } ] }, "text": "U" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ], "detectedBreak": { "type": "EOL_SURE_SPACE" } }, "boundingBox": { "vertices": [ { "x": 285, "y": 285 }, { "x": 289, "y": 285 }, { "x": 288, "y": 296 }, { "x": 284, "y": 296 } ] }, "text": "N" } ] }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 195, "y": 295 }, { "x": 218, "y": 296 }, { "x": 217, "y": 320 }, { "x": 194, "y": 319 } ] }, "symbols": [ { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 195, "y": 295 }, { "x": 196, "y": 295 }, { "x": 195, "y": 319 }, { "x": 194, "y": 319 } ] }, "text": "-" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 198, "y": 295 }, { "x": 205, "y": 295 }, { "x": 204, "y": 319 }, { "x": 197, "y": 319 } ] }, "text": "I" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ], "detectedBreak": { "type": "SPACE" } }, "boundingBox": { "vertices": [ { "x": 207, "y": 296 }, { "x": 218, "y": 296 }, { "x": 217, "y": 320 }, { "x": 206, "y": 320 } ] }, "text": "N" } ] }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 229, "y": 296 }, { "x": 304, "y": 299 }, { "x": 303, "y": 323 }, { "x": 228, "y": 320 } ] }, "symbols": [ { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 229, "y": 296 }, { "x": 231, "y": 296 }, { "x": 230, "y": 320 }, { "x": 228, "y": 320 } ] }, "text": "F" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 233, "y": 297 }, { "x": 244, "y": 297 }, { "x": 243, "y": 321 }, { "x": 232, "y": 321 } ] }, "text": "L" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 246, "y": 297 }, { "x": 252, "y": 297 }, { "x": 251, "y": 321 }, { "x": 245, "y": 321 } ] }, "text": "O" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 254, "y": 298 }, { "x": 266, "y": 299 }, { "x": 265, "y": 323 }, { "x": 253, "y": 322 } ] }, "text": "R" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 268, "y": 298 }, { "x": 274, "y": 298 }, { "x": 273, "y": 322 }, { "x": 267, "y": 322 } ] }, "text": "I" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 276, "y": 299 }, { "x": 283, "y": 299 }, { "x": 282, "y": 323 }, { "x": 275, "y": 323 } ] }, "text": "D" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ] }, "boundingBox": { "vertices": [ { "x": 285, "y": 299 }, { "x": 291, "y": 299 }, { "x": 290, "y": 323 }, { "x": 284, "y": 323 } ] }, "text": "A" }, { "property": { "detectedLanguages": [ { "languageCode": "en" } ], "detectedBreak": { "type": "EOL_SURE_SPACE" } }, "boundingBox": { "vertices": [ { "x": 293, "y": 299 }, { "x": 304, "y": 299 }, { "x": 303, "y": 323 }, { "x": 292, "y": 323 } ] }, "text": "-" } ] } ] } ], "blockType": "TEXT" } ] } ], "text": "SURF\nBEACH\nTRE RESORT LIfE SHINING\nIN THE RISING SUN\n-IN FLORIDA-\n" } } ] }

長いですね。内容を確認すると、間違いもありますがTシャツに書かれている文字をちゃんと抜き取っています。

抜き取っている文字は、大きく分けてtextAnnotationsとfullTextAnnotationの二つに分かれています。

textAnnotations・・・単語単位にデータがあるみたいです。(今回の場合)

fullTextAnnotation・・・一文字単位にデータがあります。

特に気になったのが、文字の大きさで順番が変わることです。

上から順に見ていって同じぐらいの文字サイズを塊にして文字を出力するみたいです。

やってみると意外なことがわかります。