Author Archives: admin
アンドロイドのヤフオクアプリで「一時的にアプリケーションがご利用できません」と表示される。
2重ルータで片方のルータ接続のPCからもう片方のルータの設定ページに接続する
無線LANルータ(Buffalo)を買って、すでにあるモデム兼ルータ(NTT)に接続したのだが、NTTに有線で接続しているPCからBuffaloの設定ページに接続できなかった時のメモ。
前提
NTTのネットワーク:192.168.3.0/24
Buffaloのネットワーク:192.168.11.0/24
Buffaloはルータモードで運用
Buffaloを固定アドレスにする
Buffaloのインターネット側のIP、つまりNTTとつながっている側のIPを固定にする。ここでは192.168.11.100にする。この時の設定はBuffaloで無線でつながっているスマホから行った。(NTTのDHCPはこのアドレスを割り当てないようにしておかなければならない)
Buffaloでインターネットからの接続を許可
Buffaloでインターネット側(NTT側)からのポート80をアクセス許可する。
NTTの静的ルーティングを設定
自動でルーティング設定はしてくれないみたいなので、このままでは有線PCからBuffaloに接続できない。のでNTTで静的ルーティングを設定する。
これで有線PCから192.168.11.1にアクセスすると無線ルータのページに接続できた。
content_shellとchrome
## どこでWidgetが作られるか
### content_shell
ShellBrowserMainParts::PreMainMessageLoopRunで作られる。Shell::CreateNewWindowでShellがつくられる。
### chrome
ChromeBrowserMainParts::PreMainMessageLoopRunImpl()でつくられる。BrowserFrameはWidgetを継承。
## どこでViewはつくられるか
### content_shell
ShellWindowDelegateView::InitShellWindow()
ShellWindowDelegateViewはWidget::InitParamのdelegate渡される
### chrome
BrowserViewやToolbarView::Init()
## ボタンのメッセージハンドラ
### content_shell
Shellがもつ
### chrome
chrome::BrowserCommandControllerがもつ
BrowserCommandController::ExecuteCommandWithDisposition
enable_if
enable_ifによりある条件のときだけtemplateを有効にすることができる。逆に言うとtemplateにしたくない条件を無効化することができる。
std::enable_if_t<std::is_convertible_v<T, int>>はstd::enable_if<std::is_convertible<T, int>::value>::type>と同じことなのでこれについて考える。
全体としての意味はTがintに変換できるときだけテンプレートを有効にするということ。
is_convertible<T, int>はTがintに変換できるかを判定し、その結果はvalueに格納される。
enable_if<A>はAがtrueかどうかを判定し、trueならばtypeに型voidを格納する。falseならエラーになる。
よって全体としてTがintに変換できない場合はエラーになり、templateのインスタンス化は行われない(コンパイルエラーにはならない(SFINAE))。
この例ではどういうときにこれを使うのかの応用例は示せていないが、特定の型のときだけテンプレートを有効にしたい場合に使う。
typename = としているのはtypename A = などと同じでデフォルトのテンプレート引数の指定、これはテンプレートのインスタンス化をするかどうかだけのために使われるので、コード中では使われないのでこういう記述になっている。
Linuxでtmpディレクトリを変える
一時的に変える
ずっと変える
/etc/environmentファイルに変数TEMPを記述パーミッションの’t’
qpdfでpdfを回転する
すべてのページを90度回転する
10ページから最後まで180度回転する
C#のファイルダイアログでアプリケーションを選択させる
アプリケーション(拡張子exe)を選択させる
すべてのファイルから選択させる
pdfの特定のページを回転する
ubuntuでocrmypdfを使ってPDFをOCRする
PyMuPDFをインストール
ocrmypdfが使う。
tesseractの日本語をインストール
ocrmypdfをインストール
tesseractの言語がインストールされているかを確認
OCRを実行
まずPDFの言語と縦書きか横書きかを確認する。日本語の縦書きの場合は以下を実行。
複数言語で実行
英語とドイツ語で実行。まずはドイツ語のtesseract-ocrをインストール
エラーのとき
pdfを書き換える。以下のどれか1つ。
エラーは以下のコマンドで起こる
このエラーはmalloc関連らしくgsのソースを見ないとわからないと思う。