- 1. Java Mapをループさせる方法(Stream API / 拡張for文)
- 2. リフレクションなるものを知った
- 3. Processingでクリスマス
- 4. [Java11] Stream API まとめ -Streamによるメリット-
- 5. 楽しい楽しいプログラミングの勉強会に参加しよう!
- 6. Swift Network.framework Study 20191208「Send and Receive」
- 7. Apache POIを使ったExcel操作
- 8. Springboot + Thymeleafでテキストリンクを実装する
- 9. Azureで非同期処理を実装してみる
- 10. eclipse × AmaterasUML 選択された操作は現在使用できません
- 11. iPLAss SDKを使ってEclipse環境で開発できるようにする
- 12. Androidで学生証(Felica)のIC残高を読む
- 13. NEMのノード(スーパーノード可)を建ててみよう Ubuntu 18.04
- 14. 【Spring】入力フォームを実装する(入力画面⇒確認画面⇒完了画面)
- 15. ExoPlayerで早送りと巻き戻しの秒数を設定する
- 16. Spring-boot+Herokuで作ったLINE Botを公開します(電車遅延通知bot、買い物リスト、Qiita記事のいいね/ストック数取得)
- 17. JavaのXORModeと同じことをC#でやろうとした時の格闘記
- 18. Swift Network.framework Study 20191207「Server UDP」
- 19. JavaからMySQLにInsertした際、返り値にAuto_Increment_ID(自動採番値)を取得する
- 20. Spring Boot Gradle Plugin の bootRun タスク実行時のプロファイルを設定する
Java Mapをループさせる方法(Stream API / 拡張for文)
JavaでMapをループさせる方法をメモ
“`
Mapmap = new HashMap<>();
// mapのkey,valueのset処理は省略// Streamのパターン
map.forEach((k, v) -> {
System.out.println(k);
System.out.println(v);
});// 拡張for文のパターン
for(Map.Entryentry : map.entrySet()){
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
“`Stream APIの方がすっきりして見やすいかも。
リフレクションなるものを知った
##なんか不思議でおもしろいぞこれ
“`Reflection.java
package reflection;import java.lang.reflect.Method;
public class Reflection {
private static
void test(Class t) { try {
// インスタンスを取得
Object instance = t.newInstance();// メソッドを取得
Method method = t.getMethod(“test”, String.class);// メソッド実行
method.invoke(instance, “わっほい”);} catch (ReflectiveOperationException e) {
e.printStackTrace();
}
}public static void main(String[] args) {
test(ReflectionTest
Processingでクリスマス
普段データ操作とかユーザーインターフェースのプログラムばかり書いていると、たまには仕事とまったく関係ないプログラムを書きたくなりますよね。
そんな訳で今回はProcessingでちょっとクリスマスっぽい絵でも描いてみましょう。# Processingとは
Processingは電子アートとビジュアルデザインのためのプログラミング言語であり、統合開発環境です。
こう書くと少し難しいものに思えるかもしれませんが、プログラムを書くことで絵を描けるくらいに考えてもらっても大丈夫だと思います。
記述したプログラムによる変化が視覚的にすぐにわかるので、データ操作をするようなプログラムよりも実行結果の違いがわかりやすいという特徴があります。ProcessingはJavaで作られており、プログラムも基本はJavaで記述しますが、モードを追加することでPythonやJavaScriptなどでも記述できます。
自分の興味のあるプログラミング言語でProcessingにトライしてみましょう。# インストールしてみよう
Processingのインストールは下記のページからZIPファイルをダウンロー
[Java11] Stream API まとめ -Streamによるメリット-
## Stream とは
> コレクションに対するマップ-リデュース変換など、要素のストリームに対する関数型の操作をサポートするクラスです。
引用元: [公式ドキュメント](https://docs.oracle.com/javase/jp/11/docs/api/java.base/java/util/stream/package-summary.html#StreamOps)### まずは実際に見てみる
[公式リファレンス](https://docs.oracle.com/javase/jp/11/docs/api/java.base/java/util/stream/Stream.html)より抜き出したものを一部改変
“`java:stream.java
final int sum = widgets.stream()
.filter(w -> w.getColor() == RED)
.mapToInt(w -> w.getWeight())
楽しい楽しいプログラミングの勉強会に参加しよう!
#自己紹介
初めまして!
私は独学でプログラミングをしている高校生です。
一番好きな言語はJavaですプログラミングの成果や出来事をメインに書いていこうと思います
#概要
私は11月27日に初めてCoderDojoにニンジャとして参加して12月8日にCo-KonPILE #0に参加しました。
そこで私が学んだことや楽しかったこと、よいところを説明します#勉強会やイベントに行きたいと思ったきっかけ
私が独学でプログラミング始めたのは、中学1~2年生の頃です。
お年玉でRaspberry Pi 2を購入して、プログラミングを勉強しました
しかし、当時私の周りにはプログラミングを一緒にやる仲間がいなくて、ただ一人で独学していました。
友人と少し一緒にJavaをやったことはあります高校2年生になって、さすがに一人でやるのも疲れてきたので、ノートパソコンを持っている今、
無料で参加できるプログラミング会を探すことにしました。#CoderDojoとの出会い
初めての参加で作成したプログラムは、Jsoupを使ったGoogleのロゴ画像のURLを取得する簡単なプロ
Swift Network.framework Study 20191208「Send and Receive」
# Study
Network.framework
Study:Send and Receive## 環境
Client:Swift、Xcode
Server:Java、NetBeans# Client Source Swift
## main.swift
“`swift
import Foundation
import Networkvar sendAndReceive = SendAndReceive(host: “localhost”, port: 7777, nWParameters: .tcp)
sendAndReceive.startConnection()
while sendAndReceive.running {
sleep(1)
}
“`## SendAndReceive.swift
“`swift
import Foundation
import Networkclass SendAndReceive {
public var running = true
private var host:NWEnd
Apache POIを使ったExcel操作
#はじめに
Apache POIを使ってcsvからExcelに出力してみました。ついでに棒グラフも出力させました。
こんな感じです|template.xlsx|output.xlsx|
|:———–:|:———:|
|||初学者のため、至らぬ点も多々あるかと思いますが、ご意見等頂けると幸いです。
>
github
https://github.com/y012/POI
Springboot + Thymeleafでテキストリンクを実装する
# Springboot + Thymeleafでテキストリンクを実装する
初めまして。ドアベルと申します。今回はタイトルの通りの実装を行います。
## 自己紹介
都内のSES専門会社で、現在某Java案件に参画中です。今年8月にテンショクカツドウ!をして人間を取り戻しました。
アイカツは良いぞ。## 今回の環境
– Win10
– javac 9.0.1
– Thymeleaf 2.1.3## 実装の概要
– テキストリンクを押下すると硝子ドールのMVページに飛ぶ硝子ドールはアイカツ!シリーズにおける藤堂ユリカというキャラクターの持ち曲なのですが、
とにかくカッコ良すぎて、初めて見たときにかなり衝撃を受けました。今回はそんな楽曲のMVリンク
に遷移できるような実装をしてまいります。## アイカツとは
> 『アイカツ!』は、バンダイが発売するトレーディングカードアーケードゲーム筐体・データカードダス(DCD)を使用した日本の女児向けアーケードゲーム。ゲームは2012年10月25日に稼動を開始した。キャッチコピーは「国民的アイドルオーディションゲーム」。
> [ア
Azureで非同期処理を実装してみる
# ALH Advent Calender
ALH Advent Calenderです!
ノリで参加しました。こっそり紹介今回はAzureでのアーキテクチャをハンズオン形式で紹介します。
Azureでの初歩的な知識を前提としているので、初見さんおいてけぼりな感じですがごめんなさい:cry:
# Azure上での非同期アーキテクチャ
メッセージングのマネージド・サービスである[Azure Service Bus](https://docs.microsoft.com/ja-jp/azure/service-bus-messaging/service-bus-messaging-overview)を使ってみたいと思います。なぜ非同期?について、
– 重たい処理を切り離す
– スケーラビリティ向上
– 負荷平準化
– バッファリングなどのメリットがあります。
オンラインディレードのアーキテクチャの選択肢として、[Azure Queue Storage]()を利用するパターンや、DBポーリングなどがありますが、実装が簡単そうなのでServiceBusを選択しました。(という
eclipse × AmaterasUML 選択された操作は現在使用できません
以下の環境で java ソースコードから UML を自動生成しようとすると、「選択された操作は現在使用できません」のダイアログが表示され、自動生成できなかった。
### 環境
* Windows 10
* [eclipse (Pleiades All in One 2019-09)](https://mergedoc.osdn.jp/)
* [AmaterasUML] (http://amateras.osdn.jp/cgi-bin/fswiki/wiki.cgi?page=AmaterasUML) ※ 上記 eclipse にプリインストールされているもの### 現象
* AmaterasUMLの機能で新規作成した cld ファイルにソースコードをドラッグ&ドロップしても、クラス図が描画されない。(ソースコードが別タブで開くだけ)
* cld ファイルの任意の場所を右クリック > [Java] > [インポート] を実行すると、「選択された操作は現在使用できません」のダイアログが表示される。### 原因&解決策
eclipse にプリインストールされている versi
iPLAss SDKを使ってEclipse環境で開発できるようにする
# iPLAssについて
詳細は公式サイトを参照してください。
https://iplass.org/# 本手順について
– [iPLAssをInstall and Run(MySQL8.0.17+Windows10)で構築する](https://qiita.com/systie/items/0a0d0aa0d2f3a2c05008)
の続きになります。– 上記記事ではGroovyでの開発が前提でしたが、本手順を行うことでEclipse+Javaでの開発も行えるようになります。
– iPLAss SDKにあるzipファイルで作成する手順になります。
そのため、Githubアカウントがなくても構築できます。– 公式サイトにも導入手順がありますが、ここでは画像を交えて以下の環境での構築手順を載せていきます。
## 構築環境等について
– Windows10
– iPLAss 3.0.16
– JavaおよびTomcatは以下を利用して準備済み(解凍済み)
– eclipse 2019-09、JavaのFull Edition を導入([Pleiades All i
Androidで学生証(Felica)のIC残高を読む
# はじめに
この記事は、[SLP KBIT Advent Calendar 2019](https://adventar.org/calendars/4214) の8日目の記事です。
最近、AndroidのNFC機能を使って、ICカードのデータを読み取ることができることを知りました。
そこで「自分の学生証も読み取れるのでは?」と思ったので試してみました。# 読み取るデータについて
今回は学生証に格納されている大学生協のIC残高を読み取ってみたいと思います。
自分が持っている学生証は、Felicaに対応したICカードになっているので、NFCのFelicaに対応した端末で読み取ることができます。Felicaの規格に関しては、 [FeliCaカード ユーザーズマニュアル 抜粋版](https://www.sony.co.jp/Products/felica/business/tech-support/st_usmnl.html) にまとめられています。
学生証のデータ構造に関しては、 [大学生協Felicaの仕様](https://gist.github.com/oboeni
NEMのノード(スーパーノード可)を建ててみよう Ubuntu 18.04
##はじめに
NEMでハーベストするためにはNEMのフルノードに接続することが必要ですが、
ノードによって定員が定められており、なかなか空いてないことがあります。
そこで今回は自分でNEMのノードを建ててみることにします。
また、この手順で定期的に報酬が受けられるNEMのスーパーノードを建てることもできます。##手順
###ドメインの準備
####ドメインの取得
今回はipv4アドレスでも構いません。必要な場合のみドメインを取得してください。###サーバーの準備
####サーバーの用意
Linuxサーバーを立ち上げます。
今回はドイツにある[CONTABO](https://contabo.com/?show=vps)の「VPS L SSD」、OSは「Ubuntu 18.04」を選びました。
メールでroot/passwordが送られてくるのでそれでログインしてください。
8コア、RAM 30GB、SSD 800GB、帯域600Mbit/s、帯域利用無制限、DDoS保護で月15ユーロはVPSでは格安の部類だと思います。
![e41e240c2001c4fc927af94
【Spring】入力フォームを実装する(入力画面⇒確認画面⇒完了画面)
# はじめに
## やりたいこと
– ユーザがフォームに入力した値をもとに何かしたい。
– 入力画面⇒確認画面⇒完了画面、と遷移させたい。## この記事が参考になる人
– お問い合わせフォームを実装する人など。
– Java, Spring, Thymeleafの知識が最低限ある人。## 使った技術要素
– Java
– Spring
– フレームワーク
– Thymeleaf
– テンプレートエンジン
– lombok
– getter, setterを自動生成してくれる# 実装
好みもあるかと思いますが、以下の手順で実装していくといいと思います。
最低限のスニペットのみ掲載します。## 入力画面
### HTML
“` HTML:input.html
問い合わせカテゴリー
Spring-boot+Herokuで作ったLINE Botを公開します(電車遅延通知bot、買い物リスト、Qiita記事のいいね/ストック数取得)
# はじめに
いろいろ準備が整ったので、過去記事で作っていたLINE botを公開します!
これらで作っていたBotです。– [Spring-bootとLINEMessagingAPIで電車遅延通知botを作る](https://qiita.com/kaad/items/2fef68e795b7a2a84119)
– [Spring-boot+Heroku+PostgreSQL+Flywayでアプリ作成してみた](https://qiita.com/kaad/items/ac41df221f3d5b7eab6b)
– [リファクタリングしました(Lombokの利用、Spring JPAの利用、ラムダ式で例外ラッピング)](https://qiita.com/kaad/items/28100b6049a5eb8eee5b)
– [Spring-boot+Heroku+RedisでLINE botの状態管理をできるようにした](https://qiita.com/kaad/items/5bbe0b8a6f7fc17f429f)
– [QiitaAPIを使って記事のいいね数ストック数を
JavaのXORModeと同じことをC#でやろうとした時の格闘記
#はじめに
既存資産であるJavaアプレットを .Net Framework上のC#で実装しなおすこととした。元々のプログラムはこてこての描画アプリであり、移植のための調査を色々実施したところ、一番ネックになりそうなのがXORModeというものであった。今回これをC#で実現するために調べたことをメモっておく。#XORModeとは
XORModeについて、まずはYahoo知恵袋の「[javaのGraphicsクラスにあるsetXORModeとは何ですか](https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10152799455)」を参照してほしい。恐らく何のことかよくわからないと思う。自分もよくわからなかった。こういう時は、目的から理解するに限る。
例えば、マウスを使った描画プログラムで線を引くとしよう。ユーザの操作としては、線を開始したい位置でマウスクリックし、線を終了する位置でマウスアップするはずだ。その場合JavaだろうがC#だろうが、大体以下のような実装になると思う。1 マウスクリックのイベントハンド
Swift Network.framework Study 20191207「Server UDP」
# Study
Network.framework
Study:Server側## 環境
Client:Java、NetBeans
Server:Swift、Xcode# Client Source Java
“`java
package example.java.network;import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;public class ExampleClientUDP {
public static void main(String[] args) {
String sendData = “Send Data Example”;
try {
DatagramSocket datagramSocket = new DatagramSocket();
DatagramPacket datagramPacke = new Data
JavaからMySQLにInsertした際、返り値にAuto_Increment_ID(自動採番値)を取得する
# はじめに
JDBCを利用して、JavaのコードからDBにレコードをインサートする際、Auto_Increment(オートインクリメント)される値を取得する方法を示す。`SELECT LAST_INSERT_ID()`によって、最後に採番された値を取得することができるが、返り値として取得したい場合に利用できる。
# 使用環境
– MySQL 8.0
– Java 8# 前提事項
まず、以下のようなデータベース/テーブルを作成する。
– データベース名 : testdb
– テーブル名 : testここで、testテーブルに`Auto_Incrementの設定を施した主キーであるidカラム`と`Char型のnameカラム`を用意する。
テーブルを作成するSQLは以下のとおりである。
“`
CREATE TABLE test(
id INT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (id)
);
“`テーブルのカラム情報を確認すると(SHOW COLUMNS
Spring Boot Gradle Plugin の bootRun タスク実行時のプロファイルを設定する
## 方法
build.gradle の bootRun タスク設定の jvmArgs にて、システムプロパティ値 spring.profiles.active にプロファイルを指定すれば良い。
“`build.gradle
// bootRun タスクの設定を追加する
bootRun {
// foobar プロファイルを指定する
jvmArgs = [‘-Dspring.profiles.active=foobar’]
}
“`参考資料:
– [Spring Boot Gradle Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/2.2.2.RELEASE/gradle-plugin/reference/html/)
– [BootRun \(Spring Boot Gradle Plugin 2\.2\.2\.RELEASE API\)](https://docs.spring.io/spring-boot/docs/2.2.2.RELEASE/gradle-plugin/api