DLL の修復作業

危うく出荷状態に戻すところだったけどぎりぎりで修復方法を発見したのでそのときの対応メモ(覚えてる範囲で

 

きっかけ:らじれこが開けなくなり(今までに数回ある)、いつものようにアンインストール→インストールしようとしたらDLLのエラーが出るようになって、インストールしても実行ファイルが開けない状態に。

結局何が原因でいつからこんな状態なのかわからず、修復方法をぐぐりはじめる。

 

修復を試み始めたころ、 コマンドプロンプト(管理者実行)で sfc /scannow を実行しても修復できず。

今日見つけて試したのは以下。

Windows Power Shell を管理者で起動し、以下のコマンドを実行。

DISM.exe /Online /Cleanup-image /Restorehealth

これで、いくつかのファイルが修復された模様。

ここでWindows Updateがあがってきたので更新して再起動。

続いて以下のコマンドを実行。

sfc /scannow

 ここでも何か修復されたようで、再起動。

そしてらじれこを再度インストール。エラーもなく完了!

今までの録音データもインポート完了!元通り!

ついでに、PC起動時に出ていた以下のエラーもでなくなった!

0x000000C1 % 1 は有効なWin32アプリケーションではありません

 

1週間経過

少しずつ慣れてきた。

がしかし職場環境上日々新型肺炎の恐怖に震えているw
在宅ワークうらやま ^q^

VB.net も思い出しながら調べながらでなんとかやれているけど、やっぱり問題はプログラムより現場対応。。ハード系はとことん疎いので先輩方についてがしがし対応して覚えていくしかない。。

ほぼ男性な職場ではあるけど今日までにやった力仕事といえば小型のプリンタをちょっと持ち上げたくらいwこれからも殿方に頼っていきますw

とはいえメインのお仕事はシステム管理だと思っているので、なるはやで作業をこなせるようになりたいところ。
思い出してきたとは言いつつ、プロパティの使い方がいまいちよくわからない。複数フォームで値渡しをするプログラムの中で、その値の set / get をプロパティで、みたいな。
まずプロパティをどのフォームに書けばいいかわからないよね。
google 先生にお世話になりまくって試行錯誤した結果、なんとか動くものは作れたけどこれで合っているのか激しく疑問。。
お時間のあるときに確認していただこう。

最近は爪をぎりぎりまで短く切るのが楽しい。

初日

新しいお仕事。

前職と同じく、プログラムの仕様書的なものはほぼなし。なので設計を見ながらお勉強^^

課題をいただきつつ、管理系のドキュメントを読みつつ、ちょこちょこと問い合わせ対応をしているうちにあっという間に定時。

 

久々にVB.netさわったけどびっくりするほど忘れてたw
おうちでも自習しないと間に合わなさげだけど今仕掛中のPHPもある。。

リハビリを兼ねた課題で簡単なフォーム作成。
・テキストボックス、コンボボックス、ボタン、ラベルの設置
・コンボボックスへの値追加/削除
・コンボボックスで選択した値をラベルに表示

これだけのことをやるのに、調べながら2時間くらいかかっちゃったorz
いちばん時間かかったのはコンボボックスの値削除。
最終的に書いたのは
*Combobox1.Items.Remove(Combobox1.SelectedItem)
みたいなかんじのやつ。
ここにたどり着くまでに配列を使おうとしてみたり
Combobox1.SelectedItem の値を一旦 string の変数に入れてみたり。。

 

現場で動いてるシステムは結構な大きさなので中身については徐々に、と思っているけどひととおりの業務がこなせるようになるまでに半年目標で頑張る。

前よりお給料増えるし、働かないとね。。

 

handson

Git 熱の冷めやらぬうちにと思い昨日の続きをお勉強 @スタバ。

◆vimtutor
カーソル下の文字削除 x
編集モードへ i
ノーマルモードへ Esc
行削除 dd
編集内容を保存せずに終了 :q!
ファイル保存して終了 :wq




◆git reflog
今までの操作ログ的な


◆commit log の修正
git commit --amend
vi で
> commit log の部分を Merge branch 'Fix-B' と修正して
のやり方が不明

ぐぐる

git commit --amend -m "Merge branch 'Fix-B'"



Fix conflict

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Date:      Sun May 28 11:48:38 2017 +0900
#
# On branch master
# Changes to be committed:
#	modified:   README.md
#
# Untracked files:
#	.README.md.swn
#	.README.md.swo
#	.README.md.swp
#git 


◆ブランチ一覧
git branch

◆ブランチ作成
git checkout -b

◆ファイル修正
vi README.me

◆中身確認
cat README.md

◆インデクスに追加
git add README.md

◆commit 作成
git commit -m 'Add '

◆master に影響していないことを確認
git checkout master

◆master の README.md の中身を確認
cat README.md

◆歴史の確認
git log

◆ひとつ前のブランチに戻る
git checkout -

◆ブランチの修正を master に merge
git checkout master

git mergee --no-ff
(vi 起動)
(内容確認して :wq で閉じる)

◆ログ確認
it log --graph
→ブランチの分岐・統合が確認できる

■merge を reset
◆状態確認
git log --pretty

◆hash key を指定して巻き戻す場所を指定
git reset --hard
→hash key は先頭の7、8ケタを指定?


3つ目のブランチ feature-C を作成し README.md を変更
master に移動して README.md を確認すると、feature-C の変更が反映されていた
git add README.md が抜けていたかも?
これをする前に commit 作ってしまうと master にも影響してしまうのかしら。

次は feature-C を作成し直すところから。

ゼロから作るDeepLearning

すっかり記法も忘れている。。
久々に勉強会に参加するなどしたのでログを残しましょう。

初学者集まれ!「ゼロから作るDeep Learning」読書会

今回参加させていただいたのは、UITF さん主催の読書会。
例によって先生様のご紹介(笑
課題図書はオライリーamazon:ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
まだ全部は読めてませんが、読みやすいではあります。
Python 初学なので、最初に入門の章があるのはありがたいです。

イベントページに1章は予習しといて、とあったのでそのとおり1章のみ予習して参加してみました。
結果、読書タイム内で読み切れるはずもなく、その後の討論タイムで周りの方が話しているのを聞いてようやくうっすら理解できたかな、というレベル。
前半はまだよかったのだけど、中盤から一気に数学的要素が濃くなり。。
初学者向けとはいえだいぶなめてました。

LT・・・アソシアトロン

連想記憶モデルというニューラルネットワークのおはなし。
デモを交えながらのおはなしだったのでわかりやすかったです。
手で書いた絵が、先に記憶させた絵にだんだん近づいていく、っていうのを見られるのかと思ったのですけどね。

LT・・・PYNQ

ピンク色したボードのおはなし。
HDMI IN があるので、ドローンに積んで・・的な話にわくわくしました。

その後

某モスにて Python などもろもろインストールするなど(笑

人工知能とか機械学習とか、ロボットすごいなー程度にしか思っていなかったエセ技術者です。←
知らないことが多すぎた。。
もっと新しいこととかいろんなことにアンテナはっていかないとですね。

dos から exe を呼び出して引数を渡し、出力。

プログラム

//main1.cs

using System;

class main1
{
    public static int Main(string[] s)
    {
        int n;
        n = s.Length;
        Console.WriteLine("引数の個数は{0}個です", n);

        if (n != 0)
        {
            for (int i = 0; i < n; i++)
                Console.WriteLine("引数{0} : {1}", i + 1, s[i]);
        }
        return 0;
    }
}

まず、プロジェクトをビルドして exe 作成。

実行。

ひとつのソリューション内に複数のプロジェクト

太字になっているプロジェクトがスタートアッププロジェクト。
最初に作成したプロジェクト(sample)が設定され、実行対象になる。

ふたつ目のプロジェクト(sample1)を実行したい場合は自分で変更しないといけない。でないと、延々 sample を実行することになる。

ということに辿り着いたところで背後に社長が立っていることに気付く、と。