フロントエンド開発

フロントエンド開発

会社に入社して3年経とうとしている。 今までは、WEBサービス開発でJavaPythonを使って実装していたが、 最近アサインされたプロジェクトでは、画面も含めて実装しなければならない。

現在の使用技術はざっこりこんな感じ

バックエンド

Python(Flask) ・MySQL

フロントエンド

・HTML ・CSSJavaScript

ブラウザを使用するフロントエンド側の実装ではもはや、これ以外の選択肢 があるのかわからない。

画面の実装に関して誰かが作った成果物を修正したりする作業の経験はあるのだが、 今回は新規作成になるため、参考情報はあるものの1から作らなければならない。 今まではバックエンド側でjavaやらpythonやらで上から下まで流れるような処理を 記述すればそれでOKだったが、HTML・CSSはそうはいかない。

私の現在の状態はこんな感じ マークアップ? スタイルシート? 何それ? おいしいの?

特にCSS!!

「横並びで表示させるためにはfloatを使う」 と調べて、実際に使ってみたら、floatを適用したタグより下の項目 すべてが横並びに!!!

、、勉強せねば。。。

とある書籍でこんなことが書いてあった。

とある書籍:エンジニアたるもの設計を理解したら、実装イメージが湧いてくるべきである!!

私:「いいえ、湧いてきません」

エンジニアじゃないのかな??

入力項目が2つのフォームがいい感じで表示されるまで1.5時間!! かかりすぎよね。

Progateしよ

タイムスタンプjava

package com.arigo;

import java.sql.Timestamp;
import java.time.LocalDateTime;

public class DateMaker {

public DateMaker() {

}

public static void main(String[] args)
{
DateMaker make = new DateMaker();

Timestamp tmp = make.timeMake();
System.out.println(tmp);

}

public Timestamp timeMake() {
int h = (int) (Math.random() * 10) % 12 + 1;
int m = (int) (Math.random() * 10) % 60 + 1;
int s = (int) (Math.random() * 10) % 60 + 1;
int n = (int)(Math.random()*1000000000);
LocalDateTime date = LocalDateTime.of(2019, 1, 1, h, m, s, n);
Timestamp tmp = Timestamp.valueOf(date);

return tmp;
}

}

Selenium,Junit、開発現場

ベースはウォーターフォールで開発することが多い。

製造について
1.仕様書に対して過不足なく製造する
    気づいたことがあるならば、お客様に確認をしてから追加する。勝手に追加しない

2.保守性(可読性)コメント大事。なるべく詳細に最初は1行ごとに書いてもよい
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3.性能 最近のハードウェアは上等なのでそこまで神経質になることはない。
     無駄なfor分なくすとか。

命名規則
パスカル型 BackColor
キャメル型 backColor(ラクダ的な)

Junit
1度作れば何度でもテストできるようになっている。変更があっても変更箇所を反映させてテストをつくる。

第2種電気工事士

会社で分電盤の操作が必要な場合があるので、その時に電気工事士の資格を持っていないと着手することができない。
上司から「取れ!」とは言われていないが、前職では電気工事士の仕事であったため(あなたなら簡単にとれるでしょ?)的な
目で見られたためとることにした。実際に問題を見てみたが取れそうではある。

Java、Selenium , Chrome初期設定

入社1カ月半
Selenium を使用して、Webの自動テストをJavaで作ることになった。
Chromeのデフォルトダウンロードの設定で手こずってしまったので、メモを残す。

public class DownloadOption {
	 //ブラウザのデフォルトダウンロードディレクトリを指定
    private String downloadDirPath = /*ダウンロード先フォルダのパス*/
    
    public ChromeOptions setDownloadDirectory() {
      System.setProperty("webdriver.chrome.driver", "./exe/chromedriver.exe");
      ChromeOptions op = new ChromeOptions();
      Map<String, Object> prefs = new HashMap<>();
      prefs.put("profile.default_content_settings.popups", 1);
      prefs.put("download.default_directory", downloadDirPath);
      op.setExperimentalOption("prefs", prefs);
//      WebDriver driver = new ChromeDriver(op);
      return op;
    }
}

downloadDirPathを相対パスで指定しようとしたが、ブラウザがどこから実行されているかわからないため指定できない。
X:\\..\ などを試してみたがダウンロードはできているみたいだがファイルが開けない状態になる。