m_shige1979のときどきITブログ

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

Github(変なおっさんの顔でるので気をつけてね)

https://github.com/mshige1979

2017-01-01から1年間の記事一覧

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…