javascriptで便利そうだとおもったメソッドたちの話

クラウド実行環境

console.log(“hoge”)したいとき追加。便利だなー。

console.js  
jsfiddle  
JSFiddleでconsole.logの内容を表示させる  

JSON.parse

JSON.stringify

Object.prototype.toString.call()

Object.prototype.toString.call(1).slice(8, -1)

slice

find

filter

iframeからコンテンツ取得したかった話

まえがき

取りたくなることがありました。いろいろ分岐網羅してできるできないのすみわけしながら、みつけました。

01.html

外部ファイル読み込んでる

コード表示

<html>
  <head>
    <script src="../../lib/jquery-3.4.1.min.js"></script>
  </head>
  <body>
    <iframe id="iframe" src="../sql/01.txt" type="text/plain"></iframe>
    <textarea></textarea>
    <script type="text/javascript" src="../../js/func/getiframecontent.js"></script>
  </body>
</html>

getiframecontent.js

jqueryで。

コード表示

$(function(){
    var iframe = document.querySelectorAll("iframe");
    console.log(iframe);
});

01.txt

読み込んだ奴

コード表示

SELECT
    *
FROM
    (SELECT LEVEL AS rn FROM dual CONNECT BY LEVEL <=10)
MODEL
DIMENSION BY (rn)
MEASURES(
            1 AS val_asc
            ,CAST(NULL AS VARCHAR2(4000)) AS ope_asc
            ,row_number () OVER (ORDER BY rn DESC) AS rnn
            ,MAX(rn) OVER () AS val_desc
            ,CAST(NULL AS VARCHAR(4000)) AS ope_desc
            )
RULES(
        val_asc[rn] ORDER BY rn ASC = nvl(val_asc[cv() - 1],1) * cv(rn)
        ,ope_asc[rn] ORDER BY rn ASC = to_char(nvl(ope_asc[cv() - 1],NULL)) || CASE WHEN to_char(nvl(ope_asc[cv() - 1],NULL)) IS NULL THEN NULL ELSE ' * ' END || to_char(cv(rn))
        ,val_desc[rn] ORDER BY rnn DESC = nvl(val_desc[cv() - 1],1) * rnn[cv()]
        ,ope_desc[rn] ORDER BY rnn DESC = to_char(nvl(ope_desc[cv() - 1],NULL)) || CASE WHEN to_char(nvl(ope_desc[cv() - 1],NULL)) IS NULL THEN NULL ELSE ' * ' END || to_char(rnn[cv()])
        )
ORDER BY rn
;

実行例

できた

あとがき

サーバーサイドの技術使わなくてもできたぜ。。

jqコマンドに力入れようと思ったので、ここらへん参考にしたいかなって思ったサイト

目標

いろんなjsonファイルをドット記法に変換できるようになるところまで。これが以外に難しいんだよなー。そうすると後が楽になるはず。

まえがき

かなりリファとか熱くなっているので、時代はjson感ただよう。oracle19cもjson周りはかなり手厚くなっているので、これを機に力入れようとおもい、参考になりそうなサイトをまとめていこうかな。随時更新していこ。

参考文献

めちゃめちゃいい

ブラウザ上で確認できるやつ。  

Defining Functionsを注目。Object Constructionも注目。Array constructionも注目。

jq Manual (development version)  

外部ファイルに切って呼び出せているのが素敵。

ズンドコキヨシ with jq  

めちゃ使いこなせている。。sql絡めているのが好き。

jq コマンドを使う日常のご紹介  

jqコマンドいんすこ

参考文献

jq

jq コマンドの Linux への速攻インストール  

軌跡

ぉぉぉ

コード表示

[oracle@centos ~]$ docker exec -it ssh1 /bin/bash
[root@eac201c4324b ~]# ll
total 0
[root@eac201c4324b ~]# which       
bash: which: command not found
[root@eac201c4324b ~]# yum install -y which
[root@eac201c4324b ~]# which jq
which: no jq in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
[root@eac201c4324b ~]# which curl
/usr/bin/curl
[root@eac201c4324b ~]# yum install -y epel-release
[root@eac201c4324b ~]# yum repolist 
[root@eac201c4324b ~]# yum provides jq
[root@eac201c4324b ~]# yum install -y jq
[root@eac201c4324b ~]# which jq
/usr/bin/jq
[root@eac201c4324b ~]# jq --version
jq-1.5

どうさかくにん

oracleと相性よさそうやな。fin。json強化されているから19c。fin。

コード表示

[root@eac201c4324b ~]# echo '{"a": ["1", "2", "3"]}' | jq '.'
{
  "a": [
    "1",
    "2",
    "3"
  ]
}