内容へ移動
yuuho.wiki
カオスの欠片を集めて知恵の泉を作る
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
start
»
tips
トレース:
tips:start
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== tips ====== * [[.:dokuwiki|Dokuwiki]] * [[.:clipstudiopaint:start| Clip Studio Paint]] * [[.:blender:start|Blender]] * [[.:python:start|Python]] * [[.:cpp:start|C++]] * [[.:fortran:start|Fortran]] * [[.:atcoder:start|AtCoder]] * [[.:vscode:start|Visual Studio Code]] * [[.:powerpoint:start|PowerPoint]] ===== Illustrator ===== ''~/ライブラリ/Application Support/Adobe/Adobe Illustrator 23/ja_JP/ '' ===== ファイル検索・ディレクトリ検索 ===== === 名前で検索 === やり方は2通りあるっぽい? * 名前一覧を出してから該当のものを抽出 ''find ~ | xargs grep ~'' * 該当する名前自体を検索 '' find ~ -name ~ '' 特徴 * findで指定するnameは正規表現ではない (bash的) * findは基本的に下位ディレクトリすべてを検索する * findでは隠しファイルもデフォルトで見える ^ 基本 ^^ | <code>find <場所></code> || ^ findオプション一覧 ^^ | ''-name'' | ファイル名・ディレクトリ名 | | ''-exec'' | 該当ファイル・ディレクトリに対して処理 | | ''-type'' | ファイルかディレクトリかに絞る | ^ やり方一覧 ^^ | 再帰的にディレクトリをカレントディレクトリ以下から検索 | ''find . -name 'site-packages' -type d'' | === 内容で検索(テキストファイル) === <code bash>grep -rl hoge .</code> ===== リポジトリ内コードの検索 ===== 現在いるディレクトリ配下の全ファイルを再起探索して ''checkpoint'' という文字列のある行を列挙する. <code bash> find . -type f -name "*.py" -print | xargs grep 'checkpoint' </code> ===== yaml ===== === 空の辞書 === 次のようにして空の辞書を作成できる.\\ ''hoge: {}'' === アンカー・エイリアスを使ったコピペ === pyyamlでもanchorとaliasがサポートされていて以下のようにして使える. <code yaml> loader: name: poseloader2 params: &batch_setting batch_size: 4 shuffle: True num_workers: 6 pin_memory: True loss: generator: name: poseGANgen params: <<: *batch_setting adversarial_loss: 1 nn_l1_vgg_loss: 0.01 </code> loss.generatorは ''{'name': 'poseGANgen', 'params': {'batch_size': 4, 'shuffle': True, 'num_workers': 6, 'pin_memory': True, 'adversarial_loss': 1, 'nn_l1_vgg_loss': 0.01}}'' となる extend(上書き)なども容易 [[https://tech-1natsu.hatenablog.com/entry/2018/12/16/004215|参考]] 変数一個だけコピペしたいときは以下のように <code yaml> logger: - name: end_train params: scale: iter freq: &endi 250 - name: vis_val_data params: freq: 10 num_img: 10 end_iter: *endi </code> ===== バックアップの管理 ===== * [[https://searchman.info/tips/2950.html]] * 指定した日数以前のファイルを削除するようなコマンドがある * 毎日バックアップ + 数十日経ったファイルの削除 がベスト? ===== CSS ===== ==== セレクタ ==== ^ 表すもの ^ prefix ^ | タグ名 | 何もなし | | id | ''#'' | | クラス | ''.'' | * [[http://www.htmq.com/csskihon/005.shtml|CSS2セレクタ]] * [[http://www.htmq.com/css3/|CSS3セレクタ]] | 子孫 | 空白一つ開ける | | | | タグ名.クラス | | | | タグ名#ID | | | 並列 | セレクタ, セレクタ | | | 弟 | ''~'' | これより後のやつに適用\\ 例) ''.sectionedit2 .row8 ~ tr'' row8クラスのtrタグより後のtrタグに適用 | FLOCSSという考え方でCSSを作成するべき.CSSの基礎的な考え方[[https://qiita.com/sueshin/items/c80151181d06649e2ff6]] ==== その他 ==== * ''visiblity:hidden''は要素の場所だけ確保して空白に.''display:none''は要素が存在しないかのようにレンダリング. ===== Windows ===== ==== スクリーンショット ==== snipping toolというプログラムを起動してやると便利. ===== Makefile ===== * [[https://www.talkwithdevices.com/archives/49|Makefile内の変数について]] * [[https://qiita.com/Shigets/items/27170827707e5136ee89|Makefile 変数]] * [[https://pod.hatenablog.com/entry/2018/05/10/194204|foreach]] * [[https://dev.classmethod.jp/etc/rename_massive_files/|一括リネームやコピーなど]] Makefileと合わせて使えば色々とできそう === 何もしない === <code Makefile> hoge: @: </code> ===== cmake ===== ''CMakeLists.txt'' の書き方. ===== VSCode ===== * [[https://qiita.com/bellota/items/c94b710a9c8fdf17ad2f|フォントの設定方法]] * [[https://qiita.com/kaityo256/items/d39884c36bd5b35e6427|コピーを書式なしにする設定]] === バイナリエディタ === <code bash> code --install-extension slevesque.vscode-hexdump </code> ===== Vagrant ===== 以下のコマンドを実行してインストール.virtualbox のインストール時はTUIが開く. <code bash> sudo apt install virtualbox virtualbox-ext-pack sudo apt install vagrant </code> ===== GPUドライバの確認 ===== 通常のUbuntu(Desktop)なら ''ubuntu-drivers'' コマンドがプリインストールされていてドライバの確認が簡単. === 推奨されているドライバの確認 === <code>ubuntu-drivers devices</code> === Linux GUI の基礎 === ディスプレイマネージャはLinuxに共通なX Window Systemというシステムの上で動いてGUIを提供する. Ubuntu18では16のLightDMではなくGDM(GNOME Display Maneger)なので''service gdm stop''で止める(?). Ubuntu18.04では''Ctrl + Alt + F3''でCUIになるようである. ''apt-cache madison hogehoge''でどこからインストールされるものかがわかる. これを使ってドライバがGraphics Drivers Teamであることを確認する. ''pkill Xorg''でX Window Systemを落とす. === メモ === ubuntu20.04サーバーから graphics-drivers-team のドライバを入れるのが難しくなった? ubuntu公式にも nvidia-driver が配布されていてそっちが優先されていそう. しかも入れたら Xorg まで付いてくるクソ. <code bash> apt-cache depends gdm3 : gdm3 が必要としている依存パッケージ一覧 apt-cache rdepends gdm3 : gdm3 を必要としている依存パッケージ一覧 </code> ===== bash ===== * [[https://qiita.com/caad1229/items/6d71d84933c8a87af0c4|Bashプロンプトにgitブランチ名を表示]] * ''~/bash_profile'' : ログイン時実行 * ''~/bashrc'' : bash起動時実行 * ''~/.tmux.conf'' : tmux起動時の実行 === if文で使えるファイル演算子 === * [[https://qiita.com/egawa_kun/items/196cd354c0d8e4e0fefc|Qiita]] * ''-s'' や ''-f'' などのファイル判定について ===== tmux ===== * 各paneの高さを同じにする<code bash>tmux select-layout even-vertical</code> * 別の端末から入ったときにサイズが合わないのを何とかする。 <code bash>tmux a -d -t hoge</code> ===== PDF操作 ===== PDF関係の処理に便利そうなソフトがいくつかある. ^ ソフト ^ インストール ^ メモ ^ | ImageMagick | ''sudo apt install imagemagick'' | ubuntu GUI版は初期設定で入っているっぽい | | Inkscape | | | | pdftk | | | | pdfinfo | | | === jpg画像をpdf形式に (ImageMagick) === ImageMagickのconvertコマンドを使う. ただし初期設定ではできないので ''/etc/ImageMagick-6/policy.xml'' を編集する必要がある. <code xml /etc/ImageMagick-6/policy.yml> ... <policy domain="coder" rights="none" pattern="PDF" /> ... </code> を <code xml /etc/ImageMagick-6/policy.yml> ... <policy domain="coder" rights="read|write" pattern="PDF" /> ... </code> に書き換える. <code bash> convert hoge.jpg hoge.pdf </code> で変換できるようになる. === 複数のjpgを複数ページpdfに変換 (ImageMagick) === メモリエラーとなることが多い. キャッシュファイルの設定を変えるのが良い. ''/etc/ImageMagick-6/policy.yml''の以下の部分を <code xml /etc/ImageMagick-6/policy.yml> ... <policy domain="resource" name="memory" value="256MiB"/> <policy domain="resource" name="disk" value="1GiB"/> ... </code> 以下のように変える. <code xml /etc/ImageMagick-6/policy.yml> ... <policy domain="resource" name="memory" value="3GiB"/> <policy domain="resource" name="disk" value="2GiB"/> ... </code> 以下のように使う画像をすべて書いてPDFを作る。ワイルドカードで指定しても良い。 <code bash> convert page1.jpg page2.jpg page3.jpg hoge.pdf </code> === PDF を画像に変換 === <code bash>pdftoppm -png hoge.pdf fuga</code> こうすると ''hoge.pdf'' が ''fuga-1.png'', ''fuga-2.png'' みたいな感じで全ページ PNG になる。 === パスワード解除済みPDFを作成 === <code>qpdf -password=<your-password> -decrypt /path/to/secured.pdf out.pdf</code> === (補足) OpenCV で jpg圧縮 === <code python> cv2.imwrite('hoge.jpg', img, [cv2.IMWRITE_JPEG_QUALITY, 75]) </code> ==== 論文用作業 ==== === PDFのクロップ (Acrobat) === * https://helpx.adobe.com/jp/acrobat/using/crop-pdf-pages.html * 第二ツールバーの「PDFを編集」->「ページをトリミング」 * ドラッグで範囲を選択、選択範囲内をダブルクリックで保存ウィンドウを開く * ページ「すべて」を選択したら全部クロップできる === PDFテキストアウトライン化 (Acrobat) === * 第二ツールバー「印刷工程」->「プリフライト」->「フォントをアウトラインに変換」を選択 * 「解析してフィックスアップ」で保存 === PDFの最適化 === * 第二ツールバー「PDFを最適化」 ===== ffmpeg ===== === インストール === ffmpegのインストールは面倒なので Docker を使うと良い. <code bash> docker run -v $PWD:/tmp/workdir jrottenberg/ffmpeg \ -i /tmp/workdir/hoge.mkv -vcodec libx264 -acodec aac /tmp/workdir/hoge.mp4 </code> 注意点としては現在のディレクトリを''/tmp''として渡すためinput/outputも''/tmp/''付きの絶対パスで指定するということである. === 音声選択 === ''-map 0:a:1'' 入力の1番目の音声ソースを0番目の音声ソースにマップする.\\ つまり ''-map 出力インデックス:a:入力インデックス'' (ビデオの方も設定する必要がある?)\\ ''-map 0:v'' とすると0番目が0番目にマッピングされる. === コーデック === オーディオ ''-acodec aac'' === concat === <code bash> ffmpeg -i audio.webm -i video.webm -c:v copy -c:a copy -map 0:a:0 -map 1:v:0 -strict -2 output.mp4 </code> === mac で再生したい場合 === quicktime player が yuv420p しか受け付けてくれない?ので <code bash>-pix_fmt yuv420p</code> をつける. or ''-vf format=yuv420p'' ? 字幕が入っている場合は ''-sn'' したほうが良い? ''-map_chapters -1'' も必要? ===== youtube-dl ===== === インストール === conda 環境下で ''pip install youtube-dl'' するのが楽そう. 最近は、 ''yt-dlp'' の方が良いらしい。 === ダウンロード === YouTube で動画URLの ''v=hogehoge'' の部分を見る. 以下のようにダウンロード. <code bash> youtube-dl -f bestvideo+bestaudio ID </code> 映像部分と音声部分がバラバラにダウンロードされる. 音声がwebm になっていたら(opusコーデックだと思うので)再生するのが面倒.なので aac に変換.変換しなくていい場合は ''aac'' の部分を ''copy'' とすれば良い. <code bash>docker run --rm -v $PWD:/tmp/workdir jrottenberg/ffmpeg \ -i audio.webm -i video.mp4 -c:v copy -c:a aac -map 0:a:0 -map 1:v:0 -strict -2 output.mp4</code> 2023/05/30) ''vp8'' コーデックが無いみたいなエラーが出たので、 ''-c:v copy'' を ''-c:v libx264'' にしてみると動いた。 ffmpegのある環境では以下で一気に動画にできる. <code bash> youtube-dl -f bestvideo+bestaudio --merge-output-format mp4 ID </code> ===== リモートワーク ===== ==== ssh ==== === 複数ポートフォワーディング === 以下のように ''-L'' のオプションを複数個書けば複数のポートを同時に送れる。 <code bash>ssh -L 9000:localhost:9000 -L 9001:localhost:9001 hoge</code> === autossh フリーズ対策 === autossh でポートフォワーディングをしているといつの間にかフリーズして すべての ssh ができなくなることがある. この場合は ssh-agent を再起動する必要がある. ''eval "$(ssh-agent -s)"'' して ''kill -9 PID'' するのが必要. === リモートマシンのネットワークでブラウザを使う === 例として shiki という Host に ssh できて、 39393 というポートでネットワークを迂回するとする。 <code bash>ssh -D 39393 shiki</code> 使用中ポートでなければエラー無く動くはず。 手元のマシンの firefox で 設定 > 一般 > ネットワーク > 接続設定 > 手動でプロキシーを設定する\\ > SOCKSホスト : localhost ポート : 39393\\ とすると firefox でリモートのネットワーク内にある web サイトなどにアクセスできる。(X転送したfirefoxでやるみたいなことをしなくて良い。) === 通信速度の計測 === アップロード <code bash> dd if=/dev/zero bs=1M count=100 | ssh username@123.456.789 'dd of=/dev/null' </code> ダウンロード <code bash> ssh username@123.456.789 'dd if=/dev/zero bs=1M count=100' | dd of=/dev/null </code> === scp での帯域制限 === scp をすると send disconnect で落ちることがある。転送速度の速さが制限されている可能性があるため、帯域制限をする必要がある。 以下は 20Mbit/sec 制限。 <code bash>scp -l 20000 hoge.zip my_server:/path/to/dir/</code> ===== overleaf ===== === オンプレミス === <code bash>docker run -it --rm sharelatex/sharelatex:2.5.0</code> ===== メール ===== [[https://docker-mailserver.github.io/docker-mailserver/edge|docker-mailserver]] でやっていく。 * Gmail で転送をやろうとすると受け手側で OK しないといけない * エイリアス設定するのが簡単か postfix の部分直接いじればメーリングリストっぽく設定もできる\\ http://www.postfix.org/VIRTUAL_README.html#forwarding ===== zip ===== * deterministic な zip ファイルを作る [[https://zenn.dev/amane/articles/fc454d5e471ffc]] === コマンドオプション === <code bash> zip -r new_file.zip want_to_freeze_dir/ </code> ===== 大きなファイルの分割 ===== ===== exiftool を使った写真ファイルタイムスタンプ変更 ===== 撮った写真をカメラから手元に転送してきたときに、 ファイルのタイムスタンプが撮影時刻ではなく転送時刻になってしまうことがある。 Linux で開いて変更してやるのが良い。 <code bash>sudo exiftool "-FileModifyDate<DateTimeOriginal" *.JPG</code> mp4 に関しては <code bash>sudo exiftool "-FileModifyDate<MediaCreateDate" video.mp4</code> === タイムスタンプの足し算 === <code bash> for f in *.MP4; do DATE=$(exiftool -s3 -MediaCreateDate "$f") FORMATTED=$(echo "$DATE" | sed 's/:/-/1; s/:/-/1') echo "origin : $FORMATTED" if [ -n "$DATE" ]; then NEWDATE=$(date -d "$FORMATTED +1 month +1 day" +"%Y:%m:%d %H:%M:%S") echo "Setting $f timestamp to $NEWDATE" exiftool "-FileModifyDate=$NEWDATE" "$f" else echo "Skipping $f: no MediaCreateDate found" fi done </code> === android のマウント === andoroid スマホをLinuxに直接マウントして操作する場合は https://fishrimper.blogspot.com/2018/01/mtp.html 何があるか見る <code> jmtpfs -l </code> <code> jmtpfs -device=1,22 test/ </code> === exfat のマウント === <code> sudo apt install exfat-fuse exfat-utils sudo mount -t exfat-fuse /dev/sdc1 /mnt/sdc1 </code> ===== bootstrap5 ===== texparalleltranslate リポジトリ参考 === 大きさで表示されるものを切り替える === xs のときに縦、xl のときに横に表示するようなUIを作成したとき、 周辺部分の表示内容を変えたいときがある。 たとえば、縦のときは「↓」、横のときは「→」をUIに表示するときにこれが必要。 CSS を設定しておくだけで変えられて便利。 <code> Bootstrap5 表示オプション d-block : 基本状態が表示 d-none : 基本状態が非表示 d-XX-block : XX 以上で表示 d-XX-none : XX 以上で非表示 | xs | sm | md | lg | xl | xxl | --------------------------------------------------- d-block | o | o | o | o | o | o | d-block, d-md-none | o | o | x | x | x | x | (visible Less Than MD) --------------------------------------------------- d-none | x | x | x | x | x | x | d-none, d-md-block | x | x | o | o | o | o | (visible Greater Equal MD) d-block や d-none は display を設定するもの。 d-block じゃなくて d-flex とかもありかも </code> つまり、 d-block だけのときは常に非表示だけど、d-blockとd-md-none を両方設定しておくと、サイズがxs,sm のときだけ表示、それ以上で非表示になる。 === パネル切り替え === <code> Bootstrap5 パネル切り替え | 役割 | クラス | 初期表示 | 依存 | ID ---------------------------------------------------------------------------------------------------------------------------------------------------- - ul/ | (role=tablist) | .nav.nav-pills | | | | - li/ | (role=presentation) | .nav-item | | | | - a | (role=tab,data-gs-toggle=tab) | .nav-link | (aria-selected="true") .active | (href="#HOGE" aria-controls="HOGE") | HOGE-switch | 表示 - li/ | (role=presentation) | .nav-item | | | | - a | (role=tab,data-gs-toggle=tab) | .nav-link | (aria-selected="false") | (href="#FUGA" aria-controls="FUGA") | FUGA-switch | 非表示 - parent/ | | .tab-content | | | | - child | (role=tabpanel) | .tab-pane.fade | .show .active | (aria-labelledby="HOGE-switch") | HOGE | 表示 - child | (role=tabpanel) | .tab-pane.fade | | (aria-labelledby="FUGA-switch") | FUGA | 非表示 </code>
tips/start.txt
· 最終更新: 2025/09/01 06:05 by
yuuho
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ