自己分析

今週の金曜,土曜に面接を控えているので
会社の企業分析をするつもりだったが,自己分析をしたので投稿する。

※ 飽くまで面接用。俺はそこまで自信過剰じゃない。

自己分析

概要

  • 自己分析に関してまとめる

自己分析手順

  1. (323) 930-8590
  2. (902) 259-2700
  3. red-flaggery
  4. Must

1. 振り返り

  • 今までの経験

大学時代

  • 情報科目の基礎
  • 人と関わりマネジメントしていく能力

入社してから

  • 資格にかかわること
  • プログラムの基礎
    • オブジェクト指向等
      • 開発工程に関すること
        • WaterFlow
          • WBS
  • 業務に関する知識
  • 言語としては VB.NETがメイン
  • その他フレームワークはASP.NETとかBootStrap,Qt 個人ではDjango等もやったけれど,基本的にはFWは仕組みであり
    • 本質を言えば,最低限業務系アプリケーションは構成は違うものの,DB設計に落ち着くと思う。

2. Will

  • 客先常駐がメインなので,現在の職務を続けていけば,業務系アプリケーションを提案し,設計し,開発することができるエンジニア あるいは,システム管理者になることができるかもしれない。
  • だが,派遣社員として下流工程ばかり延々とこなしているだけでは自分自身が成長することもできないし,突出したスキルのないエンジニアになってしまう。
  • 希望としてはなにかのプロフェッショナルになりたい

3. Can

チームワーク力

  • いくつかの現場を経験して,チームとして(マネージャとしてではなく,メンバとして)業務をこなすことができたため,チームワーク力はある。
  • また,現在の職場でもコミュニケーション能力に関しては評価を頂いているため,自他ともに問題ないということができる。

前に踏み出す力

  • 受託チームに戻ったときに,Gitの勉強会を主催し支店内の意識の向上を図るなど,自分からアクションを起こす力はあると思う。
  • また,資格取得に関しても貪欲に挑戦し続けている。

考え抜く力(シンキング力)

  • 業務の中で,常にどんな方法が最適であるかを考えて作業を行っているため,作業スピードが早いと言っていただける。
  • 計画についても,自身で作業計画を計画し,上司に報告していくスタイルで仕事をしているので計画力等もあります。

4. Must

  • 企業の求めるところと自分のスキル等で合致するところを書く

以上

メモ

エンジニアのための時間管理術で書いてあったので
常に,メモとペンを持ち歩くことにした。

脳内のリソースをROMとして使用するよりは,RAMとして使用したほうがいい。というような理屈だった。
ROMとしての役割は,メモとペンで事足りるでしょ というようなことだった。結構,納得した。

確かに,悩み事や,タスクが溜まっていると目の前のことに集中できなくなるし,効率が悪い。
それなら,とっとと悩み事を潰すか,タスクを忘れないようにメモをして目の前のことに集中したほうがずっとスマートな生き方だ。
なので,紙とペン,おすすめ

メモを見返してみると意外と面白い。

  • たまに,コンビニでコーラ買って外で飲むと自由を感じて旨い。
  • 姉ちゃんが,すき家のテイクアウトで,ミニを二つ頼んで,2つとも食う話を思い出して一人で笑う。
  • 結局,すき家か吉野家にいってしまう。

とか,くだらないことを書くのも面白い。

以上

LinuCの勉強

メモ書きを転記

プロセス

実行中のプログラムのこと

  • システム上では,常に複数のプロセスが稼働している。
  • コマンド実行で,プロセスは産まれ,プログラムの終了とともに消滅する。

プロセスの生成に関する手順

新しいプロセスは,親プロセスが自分のコピーである子プロセスの生成をカーネルにリクエストし,次に生成された子プロセスの中身が新しいコードに入れ替わる。

プロセスに関連するコマンド

ps: プロセスの情報を表示する基本的なコマンド

pstree: プロセスの階層構造を表示する。

top: プロセスの情報を周期的にリアルタイムに表示する。

プロセスの優先度について

nice値

優先度を表現する指標

プロセスの優先度

CPUによる実行を待つ複数のプロセスのうち,どれを実行するか?

  • niceコマンドで優先度を変更して,実行する
  • 実行中のプロセスから変更する場合は,renice または top コマンドを実行する。

シグナルについて

  • SIGHUP(1): 端末の切断によるプロセス終了
  • SIGINT(2): 割込みによるプロセスの終了
  • SIGKILL(9): 強制終了によるプロセスの終了
  • SIGTERM(15): Default
  • SIGCONT(18): 一時停止したプロセスの再開

killコマンドについて

kill コマンドで,プロセスを指定する場合は,killallを使用する。

基本コマンドとファイル操作

シェル変数

設定されたシェルのみが使用できる変数
setコマンドで確認する。

環境変数

設定されたシェルとその子シェルで起動したプログラムが使用する変数
envコマンドで確認する。
declare -xまたは,exportで設定可能。

 

以上

956-781-2031

まず,今日はとてもいい日だった。
起きる時間は少し遅くなってしまったが,布団も干せたし
色々なものも捨てることができた。

本屋に行き,資格勉強でもしようかな と思っていたが,
ふと,下記の本が気になったので読んでみた。

エンジニアのための時間管理術

システム管理者がユーザからの依頼と開発を両立させる方法を考えていく本だった。

以前,客先常駐で社内SEとして,業務を行っていた時,
常にトラブル対応に追われて,開発が全く進まなかった。
教えてくれる人がいないので,業務知識も学習できないし(正直,知りたくもないけど)

11/19から入る現場も同じようになる気がする。
というより,同じような職種(社内SE, システム管理者)はどこもそうみたいだ。

まぁ,愚痴を言っても仕方ない。

この本の中に,
「プライベートでも仕事でも同じ方法でタスク管理すべき」との内容が書かれていた。

明日から実践しようと思う。
事細かに明日の予定を決めてGoogleカレンダーに入れておいた。

完璧にこなせるように準備を万端にして寝よう。

毎日頑張ろう。

以上

悩みについて

最近,悩みが多くて少し疲れた。

正直,死んだほうが楽なんじゃないかと思うくらいのヘビーさだった。

が,開き直ったのでメモ

今回の件とは違うけれど,
俺の友達,というか知り合いは,自殺してしまった。

仕事で悩んだのかプライベートで悩んだのかは今となっては分からないけれど,死んでしまっては何も解決しないし
これから見返すことも悩むこともできなくなるので,俺は自死は絶対に選ばない。

が,事情によっては自死も仕方ないと思う。
ただ,大体死ぬほどの悩みなんざ,死ぬ気で頑張ればどうにかなる。

で,今回の悩みに関しては,相手があることだったけど

俺は,相手とか周りの人生を救ってやれるほどお人好しでもない。
余裕もないし,暇もない。

加えて,自分の人生や今の境遇は,すべて自分の責任だと思って生きている。俺以外の人間もそうあるべきだとも思う。
いろんな事情があるから,みんなにそれを求めるのは酷かもしれんが,どうでもいい。

だって他人だし。
っていうか,配られたカードで勝負するのがこの世のルールなのに,ゲーム放棄してたら勝てる試合も勝てないだろ。

親が云々とか,家庭環境が とかそういったものはただの言い訳に過ぎない。と思う。
そりゃ,無力な子供が虐待死みたいなのは,同情はするけれど,成人してて,健康体ならなんでもできるだろ。
いつまでも,そんなくっだらねえことで,同情してもらえると思うなよ。

他人のせいにして,他人にすがって生きていくような無様なマネするくらいなら,死ぬ気で頑張れよ。

冷たい人間のように思われるかもしれないけれど,実際冷たい人間だし,それでいいと思う。

んで,俺のことだけど自分のことを責めて,センチな気持ちになってるのすら甘えだとも思う。
優しいボクちゃんでいたいとか,いい歳したオッサンが気持ち悪い。大人になれよ。
別に他人を責めようって話じゃないけど,「あ,そう。それは大変だね」で終わらせるようになろう。
で,俺自身もひとにすがらない。

そんなことしてる暇ありゃ,とっとと自己実現のための努力をするべきだ。

今,俺には失うものもなにもないし,
地元にきちんと理解をしてくれる友達がいる。

あと,仕事もあるし,親も健在(実家問題はめんどいけど)
仕事も残業時間が多かったけれど,全然無問題だし,っていうか今思えば楽しかった。
上司が有能だし,人間味のある人だったからだな多分。
ああいう,オッサンになりたいな。

というわけで,まっっったく悩んでないし
っていうか成長できる。というか,大人になるきっかけを与えてくれたいい経験だったと思う。

いい加減,自分がいい人気取りしてるのも薄々気づいてたし,
自分が悪者にならないように,コントロールして自分に嘘ついて生きてんのも気持ちわりーなと思ってたところだったんだ。
ちょうどよかったぜ。

新生な大人の俺で生きていこうと思います。

以上

972-634-2448

作成していたブラックジャックプログラムが完成した。

venvとかの設定も調べてからする。

githubのリポジトリ

以上

ジェネリックとデリゲート

ジェネリクス型

  • クラスのメンバを宣言するときに,

public class SomeClass{

	private strig member1;
	private int member2;

	someClass(){
		this.member1="hoge";
		this.member2=7;
	}
}

としてしまうと,member1, member2には,それぞれStringとintしか使用できなくなる。

  • ジェネリクスを使用すると,メンバ変数の型をインスタンス時に指定することができる。

public class SomeClass<T1, T2>{

	private T member1;
	private T2 member2;

}

public static void main(String args[]){
	SomeClass<String, int> obj = new SomeClass<String, int>();
}

デリゲートについて

  • 匿名関数
    • メソッドの型

/ 単なる型
public delegate void TestMethod(String s);

  • 使用方法は,作成した型で変数を作成し使用する。

public delegate void TestMethod(String s);

TestMethod test = delegate(String msg){
	MessageBox.Show(msg)
};

test("test");
test("hoge");
test("fuga");

  • .NETのフォームのイベントハンドラ等で使用されている。
  • 引数を使用しない匿名関数は,Actionという名前で宣言されている。

Action act = delegate(){
	MessageBox.Show("Action");
}

act()

ラムダ式

  • いちいちdelegateを書くのが面倒くさいので,ラムダ式を使用する。

TestMethod test = delegate(String msg){
	MessageBox.Show(msg)
};

TestMethod test = (nsg) => {
	MessageBox.Show(msg)
};

TODO: C#の部分をJavaに置き換え

以上

~/.ssh/configについて

時間がないので10分で

Host: 任意のホスト名

HostName: ホスト名

Name: ユーザ名

Port: ポート番号

IdentityFile: 任意の鍵

ssh 任意のホスト名

で指定した接続が可能

以上

[Python]親クラスで子クラスのメンバを使用する。

コード

 coding=utf-8

from abc import ABCMeta, abstractmethod

class Parent(object):
    
    @abstractmethod
    def hoge(self):
        print(self.name)

    @abstractmethod
    def fuga(self):
        print(self.age)

    @abstractmethod
    def fuga2(self, age):
        print(age)

class Child(Parent):

    def __init__(self):
        self.name='nekonisi'
        self.__age='26'

    def hoge(self):
        super().hoge()

    def fuga(self):
        super().fuga() #error

    def fuga2(self):
        super().fuga2(self.__age)

if __name__ == '__main__':
    child = Child()
    child.hoge()
    # child.fuga() #error
    child.fuga2()

実行結果

nekonisi

26

解説

  • 親クラスParentで,hoge, fugaメソッドを宣言して子クラスChildで使用する。
  • その際に,子クラスのメンバを使用したいが,プライベートメンバだと,親クラスで参照できないためエラーになってしまう。
  • 回避策として,fuga2では子クラスのプライベートメンバを引数として渡してあげて実行している。

問題

  • 複数のプライベートメンバを使用するときに,引数が増えてしまう。
  • 自インスタンスを引数として渡してあげる方法もダメだった。

解決策

  • 会社の先輩に聞いたら,「できるわけねーだろ」とのこと
  • そもそも設計思想がおかしい。
    • 子クラスのメンバを使用したメソッドが親クラスにあること自体がおかしい。
  • 下記のように修正
# coding=utf-8

from abc import ABCMeta, abstractmethod

class Parent(object):

    def __init__(self, name: str, age: int):
        self.__name = name
        self.__age = age
    
    @abstractmethod
    def hoge(self):
        print(self.__name)

    @abstractmethod
    def fuga(self):
        print(self.__age)

class Child(Parent):

    def __init__(self):
        super().__init__('nekonisi', 26)

    def hoge(self):
        super().hoge()

    def fuga(self):
        super().fuga()

if __name__ == '__main__':
    child = Child()
    child.hoge()
    child.fuga()

 

そうすると,コンストラクタのオーバロードとかもしたくなっちゃう。

追記

オーバーロードは下記のように実現する。

# coding=UTF-8

class hoge(object):
    def __init__(self, name=None, age=None):
        if name is None:
            name = 'noname'

        if age is None:
            age = 0

        self.__name=name
        self.__age=age

    def introduce(self):
        print('My name is ' + self.__name)
        print('I\'m ' + str(self.__age) + ' years old.')

if __name__ == '__main__':
    obj1 = hoge()
    obj2 = hoge('nekonisi', 26)
    obj3 = hoge('konisi')

    obj1.introduce()
    obj2.introduce()
    obj3.introduce()

実行結果

My name is noname
I'm 0 years old.
My name is nekonisi
I'm 26 years old.
My name is konisi
I'm 0 years old.

 

以上

(720) 676-1515

What’s venv?

venv は virtualenv が Python 3.3 から標準機能として取り込まれたものである.別途ソフトウェアをインストールすることなく使用できる.pip によるパッケージの導入状態をプロジェクトごとに独立させることができる.

/qiita.com/fiftystorm36/items/b2fd47cf32c7694adc2e

PyCharmによるインタプリタの設定

Ctrl + Alt + s > プロジェクト > プロジェクト・インタープリター > 各項目を設定する。

タブレットで実行するとうまくいかなかったので新規の仮想環境を構築した。

補足

環境変数PYTHONPATHとPATHにpythonのパスを指定していると,挙動がおかしくなった。

現環境では,PATHのみに指定することにした。

以上