10yroの開発日記

株式会社10yro(トイロ)のエンジニアが書いています

プログラミング

【JavaScript/TypeScript】日付操作のいろいろ

JavaScriptで日付型(Date)を扱う際、ある日付の月初、月末を取る、決算期として期の開始を取得 等々 日付を加工して利用したいケースが多々あるかと思います。 今回、日付操作に関する方法を残しておきたいと思います。 目次: 1. 年を取得 (number) 2. 月を…

C# NLogを使ってログ出力する

今回はC#でログ出力する方法です。 以前は自前でクラスを作成することもあったかと思いますが、最近では自作することはほぼないかと思います。 今回はNLogというライブラリを使ってログ出力したいと思います。 nlog-project.org 事前準備1 事前準備2 設定 ロ…

【objective-c】特定のカスタムコントロールを回転時に再描画する方法

こんばんわ。 最近一段と寒いですね。先日も雪が積もってましたので子供に雪遊び誘ったら断られました;; つい先日、iOSアプリを動作テストしている中でデバイスの回転時(縦と横)にカスタムコントロールのレイアウトが崩れる問題が発生しました。 ※カスタ…

C# Span<T>構造体と配列

C# 7.2以降で追加されたSpan<T>構造体や配列などに追加された演算子についての備忘録です。 Span<T>構造体 Span<T>構造体とは、配列などのデータが並んでいるものから一部を取り出して、値を読み書きするものです。 Span<T>構造体は、ref 構造体という参照型の構造体にな</t></t></t></t>…

C# 8.0 のswitch式について

switch式 C# 8.0から、switch式という機能が追加されました。 従来のswitch構文は、C言語の構文を踏襲したもので、ちょっと使いにくかったのですが、シンプルな式として書けるようになりました。 構文としては、以下のようになります。 変数 switch { パター…

C#でClosedXMLを使ってExcelを操作する

今回はC#でMicrosoft OfficeのExcelを利用する場合のサンプルです。 やり方はいくつかあるかと思いますが、今回はClosedXMLというパッケージを利用します。 ClosedXMLのインストール NuGetからClosedXMLをインストールします。 簡単ですね。 ExcelのBookを新…

【Angular】ブラウザでカメラを利用する

Angular アプリケーションでデバイスのカメラを利用する方法を記載します。 Angular でのカメラ利用は Navigator.mediaDevices を利用すれば実現できます。 各ブラウザの対応状況については以下を参照下さい。 https://developer.mozilla.org/ja/docs/Web/AP…

log4jの脆弱性について

みなさんMinecraftしてますか? 私は飽きたりハマったりの繰り返しで数年やってますが楽しいですよね。 ちなみに世界一売れてるゲームらしいですよ。 先日、有名ライブラリのlog4jで任意のコードが実行できる脆弱性が先日発見され、 Minecraftでもこの脆弱性…

【JavaScript】for文(繰り返し処理)の違い

JavaScriptに関わらず、どの言語でも「同じ処理を繰り返したい」ということが必ずあります。その代表的な繰り返し処理のfor文の違いについてまとめました。 1. for 2. for in 3. for of 4. forEach 5. 処理速度 1. for 初期のころから使われている一般…

Spring Data JPA (Kotlin) で複合キーやグループ化されたEntityの定義方法

Spring JPA で複合主キーのテーブルのEntityを作成する方法を記載しています。 また、複合キーの中で一部のキーを用いてグループ化したEntityを作成する方法を紹介します。 ※サンプルはKotlinとなっています。 1. 複合キーのEntity作成方法1 2. 複合キーのE…

【Android】ScrollViewでスクロールが表示されているかを判定する方法

こんばんは。 最近、「悪魔城ドラキュラx 血の輪廻」という横スクロールゲームをやったのですが、めちゃくちゃ難しかったです。 昔のゲームって鬼畜仕様多いですよね。 ってことでスクロールについての話題を。。 ScrollViewでスクロールが表示されているか…

C# WPFでOxyPlotを使って折れ線グラフを描画する

今回はC#のWPFで、OxyPlotを使って折れ線グラフを描画したいと思います。 折れ線グラフの横軸に時間(0時~23時)、縦軸は0~10のランダムな値を設定します。 事前準備 WPFのプロジェクトを作成し、NuGetでOxyPlot.Wpfをインストールします。 .NET.Core 3.1を…

C#でJsonを使う

C#でJson.NETを使用して、クラスをJsonに変換したり(シリアライズ)、Jsonをクラスに変換したり(デシリアライズ)する方法です。 www.newtonsoft.com 事前準備 Visual StudioでNewtonsoft.Jsonというパッケージをインストールしてください。パッケージのイ…