Failure Sharing

Bootup your energy with sharing failure.

失敗を繰り返さないこと。

私は韓国からきたアプリケーションエンジニアです。

 

社内で毎日いろいろな失敗をしています。

一回教えてもらったのに、忘れるのもあるし、そもそも知らなかったものもあるし、(あくまで外国語なので)上司の指示を理解し間違ったりするのもあります。

数え切れないですが、理由がどうであれ、同じ失敗を繰り返すのは、絶対避けたいです。

 

失敗から学ぶっていうでしょう。その考え方に基づいて、自分のミスったところを文章で書きながら振り返るのがまず一つ目の目標で、問題が何なのかとかについて、まず自ら診断、あとできれば読者の皆さんと何か生産性のある議論ができればなと思っています。

 

個人のサイトもあるんじゃあるんですけど、人が来ないので、ブログに投稿してみようと思います。ヨロピクです。

Rerun Failing Tests

with plugin

Just add '-Dsurefire.rerunFailingTestsCount=2'

maven.apache.org

with code

import org.junit.rules.TestRule;
import org.junit.runner.Description;
import org.junit.runners.model.Statement;

public class RetryRule implements TestRule {
    private int retryCount;

    public RetryRule (int retryCount) {
        this.retryCount = retryCount;
    }

    public Statement apply(Statement base, Description description) {
        return statement(base, description);
    }

    private Statement statement(final Statement base, final Description description) {
        return new Statement() {
            @Override
            public void evaluate() throws Throwable {
                Throwable caughtThrowable = null;

                // implement retry logic here
                for (int i = 0; i < retryCount; i++) {
                    try {
                        base.evaluate();
                        return;
                    } catch (Throwable t) {
                        caughtThrowable = t;
                        //  System.out.println(": run " + (i+1) + " failed");
                        System.err.println(description.getDisplayName() + ": run " + (i + 1) + " failed.");
                    }
                }
                System.err.println(description.getDisplayName() + ": giving up after " + retryCount + " failures.");
                throw caughtThrowable;
            }
        };
    }
}

TestScript side is following.

 @Rule
        public RetryRule retryRule = new RetryRule(3);

PWA Overview

f:id:woosyume:20190401130519p:plain

PWA(Progress Web App)

  1. Push Notification to bring user back

  2. Home Screen Icons to make access easy

  3. Access Native Device Feature like camera

  4. Possibly work offline

  5. Statistics

80프로의 시간이 3개의 어플리케이션에 소비 새로운 어플리케이션을 설치하지 않는다.

아무것도 설치할 필요가 없다.

Core Building Blocks

Service Workers

Caching / Offline Support Enable other PWA features

Background Sync Web Push

Application Manifest allow addition to home screen

Responsive Design app / layout should work and look good across devices

Geolocation API

Media API

PWAs and SPAs(Single Page Application) : 이것 자체는 wrong comparison

SPA

  1. powered by javascript
  2. highly reactive
  3. only one html file sent to browser

PWA

  1. uses a lot of javascript(but works without it)
  2. aims to have high reactivity
  3. works with multiple files

Progressive Enhancement

Start point

  1. Existing(legacy) App
  2. Existing modern App
  3. Upcoming Project

near future

  1. add some features
  2. implement some core PWA features
  3. fully implement as PWA

Future

  1. use multiple PWA features
  2. completely convert to PWA
  3. complete PWA

Outline

  1. Getting started
  2. Application Manifest
  3. Service Worker Basics
  4. Promise & Fetch API
  5. Service worker(Caching for offline access)
  6. Advanced Caching Strategies
  7. Caching Dynamic Data with indexed DB
  8. Responsive Design
  9. Background Sync
  10. Web Push Notifications
  11. Media API(Camera) & Geolocation
  12. Automated SW Management
  13. SPAs & PWAs with our #1 framework

やることのまとめ

今シーズンのタスクが全て終わり、また自由時間ができた。 しばらく仕事に集中しすぎて、全然何も投稿できなかった。

また次のシーズンの目標を考えつつ、何で遊ぶかちょっと考えてみよう。

  1. Web+DB Press, Software Design : これはお金出して購読してるからちゃんと読まなきゃ。

  2. PWA(Progressive Web Application)

  3. Redis, Couchbase ⭐️

  4. Varnish

  5. Docker ⭐️⭐️

  6. TCP/IP

あと、今シーズン資格を取るって目標があったけどすごくギリギリになってピンチにまで行ってたから 今回はちょっと早めに始めようw

  1. Oracle Java Gold(?) ⭐️

장르변경에 따른 데이터베이스 업데이트 프로그램 또한 확장하고 싶다.

時間活用について

僕が使える時間帯は、平日の午前1・2、仕事終わり、週末(多分1日だけ)ぐらい。 コンパクトにしたかったり、頭使う系のやつは午前に優先。

平日

午前1:Web+DB Press, Software Design 午前2:資格 仕事終わり:4月中旬まではコンファレンスの準備

週末

勉強したいところ