投稿

ラベル(csv)が付いた投稿を表示しています

たまに掃除は必要!熱暴走…

イメージ
 そんなに暑くないのに… 本日、午前中にオンラインで打合せをしていると、突然マシンがダウン。 一瞬、停電か?と思ったもののディスプレイの電源は入っている。 あれっ?と思い、すぐさまノートで打合せを継続。 その間に、再度マシンの電源を投入。 問題なく起動する。 でも、CPU温度がたまたま目に入り、95℃を超えて徐々に上昇していく。 105℃あたりで再度マシンダウン。 これは、熱暴走によるダウンの可能性が高い。 以前、CPUをRyzen7→9にした頃は、60℃〜70℃程度だった記憶がある。 本当はGW中にSSDの載せ替えを行う予定だったけれど、忙しくて先延ばしにしていた。 その時やっていれば、多分掃除もしただろうに…。 ということで、午後からマシンを解体し、掃除をすることに。 ケース本体のFANはホコリがかなり溜まっている。 GPUのFANは問題ない。 電源とCPU FANはひどい。 一旦、CPU FANを取り外し、きれいにする。ついでにCPUグリスも塗り直しセット。 動作確認すると、投入直後で40℃台。 そりゃ、熱暴走も起こすわけだ。 せっかくバラしたので、SSDの載せ替えを実施。 OSは500GBで、ユーザ領域(/home)は1TBを使用しているもののAIのmodelをいくつも落としていたり、DockerのImageが多種置いてあるため、結構容量を食っている。 今回、2TBのSSD( Hanye SSD ¥17,800- で入手済)を用意してあるので、 1TB→2TB, 500GB→1TBと玉突きで移動させることを計画していたので実施する。 本当は、ddコマンドで移すつもりだったのだけれど、3月にお客さんのところで使いそうだったので、 ORICOのクローン機能付SSDアダプタ を入手済。 裸族のSSD版ですね…。1万円程度の品です。 これに、新品のSSDとこれまでの1TBのSSDを差し込んでクローン開始。 そこそこ時間はかかるものの、放置でOK。 ただ、HanyeのSSDについているヒートシンクが引っかかるため、一旦取り外してクローン後取り付ける必要があった。 続いて、500GB→先程の1TBに書き込み。 ただ、1TB(samsungの980pro)が、先程のクローンでかなり熱くなっていたため、速度低下が激しい感じ。1TB→2TBよりも時間がかかった感じ。 ...

csvqのbuild #2

 昨日のエントリーに情報 昨日書いた「 csvqのbuild 」に対して、作者さん(Yuki @qittu)から連絡を頂いた。 blogglerで記事を書くと、IFTTTでtwitterにエントリーを投稿するようになっているんだけど、それを見てくれたらしい。 https://twitter.com/qittu/status/1300758790812233728 丁寧に、build方法を連絡してくれました…。 ということで、念の為、確認作業を行なっておく。 インストール手順も、twitterで紹介された方法に修正されているので、その通りで問題なく完了。 $ env GO111MODULE=on go get github.com/mithrandie/csvq main.goだけを差し替えて、makeでのbuildも確認。 無事に完了しました。 で、出来上がったcsvqですが、バージョンは変わらず。 ただ、サイズは、14,517,230バイトと、350バイト程小さくなってるんだな…。(面白い!) ありがたや〜ありがたや〜。 ということで、実際の開発業務に戻ります…。

csvqのbuild

使おうと思ったら、無かった… 以前あまりに便利だったので、buildして使っていた「 csvq 」だけど、マシンを入れ替えた際に入れ忘れていたらしい…。 前にbuildした時は、さっくりと動作したので、最新バージョンを持ってきてbuildすればいいやぁと思って作業してみると、エラーを吐きまくる。 バイナリ持ってきてきても良いけど、時間がある今なので、頑張ってみることにした。 Installation Install executable binary Download an archive file from release page . Extract the downloaded archive and add a binary file in it to your path. Build from source Requirements Go 1.11 or later (ref. Getting Started - The Go Programming Language ) Build with one of the following ways Use go get $ go get github.com/mithrandie/csvq Build with strict dependencies $ go get -d github.com/mithrandie/csvq Change directory to $GOPATH/src/github.com/mithrandie/csvq $ env GO111MODULE=on go install githubに書かれているとおりに、 $ go get github.com/mithrandie/csvq すると、以下のようなエラーが大量に…。 $ go get github.com/mithrandie/csvq # github.com/mithrandie/csvq ../../go/src/github.com/mithrandie/csvq/main.go:35:17: cannot use cli.StringFlag literal (type cli.StringFlag) as type cli.Flag in slice literal: cli.StringFlag does...

これは使える!テキストツール csvq

GO製 csvq いつも使えそうなツールをチェックしているのだけれど、久々に使えるものを入手した。 csvファイルをDBのように扱い、sqlで操作可能にする。 https://github.com/mithrandie/csvq インストールはBinaryをダウンロードしてPATHの通ったところに置いて完了。 ちなみに、他の人はどうしているのか分からないけれど、どこに置くのかというのはいつも悩ましい所。 /usr/bin /usr/local/bin あたりが、多いんでしょうか…。 まあ、マルチユーザの場合、パッケージなどで入れたものは、/usr/bin以下に入るだろうし、buildするタイプなどで作法の良いものなら/usr/local/binなどに入れるのが普通だろうなぁ。  自分の場合は、個人で使用する場合や自作のもので、一時的に使うモノは、~/bin というフォルダを作成していて、ここにポイッと入れて動作テストなどしている。 もちろん、PATHを通しておく必要が有る…。 さて、解凍してcsvqをbin以下に入れれば即実行できる。 こいつ強力すぎる! 実際に試してみると、こいつは便利だ。 試しに次のようなデータを作成してテストしてみた。(user.csvとscore.csv) データを一覧したければ、 $ csvq > select * from user; +----+--------+-----+-------------+ | id | name | age | tel | +----+--------+-----+-------------+ | 1 | user1 | 20 | 01011112222 | | 2 | user2 | 21 | 01011113333 | | 3 | user3 | 22 | 01011114444 | | 4 | user4 | 23 | 01011115555 | | 5 | user5 | 24 | 01011116666 | | 6 | user6 | 25 | 01011117777 | | 7 | user7 | 26 | 010...

MacのExcel 2011でCSVを吐く

久々にハマったので… 開発中のシステムのDBを修正するのに、CSVでダウンロード→CSVでアップロードという流れになりました。 そこで、実際にテストを行ってみたものの、どうもおかしい。 なぜかアップロード時に、うまくデータが読めていないようなのだ。 その旨、連絡した所、他の環境では発生しないという。 そこで、こちらがダウンロードしたデータと、EXCELで開いて保存したデータをメールで送る。  ダウンロードしたデータは、システムに喰わせても問題ない。一旦開いて保存したものはエラーになる。  ところが、メールを受け取った仲間の環境では、問題が置きないという。????? こちらの環境の問題か?と思い、先ほどのEXCELで保存したcsvを仮想マシンのWindows上からシステムに喰わせるが、相変わらずエラーになる。  念のため、ブラウザを変更し、chrome/Firefoxなどでも試す。全滅。 Andoroid上のから、試すも同じようなエラーが出る。 ということは、システムの問題か?と疑うが、誰もエラーにならないという。 そこで、向こうで同じ条件でデータを吐き出し、更新可能なデータを送ってもらう。 パッと見は同じ。 diffでチェック とりあえず、こちらから送ったデータと、向こうから来たデータをdiffで確認。 全く同一だ。 バイナリエディタで確認 次は、 $ od -h a.csv > a.txt $ od -h b.csv > b.txt  とコードに置き直して、これでdiffってみる。  明らかに途中から違う。  念のため、od -c a.csv なんかで確認すると・・・。¥r ¥n と書いてある。はっ! 気付けば簡単 もうここまでくれば、明らか。 改行コードが違うのだ。 php側では、¥rのみを改行と認識していないため、次行を継続して読み込む。 当然フォーマットが合わないので、アウト。 なぜ、他の環境でエラーにならないのかを検証。 OS Office csv改行コード Windows7 Excel 2013 CR+LF Mac OS X Yosemite Excel 2011 CR そう、Mac 上のExcelはLegacyな改行コードを吐い...

Windows Server 2008 R2 に手こずった

イメージ
NT Serverとは随分変わったね このところ作業に追われ、なかなか更新する時間が取れなかった。しかし作業も進んできたので記録をとっておく必要もあるし、結構ハマったから、その内容をまとめておこうと思う。 最初にWindows Serverに触れたのはNT3.51だったから、もうあれから随分時が流れました。次が2000 Serverで2003は少しメンテしたぐらい。 今回は2008ということで、機能的にも随分設定が楽になったところが各所に見られました。が、しかし思い通りに行かない部分も多々あり、それで時間が取られているんだけど…。 今回は、120名ほどユーザーアカウントを作成する必要があるので、とても手作業というわけには行きません。 そこで、バッチを作成してdsaddコマンドを使い一括登録しました。 日々是消費 さんのスクリプトを参考にしました。 adduser.bat @echo on for /f "tokens=1-3 delims=," %%i in (userlist.csv) do ( dsadd user  "CN=%%i,OU=Organization,DC=Company,DC=local"   -samid %%i -pwd %%j -display %%k -hmdir \\dc01\home$\%%i -hmdrv I: -profile \\dc01\profile$\%%i -canchpwd no -acctexpires never   mkdir \\dc01\home$\%%i cacls \\dc01\home$\%%i /G %%i:F /E   mkdir \\dc01\profile$\%%i cacls \\dc01\Profile$\%%i /G %%i:F /E net user %%i %%j net user %%i /ACTIVE:YES ) これに、アカウント名,パスワード,表示名(漢字)のフィールド3つだけのuserlist.csvファイルを作成して、実行させて完了。 と思いきや、 エラーを吐いて、うまく登録できていないユーザがちらほら…。 原因は、パスワードの複雑さが足りないことらしい。 パスワ...