セルの高さの変更は
1 |
sheet.getRow(row).setHeight((short)0); |
みたいな感じで簡単にできるんだけど、
高さの指定が、(short) 、、、?!
エクセルの高さ1が、約(short)20 くらいだと思う
セルの高さの変更は
1 |
sheet.getRow(row).setHeight((short)0); |
みたいな感じで簡単にできるんだけど、
高さの指定が、(short) 、、、?!
エクセルの高さ1が、約(short)20 くらいだと思う
mariaDBもmysqlも同じ感じでいけるでしょ
っていう甘い考えでいたら、ダメだった話。。
もう2度と繰り返さないようにメモメモ。
glassfish使ってたんだけど、
よいタイミングだったので、
Payaraを使ってみることにした。
ちなみにサーバはCentOS7
Payaraをダウンロード
https://www.payara.fish/software/downloads/
コネクターはこれを使う
mysqlのを使ってて、pingが通らなくて、、、
glassfishだといけたのに。。
https://downloads.mariadb.com/Connectors/java/connector-java-2.1.1/
mariadb-java-client-2.1.1.jar
あと、「Datasource Classname」も書き換えてあげる
org.mariadb.jdbc.MariaDbDataSource
これで無事に接続できた
Apache POI を使ってエクセルの資料を作成してるんだけど、
テンプレートとなるグラフをコピーして参照データのセルとか
だけ変えたかったので、その方法をメモメモ
情報が少なくて苦労したけど
実際の手順は意外とシンプルだった
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
XSSFSheet sheet = (XSSFSheet) workbook.getSheet("sheet1"); XSSFDrawing drawing = sheet.createDrawingPatriarch(); // テンプレートとなるグラフ List<XSSFChart> chartTmp = drawing.getCharts(); // 作成するグラフの挿入場所 offsetの単位はピクセル数x9525? XSSFClientAnchor anchor = drawing.createAnchor(1*9525, 0, 0, 0, 0, 0, 10, 10); // グラフ作成 XSSFChart chart = drawing.createChart(anchor); // 作成したグラフにテンプレートをインポート chart.importContent(chartTmp); CTChart cct = chart.getCTChart(); CTPlotArea pa = cct.getPlotArea(); // 既存のSERIES(系列)の参照値のみ変更したい場合 for (CTLineChart clc : pa.getLineChartList()) { int i = 0; for (CTLineSer cls : clc.getSerList()) { cls.getCat().getStrRef().setF("sheet1!$D$10:$I$10"); cls.getVal().getNumRef().setF("sheet1!$D$"+(10+i)+":$I$"+(10+i)); i++; } } // SERIES(系列)を追加したい場合 CTLineChart clc = pa.getLineChartArray(0); CTLineSer cls = clc.addNewSer(); cls.addNewTx().addNewStrRef().setF("sheet1!$E$11"); // ctLineSer.addNewIdx().setVal(2); //2= Color Grey cls.addNewCat().addNewStrRef().setF("sheet1!$D$10:$I$10"); cls.addNewVal().addNewNumRef().setF("sheet1!$D$11:$I$11"); cls.addNewSmooth().setVal(false); |
Windows環境で puppeteer のテストをしていて
問題なさそうだったからCentos7でもやろうとしたら、
なんだかんだとエラーが出たのでメモメモ
まずは、こんなエラーメッセージが、、、
libXcursor.so.1: cannot open shared object file: No such file or directory
とりあえず、なにかが足りないということでここらへんとかを
参考にしながら、yumでインストール
1 |
yum install libX11 libXcomposite libXcursor libXdamage libXext libXi libXtst cups-libs libXScrnSaver libXrandr alsa-lib pango atk at-spi2-atk gtk3 |
次に現れたのが、こいつ
symbol lookup error: /lib64/libpango-1.0.so.0: undefined symbol: g_log_structured_standard
ムキーっ!
どこかにglib2をupdateするとよいみたいなことが書いてあったので
こちらのコマンドで無事に解決
1 |
yum update glib2 |
これで、コンソール上からは叩けるようになったけど、
Javaからコマンド投げるとダメだった。。恐らく環境変数系かと、、、
とりあえず、/usr/bin の中にnodeのシンボリックリンクを作成してみた。
1 2 |
cd /usr/bin ln -s /usr/local/nvm/versions/node/v11.4.0/bin/node node |
なんとか動いたよー
Windows7を使ってるのだけれど
Node.jsでasyncとか触ってみたいなー
なんて思っても、Node.jsのバージョンが低すぎて
全然使えなかったので、バージョンアップップ!!
1 2 3 4 5 |
$ node -v v6.9.1 $ npm -v 3.10.8 |
Node.js v7.6.0 から async/await が
デフォルトでサポートするようになったらしいよ
手順は簡単で、公式サイトからmsiを取得して
それを実行したらバージョンアップしたよw
1 2 3 4 5 |
$ node -v v10.14.1 $ npm -v 6.4.1 |
こんなに簡単でよいのかw
JSPで、小数点以下を省いて、切り上げたいと
思ったんだけど、あんまり検索で
ひっかからなかったのでメモメモ
1 2 3 4 5 |
<%-- ライブラリ読込 --%> <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%-- こんな感じでイケるっス! --%> <fmt:formatNumber maxFractionDigits="0" value="1.5"/> |
ちなみにformatNumberには、他にも
こんな属性があるらしいっス!
value:フォーマット変換する数値データっス!
var:フォーマット変換した数値データを格納する変数っス!
type:数値データの種別を「NUMBER」「CURRENCY」「PERCENT」から指定っス!。デフォルトは「NUMBER」っス!
pattern:出力するフォーマットを直接指定するっス!
currencyCode:通貨コードを指定っス!「JPY」とかっス!
currencySymbol:通貨記号を指定っス!「\」とかっス!
groupingUsed:カンマ「,」を使用して、桁区切りするかどうか(true/false)っス!。デフォルトはtrueっス!
maxIntegerDigits:整数部分の最大桁数っス!
minIntegerDigits:整数部分の最小桁数っス!
maxFractionDigits:少数部分の最大桁数っス!
minFractionDigits:少数部分の最小桁数っス!
scope:varで指定した変数を格納するスコープ「page、request、session、application」を指定するっス!デフォルトはpageスコープっス!
JSP内で、文字列が含まれるかを
チェックしたかったんだけど、
なんかJSPってあんまり
検索しても出てこないのでメモメモ
1 2 3 4 5 |
<%-- ライブラリの読込 --%> <%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <%-- こんな感じで使用するらしいっス! --%> <c:if test="${fn:contains(java.lang.Object, java.lang.Object)}">....</c:if> |
あるオブジェクトの中に、
別のオブジェクトが含まれているかどうかをテストするっス!
第一引数に指定可能なオブジェクトと、
オブジェクトの型によりテスト方法が変わるっス!
java.util.Collection
コレクションの要素に第2引数が含まれているかどうかをテストするっス!
java.util.Map
マップの値に第2引数が含まれているかどうかをテストするっス!
その他のオブジェクト
文字列表現としての第1引数に部分文字列第2引数が含まれているかどうかをテストするっス!
Javaでscpでファイル転送しようとしたら
エラーってなって、困ったので対応方法をメモメモ
実装したソースはだいたいこんな感じ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import ch.ethz.ssh2.Connection; import ch.ethz.ssh2.SCPClient; Connection conn = new Connection('接続先ホスト'); try{ conn.connect(); boolean result = conn.authenticateWithPassword('ユーザ', 'パスワード'); if(!result){ throw new IOException("login"); } // scp SCPClient scp = conn.createSCPClient(); scp.put('アップロードするファイル', '転送先のディレクトリ'); }catch(Exception e){ throw e; }finally{ conn.close(); } |
で、出たエラーがこちら
java.io.IOException: Error during SCP transfer.
パケットみてみたら、一応サーバに接続はできてるみたい
ググってみると、接続先のサーバに
sshクライアントが必要らしく、
若干違和感があったけど、これで解決したよ
yum -y install openssh-clients
とりあえず、なんとかデバッグを終え
いざデプロイをしようっ!
と思っても、なんか
org.glassfish.deployment.common.DeploymentException: Error in linking security policy for ejb-timer-service-app — Inconsistent Module State
こんな感じのエラー類がはかれて
全然うまくいかない、、、
\glassfish4\glassfish\domains\xxxx\
の中にある下記のフォルダを削除してから
再度試したら、うまくいったよー!
applications
generated
osgi-cache
恐るべしEclipse & GlassFishのタッグチーム
なかなか慣れんのだよ、、、
Java勉強中!
いままで、いい感じに避けてきたけれど
そろそろ学ばなければー
日付、特に時間までみて
比較がしたい
1 2 3 4 5 6 7 8 9 10 |
import java.text.SimpleDateFormat; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date dateTime1 = sdf.parse("2017-03-03 10:10:10"); Date dateTime2 = sdf.parse("2017-02-02 10:10:10"); if (dateTime1.after(dateTime2)) { } |