인터넷 형광팬 라이너 무료버전을 설치했다.
개선사항 공식문서 참고
[LINER] What's New
인터넷 형광팬 라이너 무료버전을 설치했다.
개선사항 공식문서 참고
[LINER] What's New
나는 자괴감에서 한발 도약하려고 한다.
이건 내 중심적으로 나를 위해 쓰는 글이다.
이제 더이상 나를 숨기면서 가면을 쓰고 싶지 않다.
병역란을 채우는데 고민하게 되었다.
군필을 눌러서 이력서를 거짓으로 작성해도, 사기일 뿐더러 그렇게 한다고 못알아볼 사람들도 없다.
면제를 눌렀다.
세부 메뉴가 나왔고, 장애등급은 받지 않아 진행할수 없었다.
장애등급이 없는데 왜 면제를 받냐면서
면제판정을 했다고 비난하고 논란 거리가 된다면,
그또한 바꿔야할 시스템이다.
나는 양극성정동장애 판정으로 2개월간 입원을 하게 되었다.
그리고 면제 받았다.
나라를 지키고온 청년들과 사람들에게 감사하는 마음을 갖고 살아가겠습니다.
겸손하지 못했던 과거들을 반성하고, 겸손해야 하는 이유를 한번더 생각합니다.
사회 생활을 시작하며 여러가지 고민들을 하다가 곁길로 생각이 새게 됩었네요.
굳이 공개글로 적는 이유는, 나의 가면을 조금 무식한 방법으로 벗어던지고 싶기 때문이다.
그리고 나중에 다시 보게될때, 아니 어쩌면 다음날 보게 되었을때. 내가 참 부끄러운 사람이라는걸 나 자신에게 각인시키고 싶기 때문이다.
글을 조금 변경하거나 편집하여 포장할수도 있다.
그 정도는 최소한의 나의 멘탈을 위한 방어라고 생각하자.
더욱 성장할 것이다.
그리고 진정한 의미의 인정받을수 있:는 고문관이 될것이다.
그전에 나를 낮추는 법을 찾아보자.
ref. 고문관 - https://ko.wikipedia.org/wiki/고문관
조언에 "조"가 도울조인지 궁금해서 검색해 봤다.
조언, 粗言
저, 까보면 실망 하십니다. 새벽2시 앱장애의 추억 (0) | 2022.04.23 |
---|---|
끄적끄적 (0) | 2022.02.22 |
코딩학원에서 학생을 가르칠때 반듯이 해야할 것 (1) | 2018.11.22 |
GOOD
- 직접 디자인
BAD
- 템플릿에 끼워맞추는식 의존하지 않기
- 단일 페이지( one page ) 인사담당자가 보기 좋게
인적사항
이메일은 본인의 이름 or 이니셜 포함
GOOD
- leo.park@gmail.com
BAD
- inma06@naver.com
Experience
업무중 발생한 경험 / 업무 효율화 및 개선사항
e.g.
네트워크 장애시 담당자에게 SOS Push를 보내 장애를 신속히 대응하였다.
A/B 테스트 환경 셋팅을 하여 UX개선에 대한 피드백을 지표화해서 제시
CI/CD - 배포시 아찔한 상황이 있던 경험 ... 휴먼에러를 방지하기 위한 테스트 코드를 작성하였다.
경력 업무의 단순 나열을 절대 금지!!
활동 및 성과 / 결과 기입
성과는 수치와 함께 제시!!
객관성 + 신뢰성 확보 ( 벤치마크 첨부 )
ref. https://www.youtube.com/watch?v=_q5FSnTa8k8&ab_channel=%EC%BD%94%ED%95%98%EB%A3%A8%5BCoharu%5D
Promise / Future가 왜 필요한지를 이해하려면, callback의 단점을 이해하고 있어야 한다.
function callbackStyle(resolve, reject) {
const result = 10;
const isSuccessful = true
isSuccessful ? resolve(result) : reject(-1);
};
callbackStyle(function (result) {
console.log(result);
}, (e) => e);
function getData() {
return new Promise(function (resolve, reject) {
const result = 10;
const isSuccessful = true
isSuccessful ? resolve(result) : reject(-1);
});
}
const pm = getData();
const pm2 = pm.then(function (result) {
console.log(result);
return result;
})
.catch((e) => e));
const pm = getData();
pm.then(function (result) {
console.log(result);
return result + 5;
})
.then(function (result) {
console.log(result);
});
//// 결과 ////
10
15
function add10(a, callback) {
setTimeout(() => {
callback(a + 10);
}, 500);
}
add10(5, function(res) {
add10(res, function(res) {
add10(res, function(res) {
add10(res, function(res) {
// log(res);
});
});
});
});
function add5(a) {
return new Promise(resolve =>
setTimeout(() => resolve(a + 5), 500));
}
const p1 = add5(5)
.then(add5)
.then(add5)
.then(add5);
2
신고하기
많은 bloc강의가 있지만
Flutter Korea 오픈채팅 커뮤니티에서 추천을 받은 [유튜버 헤비프랜님] 의 강의로 시작했다.
BLoC 패턴이란?
BLoC (business Logic Component)는 파올로 소아레스와 콩 후이라는 개발자에 의해 디자인되었고
2018년 DartConf에서 발표되었습니다.
BLoC는 Presentation Layer와 business Logic을 분리하여 코드를 작성할 수 있도록 해줍니다.
헤비프랜(HeavyFan) - Flutter
flutter_bloc 6.x.x
카운터앱
BlocProvider -> MultiBlocProvider 메인에 선언해서 배열안에 여러개 씀.
BlocObserver로 전역에서 큐빗과 블락을 트래킹한다. ( 디버깅유용함 )
## 자 그럼 언제 큐빗을 쓰고 언제 블락을 쓸까?
>> 이벤트 등록이 큐빗으로 먼저 진행하고 나중에 블락으로 리팩토링.. 하는걸 추천한다고함. 근... 나중에 리팩토링....?
리덕스(?)도 훌륭한 대한이 될수 있음.
공식문서에는 Why Bloc? 에 대해 이렇게 설명한다.
Bloc makes it easy to separate presentation from business logic, making your code fast, easy to test, and reusable.
When building production quality applications, managing state becomes critical.
As developers we want to:
Bloc was designed to meet all of these needs and many more.
There are many state management solutions and deciding which one to use can be a daunting task. There is no one perfect state management solution! What's important is that you pick the one that works best for your team and your project.
Bloc was designed with three core values in mind:
Overall, Bloc attempts to make state changes predictable by regulating when a state change can occur and enforcing a single way to change state throughout an entire application.
느낌
코드량이 많았다. (강사도 이런 긴 코드량 때문에 진입장벽을 느끼는것 같다고 함)
사실 이것만 봐서 뭐가 장점인지 확실하게는 모르겠다.
Getx로 다 되는거 아니야? 라는 심정
뭔가 느낌적인 느낌으로는 Cubit, Bloc 이라는 오브젝트에 모든 상태를 넣고 필요할때 꺼내서 쓸수 있는 느낌??? 잘 모르겠다.
카운터 예제만으로는 명확하게 어떤점때문에 블락을 써야하는지 모르겠다
결론, 튜토리얼 예제말고 구조가 좀더 있는 앱으로 다뤄봐야 겠다.
그리고, 큐빗이 블락보다 좀더 간편하게 쓸수있는것 같고, 블락은 그에 반해 원칙에 충실한 우직한 녀석인것 같다
막판에 앱 전역에 BlocObserver를 달았더니 인터렉션이 상세히 로깅되는걸 볼수있었다.
아무래도 이런점이 서비스가 점점 복잡하고 커질수록 강점이 되는 한 부분같다.
실습환경
dart 2.0.7 (널세이프티 이전버전)
bloc 6.0.1
flutter_bloc 6.0.1
배워야 하는 단어
abstract class [ 앱스트랙트 ] - 추상클래스***
async* - [어싱크 스타] - 함수를 리턴으로 종료시키지않고 계속해서 이벤트를 수신대기한다. (
yield [이-일드]
yield* [일드 스타]
리덕스?
ref. 헤비프랜(HeavyFan)
오늘부터 상태관리툴 bloc을 배워보려고 한다.
배우면서 기존 setState방식, getx 방식등의 상태과리와 비교해서 어떤점이 다르고 이득이 되는지,
또 대규모 프로젝트에서 선호한다는데, 왜 그런지?
도메인별로 로직을 분리하게 될 때 이점이 정말 명확한지 등의 질문을 해결해 나가는게 목표이다.
그리고 최종적으로는 bloc으로 앱을 출시해보고 프로덕션 레벨에서 실사용 가능한 수준으로 만드는게 목표이다.
DDD ? 도메인주도개발? 이 가져오는 장점
MVVM? 뷰모델의 독립 의존성 제거 등이 실제로 어떤 장점이 있는지 궁금했다.
물론 블록을 배우고 몇개의 프로젝트를 하고 나면 단점이 무엇인지도 느낄수 있을 것이다.
많은 bloc강의가 있지만
플러터 한국 오픈채팅 커뮤니티에서 추천을 받은 [유튜버 헤비프랜님] 의 강의로 시작했다.
BLoC 패턴이란?
BLoC (business Logic Component)는 파올로 소아레스와 콩 후이라는 개발자에 의해 디자인되었고
2018년 DartConf에서 발표되었습니다.
BLoC는 Presentation Layer와 business Logic을 분리하여 코드를 작성할 수 있도록 해줍니다.
flutter bloc 버전은 6.x.x 였다.
지금은 8.대의 버전이 나와있다. 이 강의가 끝나고 최신버전으로 다시 시작했을때 어떤점이 개선됐는지 알 수 있을것 같다.
블로깅 정리 방식은
집중할수 있는 챕터까지 집중해서 따라한 다시 돌려보며 핵심적이라고 생각되는 부분들을 최소한 알아볼수 있을 정도로만 노트하는 식으로 진행하면 좋겠다.