平々凡々エンジニア

平凡で難しい悩みを解決

PC 壊れちゃいました。

もう8年以上使用してるかつ半年前に火花目撃したのでそろそろダメになるかなと思ってたら年始に壊れてしまいました。

幸いバックアップはちゃんとしていたのですがPCを購入するまでかなり時間がかかりそうなうなので勉強は追わずけになりそうです。年始からphp勉強していこうかなっておもってたんですけどちょっと出鼻くじかれました。代わりに記事いろいろ書いていこうと思います。

年末も近いですね

今年のことを振り返ってみると

就活半年、仕事半年といったところですかね。

就活の方はコロナ流行り初めの時に採用されたのでかなり安心できました。

その時どういうものが足りなく就活が難しかったのかよく覚えてます。

考え方はプログラマーなのにもかかわらず事業よりなところがよく褒められました。しかし技術力が乏しかったのと他人とのコミュニケーション能力が足りなかったためです。

仕事の方は初めの半年はかなり頑張ってたつもりだったのですが残業のしすぎでかなりきつく怒られてしまいました。先輩は残業するしかないやってくれと言い、上司は残業するなと言い、挟み撃ちにあって死にました。300時間以上月労働して頑張ったのにその評価は最低とか泣きそうでした。今は絶対残業しないように残業が出そうなら早めに報告してスケジュールや仕事のやり方などを見直したりしてやりとりしてます。

 

自己研鑽は最近進んでいません。残業まみれになる前まではちゃんと毎日行っていたのですが残業が続くにつれ習慣化できていた勉強が習慣から外れてしまい辛いです。今は習慣化を戻せるように少しづつ勉強量を増やしている最中です。どうにかしてコードを書いて勉強していきたい気持ちに盛り上げていけるようにしたいです。

 

swift nil

nilとOptional

swiftではオプショナル型というものがありnilを許容するかどうかを決めることができる、宣言するときは型の後ろに?をつける。

var hoge:String? = nil   //OK
var hoge = nil           //error
var hoge:String = nil   // error

if let

nilの判定にはよく以下のように記載して判断する

let hoge = UIView()

if let hogehoge = hoge { // if let hoge = hogeでも可
  self.addSubView(hogehoge) //OK
}

if hoge != nil {
    self.addSubView(hoge!) //OK
}

これは変数の宣言と同時にnilチェックをすることができめちゃくちゃ便利。

余談

最近の言語はnilを許容しないようにする方針がとられてて良いですね。
今私はphpの仕事を行っているのですが、nilのことを年がら年中考えないといけないような感じで非常にストレスを感じました。

sshをなんとなく使っていたのでちゃんと調べて知識を深めよう

歴史

昔はTelnetやrsh、rloginなどをしようしてリモートにシェル利用するためのプロトコルを代用して行っていたがネットワーク上に平文でパスワードを送信してしまうためsshが作られた

ssh

Secure Shellの略で(どこを略したらこうなるんだ)夏季号股間アルゴリズムを用いて共通かぎ暗号で使用するセッション鍵を柵瀬氏、共通かぎ暗号を用いて通信を暗号化、することでホスト認証などを行う。つまり暗号化通信を用いた通信プロトコルのこと。

一般的に言われているssh

現在一般普及されているのはOpenSSHなので単にsshといった場合OpenSSH実装を指すことが多いい

所感

sshは通信暗号化の仕組みのことだとおもっていましたが大体あってましたね。しかしsshが一般的にOpenSSHを指していたことは知りませんでした。sshの解説記事をいくつかみたことがあるのですがそれは全部Opensshだったということになりそうですね。

何も資料ないことが多すぎる仕事

半年前に転職してから任された仕事はどれもテストなし、設計書なしの行き当たりばっかりで正直かなり辛い。

仕様が誰かの頭の中になって人によって仕様が違うとか日常茶飯事。

安く安く請負ったプロジェクトや協力が皆無な先方いろいろ原因は尽きないがそういう仕事に限って売り上げというものは伸びない。

それもそうだ元々資金がない中出来上がったアプリや、自社で手に負えなかったアプリが大半なのだ。

その仕事にあーだこーだ不満はあるものの特に何かをお願いしようとは思わない。

なぜなら資料がないのだから先方に言ってどうこうできるようなものではない。

さてここまでくだくだ説明したが結局何が言いたいかというと結論現場でできる工夫や改善というのは難しい点だ。

土台がしっかりしていた方が良い家ができるのと同じで土台が崩れてれば

何もできないのである。つまり自分の仕事についてどうにかしようと動いても

あまり意味をなさない。空回りしてその場をみだすだけだと私は思っている。

発言力と技術力がなければ深入りしないことが賢明。

では一人の力ではどうしようもない現場で何もしないのかというとそういうことが言いたのではない。今改善できなくても後々できるようになるため日々学んでいくのだ。

幸いにも学ぶことは無限にある。問題しかないプロジェクトとは間違っていることしかほとんどやってないので正解を見つけることが難しいが間違いを見つけることは容易。

この環境を利用し日々精進していくように考えれば明日のきついと感じる仕事も乗り越えていけるだろう。

 

という考えで自分は前向きに捉えます。

前向きというのは良いことに結びつけるのではなく楽な心のあり方を刺すのではないんでしょうか?

php5からphp7移行作業中に見つけた面白い仕様変更があったのでメモ

最近忙しかったのと体調くずしたので更新できませんでした。 気温の移り代わりは体調崩しやすいです。

移行作業中に面白いバグを見つけたのでどんな仕様変更があったのがサンプル作ってみました。変更内容が興味深いですねぇ

$hoge="";
$hoge[1]="test";
$hoge[2]="test2";
var_dump($hoge);

php5実行結果
array(2) {
  [1]=>
  string(4) "test"
  [2]=>
  string(5) "test2"
}

php7 実行結果
string(3) " tt"

https://3v4l.org/