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

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

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

なんとなく作ったサイト

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


Github(注意すること)

https://github.com/mshige1979

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 …

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 …

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

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

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

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

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

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

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…

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…

Javaによるnio2での簡単なファイル読み書き

NIO2? JavaのSE7から出てきたファイル制御が少し簡単になるライブラリです。 ファイルを閉じるときに意味不明なtry-catch文の対応と一緒に組み込まれたのかな? 昔のやつ Sample02.java package sample02; import java.io.BufferedReader; import java.io.Bu…

Spring Bootでデータベースに接続

そろそろDB Javaって他の言語より導入が面倒な部分が感じられるのでなかなか進まない 環境 Spring Boot 1.4 MySQL 5.x ※MySQLはvagrantに配置して接続してみる DB設定 DDL作成 create table if not exists memo ( id int not null auto_increment, name varc…

Spring Bootでリクエスト時の受け取るパラメータをクラスにする

リクエストパラメータを1つずつ書くのはちょっと手間がかかる もう少し楽したい(^^) こんな感じのクラスを用意 TestForm.java package com.example.beans; public class TestForm { private String name; private String age; public String getName() { re…

Spring Bootで画面へ設定した入力を他の画面へ渡す

一般的画面遷移 入力→確認 入力画面を設定して、確認画面で内容を表示する 画面構成 /の場合のページ <html xmlns:th="http://www.thymeleaf.org"> <head> <title>Spring Sample Demo</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <h1>Spring Sample</h1> <div> Spring Sample Test </div> <p>Now </p></body></html>

JavaのSpring bootでthymeleafを使用する

直接HTMLを記載するわけにはいかない いろいろなフレームワークではテンプレートを使用する 環境 Mac mini Spring Boot 1.4.x Java 8 Maven設定 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin…</artifactid></dependency></dependencies>

Spring BootでHello Worldを行う

Javaのフレームワーク WebだけじゃなさそうだけどJava系のフレームワークで役に立つかもしれないのでちょっとずつ調べる 環境 Mac Java 1.8 手順 Webサイトで開発環境のSTSをダウンロード https://spring.io/tools/sts/all ※400MBくらいあった 起動 「Spring…

ibm bluemixでVisualRecognitionを試す

使うのは無料枠のみ お金かかってもいいけど役に立つかを検証したい 環境 ホスト mac 開発環境 eclipse ※bluemixの設定などは事前に済ませておく VisualRecognitionってなに? 画像認識を行うみたい。とりあえず画像を読み込ませて設定したらできるらしい 今…

watsonのNatural Language Classifierを試した

環境 ホスト mac 開発環境 eclipse 準備 mavenを使えるようにしておく ibm bluemixを登録しておく 分類器作成 Java package com.nlc.sample1; import java.io.File; import com.ibm.watson.developer_cloud.natural_language_classifier.v1.NaturalLanguageC…

java8のLocalDateとLocalTimeを触ってみた

Java8から導入された機能 日付制御ではDateやCalendarなどを使用していたがSE8より導入された サンプルコード Main.java import java.time.*; public class Main { public static void main(String[] args) { System.out.println("Hello World!"); // 現在日…

JavaEEによるレルム認証を試しました

元にしたものは以下 Java EE Detail of JDBC-Realm from Oracle Fusion Middleware www.slideshare.net ※今回はダウンロードしました 4時間がかかりました。 これって実際のセミナーとかではどんな感じだったのかな? 結構時間がかかった 1時間とか2時間では…

今更ながらJavaEEのWebscoketのサンプルを試してみた

やったのはこいつ Java ee7 hol-jjug-ccc from Oracle Fusion Middleware www.slideshare.net 当時はJavaEEってわかってなかった 今でもきちんとわかっているわけではないがプロジェクトを構築してサンプルを起動できるようになっているので 資料見ながらや…

JavaEEでRestfulを使って見る

Restful WebサービスAPIのやつでURLにパラメータを付与してXMLやjsonを返すやつです 参考 Java EE Tutorial #18 - RESTful Web Services with Jax-RS - YouTube 環境 Netbeans8.1 プロジェクトを作成 mavenで作成 ↓ ↓ pom.xmlを修正 <dependencies> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> <scope></scope></dependency></dependencies>…

JavaEEのサンプルアプリをCentOSに入れてみる

公開前の予行演習 実際にどうするかはわからないけどNetBeansで作成だけというのも変なので ちょっとwarファイルをあげてみる 環境 vagrantのCentOS6.7 Java8 glassfish4.1 対象war GitHub - mshige1979/javaee_memoapp at maven Vagrantの設定ファイル Vagr…

JavaEE7でJavaMailを試す

環境 NetBeans8.1 Glassfish4.1 問題点 Glassfish4.1.1ではなぜかglassfishのメールセッションの設定ができない 参考 www.youtube.com ※英語でも動画で作業をなぞるとできるもんです 画面設定 index.xhtml <…

JavaEEでのサンプルとしてメモアプリを作成してみた

Javaでの開発は基本的にはほとんどない ちょっとやってみた 開発環境 Mac Java Version8 NetBeans8.1 参考情報 Javaエンジニア養成読本 [現場で役立つ最新知識、満載!] (Software Design plus)作者: きしだなおき,のざきひろふみ,吉田真也,菊田洋一,渡辺修司…

centosにscalaをインストール

なんか最近こんな感じ…ちゃんとはいてます pic.twitter.com/IoNj2zkLw8— ぐでたま【公式】 (@gudetama_sanrio) 2015, 10月 4 scalaをインストールする ちょっと新しい言語に触れて見たくなったので 元にした情報 centosにscalaをインストール - trtrakiのブ…

androidでRSSを取得する

いまさら感 基本、javaは業務経験ないのでこういう場面でしか使わないので勉強、勉強 環境 android 5.x系のエミュレータを使用 もうどの辺をバージョンとして考えるかは不明だけど今年辺りからsimフリーになったし 新し目のスマホを手に入れていることを考慮…

macにandroidの環境を構築

eclipseにandroidプラグインをインストール https://dl-ssl.google.com/android/eclipse/を追加してインストール まだ、sdkをどこにも配置していないのでこの画面になる sdk設定 http://developer.android.com/sdk/index.htmlよりsdkのみダウンロード ダウン…

macでjdkをインストール

既存のバージョンがちょっと古くて最新へ切り替え 特になにも考えずに切り替えたけど多分大丈夫かと… jdk download http://www.oracle.com/technetwork/java/javase/downloads/index.htmlへ移動 macのjdkをdownload インストール dmgファイルをダブルクリッ…

jenkinsのインストール

CentOS(64bit)にjava1.7+jenkins+nginxで連携する そういやubuntuがこれから主流のLinuxにOSになりそうな雰囲気だけどまだ、こちらでやる CentOSはyumのリポジトリがいろいろなところに混在して結構ややこしくなってきている 環境 OS CentOS 必要ソフトウ…