言語処理100本ノック 第1章: 準備運動 00, 01
00. 文字列の逆順
文字列"stressed"の文字を逆に(末尾から先頭に向かって)並べた文字列を得よ.
java
new StringBuilder("stressed").reverse().toString();
ruby(参考)
"stressed".reverse
01. 「パタトクカシーー」
「パタトクカシーー」という文字列の1,3,5,7文字目を取り出して連結した文字列を得よ.
java
StringBuilder sb = new StringBuilder("パタトクカシーー"); StringJoiner sj = new StringJoiner(""); List<Integer> list = Arrays.asList(1, 3, 5, 7); list.stream().forEach(e -> sj.add(String.valueOf(sb.charAt(e)))); sj.toString();
言語処理100本ノック (java, ruby)
をやろうっと。どうにも何かしないとろくに勉強が進まないので。
spring boot 1.4.0.RELEASE がでたよ
https://start.spring.io/ で 1.4.0 つかえるようになったよ
build.gradle:
buildscript { ext { springBootVersion = '1.4.0.RELEASE' } repositories { mavenCentral() maven { url "https://repo.spring.io/snapshot" } maven { url "https://repo.spring.io/milestone" } } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } }
早速 1.4.1.SNAPSHOT も使えるようになってたよ
spring boot 1.4.0RC1 でプロジェクトつくる
spring boot 1.4.0RC1 がでたようです。
あらゆる web で一番好きなサイト はここです
ここから
で、登録。。。1.4.0RC1 が輝かしい.
zip がおちるので解凍
spring boot のつくる
SpringApplication.run(Sample140rc1Application.class, args);
はなにをしてくれるのか、追ってもよくわかりませぬ。のでコメントアウトして
public static void main(String[] args) { // SpringApplication.run(Sample140rc1Application.class, args); long min = Long.MIN_VALUE; System.out.println("abs: " + min + "\t-> " + Math.abs(min)); }
こうしました。
早速実行
15:40:45: Executing external task 'bootRun'... :compileJava :processResources UP-TO-DATE :classes :findMainClass :bootRun abs: -9223372036854775808 -> -9223372036854775808 BUILD SUCCESSFUL Total time: 6.627 secs 15:40:52: External task execution finished 'bootRun'.
無事に実行できました。spring 使う理由全くない内容ですがまぁいいですよね。
spring boot + session ( in memory )
spring-boot でセッションを扱うには簡単な方法だと
アノテーションをクラスにつけて
@SessionAttributes(value = "contactForm")
ModelAttribute でそれを設定する
@ModelAttribute("contactForm") ContactForm contactForm() { return new ContactForm(); }
と、勝手に model に入れてくれる。
セッション破棄は
@RequestMapping(value = "finish", method = RequestMethod.GET) String finish(SessionStatus sessionStatus) { sessionStatus.setComplete(); return "contact/finish"; }
こんな感じ
なんともマジカルだな。annotation みてもほぼ空っぽだしなぁ。実際どう動くのかコードで知りたいがなかなかたどりつかん。。。
gradle はまりどこ
gradle でエラー
エラー: メイン・クラスorg.gradle.wrapper.GradleWrapperMainが見つからなかったかロードできませんでした
ないですね。.gitignore に *.jar があるので、push されなかったんですね。
gradle もってなければ brew intall gradle とかでいれて、
gradle wrap
して、
git add -f gradle/wrapper/gradle-wrapper.jar
で強制追加。
java に再入門しました
java 再入門しました。 java8 に。
1.3くらいをつかってたので、だいぶちがいますね。 とりあえず当面の構成を。
- gradle つかう
- spring-boot つかう
- lombok つかう
- thymeleaf つかう
以上