10yroの開発日記

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

C# Pollyを使った回復力の高いAPIアクセス方法

Pollyとは、APIへのアクセス時のリトライの実装などを助けてくれるライブラリです。 Pollyを使えば、APIのアクセス時に問題が発生した場合に、自動的にリトライすることができます。 この記事では、C#でPollyを使った基本的なAPIアクセス方法について説明し…

C# SendGridのAPIを利用してメールを送信する

何かしらプログラムからSMTPサーバー経由でメールを送信することがあるかと思いますが、Microsoft365等のサービスだとスパム対策が強化され迷惑メールに振り分けられることが多くなったようです。 今回、自社HP(Wordpress)をリニューアルした際に、問い合…

2022年もありがとうございました

こんにちは。株式会社10yro(トイロ)の中原です。 弊社は本日2022年12月28日(水)が仕事納めとなります。 2023年は1月5日(木)からの営業となります。 しかし、一年経つのはあっという間ですね。 この前自分のSNSを見返していたら、久留米にあるミスタージョー…

C# Windows Hello認証の実装

みなさんご利用されていると思いますが、Windows 10や11にはWindows HelloというPINや顔認証、指紋認証の仕組みがあります。 そのWindows Helloでの認証をWindowsのアプリでも利用することができます。 今回はその実装方法についてです。言語はC#でWindows F…

PHP LaravelでRESTful API開発 その2

前回の続きです。 前回の記事は以下です。 dev.10yro.co.jp 前回はControllerにPOSTメソッドの作成まででしたので、今回はその他のメソッドを実装したいと思います。 目次 目次 Bookテーブルのレコードを取得する(GETメソッドの実装) Bookテーブルのレコード…

PHP LaravelでRESTful API開発 その1

今回はPHPのフレームワークLaravelを利用して、RESTful APIのサンプルを作成したいと思います。 まずは1回目として、Laravelプロジェクトの作成、利用するDBの作成、Modelの作成、Controllerでpostメソッドの実装までをやっていきます。 目次 目次 MySQLにデ…

C# PCSC Sharpを使ってICカードのIDを読み取る

今回はC#でICカードに入っているIDを取得する方法についてです。 ICカードリーダーとの連携は1から実装するのは気が遠くなりそうなので、今回はPCSC Sharpという以下のライブラリを利用しました。 ICカードはマイフェア(Myfair)、フェリカ(Felica)を想定して…

【Angular】システム変更通知

SPA アプリケーションにおいてシステムアップデート(デプロイ)した際に キャッシュのファイルを参照しており更新されないケースを想定し、 ユーザにキャッシュしているファイルを更新してほしい旨通知する方法を記載します。 今回やることはrevision管理用…

便利なMicrosoft公式ツール

Windowsの作業効率をアップさせるMicrosoft公式ツール「Powertoys」を解説します。 今回は個人的によく使用するものを一部紹介しますが、他にもいろいろな機能があるので、試してみるととても便利です。 また、今回は解説しませんが、「DevToys」というエン…

【Windows】フォルダ構成、ファイル名を一覧化して出力する(treeコマンド)

新人の頃、納品物の大量のソースファイルをお客さんへ送る際に、全ファイル名を一覧化したドキュメントを作成する作業を振られたことがありました。全部書き出すの??と途方に暮れそうになっていた時にtreeコマンドの存在を知り、当時の私はちょっと感動し…

【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>…

【Excel】新関数の紹介

Excel 2021で追加になった関数や機能をご紹介します。2021以前の関数についても記載しますが結構な数があります。気になる関数や活用できそうな関数は、今のうちにチェックして、実際に使用してみてください。今回は実際の使用方法は記載しないので紹介のみ…

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 初期のころから使われている一般…

【Windows】バッチファイルをタスクバーにピン留め&ショートカットキーで起動する

Windows上でよく使うバッチファイルをワンクリックで起動したい場合やショートカットキーですぐに起動したいときの小技です。 バッチファイルをタスクバーにピン留め バッチファイルは、そのままだとピン留めできないため、ちょっとした一工夫が必要です。①…

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というパッケージをインストールしてください。パッケージのイ…