CSVインポート・エクスポートのこねた
芝桜を見に行きたいおしりんです。
開発中のめもをのこします。
CSVをMySQLにインポートする時に文字コードの関係とか何やらでうまく取り込めないことがあるます。
そうならないために、エクスポートする時に区切り文字やら改行文字をちゃんと指定したいと思うます。
エクスポート
SELECT * INTO OUTFILE 'ファイル名' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '' LINES STARTING BY '' TERMINATED BY '\r\n' FROM テーブル名;
★場所指定して権限エラーが出る場合は特に場所指定せずにファイルを作成
ここにできる→C:\ProgramData\MySQL\MySQL Server 5.6\data\DB名
インポート
load data local infile 'ファイル名' into table テーブル名 fields TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '' LINES STARTING BY '' TERMINATED BY '\r\n';
JDK1.7+Gebが動かない
おしさしぶりです。
早いもので気づいたら3年目になっていました、おしりんです。
ここ3日間くらい、ひっさしぶりにはまりました。
そうです、Gebが動かないんです。
Spockは動くのにGebが動かないんです。
テスト開始してブラウザは立ち上がるものの、すぐに落ちるんです。
そしてひたすらVerifyErrorが出続ける・・
はまりにはまった結果、結局自分では解決できませんでしたが、先輩が解決してくれたのでご共有。
JDK1.7でGebが動かない!って人は参考にしてみてください。
・VerifyErrorがどうにも止まらない環境
Java 1.7
Gradle 2.4
Groovy 2.4.4
これでSpockは動くんです。
EclipseでJUnitから動かしていたので、Eclipseの環境がおかしいのかなと思い、コマンドプロンプトから「gradle test --tests "テスト名"」で動かしても動かないんです。おかしい。
結局、何が原因だったのかっていうとGebを動かす環境のJavaのバージョンでした。
Gebの実行環境のJavaが1.8じゃないとうまく動かない。
(プロジェクトのコンパイラは1.7でおk)
EclipseからJUnitでGebのテストがこけるっていう人はぜひぜひ以下の設定でお試しあれ。
Preferences > Java > InstalledJREs
JDK1.8を追加
Preferences > Java > InstalledJREs > ExecutionEnvironment
JavaSE-1.7←クリック
Compatible JREsでJDK1.8を選択
これで動くはず!
まとめ!
最新(2016年9月)のGebで書いたテストを動かしたい時は、Javaが1.7以下だと動きません。
Javaのバージョンを8にしませう!
とりいそぎそんな感じでした。
以下、見飽きたエラーをぺたっとしておきます。
goとかtoとか遷移しようとすると落ちる。
java.lang.VerifyError: Bad <init> method call from inside of a branch Exception Details: Location: geb/navigator/SearchContextBasedBasicLocator.<init>(Lorg/openqa/selenium/SearchContext;Lgeb/navigator/factory/NavigatorFactory;)V @91: invokespecial Reason: Error exists in the bytecode Bytecode: 0000000: b800 1e4e 05bd 0004 5903 04bd 0004 5903 0000010: 2b53 b800 2453 5904 2c53 5910 ff12 02b8 0000020: 0028 2a5f ab00 0000 0000 005e 0000 0002 0000030: a8a2 5e9a 0000 001c aca6 0f60 0000 003d 0000040: 5f5a 5903 3212 2ab8 002e c000 2a5f 5904 0000050: 3212 30b8 002e c000 305f 57b7 0033 a700 0000060: 2e5f 5a59 0332 1235 b800 2ec0 0035 5f59 0000070: 0432 1230 b800 2ec0 0030 5f57 b700 37a7 0000080: 000d bb00 3959 123b b700 3ebf 57b1 Stackmap Table: full_frame(@64,{UninitializedThis,Object[#53],Object[#48],Object[#68]},{Object[#70],UninitializedThis}) full_frame(@97,{UninitializedThis,Object[#53],Object[#48],Object[#68]},{Object[#70],UninitializedThis}) full_frame(@130,{UninitializedThis,Object[#53],Object[#48],Object[#68]},{Object[#70],UninitializedThis}) full_frame(@140,{Object[#2],Object[#53],Object[#48],Object[#68]},{Object[#70]}) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2585) at java.lang.Class.getDeclaredConstructors(Class.java:1906) at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:49) at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:36) at geb.navigator.factory.BrowserBackedNavigatorFactory.<init>(BrowserBackedNavigatorFactory.groovy:35) at geb.Configuration.createNavigatorFactory(Configuration.groovy:417) at geb.Browser.createNavigatorFactory(Browser.groovy:130) at geb.Browser.getNavigatorFactory(Browser.groovy:118) at geb.Page.init(Page.groovy:131) at geb.Browser.createPage(Browser.groovy:875) at geb.Browser.to(Browser.groovy:556) at geb.Browser.to(Browser.groovy:523) at geb.spock.GebSpec.methodMissing(GebSpec.groovy:56)
RESTン教授とJAX-RSの秘宝
(やっつけかん)
RESTfulなWebアプリケーションとは
Restfulとは「ロイ・フィールディング」氏が提唱する
REST原則に従って実装されたもののこと。
簡単にRESTの特徴をあげると
- HTTP通信を使ったシンプルなWebサービスである
- すべてのリソースは、一意なアドレスで識別される(例:http://example.com/resources/1234)
- GET / POST / PUT / DELETEといった、特定のHTTPメソッドを使用して操作する
- JSON / XML / YAMLがサポートされている
こんな感じの仕様にそって実装したWebアプリケーションのことを
RestfulなWebアプリケーションと呼ぶ。
JAX-RSとは
JavaでRESTfulなWebアプリケーションを開発するとなると、
このJAX-RSの仕様に従いながら実装していくことになる。
しかし、JAX-RSはあくまで単なる「仕様」なので、
実際にJAX-RSの仕様にそって開発をするとなると、
各ベンダーが提供している「JAX-RSの仕様に則ったAPI」
を使用しながら開発していくことになる。
JAX-RSの仕様に則ったAPIの例
参考URL:http://www.opentone.co.jp/news/release/article04/article0401.html