日付計算にdateでシェル芸とか覚えてられないしwebサービスにアクセスするのも面倒なのでそういうちょうどいいCUIないかなって思ったらあった。
Ubuntuだったらaptでdateutilsを入れたら、動く。
dateutils.ddiff 2011-11-15 2012-04-11 148
日付計算にdateでシェル芸とか覚えてられないしwebサービスにアクセスするのも面倒なのでそういうちょうどいいCUIないかなって思ったらあった。
Ubuntuだったらaptでdateutilsを入れたら、動く。
dateutils.ddiff 2011-11-15 2012-04-11 148
UTF-8、UTF8、AL32UTF8 の違いは何ですか? UTF-8 は可変幅のエンコーディングであり、7 ビット ASCII の厳密なスーパーセッ トです。UTF-8 では、1 つの Unicode 文字は 1 バイト、2 バイト、3 バイトまたは 4 バイトです。UTF8 は、Unicode 3.0 までの UTF-8 エンコーディングのみをサポー トします。AL32UTF8 は、最新の Unicode 標準で定義された補助文字をサポート する Oracle Unicode キャラクタ・セットです。
なんかわかりづらいけどUTF8がキャラクタセットで、UTF-8はキャラクタセットではない。 最新Unicodeをサポートしているので、特に理由がなかったらUTF8ではなくAL32UTF8を使うのが良い。
メモ。オリジナルのクエリをそのまま実行してもエラーになるのでいくつか直している
Oracle EE 12.1.0.2.v10
-- 変更点 -- INTERVAL '365' DAYは12.1ではエラー ORA-00920: invalid relational operator になる -- INTERVALが364になることもあるので=を<=にした -- メモ -- CONSTRAINT 制約 (EXTRACTとあわせて) -- start_dateはfiscal_yearより1年前 -- start_dateは10/1 -- end_dateは9/30 CREATE TABLE FiscalYearTable1 (fiscal_year INTEGER NOT NULL PRIMARY KEY, start_date DATE NOT NULL, CONSTRAINT valid_start_date CHECK((EXTRACT (YEAR FROM start_date) = fiscal_year - 1) AND (EXTRACT (MONTH FROM start_date) = 10) AND (EXTRACT (DAY FROM start_date) = 01)), end_date DATE NOT NULL, CONSTRAINT valid_end_date CHECK((EXTRACT (YEAR FROM end_date) = fiscal_year) AND (EXTRACT (MONTH FROM end_date) = 09) AND (EXTRACT (DAY FROM end_date) = 30)), CONSTRAINT valid_interval CHECK ((end_date - start_date) <= 365)); INSERT INTO FiscalYearTable1 VALUES(1995, DATE '1994-10-01', DATE '1995-09-30'); INSERT INTO FiscalYearTable1 VALUES(1997, DATE '1996-10-01', DATE '1997-09-30'); INSERT INTO FiscalYearTable1 VALUES(1998, DATE '1997-10-01', DATE '1998-09-30'); -- 終了日が8月 INSERT INTO FiscalYearTable1 VALUES(1996, DATE '1995-10-01', DATE '1996-08-30'); -- 開始日が2日 INSERT INTO FiscalYearTable1 VALUES(1999, DATE '1998-10-02', DATE '1999-09-30');
http://www.geocities.jp/mickindex/database/db_support_sqlpuzzle.html#LocalLink-p1
USと中国間ではスナップショットのコピーは出来ないんだと。
lines_cop.rbの変更で、homebrewのFormulaのdepends_on
の書き方が一部変わった。
github.com
たとえばPython3は、このように書かないといけない。
depends_on "python3"
以前と同じようにこう書くと、
depends_on :python3
auditしたときに以下のようなエラーになる。
$ brew audit --strict ./Formula/you-get.rb you-get: * C: 17: col 3: :python3 is deprecated. Usage should be "python3". Error: 1 problem in 1 formula
このようなエラーを出すように指示しているのがLibrary/Homebrew/rubocops/lines_cop.rb
で、去年末くらいにpython3とかperlとかが該当するようになった。でもドキュメントにこの変更が反映されていない。
スクショ
HomebrewのrubydocにはYARDが使われており、関数のコメントをドキュメントに変換してくれている。今回修正すべきドキュメントはそのままlines_cop.rbに記載されていたので、そこを直した。
(メンテナーが追加でドキュメントを修正してました。あと他の方も別のドキュメントで プルリクを投げています)
search-forward
search-forward string &optional limit noerror repeat
バッファとかで、M-: (search-forward "検索したい文字列")
などとして探してみる
なかったら search-forward
エラーが返却される。
ldconfig
http://www.infraeye.com/study/linuxz6.html
他のプログラムから利用するプログラム
ライブラリ | 説明 | メリット | デメリット |
---|---|---|---|
静的ライブラリ | プログラム作成時にその実行ファイル内に組み込まれたライブラリ | 1つのプログラムだけで動作するので別環境で動作可 | プログラムのファイルが大きい |
共有ライブラリ | プログラム実行時にロードされて複数のプログラム間で共有 | プログラムのサイズが小さい | プログラム実行時に適切に配置されたライブラリが必要 |
プログラムからライブラリの機能を呼び出す
リンク | 説明 |
---|---|
スタティックリンク | プログラム作成時にライブラリの機能をプログラム本体に組み込む。静的ライブラリ |
ダイナミックリンク | プログラム実行時にライブラリの機能を呼び出す。共有ライブラリ |
http://itpro.nikkeibp.co.jp/article/COLUMN/20140127/532504/
ldconfig creates the necessary links and cache to the most recent shared libraries found in the directories specified on the command line, in the file /etc/ld.so.conf, and in the trusted directories, /lib and /usr/lib (on some 64-bit architectures such as x86-64, lib and /usr/lib are the trusted directories for 32-bit libraries, while /lib64 and /usr/lib64 are used for 64-bit libraries).
https://askubuntu.com/questions/159939/how-to-install-sqlplus http://d.hatena.ne.jp/rougeref/20160126
sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
/etc/ld.so.conf.d/oracle-lib.conf
を作成して、/usr/lib/oracle/#{version}/client/lib
を書き込むbrew 1.4.3
lines_copの基準がちょっとよくわからない
presto RIGHT JOIN
いつも通りRIGHT JOINが使えます https://prestodb.io/docs/current/sql/select.html
defvar setq defcustom
(defvar foo 1) ; 変数fooを1に初期化する (setq bar 10) ; 変数barに10を代入する
25.3.2 で死ぬやつ。url-retrieveで日本語データが入ったJSONをPOSTすると死ぬ。
url-http-create-request: Multibyte text in HTTP request
(defun url-http-post (url args) "Send ARGS to URL as a POST request." (let ( (response-string nil) (url-request-method "POST") (url-request-extra-headers '(("Content-Type" . "application/json"))) (url-request-data (json-encode args))) (switch-to-buffer (url-retrieve-synchronously url)) (goto-char (point-min)) (re-search-forward "\n\n") (setq response-string (buffer-substring-no-properties (point) (point-max))) (kill-buffer (current-buffer)) response-string)) (url-http-post "http://httpbin.org/post" '(("hoge" . "fuga") ("piyo" . "鍵")))
url-http-create-request Multibyte text in HTTP request
Emacs25からurl-http-create-requestするとき、マルチバイト文字列データをリクエストしようとするとエラーになる
** The URL package now insists on sending only unibyte strings to server This means packages that use URL cannot bind 'url-request-data' to multibyte strings. If non-ASCII characters should be part of the URL payload, then 'url-request-data' should be encoded to become a unibyte string.
https://lists.gnu.org/archive/html/bug-gnu-emacs/2016-08/msg00031.html
http://misohena.jp/blog/2016-10-27-problem-org2blog-multibyte-text.html
たとえばrequest.elで、こんなのを投げるとエラーになる。url-retrieveをバックエンドにしてrequestを投げると、 Multibyte text in HTTP request
エラーがでる。
(setq request-backend 'url-retrieve) (request "http://httpbin.org/put" :type "PUT" :data (json-encode '(("key" . "値1") ("key2" . "値2"))) :headers '(("Content-Type" . "application/json")) :parser 'json-read :success (cl-function (lambda (&key data &allow-other-keys) (message "I sent: %S" (assoc-default 'json data)))))