投稿

1月, 2025の投稿を表示しています

PHP の CSV読み込み fgetcsv 疑問まとめ

イメージ
PHPで fgetcsv 使用時の疑問を確認したメモ $file = fopen($filepath, 'r'); while( $csv = fgetcsv($file) ){ print_r($csv); } fclose($file); 改行コード 改行コードは \r\n または \n 単独で存在する \r は通常の文字と同様に扱われる※混入注意 ダブルコーテーション内 戻り値(配列内)にダブルコーテーションは含まれない カンマ, \r\n, \n を含むデータを読み込むことが可能 ダブルコーテーションは、2つ連続で表現 例) "テスト""太郎""" → テスト"太郎" その他 ダブルコーテーションで括る必要がないデータを、括ってもよい ダブルコーテーションで括っていないダブルコーテーションは、通常の文字として扱われる 例) 1,あいうえお,かき"くけこ → [2]=かき"くけこ スペースは区切りではない(ダブルコーテーションで括る必要なし) カンマ前後のスペースも文字列として取得される(trimされない) 備考 \r = CR(0x0D=13) \n = LF(0x0A=10) Excel の Alt+Enter で入力したセル内の改行は、csv保存で ダブルコーテーション括りの \n となる Excel の csv保存(utf-8)で作成されたファイルは、fgetcsv で読み込める(確認した限り) Excel の csv保存は utf-8とデフォルトエンコード(sjis)が存在するので注意が必要

Macで最小化したウィンドウを元のサイズに戻すショートカットキー

Macで最小化したウィンドウを元のサイズに戻すショートカットキー(ショートカットキーと呼んでいいのかは不明) Windowsの場合 Win+↓等で最小化したウィンドウは、Alt + Tab で選択後 Altを離せば元のサイズに戻るが Mac は command + M で最小化したウィンドウを command + Tab で選択後 command を離しても 最小化されたまま Option長押ししろとかいう記事がを見つけたが現行では反応なし 調べたら command + Tab で選択後、optionを更に押して(command + option)離すとかいう操作でウィンドウを元のサイズに戻せるらしい、が、書いてあるとおりはかなり難しい というか、そこに指がない いろいろ操作してみた結果、command と option は同時に押されていなくても大丈夫そうで command + Tab で選択後、commandに置いた指を隣の option へスライドして 離せ ばOK (操作的にも覚えやすい) キートップの印字が早く消えそうだけど :-)

Evernote10 のローカルDB(sqlite)の断片化を解消

イメージ
Evernote10 のローカルDB(sqlite)を最適化、断片化を解消してみたメモ 対象はデフォルトで下記の場所(エクスプローラへコピペ)の %APPDATA%\Evernote\conduit-storage\https%3A%2F%2Fwww.evernote.com 下記のファイル( 000000 の場所はユーザIDとなっている) UDB-User 000000 +RemoteGraph.sql この作業には sqlite3コマンドが使える環境が必要です 今回は DB Browser for SQLite を使用してますが、何でもよいです Evernote10を終了させ 、DB Browser for SQLite 等で 先程の UDB-User000000+RemoteGraph.sql を開きます まずは、断片化の状況を調べるため、下記のコマンドをそれぞれ実行して値を調べます(SQLを実行タブ) PRAGMA page_size PRAGMA page_count PRAGMA freelist_count 私の値 PRAGMA page_size =  4,096 PRAGMA page_count = 721,697 PRAGMA freelist_count = 565,701 各count にページサイズを掛ければ、実際の容量が得られます 721,697 *  4,096  = 2,956,070,912 (全体のサイズ) 565,701 *  4,096  = 2,317,111,296 (空きサイズ) 78% が空き(断片化?)ということになります ということでデータベースを圧縮(vacuum)します (下の方の最適化も可能ですが、私の環境ではほぼ変化なしでした) ※sql文を保存するか聞いてきますが破棄でよいです(さっきの PRAGMA文のコト) しばらくして(DBサイズやストレージの速度によります)、データベースを圧縮 ウィンドウが閉じられれば完了 私の場合、ファイルサイズが 2,956,070,912(2.9GB) → 610,885,632(610MB) となりました 結果、Evernote10 は、なんとなく速くなったような... ...