5丁目通信(仮称)

とある5丁目で活動する還暦を過ぎたWebプログラマーの覚え書きです。それとかかってくる迷惑電話や、家業のアパート経営について。

カテゴリー: サポート

  • SourceTreeのカスタム操作でコミットしたファイルリストを取り出すバッチを書いた話し

    今やっているプロジェクトでは、本番サーバーにアップするときに、どのファイルをアップするかを報告している。理由は、共同作業しているのでお互いにファイルの上書きをしないようにするためだってさ。これは、自分以外はgitみたいなバージョン管理システムを使っていないという大きな理由。

    どのファイルを修正したかなんて、手作業で拾っていったらとても大変。考えただけでもゾッとする。自分だけファイルはgitを使って乗り切っている。

    他の人たちもgitを使ってもらえばいいじゃない、と思うけど、長年開発してきたプロジェクトに自分が最近ポッと入ったので、皆さんにgitを使ってよ、なんて言えないし、それにバージョン管理って何かしら、といったところなので、仕方ないから何とか自分だけ楽をしようと考える。

    今までは、コミットしたファイルの一覧を出すのにこんな感じでコマンドを打っていた。

    git diff --stat --name-only commit1 commit2
    

    16進のコミットIDを拾って打ち込むのはとても面倒。もっと楽をしようと考えた。

    今使っているgitのクライアントはWindowsのSourceTree。このSourceTreeの機能にカスタム操作なる機能があることを初めて知った。選択したコミットのIDを取得してバッチファイルに流せるのだ。

    著:湊川あい, 著:DQNEO
    ¥2,208 (2025/07/03 10:51時点 | Amazon調べ)
    著:リック・ウマリ, 翻訳:吉川邦夫
    ¥3,247 (2025/06/23 23:05時点 | Amazon調べ)

    SourceTreeのカスタム操作でGoogleさんに聞くと、SourceTreeでコミット間の差分ファイルを抽出しよう (カスタム操作を使う方法)」、なんて差分のファイルをアーカイブしてZIPファイルにするサンプルばかり出てくる。みなさん、同じバッチファイルのソースを載せているけど、さてどれがオリジナルなんでしょうか? 以下のサイトがオリジナルであるという保証はない。

    今回書いたのは、以上のサイトを参考にして、こんな感じのバッチファイルを書いた。

    @echo off
    
    if "%2" EQU "" (
      set PARAM1=%1
      set PARAM2=%1~1
    ) else (
      set PARAM1=%1
      for %%a in ( %* ) do set PARAM2=%%a~1
    )
    
    rem echo %PARAM1%
    rem echo %PARAM2%
    
    git --no-pager diff --stat --name-only %PARAM1% %PARAM2%

    最初のパラメータのチェックだけ、前述のサンプルから使わせてもらった。SourceTreeのカスタム操作では、選択されたコミットはすべてパラメータで取ってくるので、最初と最後のパラメータが必要なので、取得する処理を書いている。でも、何十年ぶりにDOSのバッチファイルなんて書いたのだろう。

    これはWindowsだけしか動かないから、Macの場合は同じようなシェルを書く必要がある。結局はパラメータの処理だけだから簡単かも。

    これをgit-diff-stat.bat とか名前を付けて保存する。後は、SourceTreeのカスタム操作の設定。こちらはこんな感じで設定してしまう。

    git-diff

    使い方はSourceTreeでコミット一覧からコミットを選択して、右クリックからカスタム操作を選びだけ。うまく行けばコミットされたファイルがリストになって出てくるはず。

    これで16進の8桁の数字を入れなくて60倍楽になったよ。って、書いたら既に誰かが作っているのだろうな。

    追記(2020年9月25日)

    以上のことをしなくても、Source TreeにはGit Flowをサポートする機能があるので、案件ごとにfeatureブランチを作って、完了したときにdevelopブランチにマージすれば(この一連の操作はSource Treeでサポートしてくれる)、コミットしたファイル一覧がわかる。現在は、更新したファイルを報告することはなくなったけど、デプロイとかやっていないので、いまだに手作業でFTPでファイルをアップしている。どのファイルが更新されたがわかるので(FTPクライアントの自動更新機能を使えよという声が聞こえそうだけど)、これは便利な機能である。

  • ハードディスクを予防交換した話し

    つれが使っているのがWindows Vistaで、今のOfficeがインストールできないので何とかしなければいけないことになった。

    自分が使っているサブのWindows7があるので、こちらを使ってもらい、Windows Vistaのほうはケースがいいものをつかっているので、中身を入れ替えることにした。

    しかし、Windows7のPCに入っているハードディスクのS.M.A.R.Tの情報を見るとC5, C6辺りでエラーが発生している。そこでハードディスクが逝く前に交換してしまう。

    新しいハードディスクを手に入れてクローンするのだけど、最初使ったHDDクローンツールは、Googleさんに聞いたら評判のよかったEaseUS DiskCopy。しかし、クローンの途中でエラーを吐いて止まってしまう。

    やはり無料のツールはダメなのねと思って、よく考えてみると、昔AcronisのTrue Imageを購入していたのを思い出した。ディスクを初期化したので消していた。

    最初、True Imageのパッケージを探したのだけど見つからず、もう一度よく考えてみると、ダウンロードして購入したのね。True Imageのバッケージはもっと前のバージョンを買ったことがあった。

    ダウンロードしたときのメールを探し出してシリアル番号を見つけた。True Imageをインストールしてクローン開始。しかし、やはり最後のほうでエラーを出して終わる。

    エラーメッセージを見てみるとセクターエラーになっている。今度はchkdskを実行して不良セクターを回復させて、True Imageでディスクをクローンする。今度はうまく行った。よくエラーメッセージを見よろ。> 自分

    またまたよく考えてみると、EaseUS DiskCopyの問題ではなくて、コピー元のディスクの問題だったのね。EaseUS DiskCopyを疑って申し訳ない。

    以上、無事にディスクの交換完了です。あとはツレが使うソフトをインストールして終わり。データ類は、ファイルサーバーに置いてあるからこちらは大丈夫かな。

    マイクロソフト
    ¥14,747 (2025/07/02 17:19時点 | Amazon調べ)
    マイクロソフト
    ¥21,000 (2025/06/30 08:42時点 | Amazon調べ)

    自作PC用に一番左のWindows11のパッケージを実際に購入しましたが、問題なくインストールできました。Windowsは使うPCの分だけ正しくライセンスを購入しましょう。

    View this post on Google+

  • XperiaULがカメラのシャッターボタンを押したらリセットがかかるので初期化した話し

    もう買って2年経ったXperiaUL(auのSOL22)ですが、どういう訳かカメラのシャッターボタンを押したらリセットがかかるようになりました。

    以前はmicroSDメモリを交換したら直ったのですが、今回はダメです。メモリを抜いてもシャッターボタンがリセットボタンになります。

    カメラが使えないと面倒なのです。auの診断アプリをインストールしようとしてもバーコードリーダーでカメラを使わなければいけません。診断アプリをインストールしようとしてリブートしてしまうという罠にはまりました。

    どうせなんかのアプリが悪さしているから一ずつアンインストールしていけばいいのですが、面倒なので初期化してしまいます。その前にGoogle認証で2段階認証をしているサービスがありますので、すべて無効にしておきます。これを忘れたら、大変です。

    さてauのサイト通りに初期化をしてしまいます。5分ほどしたら初期化が完了です。懐かしい画面に戻ります。カメラもキチンとシャッターボタンを押しても大丈夫です。

    しかし、アプリも再インストールしてくれるのですね。ということは、悪さするアプリもまたインストールしてくれるので、またシャッターボタンがリセットボタンとなりますね。ダメじゃない・・・。

    Embedded Link

    【XPERIA(TM) UL SOL22… │ au Q&Aプラス
    【XPERIA(TM) UL SOL22…


    This post has been reshared 1 times on Google+
    View this post on Google+

    続きはこちらから

  • WordPressのutf8mb4 のサポートの話し

    なにげにWordpressを4.2.2にアップデートしたら、次のような表示が出てきた。

    utf8mb4 のサポート

    データベースの文字エンコーディングが utf8 から新しい4バイト文字の全範囲のサポートを追加した utf8mb4 に変更されました。

    utf8mb4 って何かしら? 絵文字のサポートと関係するのかな?

    調べなくてはいけないな。

    View this post on Google+

    著:久保田涼子, 著:西原礼奈, 著:阿諏訪聡美
    ¥2,399 (2025/07/02 15:37時点 | Amazon調べ)

    なんやかんやでWordPressのサイト構築で躓くのは、PHPのプログラミングなのでした。

  • アップルサポートのスペシャリストの人から電話があった話し

    こちらの話しの続き

    アップルサポートのスペシャリストの人から、交換品が到着したか?の確認の電話がありました。

    話しを聞いてみると、もうiPhone4sが故障したら修理ではなくて交換しているとのことでした。今回の交換は新品の扱いではなくで、交換品として製造している製品だそうです。新品と呼んでいるのは付属品を含めての製品で、交換品は本体のみの提供とのことでした。

    最後は丁寧な対応をしてもらえました。今回の件で、感謝とお礼を言っておきました。

    ということで、ツレにはあと数年はiPhone 4Sを使ってもらうことになります。故障前は、バッテリーが持たなくなったくらいで、遅いとか言ってなかったので、まだまだ大丈夫でしょう。これでauから他のキャリアに行くのは延びそうです。

  • iPhone4S の交換品が到着した話し

    無事にiPhone4Sが到着しました。新しく交換されたものが届きました。いろいろとサポートでトラブルがありましたが、6日で済みました。

    全く充電されていなくて、しばらくしたら起動できるようになりました。iPhoneを普段使っていないので、電源ボタンを押しても何も反応しないから、また壊れているかと思ってしまいました。

    今はiTunesから同期を取るために、充電しながらソフトウェアのアップデートをしています。ソフトウェアが古すぎてバックアップから復元ができないと怒られました。

    まだ時間がかかりそうです。

    続きはこちらから

  • 修理の引き取りが来ない件で、アップルサポートから電話があった話し

    こちらの話しの続きです。

    修理の引き取りが来ない件で、アップルサポートから電話があった

    修理の引き取りか来ない原因は、Webでの修理料金の決済がアップル側で失敗していたとのこと。ただし、こちらには支払い手続き完了の返信メールが来ていたので、どういう訳か成功したふりをしている。結局は向こうのトラブルだった。もし、こちらから電話をしなかったら放っておかれるところだった。それに電話の人からは、もしかしたらカード会社から二重でお金を取られるかもしれないとも言われた。

    なんだか窓口の人の対応がおかしいし、サポート手続きの手順もおかしいし、でおかしいことだらけ。だって電話をかけてきているのに、あなたの電話番号を教えてください、なんて言い出す始末。何かの確認か必要あるのか、と聞いたら、そうですね、と言われてしまった。

    加えて、4回の電話をするたびに名前と住所とメールアドレスを何回も言わないといけない。問い合わせ番号から対応履歴を調べればわかるのでは、と言うと、個人情報は記録していないと言われた。それって、アップルのサポートは個人情報を保護できる技能がないから記録していないということなのかな。

    再度Webでの決済をすると危なさそうなので、カード情報を口頭で伝えて決済手続きをすることになった。だけど窓口の人はテンパっているらしくてカード番号の入力を間違えて、3回もこちらから番号を暗唱するはめになった。こちらの方が危なかったかもしれない。

    今度は引き取りはまた明日ということを言い出したので、何とか早くならないかという交渉をしているのが今の状況。

    修理担当に問い合わせるから電話を保留して待ってくれと言われたので、どのくらい待つの、と聞いたら30分から40分と返されたので、そんなアホなということで一旦電話を切って折り返し電話を待っている。

    続きの話しはこちら


    This post has been reshared 1 times on Google+
    View this post on Google+

  • ドキュメントスキャナーでペラペラなレシートを読み込んだ話し

    最近は何でもかんでもドキュメントスキャナーで書類を読み込んでEvernoteに入れています。スキャンする機会が多いのは、クレジットカードで買ったときのレシートです。しかし、レシートの紙は薄くてスキャナーで読み込むと、斜めになったり、中で詰まったりと面倒です。うまく読み込まないとイラッときます。

    使っているドキュメントスキャナーはキヤノンのDR-150というハンディーサイズのスキャナです。このスキャナは薄手の紙だとうまく読み込んでくれません。

    そこで考えたのはクリアファイルにはさんでスキャンする作戦です。価格の高いドキュメントスキャナだと、大きなサイズを折り畳んで専用のクリアフォルダにはさんでスキャンして、後でつなぎ合わせて元のサイズに加工処理できるものもあります。だったらクリアファイルにはさんでスキャンしてしまえと言う発想です。これは意外と使えました。使ったクリアファイルは、たまたま手元にあったクリアファイルをつかいます。

    DSC_0666

    コピーも可能と説明にうたっている透明度の高いクリアファイルです。某ドキュメントスキャナーの専用のクリアフォルダは2000円ほどしましすが、これだと100円以下です。

    これで、小さな破れかかったレシートもまとめてスキャンできるようになりました。

    追記

    最近PFUのScanSnap iX1500を買ったので、こんなことをしなくても、うまく薄い紙でもスキャンしていくれる。PFUのScanSnapはお薦めである。

    SnapSnapは散乱する紙ドキュメントを簡単にスキャンして取り込めるから、ペーパーレス化の強い味方だよ。

  • RAID1が片肺で動いているのでディスク交換しに行った話し

    知り合いの会社に預けているサーバーがあるのですが、その会社が引っ越しになったのでサーバーの電源を入れに行った。メインはUPSのバッテリーを交換すること。随分前にUPSのアラームがなって電源を落としたままになっていた。APCのUPSなのでバッテリーを注文しておいた。初日はバッテリーの交換とサーバーの起動、そしてアップデート、VPNのルーターの設定をしておいた。時間がないので一旦ここで終了。

    VPNでリモートデログインできるようになっているので、翌日sshでアクセスしてみたところ、RAID1で構築しているディスクの片方が止まっていた。社内にある同じ容量の1TBのハードディスクを調達して持っていく。こちらはサーバーに入れたものの全く使っていないディスクである。メーカーはSeagateのハードディスク。

    1週間経って時間ができたので、ハードディスクの交換をする。入っているハードディスクはWestern Digitalのグリーンだった。しかし、よく見てみるとハードディスクの電源が抜けていた。せっかく持ってきたのでSeagateのディスクに入れ替える。RAID1の同期しておく。時間がかかるので戻ってリモートで正常に同期していること確認。作業完了。

    以上、作業メモ

    SambaをLinuxサーバーのインストールしてファイルサーバーとして動かすよりも、サクッとQNAPを入れてしまったほうが簡単、安心、便利でおすすめ。ファイルサーバーだけではなくてIntelのCPUのQNAPなら、Dockerでいろいろとコンテナを設定してサーバーをたくさん立てられるしね。

  • Xperia UL SOL22 が勝手に再起動するけど、原因はメモリカードだった話し

    Xperia UL SOL22 で勝手に再起動するけど、何が原因かどうかを調べてみる。

    まずは再起動してしまう手順からです。EvernoteのPost-itを取り込むカメラを起動すると必ず再起動してしまいます。取りあえずEvernoteをアンインストールしてみる。しかし、カメラアプリでも起動すると、すぐに再起動してしまいます。Evernoteのアプリが原因ではなさそう。

    いろいろと必要のないアプリをアンインストールしてしまう。それでもカメラアプリを起動すると勝手にリブートされてしまう。

    これでは初期化するしかないかなと諦め気味で、Googleさんに「xperia ul カメラ 再起動」で聞いてみる。すると、「SDカードが原因かも」というサイトがあった。ダメ元でSDカードを抜いみて、再度カメラアプリを起動してみるとリブートしなくなくなった。原因はMicroSDカードということなのか。

    手元にあった同じ容量のmicroSDメモリに交換してみても勝手にリブートすることもなかった。障害のあったカードはPCから読めるのでバックアップを取っておきます。

    View this post on Google+