Failure Sharing

Bootup your energy with sharing failure.

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

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

 

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

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

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

 

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

 

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

Customized Functional Interface

Definition

has only one abstract method 다른 메소드는 많이 있어도 상관 없다.

@FunctionalInterface // 이걸 써주면 메소드를 실수로 2개 쓰거나 했을 때 미리 실수를 알려준다.
interface 
void doSomething(Function<Integer, String> f)
// when calls it (ASIS)
doSomething(new Function<Integer, String>() {
 @Override
 public String apply(int i) {
   return ...
 }
}

// TOBE
doSomething(i -> String.valueOf(i))

久しぶりのトラブル

このブログの目的は、僕がした失敗を記録しといて、それが再発するのを防ぐことです。 最近は個人的にすごくうまくいってて、しばらくこういう話題で書くことがなかったのですが、 今日やがてトラブルが発生してしまいました。

正確にいうと、僕が起こしたトラブルではないですが、僕の属しているチームのトラブルであるのと、 僕が作業した人ではないが、最近力を入れているテスト自動化アプリケーションで もう少し油断せずにサポートできたら、十分防げたんじゃないかなと思います。

実はトラブった内容が検知できる仕組みを用意はしていましたが、 それをコメントアウトしていたのです。コメントアウトした理由はいくつかあるのはありますが、 ま、今それを言っても言い訳にしかならないでしょう。

トラブルはすでに発生し、復旧もできたので今はもっと前を見るべきです。 再発防止ってか。


なぜ武器を持ってたものの使わなかったのか。

「実はトラブった内容が検知できる仕組みを用意はしていましたが」と言ったのですが、 その根拠としては、最終的にパイプラインに乗せるのがゴールだったので、 その仕組みができるまで待ってたということです。

でもアホだったんですね。トラブルは予測のできないタチ悪いお客さんなので いつでも対応できる準備をしとかないとダメでした。

実はすごく悔しいです。

どうするか。

一応パイプライン化ではなくても、パイプラインっぽい仕組みでも代わりに用意しようと思います。 パイプラインって言っても、どうせどこかのバッチサーバなので、クラウドとかなんとか ものはいっぱいです。

具体的な対策についてはもうちょっと考えたいです。 最終的じゃなくても、ある程度は完璧に見えるように。

買うものリスト

家電

完了

家具

靴箱 食器棚

ソファー+テーブル 商品コード: 4050068-4000983-4000984

www.nitori-net.jp

ベッド:ワイドダブル 本棚 カーテン

化粧台 :ベッドがワイルドダブル(幅152cm)になると、化粧台は60cmぐらいにまで収まらないと。

[https://search.rakuten.co.jp/redirect?url=https%3A%2F%2Fitem.rakuten.co.jp%2Fe-kurashi%2F480759%2F&cks=9e737d4de0bff54467308dc55e5d0f4a7f1b4ef&pgid=0d6a0268ddbe58b6&pgl=pc&ml=pc.main.middle.gridSearchResults&mp=%7B%22trigger%22%3A%22title%22%2C%22card%22%3A%22search%22%2C%22abs%22%3A8%2C%22rel%22%3A5%2C%22type%22%3A%22item%22%2C%22itemid%22%3A%22205937%2F10000390%22%7D&_mn=searchResultItem:embed:cite]

テレビ台

その他

自転車

確認事項

福利厚生カードでニトリどれぐらい安くなるか?

www.fukuri.jp

※配送センターよりお届けする配送家具(大型家具)のみ対象です。組立家具や雑貨、寝装品などは対象外です。(オンラインショップで選ぶ場合は「完成家具」が対象) >??なにこれ。難しい。組み立てダメだと? f:id:woosyume:20190623185815p:plain

最近はかなり忙しい

publicでは、ま色々あって

privateでは、来月引越しが予定されているのと、それのために家電・家具の買い物や各種の手続きがある。 今はやってはないけど、来月からは晩御飯も作らないとあかんから、もう少し忙しくなるかもしれない。

朝には30分間走らなきゃあかんし。

一番集中できる時間って、僕が経験的にわかったのは、朝の仕事が始まる前の1時間。 これからは5時に起きるし、夜の時間はほぼなくなるから 午前中に頑張っておかないと、結構厳しくなるかもしれない。

人生捨てたもんちゃうから、もっと頑張らないと^^ 実は今すごく幸せ。

Mainly used Functional Interface on Java 8

Function, The Transformer

무조건 입력값과 출력값이 있어야 한다.

github.com

Consumer, The Spartan, Give Them Nothing but Take from Them Everything

말 그대로 무언가를 소비한다. ex. print out

without any return.

@FunctionalInterface
public interface Consumer<T> {

    /**
     * Performs this operation on the given argument.
     *
     * @param t the input argument
     */
    void accept(T t);

github.com

Predicate, The Judge

어떤 결과값이 주어진 조건에 만족 하는지 확인할 때 자주 사용

    /**
     * Evaluates this predicate on the given argument.
     *
     * @param t the input argument
     * @return {@code true} if the input argument matches the predicate,
     * otherwise {@code false}
     */
    boolean test(T t);

github.com

Supplier, The Master of Lazy Evaluation

Lazy evaluation을 통해 불필요한 자원 낭비를 최소화한다. 필요한 순간까지 평가를 지연시킨다.

    /**
     * Gets a result.
     *
     * @return a result
     */
    T get();

github.com

참고 블로그

medium.com