B-Teck!

お仕事からゲームまで幅広く

【Firebase】Realtime DatabaseとCloud Firestoreの料金体系などを調べた

アプリ上でリアルタイム情報を取り扱う要件があり、手頃な選択肢としてRealtime DatabaseとCloud Firestoreが上がったので、検討のため料金体系や制限を調べてみた。 前提知識がほぼなかったこともあり、散らばっていたドキュメントを追いかけるのが大変だっ…

【雑記】知識を得ることと世界への認知の解像度を上げること

唐突ですが、私の趣味は情報収集です。 常になんらかの情報をインプットしていたいし、なにかをしていて気になることがあればすぐに調べて、そのアウトラインを知りたい。 ある種「情報中毒」とでも言うべき欲求が根底に流れていて、認知するあらゆるものに…

【GAS】SpreadSheetの表をjsonに変換し、ZIPで固めてGoogleDriveに配置する

静的なjsonを作成して配信する必要があり、メンテの楽なスプレッドシートの表から作れないかと思ってやってみたメモです。 JSONを作る Zipに圧縮する blobsをつくる ZIPをつくる Driveに配置する フォルダを取得する ファイルを作成する まとめ JSONを作る G…

【Kotlin/MySQL】MyBatisでレコードを取得するメモ

Kotlin + MyBatisを利用してMySQLに接続し、レコードの情報を取得するまでのメモです。 CRUD一通りとか動的クエリとかは別で書きます。 環境 ディレクトリ構成 ライブラリ読み込み MyBatisの設定ファイルを作成します SQLを定義する 実装 取得するエンティテ…

【Android/Kotlin】端末内に保存されたQRコードから情報を読み取る

下記の記事の続きです blog.beatdjam.com 端末内の画像一覧から任意の画像を取得するためのIntentを作成 取得したUrlからBitmap形式でファイルを取得 Bitmapファイルを入力としてQRコードの情報を読み取る 端末組み込みの画像一覧からQRコードの画像を取得し…

【Java/Kotlin】resourcesディレクトリにあるファイルを読む

ルートからの絶対パスで指定したリソースファイルを取得するスニペット。 IOExceptionはそのまま外に投げているので必要があればcatchしてリカバリーまで書くこと。 Java Kotlin Java import java.io.BufferedReader; import java.io.IOException; import ja…

【タスク管理】Todoist、Kanbanist、(+Toggl)を利用して快適にタスク管理をする

※Todoistの有料プランで利用できる機能を前提とした記事です。 私は基本的に日常のタスクをTodoistで管理しています。 Todoistは一覧性の高さがある一方で、タスクの状態管理が難しいという問題がありました。 とはいえ、Trello等複数のツールを並行利用する…

【雑記】30歳になりました。

前置き 去年の誕生日の記事(【雑記】29歳になりました。 - B-Teck!) を踏襲して適当に書こうと思います。 30代に突入しました。 この文章を書いているのはまだ前日なのでタイトルはある意味嘘なんですが。 ひとまずのところ30代を無事に迎えることができてい…

【雑記】だめでした

近況 4~6月期の目標立てるような状態でもないのですが、なんか投げっぱなしもあれなのでとりあえず現状報告の記事を書きました。 うちの会社も世間の流れに漏れず在宅勤務になっているんですが、通勤の辛さがなくなるのはいいですね。 仕事の辛さは無くなり…

【MySQL/Docker】docker-composeでMySQL5.7のイメージを作成して接続する備忘録

参考にした記事 環境 最終的なプロジェクトのディレクトリ構成例(MySQLの場合) インストール Dockerfileを作成する docker-compose.ymlを作成する my.cnf(MySQLの設定ファイル)を作成する initdb.d配下配置したスクリプトでDBの初期化を行う 初期化処理でテ…

【本/DDD】 わかる! ドメイン駆動設計~もちこちゃんの大冒険~読書メモ

booth.pm こちらの本を読みました。 ストーリー仕立てでドメイン駆動設計の戦略的な部分を平易に説明してくれる良本で、DDDの用語にとっつきづらさを感じていた自分にはちょうどよい内容でした。 戦術的な部分については一切書かれていないので注意。 次は「…

【雑記】前に進むしかないという話

※極個人的な感情の辛さを整理するために書いたものです。 ここ数日、数年ぶりに仕事で何も出来ていないなぁ、役に立てていないなぁという無力感を味わう毎日が続いている。 未知の既存プロダクトの再構築、かつ得手としていないDB部分の構築、1Bに共有され1E…

【雑記】Miband4(Miスマートバンド4)のススメ

昨年末にXiaomiが日本公式販売をスタートしてからにわかに話題となっているXiaomiのスマートバンドですが、実際購入してみて確かに満足度が高かったので改めておすすめしたいと思います。 なぜMiband4を購入したのか Miband4でできること 買ってよかったこと…

【Java】ImmutableなCollectionをJavaで扱う

finalの挙動 インスタンスイニシャライザ 操作できないCollectionを作る インスタンスイニシャライザと組み合わせ finalの挙動 Javaのfinalは宣言した変数への代入を禁止するだけで、変数が持っているインスタンスの内容は変更できてしまう。 そのため、Coll…

【雑記】2020年の目標 その1

昨年の1月に色々目標を立ててみたものの、一年間というスパンではやりたいことの変遷や仕事の立ち位置、触れる技術などが変わっており、全然役に立たないなと思ったので、1月から3ヶ月おきに目標を立てようと思いました。 達成できた目標、今後も継続するべ…

【雑記】2019年よかったものたち

あけましておめでとうございます。あけてしまいました。 ホントは年内に書こうと思ってたのに冬休み前からずっとデス・ストランディングしていたら冬休みどころか明けて一週間も経っていたんですよね。 そこから書き始めた記事なので、公開がこんなに遅くな…

【雑記】2019 ふりかえり

2019年は、仕事・技術的な面で言えば平坦な年でした。 転職直後かつ、初めてのKotlinを導入した昨年のサバイバル感と比べてしまえば当然かも知れないです。 こなれた業務の中で既知の技術を扱い、たまにGoやRust、Androidに触れる程度でした。 Shibuya.apkや…

【PHP】PHPカンファレンス2019に参加したので感想などを書きました

PHP

2019/12/1に開催されたPHPカンファレンス2019に行ってきました。 2015年に開催されたもの以来の参加で、めっきりPHPを書いておらず不安だったのですが、 相変わらずとても楽しいイベントでした。 感想 参加したセッションと一言メモ PHPの今とこれから2019 P…

【Android/Kotlin】ZXing Android Embeddedを用いて簡単にQRコードを扱う

Androidアプリの勉強のため、QRコードリーダーの開発を行っています。 とりあえずQRコードを読み取る・生成する部分については実装することができました。 せっかくなのでご紹介しようと思います。 記事内に登場するコードは、下記リポジトリにて記載されて…

【Rust】Rust.Tokyo 2019に参加しました!#rust_tokyo

感想 参加セッション Rustで安全に実装するための心得 エッジMLシステムをC/C++からRustへ移行した事例 Rustによる数値計算の現状と課題 Web-based Data Visualization with Rust and WebAssembly いつの間にか社の中核製品にRustが使われていた件について R…

【雑記】学ぶ方向性の選択と集中

新卒の頃から意識している成長法に、死にながら成長するというのがある。 単に無茶ぶりの仕事を倒しながら死んで、結果成長するというのもあるし、 脳が働かなくなるまでとりあえず情報を脳に叩き込み続けて、 つながりを探しながら咀嚼するみたいなことをし…

【API開発】稼働中のAPIサーバーリプレースの難しさ

TL;DR はじめに 何が辛いのか IFが定義されてない 仕様があまり明確ではない 独自フレームワークを使っている 最終的に目指すべき形 やりきるための進め方 忘れてはならないこと TL;DR I/Fや仕様が明確でないものを再現しながら移行するのは大変 まずは情報…

【ゲーム】今更 Papers, Pleaseをクリアした

全編日本語化されているので、安心してプレイできる Papers, Please、知ってますか? 細かい世界観の描写が良い お役所仕事を体験できる ぶっちゃけこのゲームの面白さなんて語り尽くされてるんですけどね Papers, Please、知ってますか? タイトルに今更っ…

【雑記】ブログ独自ドメイン化+AdSense再審査を行いました。

PV累計50万行ったので記念に独自ドメイン化しました。 その過程で色々やったので備忘がてら書いておきます 基本的には下記の記事の形で進めました。 https://blog.hatenablog.com/entry/2018/02/26/110000 1. お名前.comでドメイン取得 2. はてなブログ側で…

【JavaScript/jQuery】We don't need jQuery?

昔書いてたメモが出てきたので、今更ですが供養。 正直今でも作り捨てとか、とりあえず作るならjQuery使ってもいいんじゃないかな?って思ってる。 jQueryとはなんだったのか ブラウザ間でJavaScriptの実装が大きく異なっていた時代に、共通の実装が行えるよ…

【雑記】勉強会に参加するのが難しい

みなさん、勉強会参加してますか? 勉強会のあとはしっかり懇親してますか? 私は、あんまり社外の勉強会などに顔を出せてないです。 原因はいくつかあるんですけど、主に2つで ・どうやって参加したい勉強会を観測すればいいのかわからない ・人見知りなの…

【Rust】Rust勉強-1 普遍的なプログラミング概念

普遍的なプログラミング概念 - The Rust Programming Languageの勉強メモ 1.1.1. 変数 1.1.2. Result型 1.1.3. println!マクロのプレースホルダ 1.1.4. crate 1.1.5. シャドーイング 1.1.6. タプル 1.1.7. 配列型 1.1.8. 関数 1.1.1. 変数 変数宣言には let…

【雑記】累計50万PVを超えました

実は結構経っちゃったんですが、去る8/5に当ブログのアクセス数が50万を超えていました。 新卒の夏、現場に送り込まれた時期にインプットをまとめる場所として始めたこのブログを、 6年経っても継続できているとは思っていませんでした。 記事の内容こそ雑多…

【雑記】休息、取れていますか?

みなさん、きちんと休息を取れていますか? 4月に異動があった人、研修が終わって配属された新人... そうでなくても連日のこの暑さで疲れ気味の人は多いと思います。 自分自身の疲れには鈍感になりがちなものです。 「まだ頑張れる」、「もう少しで終わるか…

【Kotlin】KotlinのReified type parametersについて

前置き 【Kotlin】Kotlin+JacksonでJSONをparseする - B-Teck! のparseJSONがなぜ型情報を使えるのか 会社でJavaを書いている人にこの話をしたところ驚かれたので。 Genericsとtype erasure JVMにおけるジェネリクスはJava1.4以前のバイナリとの仕様互換のた…