くうと徒然なるままに

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

Android で Databinding しようとしたら Cause: couldn't make a guess for {Class Name} ってエラーがでる

状況

以下のようなエラーが出てしまいました...

Cause: couldn't make a guess for {Class Name}

解決策・原因

パッケージネームに大文字が混入してたのが原因です。 意外に見つけにくい...

「1万PV」はてブでインターンシップの感想を書いたらバズったので結果分析してみる

はてなブログに以下の記事を投下したらバズりました。

kuxumarin.hatenablog.com

とりあえずアクセス数はよ

以下のような感じで1日目、2日目と多数のアクセスをいただきました。

f:id:kuxumarin:20180923145751p:plain

1にちで1万PV でした。

辛かったとこ

Twitterでよくあるような何を言いたいのかわからないクソコメントがあったのが辛かったです。
あと、「それは嘘だ」的な意味で書いたのであろうコメントがありましたが、コメント主には残念ですが、事実です。

バズった原因分析

以下のように分析しました。

  1. はてなブックマークの新着に掲載された
  2. IT業界というはてブ民にとって身近なトピック
  3. 各種情報メディアに掲載

1. はてなブックマーク新着に掲載された

ここで新着ブクマされるのが最初の要因だと考えてます。

また、ブログのポストを休日の仕事に疲れた人に見られるように土曜日の午前ぐらいにポストしました。

結果的には対象の読者に読まれたのかなぁとか思いました。

2. IT 業界というはてブ民にとってみじかなトピック

はてブコメントを見ている限りは SIer に務める25-45 ぐらいの社会人が多いかなと思いました。

またそのような方々にとってWeb 業界な雰囲気は嫌いなのかな...? それともそういう環境が欲しいけど働けないから羨ましくてコメントしてるのかな..? とか想像しました。

各種メディアに掲載された

はてブで人気な投稿を勝手にまとめるサービスにまとめられたのはもちろんですが、今回は、有力なキュレーションサービスにもまとめられました。

どのサービスにまとめられたの??

別にそのサービスにまとめられたからといってそこまでPV は伸びなかったのかなと思ってます。(両方合わせて17%...

f:id:kuxumarin:20180923151304p:plain

実際に見た人を解析

友人のれとるときゃりーさんに Google Analytics の使い方を教えてもらったので早速使って分析して見ます。

多かった年齢

当初の想像通りに 25~45 の人が多かったです。

性別

9割が男性でした。

住んでいる県

7割が首都圏で残りが地方って感じでした。

閲覧した環境

スマホが8割です。

残りはPC 等でWindowsMac が半々でした。

(みんな mac 使ってるじゃん...

スマホのメーカー

Apple >>> Sony > Huawei >> ASUS, Google, Samsung, Essential Phone

って感じでした。 Sony 強し...

東京のIT企業7社でインターンシップをして感じたことをメタ的にまとめて見た。

今までの人生の中で7社ぐらいの会社にインターンシップしてました。(2017に1社2018に6社)
せっかくなので感じたことをまとめて見ました。なお、会社名は基本的に出さない方針です。

ほぼ全ての会社に当てはまってたもの

大学院卒の人がITエンジニアでは多い

肌感ですが、大学院卒の人が多いと感じました。
特に、若い人は結構な割合で大学院卒が多かったと思います。

また、インターンシップに参加してた人も半数〜過半数が大学院生だった気がします。
(湯けむりハッカソンでは自分以外の人全員が大学院生だったし....

会社で泊まる人がほとんどいなかった

「なれるSE!」 を読んだことがあるので東京のIT企業ではあんな感じなのかなーとかずっと思ってました。
しかし、現実はかなりホワイトっぽさを感じました。

なれるSE は一度見とくと良いかも。

Excel仕様書はほとんどなかった

事業会社ばかり見てたので Japanese traditional company とは事情が違うとは思いますが、基本的にExcelを有効活用している会社はあまりなかったです。

それよりも、Slack や コンフル、kibela、zepplin などのツールを複数組み合わせて生産性を高めている会社が多かったです。

個人的にはコンフル好き(直球

PC は Mac or 高性能WIndows

イケイケな企業がよく使っているMac、もちろん新しめな高性能モデルでした。
Windows を使った場合でも、Intel Corei7 を搭載してるマシンだったりして快適な開発ができそうな雰囲気でした。

結婚してる人が多かった

IT エンジニアは結婚できないとかTwitterでよく言われてます。

けど、結婚してる人が意外に多かった!!

Git/Github が導入されてた。CI が導入されてた

Git/Github が導入されてるのはほとんどかなーとか思ってましたが、はてブの反応てきにそうではないらしいので一応、

また、Github と連携しCI が動いてるのがほとんどでした。

CI で lint も動いている会社がいるのが可愛かった(結果通知がSlack でかわいいキャラクターが教えてくれるので!

半数の会社に当てはまってたもの

ルフレックス

ルフレックスで生産性高めに働こうとしてる会社が多いと感じました。

現在はなってなくてもなんとか導入しようとチャレンジしてたり事業部ごとに導入してたりしなかったり。

リモートワーク

できる会社とできない会社が半数ぐらいでした。

個人的には、生産性が一番出る働き方をできればいいかなーとか思ってるので必須ではないと思ってます。

一部の会社に特有なもの

分離キーボードおじさん

布教されました。
結局慣れることはできず...

COMP おじさん

COMP グミをひたすら配ってるイケメンなおじさん

食事しなくても大丈夫になるので良いものですよ🌟

まとめ

自分の気持ちを整理するためにとりあえずまとめて見ました。

読者によりそれぞれ感想はあると思います。そんな人はこの記事を引用してその人なりの想いを書いて欲しいと思います✨

名刺管理の Sansan のインターンシップに参加してきました。 それ、早く言ってよぉ~ ちゃおっす!

名刺管理の Sansan のインターンシップに参加してきました。

何やってたの?

Sansan 本体のサーバーサイドの高速化をしてました。(詳しい内容は書くと怒られが発生するので書かない)

Visual Studio や R# 先生を利用して開発してました。ホスティングしてるのは、AWSでした。AWS最高!!

なんでさんかしたの?

  • C#で開発をしてるある程度大きなベンチャー
  • 逆求人の時に楽しそうに会社を紹介された
  • Eight をいつも使っているから (- ばんくしさんが働いてた会社だから

C#で開発をしてるベンチャーって結構少ないんですよね...

自分はある程度C#を書いてるので見ておきたいなと。

また、逆求人の時にSansan の人と話したのですが、めちゃめちゃ楽しそうに会社のことを話してたので興味を持ちました。

ばんくしさんが働いていた会社だから

ばんくしさんとはTwitterでいつもあおってくるインフルエンサーです。
ばんくしさんが働いていた会社ってどんなとこだろー!って気になったのもあります!(半分冗談

感想

頑張りたいだけ頑張れる

頑張りたいだけ頑張れる社風でした。

使用しているライブラリの不具合とかが見つかったときはライブラリのソースコードを見てみたり。

社員とたくさん話せれたのよき

人事の人におねがいをしてインターンシップ期間中にいろいろな部署の社員の人と話すことができました。

CI,Mobile, Server それぞれの面からSansan を知ることができて非常によきでした。

まとめ

普段利用しているサービスの裏側がどんな感じで動いているのかをしることができてよきでした。

DMM のインターンシップを卒業しました。冒険し続けよう!!

2018 年夏 に DMM のインターンシップをしていました。

突然ですが、DMM って知ってますか? 艦これで有名な会社です
FANZA とか DMM.make とかやってる会社です。

インターンシップの内容

とりまこのPDF 見れば書いてある感じです。

https://dmm-corp.com/pdf/pages/entry/internship_2018_summer.pdf

とりま

こちらのアプリのAndroid 版を作ってました。

献立レシピアプリをすんなりダウンロードしてください!

menus-recipe.com

応募までの流れ

1. 逆求人(stz) で DMM 社と面談をする

面談相手はyanoshi さんと 人事のtmk さんでした。

正直、その時の私にとっては雲の上の企業だぁ... と行った感じでした。

2. DMM 社から インターンシップの案内が来る

メールで案内が来てました、しかしこの時は申し込む勇気がなく...

3. なつよしプロ(nanatuyoshy) に DMM の魅力を布教される

めちゃめちゃ楽しそうな長文メッセージで魅力が送られて来ました。

プロもDMM でインターンシップをするということもあり自分も申し込んでみようかなと。

実際のところコース等を見てたらめちゃめちゃ魅力的だなと。
特に、TwitterID が乗っていたので受かったらつい廃な人がメンターになるのかなーとか思ってました。

f:id:kuxumarin:20180915032742p:plain

4. インターンシップに申し込む

選考は、面接だけでした。

履歴書をmarkdown で作成し送りました。

その後、kgmyshin さんと面接。決定という流れでした。

面接の時に艦これやってます!吹雪を轟沈させましたが、吹雪のことが好きです!みたいなことを言ってた気がします。

仕事内容

実際の業務のタスクを振られ、それを実装していく形です。
初日にどのタスクをやるか選ぶところから始まる感じな。

2週間の期間で行ってました。

開発の流れとかは東京の会社ではどこもやっているようにスクラム開発してました。
とはいえ、2週間しかいなかったのであまり体験できなかった...!

クラス図とシーケンス図を書いてから開発に入るところが独特かなと。
あとでレビューする手間を減らすためだそうです。

技術的には最新な環境でした。

具体的な技術

アーキテクチャは MVVM + Clean Architecture みたいな形かなと。

以下のような技術が使われてました。
面接でも以下のような技術使ったことある??みたいなこと聞かれました。
とはいえ、Rx とかはクライアントサイドを触るITエンジニアなら大体の人が使っているし普通にできるのでは?と思います。

  • ViewModel
  • DataBinding
  • Multi Module
  • Live Data
  • Navigation Architecture Component
  • RxJava

メンターのカンファレンスでの発表資料を事前に読み込んでいたので開発やアーキテクチャについては割とすぐに理解できました。

メンターさんは インターンの前日の Kotlin Fes でも登壇してたような感じの人。

感想とか

DMM はいい感じな緩さな会社だと思ってます。

会社ができてから20年近く経ってますが(この前FANZA の20th セールしてた)日本伝統的企業みたいな硬さもなく緩すぎることもなくと行った感じです。

結構ゆるふわな社風です。

ただ、そこらへんは事業部によって雰囲気がかなり違うので注意が必要かも。

また、六本木はランチが店を探せばそこまで高くなく美味しいお店とかあるので思ったより生活しやすかったです。

田舎の場合は安くない割に美味しい料理を提供するお店が少ないのでは

インターンシップ後のインターン生同士の関係

同じインターンシップに参加してた人同士でかなり仲がいいのがDMM の特徴かなとか思ってます。

毎晩仕事終わりにご飯食べ行ったり、終わってからも結構な頻度で飲みに行ったりしてます。

倍率がエグい程高いこともありお互いにある程度の技術力が担保されており属性も似ている人が集まっているので話すと必然的に盛り上がって超楽しい!!

あと、二年前にイベントで出会った人とかTwitterのフォロワーが同じインターンシップに参加してたりしました。

学生エンジニア界隈狭すぎるのでよくない。。。

給料について

給料は全額パソコンに投資して行きたいです。
(というかこの前買ったパソコンのローン地獄にはまっているので返済に当てなければ行けない

食事

まとめ

DMM は最高な会社なのでTwitterのTLにいる任意の21卒は来年インターンシップに参加して最高を味わって欲しいです!!

正直、1ヶ月ぐらいインターンシップすればよかった...!

あと、なつよしプロの激推しに感謝です😆

湯けむりハッカソン 2018 で優勝しました。 teratail を最高にするやつ!! パイヨン チーム!!

レバレジーズ株式会社の主催するハッカソンインターンシップの 「湯けむりハッカソン」で優勝しました。

湯けむりハッカソンとは

熱海の温泉旅館で行われるハッカソンです。

主に20卒な人が参加してました。
参加比率は 院卒が7割ぐらいで自分のような学部生は3割ぐらいな印象です。

内容的には、雑に teratail をもっとよくするとかそんな内容です。

prtimes.jp

感想

ハッカソン、とはいえ一般的なハッカソンではなくビジネスサイドなことをかなり問われる形式のハッカソンでした。

自分は、4人チームな感じでした。
チームのメンバーは自分以外が院生で愛知や京都、北海道など各地の人が集まっている感じでした。

優勝

ハッカソ ンの評価軸は 一般的なハッカソンのように製品の完成度も問われます。
しかし、今回の場合は客のためになるのか?が特に見られてました。

辛かったこと

途中で審査があったのですが、そこで、「それって理論通ってないようね?」的な指摘があり一からやり直しになったのは辛かったです... (開発開始したのは、最終日の4時...

技術的な方面

teratail と連携する Web アプリを作りました。

普通にフルスタックなやつで作ると死にそうだったので、自分たちは軽量な構成にしました。

具体的には、 サーバーサイドのAPI を Azure Functions with NodeJS で作成しました。

また、フロントエンドを Azure Web Apps を利用して Github にプッシュがあった時点でデプロイまで完了するようにして圧倒的生産性を得て開発してました。

まとめ

ハッカソンは何回も参加したことがあるのですが、湯けむりハッカソンのようにビジネス的視点からのハッカソンも良いものでした。

Kotlin, JUnit で パラメタライズドテストを書く

こちらで書いたコードに対してパラメタライズドテストを書いていきます。

kuxumarin.hatenablog.com

環境

testImplementation 'junit:junit:4.12'

コード

Java で書くときは、Static な感じで書いてたのは companion object にしました。

@RunWith(Parameterized::class)
internal class HtmlUtilSpec(private val HtmlText: String, private val planeText: String) {

    @Test
    fun ConvertHtmlToPlaneText() {
        Assert.assertEquals(HtmlText.removehtmlTag(), planeText)
    }

    companion object {
        @Parameterized.Parameters
        @JvmStatic
        fun data() = listOf(
                arrayOf("hello neet", "hello neet"),
                arrayOf("<h1>hello</h1>", "hello"),
                arrayOf("<br>hello\n", "hello"),
                arrayOf("<h1>hello<h1>", "hello")
        )
    }
}

参考元

Parameterized JUnit4 test example in Kotlin · GitHub