お一人様インスタンス https://mastodon.toycode.com を立てて使っていましたが、興味が薄れてきたので止めることにしました。
3年は続けるつもりでしたが、我ながら飽きっぽい性格だけはどうにもなりません。
お一人様インスタンス https://mastodon.toycode.com を立てて使っていましたが、興味が薄れてきたので止めることにしました。
3年は続けるつもりでしたが、我ながら飽きっぽい性格だけはどうにもなりません。
Google スプレッドシートにタブやカンマ区切りのテキストを貼り付けるると、貼りつけた直後は列が一つになってしまいます。 けれども貼付け後、テキストを列に分割を選択すると、期待したとおりに列に分割されます。
こういうのは知っている人にとっては当たり前なのでしょうが、僕は今日初めて知ったので書いてみました。
個人で所有しているドメイン toycode.com のワイルドカード証明書の期限が近づいてきたので新しい物を購入しました。
最近は Let's Encrypt があるので SSL 証明書を自前でもっているメリットは少なくないのですが、それでもワイルドカード証明書を一つ用意しておくと色々実験したりするのに便利です。
前回は namecheap という所から買いましたが、今回はさらに安く買える所がないか調べてみました。
プロバイダ | サイトURL | SSLブランド名 | 1年 | 2年 |
---|---|---|---|---|
SSL2BUY | https://www.ssl2buy.com/ | AlphaSSL Wildcard | $42.00 | $80.00 |
Cheap SSLL | https://cheapsslsecurity.com | Comodo PositiveSSL Wildcard | $72.95 | $127.66 |
namecheap | https://www.namecheap.com | Comodo EssentialSSL Wildcard | $74.88 | $145.76 |
SSL2BUY という所が 2年で $80 (9000円程度) なので、ここで購入することにしました。
なお、日本語で展開しているところは例えば SSLストア だと2年で3万5000円、サイフにやさしいSSL証明書だと 4万4800円 と高いです。
基本的には持っているドメインの admin 等のメールアドレスか、ドメインの whois に登録されているメールアドレスがあれば、 あとはメールと Web サイトの指示に従っていけば良いのですが、CSR と private key は手元で作成する必要があります。
CSR と private key は openssl がインストールされていれば以下のようにして作成することが出来ます。
$ openssl req -new -newkey rsa:2048 -nodes -keyout toycode.key -out toycode.csr Generating a 2048 bit RSA private key ...............................+++ .........................+++ writing new private key to 'toycode.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:JP State or Province Name (full name) [Some-State]:Tokyo Locality Name (eg, city) []:Shinjuku Organization Name (eg, company) [Internet Widgits Pty Ltd]:Hiroshi Okada Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []:*.toycode.com Email Address []:okadahiroshi@miobox.jp Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
なお、SSL の証明書は XXXXXXX: Your SSL Certificate for *.toycode.com has been issued
のような題名の email で送られてきて、添付ファイルでなく、本文中の末尾に
-----BEGIN CERTIFICATE----- ... 30行以上の文字列... -----END CERTIFICATE-----
というふうに書かれれいるので、この部分をコピペして、例えば toycode.cer
みたいなファイルに保管します。
SSL サーバの起動にはこのファイルと先ほど作ったキーファイル (上記の例だと toycode.key
) が必要です。
nodejs の有名な Markdown パーサの markdown-it で 出力される html のエレメントタイプごとに class 属性を追加したかたので
というプラグインを書いてみました。
markdown-it の内部構造はよくわかっていないので、他のプラグインのコードを参考に書きましたが、パフォーマンス等は悪いと思います。
$ npm install markdown-it @toycode/markdown-it-class --save-dev
みたいにインストールして
const MarkdownIt = require('markdown-it') const markdownItClass = require('@toycode/markdown-it-class') const mdText = '# テスト文書\n## サブタイトル\n今日は良い*天気*です' const mapping = { h1: ['title', 'is-4'], h2: 'subtitle', em: 'tag' } const md = MarkdownIt().use(markdownItClass, mapping) console.log(md.render(mdText))
で
<h1 class="title is-4">テスト文書</h1> <h2 class="subtitle">サブタイトル</h2> <p>今日は良い<em class="tag">天気</em>です</p>
のようにクラスが付加できます。
今までは、EDINET から有価証券報告書等の書類をダウンロードするには。手作業でEDINETの閲覧画面から取得するか、ウェブスクレイピングするか、第三者が開発したツールやAPIを使う必要があって非常に面倒なものでした。
幸いなことに、来年3月下旬より API を使って、書類の一覧の取得とダウンロードができるようになると言うことなので、今日説明会に行ってきました。
金融庁に行くのははじめてなので、ちょっと緊張しました。
説明は非常にわかりやすく、 API も REST (しかも GET だけ) なので、誰でも簡単に書類をダウンロードするプログラムを書けそうです。 ( 一覧等の情報は JSON で返ってくる )
なお、今後は以下のスケジュールで進行するようなので、 EDINET閲覧のサイト等をチェックしておいた方がよいと思われます。
日程 | イベント |
---|---|
9月下旬 | EDNET API 規約案、API仕様書案を EDINET閲覧サイトに公開。 |
11月〜12月上旬 | 外部接続実施要領を EDINET閲覧サイト上に公開。外部接続テストの参加希望者を募集。EDINET API利用者向けのサンプルプログラム、書類一覧のサンプルデータを掲示。 |
12月中旬 | 外部接続テスト参加希望者に個別にスケジュールを連絡 |
2019年1月中旬〜2月末 | β版を用いた外部接続テストを実施 |
3月中旬 | 本番サービス開始 |
株式投資をしていると、有価証券報告書を読んで分析する必要があります。
日本の会社の有価証券報告書は、EDINET という所からダウンロードできるようになっているのですが、 SSL 証明書が 政府認証基盤(GPKI) なので、ブラウザーによっては認証局を追加しないと警告がでたりして面倒です。
そのそも Webサイトをブラウザーで開いて、検索して、ダウンロードボタンを押してと、結構手間がかかって面倒くさいです。
もちろん探すと、いつくつかそれを簡単にできるようにしてあるサイトやサービスがあるのですが、どれも本格的すぎて今ひとつ僕の要求とは一致しませんでした。
そこで node.js でコマンドラインで証券コード又は EDINET で指定しただけで、簡単にダウンロードできる CLI コマンドを作りました。
EDINETでは、平成31年3月下旬からEDINETに提出された書類を取得するAPI(EDINET API)の提供を予定しています。
ということで、それ以降だと、簡単に API を呼び出して書類を取得できそうですが、今はまだできないので
を利用して、ごりごり スクレイピング をすることにしました。
一応 npm として公開してあるのでもしよろしけば使ってみて下さい。
開発は、 ubuntu デスクトップ上で、10.8.0 Current で開発しています。
動作確認は Windows Server 2016 と macOS High Sierra でも行っています。
グローバルではなくて適当なディレクトリを作ってそこに入れた方が良いでしょう。
$ mkdir 適当なディレクトリ $ cd 適当なディレクトリ $ npm i @toycode/getufo
$ npx getufo はてな E32141, 39300, 株式会社はてな, カブシキガイシャハテナ, Hatena Co., Ltd
$ npx getufo E02144
$ npx getufo 7832
$ npx getufo Usage: getufo [options] <codes> Download financial statements from EDINET. Options: -v, --version output the version number -f, --folder [folder] Set download folder (default: current working directory) -n, --numpdf [num] How many pdf files to download (default: 4) -h, --help output usage information Codes are either security codes, EDINET codes or fund codes. Extra: Enter a part of the company name instead of the code to display a list of codes. (In this case, nothing is downloaded.)
GitHub - HiroshiOkada/getufo: Download securities reports from EDINET
以上です。
車輪の再々発明であるのは知っているのですが、必要に迫られた上に安全性を確認できないプラグインを Google スプレッドシートのアプリで走らせたくなかったので、 Google スプレッドシートで Markdown の表を作成するスクリプトを書きました。
Google スプレッドシートの選択範囲をマークダウンの表にする(gist)
Google Apps のスクリプトの JavaScript エンジンはかなり古いので、ちょっと戸惑いました(結局 babel で変換した)。
Google スプレッドシートのコードエディタに上のスクリプトを貼りつけて開き直すと メニューに Utils
-> 選択範囲をmarkdownの表に
という項目が増えるので、適当な範囲を選択して実行すると markdown にしたものをダイアログ上で表示してくれます。
初回実行の時は、セキュリティーのためのダイアログが出るので承認してあげる必要があります。
詳細の部分が隠れているので開く必要あり。