STOF DOOS

へっぽこエンジニアのちまちま奮闘記

【WEEK1-1】再始動を何回してもいいじゃない。

見ている人なぞいないと思うけども、お久しぶりです。

 

気づいたら1年以上放置しておりました。

エンジニアも4年目の半分を過ぎてしまいました。

 

さて、この放置していた間、自分の取り巻く環境がいかように変化したのか振り返ってみたいと思います。

 

前回の更新がこいつ。

stofdoos.hatenablog.com

 

2週間も続きませんでしたね。毎日はやはりきつかったでしょうか。

当時はlaravelを使い始めて3,4ヵ月、お仕事も画面の改修が多かったように思います。

 

それからAPIの改修もしてみたり、同期処理や非同期処理に悩まされたり、laravelのTransfomerに悩まされたりしたような気がします。

 

やりたいことを実装するために、コードを1つの関数に書き散らかすことしかできなかった自分が、関数分けすぎるようになりながらも、徐々にきれいなソースコードを意識して書けるようになってきた…はず。

 

laravelを利用した実装スタイルに対する理解は大分深まりました。

ただし、環境構築、お前は別だ。

phpunitをうまいこと利用していく方法がいまだわからず手探り中。

 

日常生活では、引越しして都民になり、つい最近転職してSESを卒業したり環境もガラッと変わりました。

家事スキルはダイソンとスキレットのおかげでとってもパワーアップしたような気がします。

 

英語?

英語は相変わらずできないので勉強しなきゃと思いつつ、あまり身になっていないという現実。文法を一から学習しなおしたりしているけど1週間もたないんですよね。

これからも語学学習は課題です。

 

成長しているようなしていないような1年だったと思います。

もちろん仕事上使う知識やノウハウは少しずつ溜まっているわけですが、微々たるもの。

自分自身の基礎となるにはまだまだまだです。

飛躍したいのであれば、たくさんの時間を割いて取り組んでいくしかないのですが、日々生きていくことに忙殺されがちでなかなか自分で時間を作れないのが悩ましいところです。

 

少しずつ勉学に時間をとれる自分になれるよう、また今日から頑張ろうと思います。

 

では。次回は目標でも設定します。

 

 

 

【DAY013】jQuery Event Basics ~jQuery learning Centerを訳してみる~

きっかけ

英語の勉強として、職場の上司の方に、

「英語ドキュメントとか訳すのもありでは?」

と言われてので、確かに!!!一石二鳥じゃん!と感じたのでやってみることにした。

対象

jQuery の公式サイトにあった「jQuery Learning Center

最近仕事で頭を悩ませまくっているので、これを機に少しでも仲良くなろうという寸法。

jQuery Event Basics | jQuery Learning Center

jQueryイベントの基礎、とは

まずは説明文から

jQuery makes it straightforward to set up event-driven responses on page elements. These events are often triggered by the end user's interaction with the page, such as when text is entered into a form element or the mouse pointer is moved. In some cases, such as the page load and unload events, the browser itself will trigger the event.

一文ずつやっていこう

jQuery makes it straightforward to set up event-driven responses on page elements.

jQueryはそれを簡単に設定する、イベント操作(イベントドリブン)応答を、ページの要素の

These events are often triggered by the end user's interaction with the page, such as when text is entered into a form element or the mouse pointer is moved.

それらのイベントはよくトリガーにされる。エンドユーザーとページのやり取りによって、

フォーム要素に文字が入力されたり、マウスポインタが動いたりという時のといった

In some cases, such as the page load and unload events, the browser itself will trigger the event.

場合によっては、ページのロードとアンロードイベントといった、ブラウザ自身(の挙動)がきっかけになる。イベントの

以上を日本語としてまとめると以下になりました。

jQueryはページ要素に付随するイベントドリブンレスポンスの設定を簡単にします。

フォームに文字が入力されたり、マウスポインタが動かされたりなどのエンドユーザーとページのやりとりといったイベントが、よくトリガーになります。

また場合によっては、ページのロードとアンロードイベントといったブラウザ自身がイベントのトリガーになります。

調べた単語

straightforward | strèɪtfɔ́ːrwərd |
形容詞
  • 〈物・事などが〉わかりやすい, 単純[簡単]な
  • 〈人・行動などが〉正直な, 率直な, 包み隠しのない; 単刀直入の
  • まっすぐに進む; 〖名詞の前で〗徹底的な.
interaction | ɪntər'ækʃən |
名詞
  • «…との/…間の» 交流, ふれあい; やりとり; 相互作用[影響] «with/between»

参考

イベントドリブン、という専門用語があるとは知らなんだ…

【DAY012】簡単で美味しいサバの味噌煮の作り方

美味しいサバが食べたい

昨日、北海道のサバを半額で手に入れたので、味噌煮を作ったら、結構美味しかったので自分の覚書用にメモしています。

材料

  • サバ : 半身
  • 醤油 : 大さじ 1と1/2 (お好みで)
  • みりん: 大さじ 1/2 (お好みで)
  • 料理酒: 大さじ 3 (お好みで)
  • 味噌 : 大さじ 1
  • 生姜 : 適当
  • 塩  : 適当

と、材料の分量を書きましたが、正直目分量なので目安程度に。

調理方法

  1. サバの身の部分に軽く塩を振り、五分ほどおく。
  2. 生姜をお好みのサイズに刻む。
  3. サバの身のから出た余分な水分をキッチンペーパーなどで拭き取る。
  4. フライパン用ホイルをフライパンに引き、強火で加熱する。
  5. サバの皮の部分を中火で4分焼き、一度皿にあげる。
  6. ホイルをフライパンから除き、醤油、みりん、料理酒、味噌を入れ、味噌がダマにならないように混ぜ合わせる。
  7. 上を中火で1分ほど軽く煮立て、弱火でサバの身の部分を下にして加熱する。
  8. 随時、スプーンでフライパン内の味噌を掬い、サバの皮部分にかける。
  9. 5分ほど煮立てたら、刻んだ生姜を入れ、再度3分ほど煮立てる。
  10. お皿に盛り付けて完成!!!

あれ、意外と手順が長くなってしまった。時間も割と適当なので様子見しながら。

ポイント

煮立てる前に、サバ自身の油分で皮を焼くところ。 パリッと焼き色もついて見た目からも食欲増進されます。

サバおいしーーー!

【DAY010】There was a police car parked up outside the warehouse.

最初に一言

今回目に最初に入ってきた文字は、「park up」でした

この記事の趣旨

  • Oxford英英辞典をランダムに開いて、新しい単語を開拓していきます。
  • 辞書の例文を翻訳することで語彙力向上を測ろうと目論んでいます。

what's that meant?

Park | pɑːrk |

名詞
  • 公園; 自然公園
  • 広大な敷地
動詞
  • 〈人が〉〈車〉を駐車する, 止めておく
  • 〈物・人〉を一時的に預ける; (多少迷惑でも)…をちょっと置く
  • ⦅くだけて⦆;〖~ oneself〗(じゃまになる所に)座る, いる.
Oxford英英辞書の説明書き詳細

There was a police car parked up outside the warehouse.

 

その倉庫の外側に、パトカーが駐めてありました。

 

簡単なので、もう少し。英英辞典の「park up」の説明をピックアップ。

 

to find a place where you can park your vehicle.

 

乗り物を駐めることができる場所を見つけること

   

身近な単語でも改めて英英辞典で見直すことで、英語としての使われ方がよくわかるようになるなと思います。

わからなかった単語

warehouse | wéərhàʊs |

  • (材料・商品などの)倉庫
  • 問屋, 卸売り商; (大型の)卸売型店舗

vehicle | víːək(ə)l, víːhɪ- |

  • 乗り物, 車
  • 【目的達成の】手段, 方法; 【思想・考えなどの】表現手段, 伝達手段, 媒体 «for, of»

【DAY009】ソフトウェアテストについて①【テストの必要性】

■ はじめに

以前ソフトウェアテストの基礎講座を受講したので、自分用にまとめ直した。

テスト工程について6回に分けて取り上げて行く予定。

全体の流れ

  1. テストの必要性(本記事)
  2. テストの基本的なプロセス
  3. テストレベルとテストタイプ
  4. テスト技法
  5. テスト計画
  6. テスト設計

詳細に書いていく予定なので、些細なツッコミ等ありましたらどしどしお願いいたします。

書き手の情報

一応明記しておきます。

■ テストの必要性

★テストの目的

そもそも、なぜテストが必要なのか?

確認することが当然だから?テストを行うことが開発の工程の一つだから?

それら間違ってはいないが、はたして、これが明確な「テストの目的」なのか?自信をもってテストの目的を言える人はそう多くはないのが実情だそうだ。

目的もわからずにテストをするとなると、やる気も方向性も分散してイマイチな結果になりがち。(現にテストはよく眠くなる。)

ではテストを行う目的とはなにか。

それはズバリ「要件や仕様を満たして正しく動作するか確認する」こと。

 

あたりまえじゃないかーい。って?

そう、当たり前のこと。でもその当たり前のことを「目的」として言語化しておくのは大事なのだ。

そうでないと、テストを作る際にイレギュラーのイレギュラーなど考え始めてしまい、一向に終わらないテストになる。

あくまで、「要件」と「仕様」を満たし、「正しく動く」を確認することが大事なのだ。

★テストの必要性

テストの目的を果たす必要性とはなにか。

なぜ、正しく動作することを確認する必要があるのか?正しく作ったんだから、動くじゃん!とテストを省略したくなる気持ちは、まま、ある。

しかし、テストする対象物を作っているのは「人間」である。

さらに「複数」の人々が、コミュニケーションを取りながら、「一つ」のモノを作り上げるのだ。

 

さて、そのような場合、問題になるのは「ヒューマンエラー」である。

悲しいかな、人間はちょっとした聞き間違いや言い間違い、そして勘違いが多い生き物なのだ。

以下3つを取り上げて考えてみる。

  • 要件定義書の書き方 ①
  • 設計書の書き方 ②
  • 設計書からコーディング ③

①話し合いの結果、要件定義をまとめて書く。(聞き間違い、解釈違いがある可能性)

②要件定義から、設計書を起こす。(読み取り間違い、認識違いの可能性)

③設計書からコードに起こす。(読み取り間違い、認識違いの可能性)

 

人の噂に尾ひれがつくのと似ていて、伝聞、伝達にはミスが生じやすい。

また、人が作業する内容には、介した人数分の解釈や判断が入るもの。

結果として、話し合いで決められた要件と、コーディング(実装)が異なるものになる可能性があるというわけだ。

 

設計書通りに作ったと思ったら、うっかり実装し忘れた機能だったり、対象が違っていたりなど、少なからずエンジニアの方々は経験していると思う。

 

そういうことです。

 

どのタイミングで気付くかはその時々であろうが、およそほとんどの場合何かしらの「エラー」が潜り込んでいるものだ。

 

だからこそ、

リリース前にその「エラー」を見つけるため、テストは必要なのだ。

「要件の通り当たり前に動くことを確かめる」とは、そういうことです。

 

もし、テストをせずにエラーを残したままリリースしたらどうなるか?

それは、故障となる。

誤字脱字といった単純な「バグ」だったり、環境の設定が違ったり、原因は多岐にわたる。

しかし、要件や仕様を満たして、正常に動作することを確認するテストをきちんと行っていれば、少なくとも「要件通りの動作保証」はされるということになるのだ。

 

以上、テストは省略すべきではない。必要な子という説明でした(๑•̀ω•́๑)b

※3月ごろに書いていた記事を微修正しました

 

【DAY008】jQueryで動的に数値を計算

jQueryで動的に数値を計算

厄介なポイント
  • 数値を入力する項目も動的に増える
  • table内のtr要素を動的に増やしながら、その中で扱う、td要素に入力された値を計算する
  • 入力されるつど計算する必要がある
HTML

jQuery, javascript

gist.github.com

  • 同じclassで入力項目を動的に増やすため、eachでまわして値を取得している。
  • 入力される都度、リアルタイムで結果を表示したいため、keyupを利用する。

動作未確認

仕事で書いたコードをうろ覚えで簡略化して書いているため、動作に不安が残る。 余裕のあるタイミングで清書する。

最後に

技術メモは、ブログとはいい難い気がするが、自分の覚書なので良しとする( ^ω^ )