CategoryDaily

日々の活動について。

Summer Internship 2018 @ mercari

8/1-8/31の1ヶ月間、メルカリのサマーインターンに参加してきました。

動機

学部4年になり、卒論もあるので今年はインターンは参加しないかなと考えていました。しかし、実際にインターンの応募期間が始まって先輩たちが楽しそうにしているのを見て、気がついたらエントリーをポチッと…

その後、趣味で開発したAndroidアプリをフルスクラッチでリファクタリングしていた時期が重なり、「Android+ソフトウェアアーキテクチャを学びたいな」と考えていました。

mercanの記事にiOSのリファクタリングの話が出ていて、もしかしたらAndroid版も新しいアーキテクチャに沿った開発が行われているのでは!?と希望を抱き応募。

あと、一番大きいのが「自分の持っているAndroid知識を全部ぶつけたらどのくらいの成果が出せるか」気になって仕方がない。周りにAndroidエンジニアがいないので、自分の価値が分からないでいました。

選考

募集職種は13種と多く、その中でも自分は、”Software Engineer(Android)”に応募しました。

理由は、自分の中で「Androidが一番詳しく、アウトプットを出せる」かなと。

選考の流れとしては

レジュメ・履歴書提出→技術テスト→面接

でした。特に変わったこともなく、無事合格できました。

印象

一番印象に残っているのは「アウトプットを出す」を求められたこと。1ヶ月と短い期間でいかにアウトプットを出すかを常に考えていた気がします。

他の参加記でも言われていますが、「インターンだから~」といった制約が一切ないので自信を持ってvalueを出せる環境があると感じました。

余談で、オフィスが非常に過ごしやすいのと無限自販機が最高によかった。

内容

配属されたのは、メルカリJPのAndroidアプリのチームでした。

インターン用にタスクが用意されているのではなく、実際に業務を行っていく形です。「実際の開発業務」を行えるのは本当にいい。

具体的には、採用しているアーキテクチャに沿って設計し、実装に落としていく作業をずっと行っていました。ソフトウェアにおける設計だけでなく、「正しいリリースフローはどういったものか」「PRにはレビュワーに対してコンテキストを残す」などチーム開発で重要な多くの学びを得ました。また、Koltinについて新しい知見を得ることができました。一番印象に残っているのはKotlin Fest に参加したことで、非常に感謝しています。

動機としてあった「自分の持っているAndroid知識を全部ぶつけたらどのくらいの成果が出せるか」については、十分達成できたと考えています。Androidについての知識は十分あると思えるようになった一方で、コンテキストを十分残すといった課題も見つけることができました。ソフトウェア設計においては、設計書の作成やレビューを通して多くのインプットがあり、まさに「自分の価値を知る、高める」インターン内容でした。

感想

自分の好きなプラットフォームで業務ができるのは最高に楽しかった。一日中Android Studioを開いてるって最高じゃないですか!?気がつけば1日・1週間が終わってる感覚に陥っていました。

メンターランチやチームビルディングを通して他のエンジニアの方とお話をすることもでき、今後のキャリアを考えていくために非常に参考になりました。また、アウトプット出す1つの方法として「ブログを書くこと」も再確認できたかなと。

今後は、今回得たインプットを積極的にアウトプットしつつ今しかできない様々なことに挑戦していこうと考えています。

メルカリが入っている六本木森ビル

EAGLE Educational License(アカデミックライセンス)を入手する方法

EAGLEにアカデミックライセンスが追加されたと情報を耳にしたのでホームページを確認すると、eagle_plans

。。。!、なんと本当にありました。

 

設計できる基板サイズが160*100mmとフリーライセンスより大きく、学生なら取るしかない。

 

ということで、用意されているフォーラムに情報を入れていると、

eagle_form_err

はい。怒られました。どうやらTLDが「.edu」でないとダメなようです。

ただ、ブログのQ&Aには

We have done what Autodesk does for all educational licenses and dropped the cost to $0!  So if you’re a student or a professor at a school or university & using the software for non-commercial applications, you are now entitled to a free copy of EAGLE!

とあるので学生なら取れる!前置きが長くなりましたがここから入手方法です。

セールスに直接メール

サポートにある「sales@cadsoft.de」に以下のように英語でメールを送ります。

Dear CadSoft

Hi, Im a student of the National University in Japan.

I dont have a .edu email.
But, May I get the Eagle Educational License?

Thanks,
名前

署名

英語弱者で、残念な英文なので適当に書き直して下さい。。

学生だけどアカデミックライセンス欲しいという内容が伝われば大丈夫です。

返信がくるので返信する

しばらくすると、以下のテンプレメールが返ってきます。

Dear Mr 名前!

Thank you for your request for the EAGLE educational license! We are now a part of Autodesk and per policy are pleased to offer free educational licenses to students and accredited educational institutions.

To request your license, please provide us with the following information so I can register and send your license.

First Name:
Last Name:
School Name:
Department:
Title:
Address:
Address:
City:
State:
Country:
Email:
Contact Number:
Postal Code:

各項目を埋めるのですが、おおまかには

First Name 名
Last Name 姓
School Name 学校名
Department 学部or専攻
Title → Student
Contact Number +81電話番号
Postal Code 郵便番号

です。

CadSoft Vertriebからメールがくる

PDFが添付されたメールが来るので、そのPDFのリンクを踏みます。

eagle_pdf

インストールコードのキーファイルをダウンロード

リンクを踏むと

eagle_l_agree

このようなページに飛ぶので、「I agree」します。

eagle_l_code

 

すると、インストールコードを教えてくれるので、↑の黒塗りのコードをコピーして保存して下さい。

次のページでkeyファイルをダウンロードします。(スクショ撮り忘れました)

Eagleのライセンスをあてる

eagle_l_accept

あとは、上記のようにライセンスキーとコードを入れると認証されます。

 

やったね!

eagle_l

できたてサーバー(猫) 新ダンジョン登場!

 

本日、3月7日。新ダンジョン「No166」がオープンしました!

dekiteko_nd_top

謎解き+アスレ+迷路。

もちろん、裏ルートも。。。!?

 

dekiteko_nd1

ではでは。ぜひご参加ください~。

参加は、「イベントワールド」の「もじゃハウス」から。

UnityのuGUIで文字間隔(カーニング)を行う方法

デフォルトでは、実装されてないようなのでメモ。

海外の公式ユーザーフォーラムにスクリプトが落ちてました。(バージョン5.3に対応しています。)

http://forum.unity3d.com/threads/adjustable-character-spacing-free-script.288277/

このスクリプトを追加後、「Add Component」>「UI > Effects」から「Letter Spacing」を追加してください。

できたてサーバー 総合施設完成!

 

spawn_f01

できたてサーバーにようやく総合施設が出来ました!

ここには、サーバー初心者さんへの案内やイベントへの移動などが入ります。

また、アドミンショップも入っています!!

そのため旧アドミンショップは閉店…

 

ぜひ、ログインの際は中を覗いてみてください!。

 

では。

SRC2015 Remisserious手動機 まとめ

まず、SRC2015お疲れさまでした。

SRCで初めてのロボコンを経験できました。

 

で、私(@ken_kentan)は手動機の制御(回路)を担当したのでその部分の説明をさせていただきます。

足回りについて

手動機の足回りは3輪オムニホール(ウレタン)を使っています。

2輪ではなくオムニにした理由は、姿勢を保ったまま全方向に移動できるので資材を掴む際の位置合わせがしやすいと考えたからです。

上の動画が、手動機足回りv1の制御テスト動画です。

DCモーターの出力は最大80%での動作です。制御には一般的な式を使っています。

SRC2015_Bteam_Manual/src/main.cpp (249~252行)

オムニは重心など様々な要因によってズレが生じるのでそれを6軸ジャイロを使い補正をかけています。

SRC2015_Bteam_Manual/inc/machine/machine.h (261~289行)

ノイズによって静止している状態でも値が加算されていくのでそれをmachine.hのGyroクラス・set()で除去しています。(かなり大雑把)

築城機能について

当チームの作戦では、実機内でお城を完成させることによって移動によるタイムロスをなくすというものでした。

そのため、資材を掴むアームハンドと完成したお城を押し出す上下機構のお皿を搭載しました。

・押し出しテスト

ハンド、お皿ともに上下する必要があり、これらを手動で動かすのは操縦者の技量に依存しすぎると判断しそれぞれの工程をボタン一つで行うように自動化しました。

・自動化

(一部、取得に失敗しているのはサーボ基板の不具合です。)

上下機構にそれぞれポテンショメータを付け、現在の高さを取得するようにしてそこからP制御で指定の位置までなめらか(?)に上下させました。

築城機能はmachine.hのBuilderクラスにぶちこんであるので適当にご覧ください。

プログラムでは、if(completed_arm == false || cnt_ture_arm < 5) break;というように指定の位置に移動が完了するまでサーボを動かさないようにしています。

本番で、押し出せなかって原因がここにあります。

上下機構のモーターがゆるみで空回りしたため指定位置まで上がずcompleted_plateがfalseのままで押し出すことができなかったのです。。。

自動化を行うなら自動化した全ての動作を手動でも行えるようにしなければならないと身をもって知りました。

サーボの制御はメイン基板から指示をArduinoに投げています。

2015-08-20 20.11.33

 

本来は、CAN通信を行う予定だったのですが上手くいかずOnとOffの信号を3本線で送り、3bitで通信(?)しています。

 

と、制御っぽいことは以上です。

SRC前日に手動機が石垣を持ったままエリアに侵入できないと判明(見逃していた)ため急きょハードと制御を改造したためウンコードが生まれてしまいました✌

次にロボットを作るときは1か月ぐらいの練習期間が必要だと実感しました。

ここまで読んでいただきありがとうございました。

できたてサーバー MyPet追加

2015-07-20_01.41.52

できたてサーバーに「MyPet」プラグインを追加しました。

使用方法はこちらをご覧下さい。

できたてサーバー 投票報酬追加

本日よりできたてサーバーに投票報酬を付けました。

投票方法

1.マインクラフトでマルチサーバー「minecraft.kentan.jp」にログイン

2.このページから投票をクリック

3.マイクラで報酬がゲットできたか確認

 

たったこれだけ。

投票は24時間おきに可能です!

マイクラに影MODを入れた

マイクラの影MOD、一度は入れてみたいと思っていました。

導入時にOptiFineの設定で躓いたが無事導入することができました。

シェーダーパックは「SEUS-v10.1-Ultra-DOF」を使用しました。

OptiFineとGTX970 SLIのおかげで、導入後も~60fpsで安定動作をしてくれています。

おまけに、我サーバーである「できたてサーバー(猫)」のスポーン地点で夕焼けをパシャリ

2015-07-19_00.31.11

 

予想以上に綺麗で大満足です。

それと、スポーン地下に地下鉄を整備しました。

 

ではでは。

ライントレース 進歩

ken kenです。

部でやっているライントレースの進歩を書いておきます。

 

以前のセンサー配置では、直線やカーブでベーススピードをコントロールすることが出来なかった(技術的に)ためセンサーの配置を変えてプログラムの再調整を行った。

 

カーブ時にラインを検出するセンサーは左右2つ、カーブと直線を判断するセンサーを前後1つで配置しました。

このため、直線でのスピードが大幅に改善できました。

カーブでは2つで検出するので設計上はR15以上なら問題なく走行することが可能です。

今後の課題は、ベーススピードの制御プログラムを調整、カーブ半径によってスムーズに走行できない問題の修正です。

 

以上、5/24までの進歩でした。

© 2018 ken kentan blog

Theme by Anders NorénUp ↑