B-Teck!

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

2019-01-01から1年間の記事一覧

【雑記】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以前のバイナリとの仕様互換のた…

【JavaScript/Vue.js】Vue.jsとVuetifyを使ってTodoリストを作ってみた

ちょっと会社でVueを触る機会があったので、勉強がてらTodoリストを作ってみました。 リポジトリと動作サンプルは下記 GitHub - beatdjam/training_vue-cli-todo サンプルページ やったこと vue-cliインストール $ npm install -g @vue/cli プロジェクト作成…

【Kotlin】data classにJavaから呼び出せるBuilderを用意する

はじめに Kotlinには名前付き引数を利用することができるので、 コンストラクタに渡す引数をわかりやすく記述することができます。 Person( name = "taro", age = 20 ) しかし、JavaとKotlinが混在している場合は、Javaからは名前付き引数の仕組みを利用でき…

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

前置き 近況報告 振り返りとか ぷれぜんとこ〜な〜 さて、まぁ掲題の通りなんですが、29歳になりました。 (この記事は予約投稿なので書いているときはまだ28ですが) ついに20代最後の歳ですね。 前置き 元号が令和に切り替わり、GWも折り返しを過ぎちゃいま…

JSONからJSON Schemaを生成してYAMLに変換する

YAMLで書いてるSwaggerの定義に実装済みのAPIを記述したいが、 レスポンスの定義を手で書くのはしんどい…みたいなときに、 実際に返却しているJSONから生成できれば便利では!?と思ってやってみた。 TL;DR 手順 Quicktypeのインストール json2yamlのインス…

【Kotlin】JerseyをKotlinで動かす その2 パラメータの取扱編

前回の記事 beatdjam.hatenablog.com 準備 HTTPリクエストのクエリ クエリをdata classに対応させる Pathに含まれる値 リクエストパスからパターンに対応した値を取り出す リクエストパスから正規表現に対応した値を取り出す Formから送信されたリクエストを…

【Kotlin】JerseyをKotlinで動かす その1 導入編

Jerseyの雛形を作る Kotlin化する pomの記述変更 ファイルのKotlin化 Main.java → Main.kt MyResource.java → MyResource.kt MyResourceTest.java → MyResourceTest.kt サーバーの起動 Grizzly上ではなく通常のJavaEEアプリケーションとして動かす場合 ここ…

【Kotlin】Kotlinで競プロする

Scannerとprintln()で入出力する readLine()とPrintWriterで入出力する その他Kotlinで書いて嬉しいところ 普段使ってる解答用テンプレ PaizaやってたときはPHP+JS、AtCoderでは主にJavaで解いてたんですが、 ここ半年の案件でずっとKotlinを書いていたらJav…

【Kotlin】社内LTでServer Side Kotlinの導入について話しました

speakerdeck.com 資料は主に以前書いたこの記事をベースに作成しました。 beatdjam.hatenablog.com

【Bash】指定のポートを利用しているプロセスを殺す

プロセス探してkillしてを別々にやってたけどよく考えたら一行でできたのでメモ。 StackOverfrowに書いてあった。 bash - How to write a shscript to kill -9 a pid which is found via lsof -i - Ask Ubuntu # :80の部分は任意のポート番号 kill -9 $(lsof…

【Kotlin/Java】Jersey2でファイルアップロードを扱う

Jersey2でファイルアップロードを扱うときの方法を書いている記事があまり見つからなかったのでメモ。 StackOverfrowで見つけた。 java - Upload data method in REST web service - Stack Overflow アップロードされたファイルはbyte配列かInputStreamで扱…

【Kotlin】Kotlin+JacksonでJSONをparseする

準備 ビルドツールの設定に jackson-module-kotlin を追加する。 バージョンは任意で。 maven <dependencies> <dependency> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-kotlin</artifactId> <version>2.9.7</version> </dependency> </dependencies> gradle compile group: 'com.fasterxml.jackson.module', name: 'j…

【雑記】今年の目標

1月もほぼ終わりになってしまいましたが、今年の目標をたてました。 明確な数字がないものも多いですが、なるべく達成したいですね。 ブログ 内容・ジャンルにかかわらずブログちゃんとかく 最低月1以上 年40本以上 PV 15000/month 競技プログラミング 緑コ…