カテゴリー別アーカイブ: Program

PayaraとmariaDB

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

これで無事に接続できた

ImageMagickとimagickのインストール (centos7とwindows7)

本番環境がcentos7で、開発をローカルPCのwindows7で作業してて、
画像のリサイズやりたくて、
ImageMagick&imagickが楽かなぁと思ったんだけど、
インストール、特にwindowsに手間取ってしまったので
忘れないようにメモメモ

■ centos7
php 7.3.2

php-pear php-devel をインストール

peclコマンドが使えるようになってるはずなので
imagickをインストール

/etc/php.d/ 配下に 30-imagick.ini みたいな感じで ini ファイルを作って
こちらを記述しておく
extension=imagick

httpdを再起動して完了

■ windows7
こちらは結構手間取った。。。
ちなみに開発環境はxamppで構築
xamppなので32bitのやつをDLする!

・ImageMagick
https://windows.php.net/downloads/pecl/deps/
ImageMagick-x.x.x-x-vc15-x86.zip

vc15のところが要注意!!

こちらApacheのバージョンらしいので確認して
同じバージョンを落とさないとうまくいかない

確認方法

VCの数字と同じのをDLしましょー

・imagick
https://windows.php.net/downloads/pecl/snaps/imagick/3.4.3/
これも同じくVCとx86に注意!
あとts、ntsも注意!xamppの場合は、だいたいtsなのかな?

解凍したフォルダに「php_imagick.dll」っていうファイルがあるので
これを「xampp\php\ext」の配下にコピーする
そして、「xampp\php\php.ini」に下記の1行を追加
extension=imagick

OSのシステム環境変数に下記を追加
変数名:MAGICK_HOME
変数値:C:/lib/ImageMagick

※変数値は、ImageMacickのDLしたファイルを解凍した場所
なのでどこでもOK。\マークじゃないほうがよい?

ユーザー環境変数のPATHにも「ImageMagick\bin」のパスを追加
C:\lib\ImageMagick\bin

あとはPCを再起動すれば大丈夫なはず!

ajaxで画像の送信ができない

テキストは普通に遅れるのに、
画像のデータが受け取れない。

きっと、formタグと同じように
enctype=”multipart/form-data”
みたいなのが必要なんだろなー

と思いつつも路頭に迷ってたら

どなたか神様のようなかたが
解決してたので、同じ方法で
無事にクリアできた!

感謝感謝

【Java】Apache POI グラフを複製したい

Apache POI を使ってエクセルの資料を作成してるんだけど、
テンプレートとなるグラフをコピーして参照データのセルとか
だけ変えたかったので、その方法をメモメモ

情報が少なくて苦労したけど
実際の手順は意外とシンプルだった

ローカルで動いてたpuppeteerがCentos7で動かにゃい

Windows環境で puppeteer のテストをしていて
問題なさそうだったからCentos7でもやろうとしたら、
なんだかんだとエラーが出たのでメモメモ

まずは、こんなエラーメッセージが、、、
libXcursor.so.1: cannot open shared object file: No such file or directory

とりあえず、なにかが足りないということでここらへんとか
参考にしながら、yumでインストール

次に現れたのが、こいつ
symbol lookup error: /lib64/libpango-1.0.so.0: undefined symbol: g_log_structured_standard

ムキーっ!
どこかにglib2をupdateするとよいみたいなことが書いてあったので
こちらのコマンドで無事に解決

これで、コンソール上からは叩けるようになったけど、
Javaからコマンド投げるとダメだった。。恐らく環境変数系かと、、、

とりあえず、/usr/bin の中にnodeのシンボリックリンクを作成してみた。

なんとか動いたよー

Windows環境のNode.jsをバージョンアップ

Windows7を使ってるのだけれど
Node.jsでasyncとか触ってみたいなー

なんて思っても、Node.jsのバージョンが低すぎて
全然使えなかったので、バージョンアップップ!!

Node.js v7.6.0 から async/await が
デフォルトでサポートするようになったらしいよ

手順は簡単で、公式サイトからmsiを取得して
それを実行したらバージョンアップしたよw

こんなに簡単でよいのかw

puppeteerのインストール時にパーミッションで怒られた

puppeteerをインストールしようとしたのだけれど
パーミッションがないよ!みたいに怒られた

フルで権限を与えてもダメだったけど
オプションを付けたこのコマンドで
サイドチャレンジしたら成功した

ちなみにpuppeteerの読み方は
ググるとパペッティアらしい

意味は操り人形。

一応、Googleの人がしゃべってる動画で確認したら
「パペッティーァ」みたいな感じだったw

node.jsのバージョンが古い

Centos7系を使ってたんだけど
なにも考えずにyumでnodeをインストールすると
バージョンが6だったりする

古いとなにかと不便(asyncとかが使えない)ので
バージョンアップしようと思ったらnvmという
node.jsのバージョンを管理できるような便利なものが
あるらしいのでその内容をメモメモ

root権限でnvmをインストールして
他のユーザからでもnvm経由でインストールしたnodeを
使えるようにしたーい!

まずはnvmのクローンを作成

一応nvmのバージョン確認

ログイン時にnvm.shが自動的に実行されるように設定
/etc/profile.d/nvm.sh を新規に作成し、下記の内容を書き込む

いざインストール

無事に最新の安定板のインストール完了

複数バージョンを入れて、切り替えることも可能らしいけど
今回は特に必要がないのでスルー

Google Apps Scriptのバージョン管理

Google Apps Scriptは、なかなかいいんだけど
バージョン管理があんまりうまくできなくて

なので、ローカルに落として
Gitで管理する手順をメモメモ

まずは、node-google-apps-script をインストール!

Google Developer Console のプロジェクトで Drive API を有効にし、
OAuth client ID と secret(json)を取得

下記のコマンドを実行して、返ってきたURLにブラウザでアクセス

ファイルを落としたいフォルダに移動して
下記のコマンドを実行!

キーには、ScriptのファイルID、またはスクリプト IDを設定

以上!

【JSP】小数点以下を省いて切り上げ

JSPで、小数点以下を省いて、切り上げたいと
思ったんだけど、あんまり検索で
ひっかからなかったのでメモメモ

ちなみに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スコープっス!