2001年10月19日(金) タイトル思いつかん
■ [java] マルチスレッド化Javaアプリケーションの作成
マルチスレッドプログラミングの解説みたい。JavaHouse Brewersより。
■ [java] JavaServer Pages をモデル2(MVC)アーキテクチャで理解する
JSPモデル2の説明。JavaHouse Brewersより。Sun Developers Newsの記事。日本人が書いている。こんなのあるんだね。
■ 会社など
- 10:30 会社に来てメイル読んだりしている途中。今日はいい天気だ。
- 23:00 あーあ、深夜になってしまいました。おれ一人だ。今日は結局何をしたのだ。細かいことをいろいろやった気がするが思い出せない。GIGA実証実験用のPCがやっと一台来たので、その設置をしたりしたなあ。PCが来たのは昨日か。
- 昨日見たテレビ。ぷらちなロンドンブーツ。真矢はガクトと吉村由美と相川七瀬と友達で、パンチ佐藤とは友達ではない。ふかわりょうが死をイメージするタレントであることが判明。
2003年10月19日(日)
■ [web][soft] Web Publisher
「Web Publisher」は、ウェブサイト構築ツールです。以下のような特徴があります。
* ウェブサイト内で共通のパーツを同期させるテンプレート機能。{{'<BR>'}} * Ruby/Amrita を使ったドキュメント作成を効率化するエディタ機能。{{'<BR>'}} * Eclipse Plug-in として動作。Eclipse の機能や Plug-in が利用可能。
いい感じ。eclipse-mlより。
■ やること
- 定期を買う
- 契約書(郵便局)
- 見積書
- ハローワーク関連
- 税務署関連
- 経理関連(簿記、通帳、現金)
- クリアファイル、パンチを買う
2005年10月19日(水)
■ [unix][security] syslog-ng + Stunnel
syslogの転送を暗号化して行いたいとのことで、調べた結果 syslog-ng + Stunnel という組み合わせならできそうだったのでトライ。
syslog-ngはFedora Core 3の公式パッケージは無いようだ。@ITを参考にしてインストールした。ソースアーカイブ内の contrib/fedora-packaging にFedora用と思われる設定ファイル群があった。
Stunnelはパッケージが既にインストールされていた。StunnelのサイトにEncrypting traffic to a remote syslog-ng server including SSL peer authenticationという例があったのでこの通り設定したら、ログの暗号化転送はできたようだ。
できるようになるまでに随分苦労したんだけど、あまりメモしておくことを思いつかないなあ。何に苦労したんだっけなあ。
■ やること
- 蛍光灯を捨てる
- 4000円払う
2016年10月19日(水)
■ [soft][howto] またまたFirefoxで「他のタブをすべて閉じる」を非表示にする
新しいPCのFirefoxで以前にメモしたように「他のタブをすべて閉じる」を非表示にしたかったがまたつまずいたのでメモ。次に気を付けないといけない。
- 現在ではFirefoxのプロファイルフォルダにchromeフォルダは存在しないので自分で追加する必要がある。
- プロファイルフォルダは次の二か所にあって、chromeフォルダは後者の下に追加しないといけない。
- C:\Users\XXX\AppData\Local\Mozilla\Firefox\Profiles\YYY.default
- C:\Users\XXX\AppData\Roaming\Mozilla\Firefox\Profiles\YYY.default
- chromeフォルダに配置するuserChrome.cssの文字コードをUTF-8にする。
chromeフォルダにuserChrome.cssを作ってその中にUTF-8で次を記述した。
menuitem[label="他のタブをすべて閉じる"] , menuitem[label="下のタブをすべて閉じる"] , menuitem[label="すべてのタブを再読み込み"] , menuitem[label="すべてのタブをブックマーク"] { display: none !important; }
2021年10月19日(火)
■ [c++] std::from_charsで文字列を整数に変換
C++で文字列を数値に変換するには<string>ヘッダのstoi()などが使えるが、C++17からは<charconv>のfrom_chars()もある。後者の方が高速。
from_charsで文字列を整数へ変換するのサンプルをメモしておく。本当はdoubleへ変換したいのだけれど、GCCはバージョン11までdoubleへの変換が未実装みたい。VC++なら対応している。
- 数字の前に空白や「+」があるとエラーになる所がstoiの動作と異なるので注意。空白などを勝手に処理しない所が利点でもある。
- 数字の後ろに非数字があってもエラーにはならない。これはstoiと同じ。非数字があるかどうかは判別可能。
- 戻り値の解釈が分かりにくいのでメモ。
- ptrは非数字が最初に現れる位置を指す。
- ecは数値を得られているならデフォルト値(errc{})、得られていないならinvalid_argumentかresult_out_of_rangeのどちらかになる。
- 下のサンプルのto_i()は末尾に非数字があるケースをエラー扱いしていることに注意。
#include <charconv> #include <iostream> #include <sstream> #include <string_view> #include <system_error> int to_i(std::string_view sv) { int i = 0; const auto last = sv.data() + sv.size(); const auto [ptr, ec] = std::from_chars(sv.data(), last, i); if (ec == std::errc{} && ptr == last) return i; std::ostringstream oss; oss << "error: value=" << i << ", suffix='" << std::string{ptr, last} << "'"; if (ec == std::errc{}) { throw std::runtime_error(oss.str()); } else { throw std::system_error(std::make_error_code(ec), oss.str()); } } void call(std::string_view sv) { std::cout << "'" << sv << "'" << " --> "; try { const auto i = to_i(sv); std::cout << "ok: " << i << std::endl; } catch (std::exception& e) { std::cout << e.what() << std::endl; } } int main() { call("-0123"); call("0123456789012345678901234567890123456789a"); call("+0123"); call(" 0123"); call("0123a"); call("0123 "); }
'-0123' --> ok: -123 '0123456789012345678901234567890123456789a' --> error: value=0, suffix='a': Numerical result out of range '+0123' --> error: value=0, suffix='+0123': Invalid argument ' 0123' --> error: value=0, suffix=' 0123': Invalid argument '0123a' --> error: value=123, suffix='a' '0123 ' --> error: value=123, suffix=' '
● XOX [はじめまして。 syslog-ng + Stunnel という組み合わせで、syslogの転送を暗号化を挑戦していま..]
● 小川 [手元に環境がないので詳しいことは分かりませんが、3番目の手順として書かれているのは、 ・全マシンの /etc/st..]
● XOX [小川様 お返事ありがとうございます。 小川様のお返事を参考に作業をしてみましたが、私ではうまくいきませんでした。 ..]
● 小川 [・syslog-ng-server.pemはサーバで作成する。 ・syslog-ng-client.pemは各クライ..]
● XOX [小川様 お世話になっております。 返事が遅れてしまい、申し訳ありません。 小川様のお答えどおりに設定をいたしたと..]