wrongwrongな開発日記

しんまいさんの忘備録

【ASP.Net Core】@Html.TextAreaForの初期値が入らなくて詰まった話

状況 TextAreaForでModelを正しく指定しているにも関わらず初期値が入らない状況になりました。 原因 TextAreaForを追加しようとする前は、ViewData経由でcshtml側に値を渡してバインドし、バインドされた値によってModelが初期化されるという構造になってお…

【HTML】Google Chart APIでQRコードを生成して表示する

やり方 以下のAPIに対してQRコードにしたいURLを指定することで、簡単にQRコードを生成することができます。 http://chart.apis.google.com/chart?chs=320x320&cht=qr&chl=/* QRコードにしたいURL */ 例えば、このブログのブログトップを指定すると以下のよ…

【SpringBoot】vuejs-datepickerで取得した日時をPOSTするとサーバーサイドで読んだ時に1日前になる問題が発生した【Vue.js】

やりたかったこと vuejs-datepickerでPOSTした日時から、サーバーサイドで日付を取得する 問題の概要 vuejs-datepickerはタイムゾーンまで含めてデータを出力する Jacksonはフォーマット設定をしなければ受け取った日時をGMT基準(=日本時間-9時間)に変換し…

【Java】最近やっているプロジェクトで後悔していること5点【プログラミング】

Java8でプロジェクトをやっていて後悔していることを5点挙げます。 上から後悔している順です。 nullを返すな、Optionalを使え 文字通りなんですが、null が絡むと何が返ってくるのか分からない状態になるのでOptional使った方がいいです。 特にnullを返しが…

【プログラミング】好きなインデント、嫌いなインデント【日記】

インデント数や改行のやり方について、自分の好みを書きます。 言語はJava想定ですが、別言語でも基本的な好みは同じです(IDEは当然使うものとします)。 はじめに そもそもの話 インデント数 4スペース対2スペース Tabインデント 改行の方式 ブロックの改…

【プログラミング】JetBrains Riderで「Cannot run project of type Unloaded using any of available configuration types.」と出てプロジェクトがビルド/実行できなくなった話

何で直ったのかわかりませんが、とりあえず直った話です。 状況 JetBrains Riderでプロジェクトを開発中、Visual Studio InstallerからVisual Studio 2019のアップデートを行ったところ、Visual Studio Installerから「MSBuildがなんたらという」メッセージ…

【日記】サバゲーに行ったので装備をレビューする - エアガン編【レビュー】

wrongwrong163377.hatenablog.com これ以来サバゲーにハマりました。 wrongwrong163377.hatenablog.com で、エアガンを買うなど備えていたわけですが、つい先日サバゲーに行く機会が有ったので、持って行った装備についてざっとレビューして行きます。 長く…

【日記】サバゲーに行ったので装備をレビューする - 周辺装備編【レビュー】

wrongwrong163377.hatenablog.com これ以来サバゲーにハマりました。 wrongwrong163377.hatenablog.com で、エアガンを買うなど備えていたわけですが、つい先日サバゲーに行く機会が有ったので、持って行った装備についてざっとレビューして行きます。 長く…

【Windows】環境変数をいくら編集してもPathが通らなかったときの対処【Java】

状況 下記の記事を参考に環境変数を設定しても設定が反映されず、javaコマンドが通りませんでした。 www.atmarkit.co.jp コンソールには以下のようなエラーが出ていました。 PS C:\Users\wrongwrong> java Error opening registry key 'Software\JavaSoft\Ja…

大学院を辞めてから、この1年を振り返って

自分は去年、約半年で大学院を辞めて就職をしました。 平成最後の日なので(エイプリルフール)、学校を辞めたきっかけ、辞めてから今日までについてを振り返ろうと思います。 wrongwrong163377.hatenablog.com 改めて、大学院を辞めたきっかけ 少し長くなり…

【レビュー】ステアーHCを買った

以前エアガンを買いたいと書いてましたが、買いました。ステアーHCです。 まだ実戦では使えてませんが、サラッと撃った感覚を書きます。 www.tokyo-marui.co.jp ステアーHCを選んだ理由 選んだ理由は以下の3点です。 ブルパップ式であり、コンパクトさとイン…

【プログラミング】何かをダウンロードするようなエンドポイントで、Edgeでのみダウンロードにならなかった話

問題 CSVをダウンロードさせるようなエンドポイントを立てた時、ChromeやFireFoxではダウンロードになるのに、Edgeでのみダウンロードにならないという状況が発生しました。 問題のコード エンドポイントのコードは以下です。フレームワークはSpringBootです…

【日記】秋葉原に行った

気になった製品 東プレ REALFORCE91UG-S 仕事では以前当てたリアルフォースRGB(光らせてない)を使っていますが、スペースキーの右側が外れるのとテンキーが邪魔なのが不満です。 買い替え先にするならREALFORCE91UG-Sでしょうか。スペースが短く、All荷重3…

【Java】引数のListに対するStream処理がコンパイルできない状況への対処

以下のコードは、Listを内容のクラスの名前の配列にして返すという内容です。 List内の型に関係なく実行できるコードであるため、一見正しいように見えますが、このコードはコンパイルできません。 String[] toNameArray(List list) { return list.stream().…

【日記】ニコニコのプレミアム会員になった

Why? ぶっちゃけ画質やらサービスはクソだと思いますが、中学校からずっと楽しませて頂きましたし、低画質解除やらを気にするのが馬鹿らしいと思ってました。社会人になって給料も貰ったので、日常的に使うものや払いたいものには金を払おうと思います。 せ…

【日記】サバゲーに行った

人生初サバゲに行ってきました。 感想 痛いけど面白い 当然ですが、当たれば痛かったです。でもめっちゃ面白かったです。 FPSやったことが有って運動が好きならめっちゃハマれると思いました。 ただ、社会人の遊びだなーとは思います。装備は借りることもで…

【PCパーツ】Silicon Power XPOWER Turbine/XPOWER Turbine RGBの製品寸法について

公式ページにあった以下2枚の製品画像に違和感があったので、問い合わせを行いましたが、画像とデータが間違っていたという回答をいただきました。 正しい製品寸法は以下の通りだそうです。 XPOWER Turbine - W133.4 mm × H38.2 mm XPOWER Turbine RGB - W13…

【ModelMapper】The destination property [セッター名] matches multiple source property hierarchiesと言われた時の対処【Java】

以下のようなエラーに対処します。 org.modelmapper.ConfigurationException: ModelMapper configuration errors: 1) The destination property [セッター名] matches multiple source property hierarchies: 対処 ModelMapper#getConfiguration().setAmbigu…

【SpringBoot】Lombokでアクセサを実装したis...という名前のBooleanを含むEntityのマッパーを用いたINSERT/SELECTが失敗する問題への対処【JDBC】

概要はSSIAです。 ここではEntityをデータベースのテーブルそのままのPOJOとします。 原因 ここではis_active_sampleという名前のカラムに対して、isActiveSampleというBoolean/booleanのフィールドを持つEntityを挿入する状況をサンプルとして書きます。Lom…

【Android】Emulator: emulator: ERROR: x86_64 emulation currently requires hardware acceleration! への対処

問題 Androidスタジオインストール直後にエミュレーターでプロジェクトを起動しようとしたところ、Emulator: emulator: ERROR: x86_64 emulation currently requires hardware acceleration!と出て起動できませんでした。 原因 AndroidStudioのインストール…

2018年を振り返って

今年書いた記事から、今年の振り返りをします。 1月~2月 3月、4月 5月、6月 7月、8月 9月 10月・11月 12月 今年のまとめ 1月~2月 wrongwrong163377.hatenablog.com wrongwrong163377.hatenablog.com 年始から2月にかけて、VBでWindowsフォームアプリケーシ…

【プログラミング】JetBrains製IDEでプロジェクトのソースフォルダ(packageなど)が認識されない時の対処

Intellij ideaで作成したプロジェクトをGitHubで共有した際に、別PCでビルドができない現象が発生したので、その解決方法を書きます。 現象 パッケージが認識されず、設定を写してビルドしてもclass not foundと言われてビルドが通りませんでした。 対策 Pro…

【Kotlin】通常ではfor文で回せないものをfor文っぽく扱う

Kotlinでは、浮動少数やBigIntegerなどはそのままだとfor文に入れて回すことができません。 こういったものはgenerateSequenceを使ってシーケンスにすることで、for文のように回すことができます。 やり方 以下はgenerateSequenceを使って階乗を実装したもの…

【日記】QiitaでKotlinの週間ランキング10位に入ってた

わーい。

【JDBC】SimpleJdbcInsertで複数の要素を一気にInsertする

BeanPropertySqlParameterSourceの配列を作ってSimpleJdbcInsert#executeBatchに入れるとできます。 //配列を作る関数 private BeanPropertySqlParameterSource[] makeParamArray(List entities){ BeanPropertySqlParameterSource[] sources = new BeanPrope…

【JDBC】SimpleJdbcInsertでDEFAULTを設定したEnumのInsert時にcannot be nullと言われる状況への対処

wrongwrong163377.hatenablog.com 前回の記事がトラブっていた原因が判明したので書き直します。 原因 NOT NULLなEnumカラムに対して値を指定しない場合、com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column '[カラム名]'…

【Arrow】トランポリンを使う【Kotlin】

wrongwrong163377.hatenablog.com qiita.com続きです。 Arrowとは Kotlinで関数型プログラミングをするためのライブラリです。 以下の記事で知りました。 techblog.picappinc.jp トランポリンの実装と使い方 GitHubに実装と使い方(相互再帰で奇偶判定)が上…

【JDBC】SimpleJdbcInsertでDEFAULTを設定したカラムへのInsert時にcannot be nullと言われる状況への対処

wrongwrong163377.hatenablog.com この記事に書いたやり方でも動きますが、より演繹的な方法が有ったのでこちらもどうぞ。 問題 SimpleJdbcInsertでInsert時に、DDLでNOT NULLとDEFAULTを設定したカラムについてMapSqlParameterSourceに値を指定しなかった場…

【プログラミング】sealed classでトランポリンを実装する【Kotlin】

2018/12/22追記 ArrowというKotlinでの関数型プログラミングを支援するライブラリにトランポリンの実装が有りましたので、Arrowを使った方がいいです。 wrongwrong163377.hatenablog.com 本文 sealed classを使ってトランポリン(Trampoline)を実装します。…

【Vue.js】JetBrains製IDEで.vueファイルのインデントを設定する

.vueファイルを2文字インデントに設定しようとして詰まったので書きます。 ideaには.vueファイルのインデント幅設定がありません。 HTMLやJavaScriptの方のインデントを設定しても反映されませんでした。 設定方法 Preferences > Editor > Code Style > Othe…