読者です 読者をやめる 読者になる 読者になる

m_shige1979のささやかな抵抗と欲望の日々

プログラムの勉強をしながら学習したことや経験したことをぼそぼそと書いていきます

なんとなく作ったサイト

http://www.it-check-matome.info/


Github(注意すること)

https://github.com/mshige1979

AWSのSESで送信者名を指定する

メール送信で日本語を使用したい 文字化け起こりましたのでネットを使用して調べました以下の対応でなんとかなりました。m(_ _)m 参考 [AWS][Java] Amazon SESで送信者名を表示させる | Developers.IO 実装 import java.io.UnsupportedEncodingException; i…

Spring Bootで画面からAPIへRest Templateでファイルを送信する

シンプルな使い方 jsonで送信する 難しそうな使い方 fileを送信する やりたいこと 画面からsubmitまたはajaxでファイルを送信する。 問題点 処理の流れが ①画面でファイルを指定する ②画面でsubmitする ③Rest Templateへファイルを送信するこの場合、ファイ…

WatsonのVisualRecognitionに画像をURLで指定

やること WatsonのVisualRecognitionへ画像情報を渡す際、ファイルとして送るのではなく、AWSのS3で作成した期限付きURL情報を渡して結果を取得したい。 実装 Sample1.java import java.io.File; import java.util.Arrays; import java.util.List; import co…

Apache Directory Studioでdcやouなどを作成する

今回やること dc=hogehoge,dc=comみたいなものを作成する 順番 パーティションを作成 dcを作成 ouを作成 uidを作成 パーティションを作成 「Connectiros」の「Open Configuration」を選択して設定情報を開く 「Advanced Partitions configuration」をクリッ…

LDAP認証を試してみたい

LDAP認証 LDAPとは、LDAP認証とは、LDAP認証 with Cisco ASAより抜粋 LDAP(Lightweight Directory Access Protocol)は、Active Directoryのようなディレクトリサービスにアクセスするためのプロトコル。 なるほど 試用してみるLDAPサーバ Downloads for Li…

Spring Bootで簡易テストを行う

ぶっちゃけ 簡単じゃない 結構めんどくさい やりたいこと RestControllerをテストする Serviceなどを使用している場合はモック化する 実装 Sample01Controller package com.example.controller; import org.springframework.beans.factory.annotation.Autowi…

Spring Bootでログを出力する

デバッグ中の場合とかにデータの動きを少しずつ確認したい場合など ログを出力して確認します。 System.out.printlnではよくわからない場合など… サンプル Sample01Controller package com.example.controller; import org.springframework.http.MediaType; …

JavaのFreeMakerでテンプレート処理を行う2

インクルード処理を使う 1つのテンプレートの中に他のテンプレートファイルを読み込みます。 pom.xml <dependencies> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency> </dependencies> ml| テンプレートファイル sample2.…

JavaのFreeMakerでテンプレート処理を行う

テンプレート処理 HTMLなどでヘッダー部分やフッター部分など ある程度共通の部分は別ファイルで管理して読み込みたいことがありますのでテンプレートとして使用します。 FreeMaker Javaのテンプレートエンジンとのこと 仕事でJava使うのはほとんどなかった…

AWSのSESでメールを送信2

SESでメールを送信するもう1つの方法 を試してみる サンプル Sample02.java import java.util.Properties; import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.regions.Region; import com.a…

AWSのSESでメール送信

SESはメール送信のサービスだった 忘れてた… 受信できるように設定できる以上、送信できるはず… やること SES用のアクセスキーを生成 メール送信制限を解除 リージョンを指定 実装 Sample01.java import com.amazonaws.auth.BasicAWSCredentials; import com…

Javaで2つの期間より差を検出する。

2つの日時より日数を取得したい ので簡単なやつを調査 年月日、時分秒の差を取得するサンプル Sample02.java package sample02; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; publi…

Javaで暗号化処理

なんか一括でやるのないの? ライブラリとしてはありそうですけどJava共通ではなさそう 参考資料 qiita.com 基本↑見て やりたいこと 指定の文字列にソルト文字列とかを設定して変な文字列にしたい… 実装 Sample01.java import java.security.MessageDigest; …

Spring Bootで設定ファイルのデータを取得する

設定ファイルというと iniファイルとかcsvファイルとか独自に用意したプロパティファイルとかあります。 プログラム内の固定値とかではなく実行環境(開発、本番)で設定値が変化する場合に切り替えたいもの Spring Bootの場合は application.properties が…

Javaで形態素解析ライブラリのkuromojiを使ってみた

形態素解析とかいうので 文字列を単語別に分割できるらしい 全文検索とか名刺だけを取得したい場合とかに使えそう pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelversion></project>

AWSのS3をMavenのパッケージを使用してアップロード、ダウンロードを実施

キーアクセスには ファイルの場合と設定ファイルなどよりキーの値より取得する2パターンがある 別途定数などに入れて扱いたいのでちょっと別の方法をやる BasicAWSCredentials パラメータに直接キーとシークレットキーを指定するのでキーの元がわかりやすい…

AWSのS3へJavaのSDKを使用してアップロード

AWSへプログラムよりアクセスする なんかやることが多くなってきた 準備 AWSのIAMでS3用のユーザーを作成し、アクセスキーとシークレットアクセスキーを取得 eclipseへ機能を追加 新規ソフトウェアのインストールで「https://aws.amazon.com/eclipse」を設定…

Spring Bootで画像を縮小して表示

画像を縮小する そもそも画像制御とかプログラムでほとんど書かないけどね 実装 Image01Controller.java package com.example.controller; import java.awt.Graphics; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.ByteArra…

Spring BootでRestControllerで画像を出力する

簡単にresources配下にあるファイルを画面に表示する Spring Bootの場合は@RestControllerを返す場合は指定のデータを返却するような感じになるので返り値をバイナリ形式で返してみる。 やること 画像を読み込み byte[]へ変換して設定 jpegデータとして返却 …

Spring BootのRestTemplateでバイナリデータを取得する

RestTemplate Spring BootのAPI処理クラスと思われる Rest APIの場合は基本JSONなんだけど APIの結果としてはバイナリデータを受け取る場合もあるので取得したい 動作用API LINE APIのGet ContentAPIを使用 https://devdocs.line.me/ja/?shell#get-content …

Spring Bootでメールを送信する

Spring Bootでメールを送信する 今回の送信は簡単な平分を送信するだけ メールサーバ Gmailをリレーする 設定 application.properties # port server.port=7777 # mail spring.mail.host=smtp.gmail.com spring.mail.port=587 spring.mail.username=Gmailの…

MacよりGmailへメールを送信

備忘録 メッセージのソースだけだとあまりわからないので… Postfix設定 設定ファイルバックアップ sudo cp -p /etc/postfix/main.cf /etc/postfix/main.cf.org /etc/postfix/main.cf # リレーホストを追加 relayhost = [smtp.gmail.com]:587 #sasl setting s…

macのpostfixでローカルメールを扱う

eclipseなどで開発する場合は メールサーバの有無で開発環境に問題が発生しやすい WindowsやMacなどでもメールサーバは未実装の環境が多いので外部にはメールを送信したくないことある 基本的には m-shige1979.hatenablog.com これです postfix 存在チェック…

Windows10で開発用のSMTPサーバを使いたい

smtp4dev http://smtp4dev.codeplex.com/releases/view/71614 環境 Windows10(VM) 設定 smtp4dev 2.0.9 standaloneをダウンロード ダウンロードしたファイルを解凍して起動する Windowsの機能が足りない場合は追加する ファイアウォールを解除する 起動を…

Javaで動的にメソッドを呼び出す

動的にメソッドを呼び出す場合 PHPとかでは変数にメソッド名を設定すれば簡単に使用できるけどJavaの場合はリフレクションの機能を駆使する必要がある感じのよう 今回はクラスは全部同じものとして扱う。実際はパッケージは変わる可能性があるかも… 呼び出さ…

Spring BootのRestControllerで簡易テスト

テスト 目視チェックしか基本したことない だって作成するの面倒なんだもん つくったやつのgithub GitHub - mshige1979/sample_spring_rest02: rest apiの簡易テスト版 テストサンプル ItemControllerTest.java package com.example.controller; import stat…

doma2を使用したin句の条件設定

完全一致はあるけど 他の方法ってなかなか見つからないです IN句による条件指定 select * from keiyaku where name in ('tanaka', 'inoue') こんなやつ Dao KeiyakuDao.java package com.example.dao; import java.util.List; import org.seasar.doma.Dao; i…

doma2で部分一致検索を行う

Doma2で部分一致検索する際 %とかを任意で設定するのは止めたい 組み込み関数を使う 名前 関数名 例 前方一致 prefix where name like /* @prefix(name) */'smith' 後方一致 suffix where name like /* @suffix(name) */'smith' 前方後方一致 infix where na…

doma2で複数のテーブルを結合した結果を取得する

Javaのオブジェクト指向はなんか難しく感じる 永続化とかなんかもう少しわかりやすい表現ないかな… 複数のテーブルを連結したい 1つのテーブルの取得はできるけど複数テーブルの場合はどうするか確認 コレクト検索とかストリーム検索とかわからん DDL drop …

doma2で抽出件数を取得

マニュアルみたけど CollectとかStreamの使い方がよく分からない(´・ω・`) コード読んで理解しろってことかな… DDL drop table if exists item; create table if not exists item ( id bigint not null auto_increment, name varchar(255) not null, price …

MySQLのDATETIMEやTIMESTAMPでミリ秒などを設定したい

環境 MySQL5.7での確認 こんな感じの定義の場合 drop table if exists sample1; create table if not exists sample1( id bigint not null auto_increment, date1 datetime not null, date2 timestame not null, primary key(id) ); ↓ insert into sample1(d…

Spring Bootで複数のフィルターを設定する

フィルタ内で全て1つでまとめるより 複数に分けたほうが管理し易いよね やること Filterをimplementsしたクラスを作成 @Componentsアノテーションは設定しない WebMvcConfigurerAdapterを継承したクラスで使用するフィルタを設定 フィルタ準備 Sample1Filte…

Spring Bootでフィルターを設定する

フィルタ 起動時、リクエスト、終了時などになんらかの処理を仕込みたい場合に設定する処理のこと HTTPリクエスト時などで特定のヘッダが存在しない場合は処理を実施しないなどに使用する感じ? 設定方法 Filterをimplemtsしたクラスを実装 @Componentsアノ…

Spring Bootで独自の認証を組み込む

認証を独自に実装したい DBの認証やアルゴリズムがちょっと特殊な場合など 今回やったこと ・AuthenticationProviderを実装したAuthenticationProviderImplクラスを作成してここで認証を実施 ・WebSecurityConfigurerAdapterにAuthenticationProviderImplを…

Spring Bootで独自のエラー画面を表示したい

エラー画面がほしい システムの画面はちょっと困る やること ・EmbeddedServletContainerCustomizerを実装する ・ErrorControllerクラスを作成する ・Viewを作成する EmbeddedServletContainerCustomizer実装 Customizer.java package com.example.error; im…

Spring Bootでセキュリティに権限を設定する

認可 ユーザーに特定の条件を付与してアクセス権限みたいなものを設定する 今回は1つの権限で1つのURLへのアクセスを制御する。 実際はロールとかいうもので1ユーザーが複数持てるように管理すべきだが面倒なんで… やること ユーザーテーブルに権限のエリ…

Spring Bootで認証を試す

なんか結構難しいけど いろいろな記事見ててモヤモヤしてて他の事が手につかなくなったのでちょっとだけ試す。 認証機能 ログインやログアウトを行う機能 実装サンプル GitHub - mshige1979/sample_spring_secutiry01: spring bootの認証の簡易版 参考 Sprin…

doma2のsql文調査

SQL文の複合条件とか気になるので調べる SELECT、INSERT、UPDATEらへんの挙動 SELECT 基本的にはSQLを作らなければならない 基本形 @Select List<Item> findAll();※@Selectアノテーションを付けたものが対象となります。↓対応するSQL select /*%expand*/* from ite</item>…

doma2によるデータの抽出を試す

この前は自動生成しかしていないので 自動生成なしで準備して見る 環境 Mac eclipse ライブラリ doma2 mysql 準備 Javaプロジェクトを準備し、ライブラリを設定しておく プロジェクトのプロパティより注釈処理を有効にしておく ファクトリーパスにdoma2のjar…

Doma2のgenで自動生成を行う

Doma2 ORマッパーらしい SQLファイルとか書いてなんかできるらしいよ 今回やること Doma2でDBを参照していい感じのエンティティとかを作成できるらしいので準備して見る。 環境 eclipse mysql ライブラリ doma2 doma2-gen freemarker mysl 設定 プロジェクト…

JavaからDLLを呼び出してみる3

タイトルあんまり名前が繋がってない まあ、意味は伝わるはず やりたいこと C++で作成したクラスをJavaで呼び出したい でもできない(やりかたがわからない)ので関数でラップして使用する。 C++のクラス用DLLを作成 MathFuncsDll.h // MathFuncsDll.h #ifde…

Windowsで作成したDLLをJavaで動かす2

関数を1つしか定義していなかったので 複数定義した場合のパターンをやってみる SampleDll.cpp // SampleDll.cpp : DLL アプリケーション用にエクスポートされる関数を定義します。 // #include "stdafx.h" #include "stdio.h" int GetHello(int data) { pr…

Spring Bootでアップロードファイルを受け取る

FormとかBeanとかいうクラスを使用することで受け取ることが可能になりました。 ファイルってどうするのかな? MultipartFileとかいうクラス があれば受け取れます(^^) フォーム系 SendDataForm.java package com.example.form; import java.io.Serializable…

Spring Bootでjson文字列を受信してクラスに割り当てる

BeanとかFormとか呼ばれているもので画面とかの項目が設定されるやつ 前の時代などではパラメータを指定して取り込んでいたけどjsonで送った場合なども対応したクラスに割り当てたい場合等に対応 json形式で送った際きちんとクラスに設定されるか検証する や…

Spring BootでXMLやJSONを返す

忙しいです… (´・ω・`) Spring BootでRest APIを作成する場合には ・コントローラー用のクラスに"@RestController"アノテーションを付ける ・クラスを任意で用意して返却することで基本、json形式で返却できる ・XMLを返したい場合は返却用のクラスに"@XmlRo…

Windowsで作成したDLLをJavaより呼び出して使用する

C言語で作成すると 超速いというのは知っていますが、そもそも他の言語で作成できるのかな? と思ったので簡単なプログラムを作成して試してみる。 環境 Windows64系のVC++でDLLを作成し、それをeclipseで実行する。 DLL作成 プロジェクトの作成でC++のWin32…

JavaでクラスをシリアライズしてDBへ保存

まあ、なんかの役に立つかもしれない クラスをデータ化して保存する 環境 MySQL Java8 テーブル定義 mysql> create table obj_data( -> id integer not null auto_increment, -> data blob, -> create_at datetime, -> update_at datetime, -> primary key(i…

JavaからMySQLに接続

スケジュールって基本できる時間で組むべきで 理想で組むべきじゃないと思う 残業した時点で既に破綻していることになっているから… MySQLで接続 ・Java 1.8 ・MySQL MySQL用のJarを取得する https://dev.mysql.com/downloads/connector/j/へアクセス ※Oracl…

BlumixのCFアプリのJavaサーブレットでLINE APIのボットサンプルを作成

Javaはクラスを基準に制御する のでjson変換するのはjacksonを使用してみた。 LINE API メッセージを送受信できるAPI 大抵のことはPHPでやっていたけどJavaでやっておく・署名 ・json解析 ・LINE送信 Jasksonを使うと簡単に解析できる クラスやクラス内のネ…

Macにtomcatをインストール

外部に配置したいんだけどね… eclipseとかで開発する場合はないと動かない見ないだし(´・ω・`) 環境 mac Java 1.8系 Tomcatインストール http://tomcat.apache.org/よりダウンロード ↓ 解凍、移動 tar zxf apache-tomcat-8.5.8.tar.gz sudo mv apache-tomcat…