仕事メモとか

仕事中に調べた情報とか知ったことをメモしています。
unixコマンド, vim, oracle, putty, postgresql, bash, EXCEL, python, SQL全般 など。
最近は tableau, movabletype とかも触ったりしています。
雑な読書感想とかはこちら


googleのスプレッドシートで翻訳を使ってみた。GOOGLETRANSLATE関数

はい、ちょっと話題になっていたので、スプレッドシート上で翻訳関数を使ってみました。

例)
=GOOGLETRANSLATE(B2,"en","ja")

翻訳したい文があるセル、その言語、そして翻訳語の言語を設定します。
日本語は「ja」です。jpって書いたらエラーになりました。


いくつか英文の名言を翻訳してみましたが、格言っぽくはならないというか、情緒がなくなった感じもしますが、
意味は結構分かるし、少なくとも日本語っぽい文章になります。


以下、翻訳例。

ワシントン
Observe good faith and justice toward all nations. Cultivate peace and
harmony with all.
すべての国に向けて誠意と正義を守ってください。すべてと平和と調和を育成。

ベーコン
A wise man will make more opportunities than he finds.
賢い人は、彼が見つけたよりも多くのチャンスを作ります。

オルコット
There is always light behind the clouds.
常に雲の後ろに光があります。

ゲーテ
He who moves not forward, goes backward.
前方に移動していない彼は、後方に行きます。


oracleの正規表現で少しハマった話_REGEXP_REPLACE

URLを含むjsonの一部のデータを抜き出したい、ってことよくありますよね。
そういうときに力を発揮するのが正規表現。

なんですが、どうも上手くいかなくて苦労した話です。
結果的に上手くいったんですが。

例)
データ:[{"url":"https://data.net/dat/?data_id=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","
...

後ろは延々と続きます。
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
のデータ部分が抜き出したいものです。
jsonに入ってるので、いろんなデータがありますが、このデータ自体は幸いjsonでも頭のほうに入っていました。

で、成功したSQLはこちら。

select regexp_replace(data_json, '.*sid=(.+?)\".*', '\1') as out_data
from data_table;

これで上手くいきました。


そして、失敗したのがこちら。

select regexp_replace(data_json, '.*sid=(.*?)\".*', '\1') as out_data
from data_table;

はい、取ってくる中を+から*に変更したものです。
原因はちゃんと見てないのですが、0件で最短マッチが成立してしまって上手く動かなかったのかな? と。
データ自体は必ず入っているのが確定しているデータなので今回はこれで困らないのですが、
もうちょっと原因が分かったほうがいい気が。



参考:
https://docs.oracle.com/cd/E16338_01/appdev.112/b56259/adfns_regexp.htm#CHDDGICJ


oracle SQL Developer で文字をエスケープしようとしたときの話

はい、ちょっと環境が変わってSQL Developer使っています。
SQLで文字列を出すときに&(の半角)みたいなのって特殊文字扱いになるのですが、

select 'aaa & bbb' as dat from dual;

とすると、
「BBB:を入力せよ」みたいになります。
空で実行すると、こうなります。

aaa null

&BBBと解釈され、空がnullになるのでこうなったようです。

ちなみに、DBeaverで実行すると普通に実行されるので、
oracleとかSQLの仕様じゃなく、SQL Developerの仕様のようです。

それじゃエスケープすればいいのかな、と。思ってバックスラッシュとかいろいろやってみました。

select 'aaa \& bbb' as dat from dual;
select 'aaa && bbb' as dat from dual;
select '{aaa & bbb}' as dat from dual;

が、ダメでした。

調べた結果、以下の方法くらいしかなさそうでした。


1.&の後ろに文字指定をしない(後ろを別文字列として結合)
select 'aaa &' || ' bbb' as dat from dual;

2.設定変更
SET DEFINE OFF

3.chr(38)で出す
select 'aaa ' || chr(38) || ' bbb' as dat from dual;


ツールでちょっと見たい、が、作ったSQLを他でも流用したい、
みたいなときは、chr(38)にしておくと無難かと思います。



参考:
http://output-place.blogspot.com/2013/05/sqlplus.html
https://code-examples.net/ja/q/115aca


Macでトラックパッドとマウスのスクロールを逆にしたい

なんかドッキングステーションみたいなのを貰ったので、windowsで使っているマウスとキーボードをつないでみたら、macでも使えることがわかりました。

ということで、windows,mac併用なのですが、キーボードとマウスも併用で行こうと思います。

んで、気がついたんですが、macだとマウスのスクロールが今までと逆になる。
設定を見たらスクロールの方向を逆にできるのですが、これをやるとトラックパッドのスクロール(4本指で横にスライドのやつ)が逆になります。

調べたら解消するツールが既にありました。

Scroll Reverser
https://pilotmoon.com/scrollreverser/

MSCで入れられるので簡単に入るのですが、デバイスを触るものだからか管理者権限での解放が必要でした。
解放後、上のバーにある上下矢印を押して設定を好きにやればできます。

これでmacでも似たような環境ができました。


参考:
https://pc-karuma.net/mac-app-scroll-reverser/


windows10で一部のツールがぼやけるのを直す方法

はい、PC環境が変わって、デスクトップからノートに代わりました。
アナログとHDMIでディスプレイ2枚、ノート本体を合わせると3枚設定になったのですが、
なんか一部のツールだけ文字がぼやけます。
調べたら設定でどうにかなりました。

今回ぼやけたのはサクラエディタなのですが、
そのプロパティから「互換性」「設定」「高DIP設定の変更」から
「高DPIスケールの動作を上書き」にチェックすることで、この現象が解消されました。

これによりwindows側でいい感じにやってくれるそうです。

参考:
https://solution.fielding.co.jp/column/it/itcol04/201905_03/


はい、PC環境が変わって、デスクトップからノートに代わりました。
アナログとHDMIでディスプレイ2枚、ノート本体を合わせると3枚設定になったのですが、
なんか一部のツールだけ文字がぼやけます。
調べたら設定でどうにかなりました。

今回ぼやけたのはサクラエディタなのですが、
そのプロパティから「互換性」「設定」「高DIP設定の変更」から
「高DPIスケールの動作を上書き」にチェックすることで、この現象が解消されました。

これによりwindows側でいい感じにやってくれるそうです。

参考:
https://solution.fielding.co.jp/column/it/itcol04/201905_03/

↑このページのトップヘ