Yoshi.dev

技術系の趣味、またはやった仕事やそこから学んだことを忘れないために

今週の技術日記

(この日記は殴り書きです)新規プロジェクト(既存プロジェクトからの派生)の認証周りの設計が一段落した今回の新規開発と同時に既存のモノリシックなサーバーを将来マイクロサービス化していくための土台も整えていく また既存システムはAPI化されていな…

今週の技術日記

spring bootのバージョンを1.2->1.5.19に上げたものをstaging環境に上げたら一部アクセスできなくなった これがめちゃくちゃ謎だったんだけどインフラの方と協力してなんとか解決 原因はバージョン1.4のタイミングで内蔵してるtomcatのバージョンが8.5にあが…

今週の技術日記

既存のモノリシックなアプリケーションと新しいマイクロサービス間の通信にgrpc使おうと思ってるけど、どうやってモノリシックなspring bootのアプリケーションとgrpc通信しようか考えた結果、コードベースは統一して新たに別でgrpc通信用のサーバーアプリケ…

Kotlin×springbootアプリをAWS Lambdaで動かしてみた

Kotlinとspringbootで作ったアプリをAWS Lambdaにデプロイした時のメモです バージョン kotlinVersion = '1.2.21' springBootVersion = '2.0.3.RELEASE' gradleVersion = '4.2.1' Kotlinサンプルコード package com.test.batch.job // import省略 @SpringBoo…

ElasticSearchでの類似キーワード検索

ElasticSearchをここ数日使っていて、レーベンシュタイン距離による類似キーワードの検索ができないか試していた 下記のような銀行口座の明細テキストを扱うデータでの類似度による検索をやりたかった 東京電力 料金 17/04 東京電力 料金 17/06 東…

logback.xmlのタグ

自分用メモ タグ名 説明 appender フィアルの出力先やローテートルール、文字列エンコード方式の指定などができる logger ログにどのappenderを紐付けるか指定できる root 全てのログに適用される。loggerタグの親要素的なもの property 定数の定義 springPr…

新規サービスをリリースしたので備忘録的な何か

先週新規サービスをリリースしました 結構難易度高かった。。。 自分がやったことの備忘録的なものを書いておきます 自分は今回サーバーサイドで、 プロジェクト構成、認証、api、スクレイピング、DB設計、CI環境、開発環境のAWSのインスタンス作成等々0ベー…

Kotlin&JVM1.8でDate型オブジェクトから月末日を取る方法

Dateからそのままだと月末日を取得できない 自分はこんな風に月末日を取得してみた var localDate = history.date?.toInstant()?.atZone(ZoneId.of("Asia/Tokyo"))?.toLocalDate() val lastLDate = YearMonth.from(localDate).atEndOfMonth() val lastDate =…

おすすめのリモートワーク用マイク(オフィス側)

会社で買ったPCマイクがいい感じなので迷ってる方いればと思い書いておきます 初めて言っておくと、コレはオフィス側に置くものを想定していますうちのチームでは週一でのリモートワークが認められています 基本毎日7人ぐらいの開発陣で夕会をするのですが、…

MyBatis generatorでインサート時のidを取得する

ちょっとタイトルが変だけどMyBatis generatorで作成したMapperクラスで、insert時にauto_incrementで付与されたidを取得できますgenerator_config.xml内で <table tableName="table_name"> <generatedKey column="table_name_id" sqlStatement="MySql" identity="true" /> </table> こんな感じにgeneratedKeyタグを追加するだけ。え、楽すぎてヤバイ

Spring Boot Devtoolを使った開発がめちゃくちゃ捗る

新規サービスのサーバーをKotlin×SpringBootで作っているんだけど、Spring Boot DevtoolでHot Reloadが出来ると知って、正直半信半疑だったけど入れてみた。 半信半疑というのは昔Seasar2使ってた時にもHot Reloadしようとしたけど正直まともに動かなかった…

ReactNativeの技術採用について考えてみた(殴り書き)

仕事のプロダクトでReactNative採用するかどうか考えてみたメリット ・自分のチームはWebエンジニアのみだったので、新しくネイティブエンジニアを採用するよりも色んな意味でコスト低そう(人件費、採用労力) ・ios,androidアプリを一つのコードベースで作…

chromeのdev toolでReactNativeのネットワーク通信を見る方法

デフォルトだとReactNativeのネットワーク通信内容がchrome dev toolで確認できなかった。githubのissueを眺めてると Show network requests such as fetch, WebSocket etc. in chrome dev tools · Issue #934 · facebook/react-native · GitHubとりあえず G…

CircleCIで既存Java(8)プロジェクトに自動テストの仕組みを作った

circleCI使って自動テストの仕組みを作ったサービス規模の拡大とともに障害発生率が上がってきていて、不安定な運用になっていた。 それを少しでも食い止めるためにテストを入れることにした。 またテストがあることで新しく来た人のコード理解の助けになる…

二重サブミット防止策が十分じゃなかった

仕事のWebシステムでCSRFトークンを使用したリクエストの二重サブミット防止策があるのだけど、それの不備が発覚したのでそれの調査~対応策までをやりました。 ちなみにこの件はユーザーからの連絡で気づいた。まず現状の仕組みについて リクエストにCSRFト…

Java8アップデート【2017.11】

仕事で長らくJava7で動かしていたサービスをJava8へとアップデートしました。 最初はJava9も正式リリースされたタイミングであったため、検討もしたのですが、諸々あって一旦Java8へとアップデートすることに決めました。どのように作業していったか備忘録用…

java7 → java9アップデートメモ

やったことメモしてく 先に言っておくとspring boot使っている都合もあって今回はJava9への移行をやめましたbuild gradleの sourceCompatibility targetCompatibility を9にする その他IntelliJ使ってたのでProject StructureのProject SDKとかも9にあげてく…

java7プロジェクトを試しにjava9で動かそうとしてみたけどよくわからんかった

※駄文仕事でやってるプロジェクトのjavaが7で、もはや化石感出てきた気がするから今季の目標の一つとしてjavaのバージョンをあげるというのをやってみることにした。java9だと破壊的な変更が入ってるとのことなのでjava8の方が簡単に移行できそうだけど、 試…

Unity2017.3.0b1でtheta vの動画再生してみた

Twitter眺めてたらUnity2017.3.0b1でUnityが360動画の再生に対応したとのことだったので試してみたyoshi10321-tech.hatenablog.com この前こっちの記事でも既にthetaの動画再生はやってるけど一応手順は簡単で プロジェクト作成したら適当な名前でsceneを保…

Ricoh Theta Vの360度動画をUnityで動かしてWindowsMRで見る方法

先日発売したRicoh theta V 買うか迷ったけど気がついたらポチってましたなので、Ricoh theta sでもやったVRでThetaの動画を見れるようにしてみました。 ちなみにtheta sの時は No hack, no work • UnityとOculusで360度パノラマ全天周動画を見る方法【無料…

InnoDBではレコード削除しても容量確保されない

MySQL使っていて大量のデータを削除してもサーバーの容量が解放されなくて焦った。 InnoDBではレコード削除してもその容量を開放してくれなくて、別途 alter table t engine=InnoDB;と叩く必要があるらしい。 試しにAlter流してみるとテーブルが巨大だったた…

Windows MR用にPC自作した

勢いで予約注文したAcerのHMDが先日届きました! ということでWindows MR開発用(兼ゲーム用)に久々にPCを自作してみた。 パーツ一覧をざっと貼っときます(アフィリンク)。今のところ特に問題なく動いています。 CPU AMD CPU Ryzen7 1700 with WraithSpir…

エンジニアのやった仕事の成果の見える化をしたい

エンジニアのやった仕事に対する効果をもっと見えるようにしたい。 よくあるのはアジャイルでちゃんと見積もりやってれば毎スプリント毎の振り返りMTGで、あなたは今回◯ポイント消化できましたね。みたいなイメージ。 でも正直見積もりしてる時間ももったい…

コードレビューもうちょいちゃんとやります

windows MR用にPC自作することにしたんだけど 仕事中なのにPCパーツポチったりしてる それはとりあえず置いといて。 PRレビューもうちょっとちゃんとやろうと思った。 というかいつもprレビューするのが嫌だったのは、なんか頭にスッと入ってこなかったから…

思ったこと

転職活動してたけど決まらなそうかも 今後はもっとアウトプットを増やしたりしていこう あとフリーランスにもなってみたい気もするから資格も取っていこうと思う。

署名の設計でURLは入れないほうがいい..

今関わってるシステムで外部からapiを叩く時なんかに署名を付けてもらってるんだけど、その署名作成のルールにリクエスト元のURLを入れることになっている。 ただ最近気づいたけどコレがマジで厄介で、 サーバー側でリダイレクト処理をした時に署名が無効に…

MySQLでInnoDB使う時はAuto_incrementの挙動に気をつけたほうがよさそう

仕事のプロダクト(割りとセキュリティ気にしなきゃいけないやつ)でsequenceテーブルを作成して各テーブルidを管理しているんだけど、ずっと何のためにこんなことしてんの?auto_incrementでいいじゃんと思ってました。でも、下記の記事を見てやっと腹落ち。 …

画像処理入門講座やった

既存のモノの組み合わせで360度動画配信のシステムを作ったときに、複数の画像をつなげるstitchingという言葉を知りました。それから画像処理の勉強がしたくてしたくなって調べたところ、下記の記事が見つかったのでやってみた。 postd.cc opencv3を使用した…

漫画読みたいリスト管理アプリ

Parse.comのサービス停止も合ったのでアプリはストアから下げました。 別の形での提供を検討中 アプリリリースしました。(ごめんなさいandroidのみです) 自分の読みたいマンガの読みたい・読んだを管理するアプリです。 マッシュ-マンガアラーム-β - Google …