新卒一年目やらかしました

こんにちは未経験エンジニアのいすいです😀

早速ですが、本日(日付的には昨日)仕事でやらかしました

とはいえ、他の方(社会の先輩方)から見れば気にするほどではないと思うかもしれません

ですが、戒めとして発信します!!

実は仕事のやらかしは今年度3回目

実は今まで既に2回先輩から怒られています。

『怒られるのなんて当たり前じゃん』

『俺の方がもっと怒られてるよ』

などなど聞こえてきそうです。。

確かに自分なんてまだまだ甘い方ですが、自分では完璧にやっていると思っている分、ダメージがでかいです。

前の2回はテスターとしてやってはいけないことをしていしまい、

今回は社会人としてあるまじきことをしてしまいました。

ほうれんそう気をつけていても漏れる

今年2021年になって、業務に慣れてきて、仕事が早くなり、

テストもバンバンこなし、不具合も何個も発見しました。

先輩からの指示も先読みし、仕事を振られる前にやれるようになっていました。

正直、絶好調でした。

そして、今日テスト中に不具合を発見し、テストを進めるべきか迷った結果、

不具合の修正を待つことにしました。

テスト結果を報告後、業務を終了しようとした時、先輩に声をかけられました。

「いすい君はテストを進めていると思いましたが、なぜ、途中テストを中断していたの?」

といった内容でした。

僕は不具合の修正を待っていたことを伝えた結果、

先輩は表情を変え、怒られました。

これは、僕が独断で不具合の修正を待っていたからではなく、

テスト中断を報告していなかったため怒られたのでした。

先輩は、僕がテストを中断している間、テストを進めていると思っていたため、

予定が狂ってしまうためです。

もしこれを許してしまえば、先輩は監督責任に問われてしまいます。

実は、前回のお叱りも報告に関してだったので報告には気をつけているつもりでした。

しかし、僕の中にはこれくらいは報告しなくて良いだろう。

という油断が生まれていたのでしょう。

些細なことでも報告を怠るべきではありませんでした。

今回学んだこと

ほうれんそうは社会人の基礎中の基礎ですが、

絶対に気を抜くべきではありません。

自分は大丈夫と思っている人👈

絶対やらかします。ほんとです。

自分が人の下で働いている限り、上のものには今自分がどういう状況なのか、

何をしているのか把握させる必要があります。

同じ未経験エンジニアのかた、

僕も気をつけるので、みなさんも気をつけましょう。

ではまた〜〜〜〜〜

Pythonでファイル分割しよう

どうもいすいです。

前に紹介したPythonでテキストファイルを分割する方法のコードだけ紹介します。

詳しい解説は以下を参照ください。↓↓↓

コード紹介

separate.py

import sys

count = 0
idx = 0

in_file = sys.argv[1]
num_file = int(sys.argv[2])
out_files = []

# 分割ファイルをリストに入れる
for i in range(num_file):
    out_files.append('{0}_{1}'.format(i+1, in_file))

# ファイルの行数をカウントし、countに入れる
with open(in_file, 'r', encoding='utf-8') as f:
    for line in f:
        count += 1

line_count = count / num_file
n = 0

# ファイルの総行数を表示する
print('line_count : {0}'.format(count))


#分割実行部分
with open(in_file, 'r', encoding='utf-8') as i:
    for out_file in out_files:
        f = open(out_file, 'w', encoding='utf-8')
        while True:
            line_i = i.readline()
        
            if idx <= line_count:
                f.writelines(line_i)
                print('now file : {0}, current line : {1} / {2}'.format(out_file, int(idx + n * line_count), count))
            else:
                idx = 0
                break
        
            idx += 1
        n += 1
        f.close()

あとはコマンドプロンプトなどで

python separate.py <分割したいファイル> <分割したい数>

などと入力して2~3分待てばOKです。

C#やWPFで参考すべきサイト

こんにちは弱小エンジニアのいすいです。

最近WPFでの開発をすることになりました。

さて、とWPFの書籍を開いてみると、、、

まったくわからん( ´∀` )

WPFって書籍少ないし、日本語の参考サイトも少ないんですよね。。汗

そんなこんなで本日は、
WPF初級学習で参考になったサイトを紹介します。

新しく発見したサイトは随時更新します。

それでは行ってみよう!!!

↓↓↓

ピーコックアンダーソン

見やすく、分かりやすい。WPF初心者にはうってつけ

一つ目が、ピーコックアンダーソンさんのブログです。

この方は17年C#に携わってきた現役のプログラマーです。

Udemyでは20以上のコース、書籍も多数出版といった実績も持っています。

こちらのブログを紹介する一番の理由は、
WPF初心者にわかりやすいという点です。

たいていのWPF関連サイトでは、専門用語が多かったり、手順を省略していたり、0から教えてくれるものはなかなかありません。

それに対して、ピーコックアンダーソンさんのブログでは、WPF初心者に焦点をあてて解説いただいています。

また、レイアウト、デザインが美しいのもおすすめの理由ですね。

FromPage

FromPageは「open棟梁wiki」「OSSコンソーシアム .NET開発基盤部会」が運営するサイトです。

.NETの重鎮たちが運営しているだけあって非常に細かくxamlについて載っています。

無料なのが不思議なほどです。

わかりやすく何でも載っているので、とりあえずこのサイトで調べてみると良いかもしれません。

随時更新します。

今は二つだけですみません。。

テキストファイルをpythonで分割する

テキストファイルがでかすぎて開けない時pythonの簡単な分割コードを紹介します。

テキストファイルが開けない事件

開発中では以下のようなログファイルというのを吐き出すようにしています。

ログファイル

アプリ開発でしたら、「どんな操作した」「どんな通信をした」「どんなエラーがでた」などが記載されていきます。

このファイルを開いて中身を確認するのですが、だいたい1GBを超えたあたりから、VScodeでも開けず、メモ帳でも開けなくなってしまいます。

こうなったらファイルを分割するしかありません。


テキストファイルの分割方法

ネットで調べた結果、テキストファイルの分割には以下の方法があるみたいです。

  • フリーソフトを使う
  • windowsPowerShellでコマンドを入力する

フリーソフトですが、結構古いものが多いです。Windows10がサポート対象かチェックする必要があります。

WindowsPowerShellでは1行で処理ができますが、正直ちょっと難しいです。

結果、よくわかんないし、pythonでやっちゃえばいいじゃん的な感じで書いてみました。


pythonでテキストファイルを分割

前提として、テキストファイル(画像や動画、バイナリデータではないファイル。.txtなど)を行数に対して2分割や3分割にするコードになります。

python3.8を使っており、標準モジュールで完結します。(モジュールの追加なし)

pythonが入ってない人は、pythonの最新バージョンをインストールしてから初めてください。ネットでpythonホームページに行って、インストールするだけです。(マックブックには標準で入ってます)

➀メモ帳にコードを保存する

メモ帳を開き、

import sys

count = 0
idx = 0

in_file = sys.argv[1]
num_file = int(sys.argv[2])
out_files = []

# 分割ファイルをリストに入れる
for i in range(num_file):
    out_files.append('{0}_{1}'.format(i+1, in_file))

# ファイルの行数をカウントし、countに入れる
with open(in_file, 'r', encoding='utf-8') as f:
    for line in f:
        count += 1

line_count = count / num_file
n = 0

# ファイルの総行数を表示する
print('line_count : {0}'.format(count))


#分割実行部分
with open(in_file, 'r', encoding='utf-8') as i:
    for out_file in out_files:
        f = open(out_file, 'w', encoding='utf-8')
        while True:
            line_i = i.readline()
        
            if idx <= line_count:
                f.writelines(line_i)
                print('now file : {0}, current line : {1} / {2}'.format(out_file, int(idx + n * line_count), count))
            else:
                idx = 0
                break
        
            idx += 1
        n += 1
        f.close()

上記コードを張り付けて、separate.pyなどと名前を付けて保存します。

②フォルダに移動する

分割したいファイルとseparate.pyを同じディレクトリ(フォルダ)に移動します。(移動させなくてもよいが、相対パス・絶対パスを書く必要がなくなる)

エクスプローラー

コマンドプロンプトを起動します。windowsなら絶対入っているので、スタートメニューから探してください。マックブックはターミナルってやつですかね。

③ファイルのあるフォルダに移動する
cd <ファイルのあるフォルダのパス>

上記をコマンドプロンプト上で実行します。cdコマンドで移動したいフォルダに移動できます。以下が例になります。(マックブックの人はマックブックのコマンドに置き換えてください)

フォルダに移動

⑤separate.pyを実行する
python separate.py <分割したいファイル> <分割したい数>

上記をコマンドプロンプト上で実行します。以下が例になります。例ではsample.txtを2分割しています。

separate.py実行

ここで注意してほしいのが、分割する境界の基準が行数になっているので、ファイルのサイズが均等に分割されるわけではありません。

⑥処理が完了するまで待つ

separate.pyを実行したら以下の表示がされるはずです。

実行中の表示

line_countはファイルの総行数です。now_fileは分割先のファイル名(<数字>_<もともとのファイル名>となっています)です。current lineは実行中の行数です。

処理が終わると、以下のように番号が付けられたファイルが作成されているはずです。番号は昇順でつけられています。お好みでファイル名を変えてください。

実行後ファイルが作成されている

ちなみに、ソースコードの12行目でファイル名のフォーマットは変えられます。

以上で分割完了です!おつかれさまでした。

もしうまくいかなかったら

以下の問題がないか確認してみてください

  • pythonがインストールされていない
  • コマンドのスペルミス(空白が多い, ファイル名ミス, 引数の数があっていない)
  • フォルダに分割対象ファイルとseparate.pyが一緒に入っていない
  • フォルダに移動できていない

未経験からITへ

初めまして。

未経験からITベンチャーへ入社して9か月目の弱小エンジニアのいすいです。

このブログでは未経験プログラマーが日々の業務で感じたことを淡々と投稿していきます。年内に毎日投稿を目指したいと思っています。

自己紹介

2020年3月某理系私立大学物理学科卒業。現在23歳社会人一年目です。

勤め先は従業員20人ほどの受託開発メインのITベンチャーです。

会社のストレスからIBS(過敏性腸症候群)診断され、常におなかいたいです。いつか自社開発に行きたいです。。(´;ω;`)

いつか自社開発に行きたい。。(´;ω;`)

テスト漬けの日々

しんどいし、眠い

現状の話をしますと、自分は今年(2020年)の7月~今でテスターをしています。

知らない人のために伝えときますが、テストって期末とか中間のテストではなくてソフトウェアテストのことです。

ソフトウェアテストとは、作ったシステムだったりアプリだったりを、テスト仕様書を見ながらバグがないか細かくチェックすることですね。


未経験プログラマーは最初テスターから始まることが多いと思います。

正直言うと、
これがほんっっっっっっっっっとにしんどいです!!!笑笑

しんどい人


プログラミングなら何時間も続けられますが、テストは全然やる気がおきません。

そんな中で何時間も集中するのはほんとに苦行です。

それが何か月と続くと心が折れてきます。そうするとバグを見逃すことが増えます。

そして怒られます→また頑張ります→心が折れてきます→バグを見逃します→怒られます。

その繰り返しです。

現在12月もテスターのままですが、自分は何回も怒られて、すでに2回体調を崩しています笑笑(過敏性腸症候群でした)
「ほんとはプログラマー志望なのに。。」とか「会社辞めたい」とか思うレベルできついです。

エンジニア志望の方にお伝えしときますが、テストは本当に体力も精神力も使う仕事です。覚悟しましょう。笑笑

物理かプログラミングか

物理のイメージ

少し時空をさかのぼり、なぜ自分がITを選んだのかお話ししましょう。

高校で物理が好きになり、大学では物理を専攻していました。

プログラミングの方は授業も一部ありましたが、大学3年までプログラミングは苦手で大っ嫌いでした。笑

それが、大学4年のプログラミングの授業ではなぜかできたんですよね笑


今思うと3年までは授業なんか聞かず、課題を人に見してもらうだけでしたが、
4年生では最初からちゃんと真面目に受けてたので、基礎ができたのだと思います。

そこからは授業外でもプログラミングを触るようになり、「肉体労働しなくていいし、給料もそこそこだし、楽しいし、プログラマーって天職じゃね!?」と思って、4年の6月に志望をITに急遽変更しました。

物理学科を卒業して結局ITってどうなの?と葛藤がありましたが、今では後悔していません。

むしろエンジニア力をつけて物理に戻るのもありかなと思っているレベルです。(物理屋さんは意外とITに詳しくない人が多いので、IT人材は必要とされているのです)

今後

まだ不定期ですが、投稿を増やしていきます。
役に立つ情報も入れられるようにします。

しばらくは鬱テスターですが、頑張ります!笑笑

PAGE TOP