くうと徒然なるままに

モバイルアプリを作りながらバックエンドも作っています。

現在の AppDomain とは別の AppDomain を立ち上げる (勉強中です...

何するの?

AppDomain について勉強中です。 今回は、現在のアプリケーションが動いている AppDomain とは別の AppDomain を立ち上げて情報を見てみます。

ソースコード

static void Main(string[] args)
        {
            var currentDomain = AppDomain.CurrentDomain;
            // 現在のプログラムが動いている Application Domain を取得してその情報を表示している
            Console.WriteLine(
                $"AppDomainID: {currentDomain.Id} AppDomainName: {currentDomain.FriendlyName} Path: {currentDomain.SetupInformation.ApplicationBase}");

            // Application Domain をセットアップするための準備をしている
            var setup = new AppDomainSetup();
            setup.ApplicationBase = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);


            // 現在の Application Domainの子供となる Application Domain を作成している
            var childDomain = AppDomain.CreateDomain("ChildDomain", null, setup);

            // 子供となる Application Domain の情報を表示している
            Console.WriteLine($"AppDomainID: {childDomain.Id} AppDomainName: {childDomain.FriendlyName} Path: {childDomain.SetupInformation.ApplicationBase}");
        }

実行結果

VSでコンソールアプリ立ち上げてデバッグ無しで実行をしただけです。

AppDomainID: 1 AppDomainName: ConsoleApp1.exe Path: C:\Users\gurag\source\repos\test\ConsoleApp1\bin\Debug\
AppDomainID: 2 AppDomainName: ChildDomain Path: C:\Users\gurag\Desktop

わかったこと

  • デフォルトの AppDomain の SetupInfomatino のApplication Base は Bin/Debug フォルダになっている。おそらく、 hoge.exe のある場所?
  • AppDomain を立ち上げるのは思ったより簡単。

de:code 2018 にスタッフ参加して来た。 3年連続でスタッフ参加したことになりますね。

de:code、 東京で日本マイクロソフトが開催している開発者向けのイベントです。 2000人ぐらい集まるイベント。

今年も Cogbot Community として EXPO 内の Hands-on Bar スタッフをしてました。

Cognitive Services についてのハンズオンをする!ってやつです。

Microsoft の公式アカウントでつぶやかれましたw

3年連続参加の思い出

1年目。Coding Challenge のスタッフとして参加

3年前のことなので全部は覚えてないですが...

Facebook で de:code に参加したい!とつぶやいていたら、 kekyo さん経由で岩永さんに繋いでいただき、 EXPO で開催された 「Coding Challenge 」というブースのスタッフとして参加しました。

当時は、MVP でもなかった自分が参加してよかったのかかなり心配でしたが参加できてよかったすね... de:code に初参加した時はTwitterとかでしか見たことがない人が実在してて興奮しました((

あと、当時は大学1年生で「授業をサボるのはよくない!」みたいな真面目な大学生のふりをしていたので休んで行っていいのか悩みましたw

2年目 Cognitive Services のハンズオンスタッフとして参加

2年目もFacebookで de:code に行きたいと投稿していたら、 Cognitive Services のハンズオンのスタッフとして参加する機会をいただきました。

2年目ということである程度は慣れた状況で参加をすることができました。

goo.gl

3年目 Hands-on Bar スタッフ

今年の参加です。昨年のハンズオンのやつが好評だったらしく今年もスタッフできた、みたいな感じです。

3年ぐらい de:code に参加して気持ち的に変わったこと

連続で参加してると昨年お会いした方と会ったりしますね。
「お久しぶり〜」「シアトルぶり〜(MVP Global Summit)」とか。
まるで、同窓会みたいな感じ(大平さんの表現を借りましたw

de:code でハンズオンスタッフをして学べたこと

一般参加でも最新のテクノロジーについて学ぶことができると思います。

しかし、ハンズオンのスタッフを経験から学べたこともたくさんあります。

具体的には、

  • ハンズオンを体験していて、困ったことが出た時の対応は人それぞれで勉強になる。(具体的には、ずっと考えたママになる人・スタッフに気軽に聞く人・ハンズオン対象の細かなところまで知ろうとする人)
  • エンジニアとは言えども英語のドキュメントを見ると思考停止する人が一定数いる
  • ハンズオンが完成した時にはみんな最高の笑顔になる!!

de:code に参加して思い続けてきたこと

地方で学生してると最新な情報を手に入れるのは難しい面があります。(インターネットの発達とは言えそこには壁がある

私の場合は奇跡に恵まれたので de:code や Microsoft Build などの最新な情報を手に入れるイベントに参加することができてます。

ので、できることなら、地方で学生してる人もde:code(に限らず地方では開催されていない大規模なイベント) にきて最新な情報を手に入れる機会が増えてくれるといいなーと思いました。

参加したセッションについて

スタッフ業務の合間をぬってセッションを見ることができました。

AC09 Xamarin 2018最新情報

榎本さんによる Xamarin に関するセッションです。 Xamarin の中の人らしいセッションを昨年見ることができたので今年も参加した感じです。

Elmish.Xamarin.Forms が楽しそうでした( elm っぽい感じに Xamarin.Forms なアプリケーションを書けるやつ

AC05 Windows 10 とデスクトップ アプリ

安定の荒井セッションです。 今回は、 Desktop Converter の進化系のやつ(雑)についての話とか、.msix についてとか聞きました。。 Installer 関連はあまり作ったことがないので一部難しかったですね。

AC08 Windows Mixed Reality ヘッドセットを使ったビジネスアプリ開発

日頃お世話になっている長尾先生のセッションです。
Hololens とか Windows MixedReality とかはあまり触れたことがないのでそちら方面の知識の吸収になりました。

まとめ

  • decode に3年連続でスタッフ参加した
  • ハンズオンのスタッフをすると様々な学びを得られる。特にハンズオンが完成した時の笑顔を見るのは本当に最高です!
  • 地方の学生はde:code に参加して最新の情報を体で感じて欲しい

Azure Portal の ディレクトリを変更するUI が変更になっている件について

久しぶりに Azure を開いたら UI が微妙に変わってたって話。 Azure Portalディレクトリを変更するところが変わってました。

上のバーの右から2番目のアイコンをクリックすると変更するためのブレードが表示されるようになっています。

f:id:kuxumarin:20180521055016p:plain

規定のディレクトリやディレクトリをお気に入り設定できたりして便利ですね。

Powerpoint for Mac で 自動保存されたファイルが毎回立ち上がってくるので対策した。

Powerpoint for Mac を利用しています。 O365に加入しているので 2018年4月23日 での最新バージョンです。

自動保存がうまくされなかったのか起動するたびに 自動保存されたファイルが立ち上がってくる状況でした。

解決方法

以下のウェブサイトに書かれた内容を試したら起動時に立ち上がらなくなりました。

ライブラリ→container→com.micorsoft.Powerpoint→data→library→autosave informationの中身を削除

PPT ドキュメントの回復が毎回起動するのを中止できない - マイクロソフト コミュニティ

MVP Global Summit 2018 に参加してきた。又の名をシアトル食い倒れ日記

MVP Global Summit とは

世界から Microsoft MVP がアメリカ、シアトル、レッドモンドにある Microsoft の本社へ集まり パーティーで飲み食いをする会最新のMicrosoftテクノロジーを勉強する会です。

日本滞在中 ~ 1日目

日本の食事食べれなくなるので記念に

京成スカイライナーに乗るよ!!

これから、世界に飛び立ちますよー!

Hello Seattle

マンガは愛だ。

スタバのすごいとこ

2日目

アメリカっぽい雑な朝食

MVPカプチーノとエスプレッソ

カフェイン100my!!

お昼ご飯🍚

たかそうな水

それっぽい写真を撮影した

無限クッキー

ミゲルさんと記念撮影!

果物インジェクション

二日連続...

日本はお昼時と聞いています。

Twitter映え

おやつ(゚∀゚)

普通のお水たち

木の家

パクチーにやられた

コカコーラ in USA

最後...ちょっと飽きてる...

マウスを買ったのでMacBook Airにつなげて使ってみた。

飛行機の中です✈️

# 帰国してからラーメンを食べに出かけた

帰国したらまずラーメン!!!!!

Azure サブスクリプション の共同管理者を追加する

前提

作業

  1. 元アカウントで Azure ポータル にアクセスしポータル画面を開く

f:id:kuxumarin:20180311014203p:plain

  1. 左カラムよりコストの管理と請求へ移動

f:id:kuxumarin:20180311014348p:plain

共同管理者を追加したいサブスクリプション を選択します。

  1. 対象アカウントの招待

アカウントの制御 -> 追加を選択します。

f:id:kuxumarin:20180311014526p:plain

  1. よしなに設定して招待

[f:id:kuxumarin:20180311014623p:plain

あとは、よしなにメールが届くのでそこにあるリンクを踏んで完了です。

ffmpeg で .m3u8 を .p4 に変換した

環境

コマンド

ffmpeg -protocol_whitelist https,file,tls,tcp,crypto -I {Replace Target FileName}.m3u8 -movflags faststart -c copy -bsf:a aac_adtstoasc {Replace OutputFileName}.mp4     

少し

インストールは Home Brew で簡単にインストールできた

brew install ffmpeg 

ピクシブ インターンシップに参加してきた。マンガは、愛だ。

こんにちは、ピクシブインターンシップに参加してきた くぅです。

今回のピクシブインターンシップのアプリ関連で参加した人は自分だけなのでアプリ関連に関することを書いていけたらいいなと考えています。

以下のように定義しておきます。

#define メンターさん達 @kwzr @verno3632 

何に参加してきたの?

日本中の{アニメ|マンガ|技術|*}オタクの愛する ピクシブインターンシップです。

東京の千駄ヶ谷にあるのでホテルに住みながら参加してました。(ちなみに、ホテルはピクシブ が取ってくれてました)

ぶっちゃけ ピクシブの第一印象

「オタクがオタクでいることができる会社」

ピクシブの ホームページに「創作活動がもっと楽しくなる場所を創る」 と書いてあるような会社です。

社員さんの中にも技術書展 の運営をしてたり アプリを作ってたりと クリエイターしつつ働いている人が多い印象です。

クリエイター自身がクリエイターにとって使いやすいサービスを作るような。

メンターさんの机の上にフィギュアが置いてあっても誰も突っ込まないような雰囲気です。お互いにニックネームで呼び合い 高校の文化祭の前日のようなワイワイした雰囲気ですo(^▽^)o

面白かったエピソードとしては、全社会議のプレゼンの中で 百合物が好きであると公言する人がいたり、それに対する質問の中でアニメのコアな部分な質問を返したりしてたのが印象的でした。

何してきたの?

したこと

pixiv コミックの Android 版の新規機能追加をしてました。

技術的には以下の要素でした

  • RxJava
  • Android Architecture Components
  • DI
  • Retrofit2
  • Kotlin

(詳しい作業内容を書くと おこられ が発生するので書けないです)

春休み中には開発した機能を含んだアプリが公開されるかなと行った感じです。

pixiv 本体、BOOTH、技術基盤 コースの人たちは すでにデプロイされてて羨ましいと感じました。(アプリはどうしてもデプロイまでタイムラグが発生する。

インターンシップの流れ

応募 ~ インターンシップ参加確定 まで

ピクシブインターンは友人が応募してたので自分も応募してみたいなーと思い調べたのが始まりです。

普段からお世話になっている会社を覗いてみたいというのがモチベーションですね。

ピクシブの書類審査

インターンシップの第一審査は 書類選考 or GitHub 選考でした。

最近作成しているプロダクトは ソースコードを公開していないことともあり、自分は書類選考を選択しました。

インターンシップに一緒に参加した人に聞いたところ GitHub 選考を選択した人がほとんどだった(バイアス有り)ので GitHub 選考を選択してみるといいと思います。

インターンシップのメンターさんから「書類選考の志望動機とか過去の作品とかがしっかりと書けていてよかった」とのアドバイスもいただけました。

ピクシブのリモート面接

私は田舎に住んでいるのでリモート面接をしました。リモート面接だとお互いの空気が完全に伝わらないのでちょっと辛いですよね。

(東京に住んでいれば ピクシブで面接だったのかな、、、?)

面接では、書類選考で提出したことを元に 以下のようなことを質問されました。

  • 何の技術を使ったことがあるか
  • 作った作品について
  • 作った作品を他人に使ってもらって改善した経験があるか
  • Android Native のアプリの経験はどれくらいあるのか
  • サーバーサイドの経験はあるのか (この項目については記憶が曖昧...)

また、コーディング面接もその時にありました。

書いているコードをシェアできるサービスを利用してしました。(Visual Studio Live Share のようなやつ)

課題を解く言語は自由に選べるということでしたので、 C# を選択しました。

課題自体はプログラミングの経験がまともにある人ならそこまで考える必要もなく解くことができるかと思います。

インターンシップ参加確定

f:id:kuxumarin:20180303204945p:plain

インターンシップに参加することが確定したら SNS とかで行きます宣言 をするといいと思います。 色々物事がスムーズに進みます。

インターンシップに実際に参加したこと.log

1日目 インターンシップ初日のあれこれと歓迎会

インターンシップ開始

ピクシブに訪れるのはこの時が最初でした。そのため 東京に詳しそうな人と一緒に行きました。なんとかたどり着くことができました。

※ここで罠があります。ピクシブは 2F と 6F 両方に入っているのですが, 2F の方に最初集合しなければいけなかったです。

インターンシップに関する説明等々がありました。

そのあとに自己紹介を2分でする時間がありました。自己紹介で使うスライドにインターンシップ参加者・メンターさん双方が好きなアニメについて書いており、ピクシブみをひしひしと感じました.

ちなみに私は以下のようなスライドを使用しました。

f:id:kuxumarin:20180303210604p:plain

アプリに最初の機能の実装

インターンシップでは MBA'13 i5 8GB な手持ちマシンを利用しました。

普段は Windows を使っているので ADB のパスが通っていない点で苦労しました。

とはいえ、なんだかんだありつつも最初のインターンシップの最初のタスクを初日のうちに解決することができました。

夜には歓迎会

初日の夜には歓迎会?がありました。

6F でメンターさん、人事の方、ちょこめろんさんも集まりパーティーでした!

人事の方と「リアルでは初めまして」のような謎の会話をしましたw ( Twitter ではお世話になってました

pixivを食から体験しています。

2日目 インターンシップな作業の開始

Data Binding との死闘

この日は Data Binding と格闘していました。

しかし、メンターさんの方に聞いたら優しく教えていただき無事に解決できた感じです。

メンターさんや社員さんに気軽に聞ける雰囲気はよさみが深いと感じました。

社員さんとランチ

まーくん(旧まのひと) や あつやさんと ご飯行きたい !! って言ってたら叶った感じですね。 人事の方がセッティングしていただけました。

メンターさん、ちょこめろんさん、kamiko さん、kameike さん達と話すことができた感じです。

ピクシブの必要としてる人はどんな人か、今働いてて楽しいかについて聞くことができました。

お昼ゴハンダヨー!♪( ´θ`)ノ

メンターさんと勉強会参加

メンターさん、まーくん(旧まのひと)、あつやさん と CA.apk に参加してきました。

CA さんで開催されている Android の勉強会です。 インターンシップでちょうど触っている部分のお話も聞くことができました。

サイバーエージェントさんで開催されている CA.Apk に参加しています。 東京!!

3日目 作業を進めた

業務時間終了後に 神保町へカレーを食べに出かけた

東京らしいことをしたかったので神保町にあるカレー屋に食べに出かけました。

カレー🍛

終電時間が遅くて便利ですな。

4日目

インターンシップでのタスクをあらかた終了させた

最終日は何かと作業をすることができなかったです。インターンシップとしてタスクを処理できるのは、4日目が実質最後でした。

途中でAPI の仕様が変更されており そこの部分の修正に手間取りました。

初めての歌舞伎町

この日は、東京の歌舞伎町というところにプライベートで行きました。

かぶきちょー

5日目 インターンシップ最終日

インターンシップの成果報告のためのプレゼン作りで時間のほとんどを使ってしまいました。

インターンシップ懇親会

インターンシップが終わった後は、懇親会がありました。

同じインターンシップに参加した人、今までお世話になったメンターさん、kamikoさん、世界のちょこめろんさん...

まとめ

  • プロダクションコードに機能追加することができて最高かよ!
  • メンターさん優しい
  • ピクシブ はいいぞ

追加

はてなブログって pixiv 貼り付けに対応してたんですね。知りませんでした。

f:id:kuxumarin:20180306022139p:plain