B-Teck!

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

【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 競技プログラミング 緑コ…

【雑記】2018年お疲れ様でした

今年も一年お疲れ様でした。 去年もやっていたので今年も振り返りを書こうと思います。 beatdjam.hatenablog.com 結婚生活 結婚してそろそろ一年半が経過しました。 お互いぶつかったり喧嘩したりしながらも、なんだかんだで仲良く、楽しくやっています。 結…

【雑記】2018年末時点でのスキルセット棚卸し

今年までに業務で学んだ・触った知識をざっくり書き出してみた。 とりあえず並べて書いているので初学者レベルのものもあるものの、 目安として。 5000兆円いただける企業からのお声がけお待ちしています。 言語 JavaScript ES5 jQuery ES6~ (New!) Java/Jav…

【映画】シュガー・ラッシュ・オンラインを見た

この記事は下記キャンペーンに参加し、シュガー・ラッシュ・オンラインの感想を書いています。 内容のネタバレを含みますので、視聴後の閲覧を推奨します。 映画「シュガー・ラッシュ:オンライン」の感想 #シュガラお題 blog.hatena.ne.jp

【Kotlin】Sequenceを使おう

Sequenceとは? Sequenceを使うと何が嬉しいか ループ回数が少なくなる Sequenceを使わない場合 Sequenceを使った場合 不要な計算をスキップできる Sequenceを使わない場合 Sequenceを使った場合 まとめ 参考 Sequenceとは? Kotlinにおけるコレクション遅延…

【Kotlin】Server Side Kotlin やってみた

tl;dr はじめに なぜKotlinを導入したのか? 実際にKotlinを導入してみた Server Side Kotlin導入のPros/Cons Pros Cons まとめ tl;dr Server Side Kotlinは特に特殊なことはないよ Kotlinの言語仕様は便利だよ Null安全の機構を導入することでアプリ側との…

【Kotlin】文字列の日時が指定の期間内に含まれているかを判定する

KotlinのDateにはRange演算子(Ranges - Kotlin Programming Language)が実装されているので、 簡単に大小や範囲を判定することができる。 下記は文字列の日時をSimpleDateFormatでDateに変換して、 0時から3時の間に含まれるかを判定しているサンプル。 impo…

【JavaScript/jQuery】後から生成されたDOMからイベントを発火させる

jQueryの場合 jQueryの場合のサンプル pure JSの場合 JavaScriptの場合のサンプル jQueryの場合 昔こういう事するときはjQueryのlive()を利用していたんだけど、1.9で死んでた。 $("p").live("click", function(){ $(this).after("<p>これもクリックできる</p>"); }…