떨어진 곳은 안가서 다행인거고
붙은곳은 갔어도 구릴 확률이 높고.
온갖 회사 자랑으로 구인한다고 해놔도,
그 사람들이 구릴수도 있는거고,
정작 입사해도 나랑 안맞는 문화가 있을 수 있고,
떨어지고 봐도 나는 적응 못할것 같은 문화일 수 있고...
지원했던 회사 합격한 사람들이랑 떨어진 나랑 크게 차이날 것들도 없을거고,
그냥 운임. x같은 운.
2017년 7월 22일 토요일
20170723 면접? 다 그냥 운임.
Do you wanna hear me?.....................................
모두가 아니라고 하는 길을 걸어 가 보겠다.
2017년 7월 6일 목요일
20170706 React.js 리스트에 key를 넣어주는 이유
뜻하지 않게 서버 개발자(로 일해본 기간도 매우 짧지만..ㅠㅠ)의 커리어는 접혔고,
프론트 엔드 개발을 시작하게 되었습니다.
React.js를 사용하게 되었습니다.
젤 처음 의문을 가졌던 key라는 녀석에 대해서 썰을 풀어봅니다.
리엑트는 리스트(순회 구조 아이템들)를 그릴때 key를 넣지 않으면 콘솔에서 막 경고를 막막 줍니다.
그래서 이것저것 넣었는데 특별한 이유가 있었습니다.
1. 리엑트가 그림을 그리는데 중복을 체크합니다.
2. 마지막에 추가하는 것이 아니라 처음 혹은 중간에 추가할 경우 변경된 노드부터 모두 다시 그리게 됩니다.
3. 성능에 영향을 줍니다.
예를 들어,
<div>
<li>1</li>
<li>2</li>
</div>
를
<div>
<li>1</li>
<li>2</li>
<li>100</li>
</div>
으로 바꾼다고 할 때,
리엑트 친구는 위에서부터
<li>1</li> 비교
<li>2</li> 비교
엇?! 100이 없네? 그려!
의 방식으로 작동하게 됩니다.
만약 100이 처음에 있다면. 리엑트 틴구는 빙구처럼 처음부터 그리게 되겠지요.
근데 여기에 key값을 줘봅니다.
<li key="some.id"> 정도로요.
그럼 리엑트 틴구는 신나서 키만 비교하고 빠진것만 그려넣게 됩니다.
성능상의 이점도 잡을 수 있죠.
그래서 키는 보통 사용자(혹은 리엑트)가 식별할 수 있는 정보를 주게 되어있습니다.
1. 유일할 것
2. 예측 가능할 것
3. 안정적일 것
키가 가져야 할 마음가짐 입니다.
그럼 이제 일하러.
프론트 엔드 개발을 시작하게 되었습니다.
React.js를 사용하게 되었습니다.
젤 처음 의문을 가졌던 key라는 녀석에 대해서 썰을 풀어봅니다.
리엑트는 리스트(순회 구조 아이템들)를 그릴때 key를 넣지 않으면 콘솔에서 막 경고를 막막 줍니다.
그래서 이것저것 넣었는데 특별한 이유가 있었습니다.
1. 리엑트가 그림을 그리는데 중복을 체크합니다.
2. 마지막에 추가하는 것이 아니라 처음 혹은 중간에 추가할 경우 변경된 노드부터 모두 다시 그리게 됩니다.
3. 성능에 영향을 줍니다.
예를 들어,
<div>
<li>1</li>
<li>2</li>
</div>
를
<div>
<li>1</li>
<li>2</li>
<li>100</li>
</div>
으로 바꾼다고 할 때,
리엑트 친구는 위에서부터
<li>1</li> 비교
<li>2</li> 비교
엇?! 100이 없네? 그려!
의 방식으로 작동하게 됩니다.
만약 100이 처음에 있다면. 리엑트 틴구는 빙구처럼 처음부터 그리게 되겠지요.
근데 여기에 key값을 줘봅니다.
<li key="some.id"> 정도로요.
그럼 리엑트 틴구는 신나서 키만 비교하고 빠진것만 그려넣게 됩니다.
성능상의 이점도 잡을 수 있죠.
그래서 키는 보통 사용자(혹은 리엑트)가 식별할 수 있는 정보를 주게 되어있습니다.
1. 유일할 것
2. 예측 가능할 것
3. 안정적일 것
키가 가져야 할 마음가짐 입니다.
그럼 이제 일하러.
2017년 6월 24일 토요일
MSA가 뭐죠?
오랜만에 글을 남깁니닷.
일단 최근에 MSA로 구축할 프로젝트가 생겨서 MSA에 대해서 조금 알아보게 되었습니다.
기초나 기본을 튼튼히 하지 않고
이미 튼튼하신 분들이 공부하고 해야할 일을 대충 처리하는건 아닐까 하는 막연한 두려움과 불안감에 휩쌓여 있기도 합니다.
그래도 얻게된 것
1. 어렴풋이 SOA와 MSA의 차이를 알게 되었다.
2. yml 파일을 좀 더 잘 쓸수 있게 되었다.
3. MSA 구성 품들을 알게 되었다.
4. 도커가 뭔지 찌끄려봤다.
5. 실제 API 게이트웨이를 생성해보고 있다(물론 있어야 하는지 없어야 하는지 의견은 많이 나뉨).
6. 클라우드 환경 위에서 구축하는 MSA(이론) / 물리 서버(+ 1대의 디비)에 구축하는 실전형 MSA(라고 쓰고 아직 이론 공부만 하는중 이라 읽음)
2번의 경우 메이븐에서 설정하던 관성이 있어
폴더별 프로파일 구분하던가 application-profile.yml 하던것을
application.yml에 통합한다거나 spring:profiles: 로 처리한다거나 다양한 방법을 접해보게 되었습니다.
3번은 6번에서도 마찬가진데 MSA는 서비스를 쪼개는 것이다. 그리고 이를 합쳐서 서비스 한다.
누구나 할 수 있는 말이고 말만으로는 너무나 쉽습니다. 실제로 구현하는건 다른 이야기 같습니다.
화두가 되는 API 게이트웨이와 트랜젝션 처리인데요.
API 게이트웨이는 큰 서비스 아니면 잘 안둔다. 그냥 있으면 편하다. 관리하기 힘들다. 등등등...
트랜젝션은 글로벌/로컬 트랜젝션을 관리한다. 보상 트랜젝션으로 퉁친다? 이벤트(메시지) 핸들링 한다?(사실 잘 몰라요 ㅠㅠ) 등 방법이 알려져 있습니다.
물론 저도 말은 할 수 있는 정도는 되었는데, 구현하라고 하면 당연히 손빨고 있어야 합니다.
그래서 지금 손빨고 있습니다... ㅠㅠ 사수가 필요합니다.......
4번은 도커를 사용하거나 도커간의 통신 도커 내의 작업 이미지 생성등 어떤 것들이 있는지 알아가고 있는 중입니다. 의외로 도커 부분은 잘 풀렸으면 하는 부분이기도 합니다.
5번은 이제 여기저기 많은 예제를 실행해보고 있는데(난 왜 안되냐...)
많은 선택지 중 넷플릭스(만 믿고 간다!)의 Zuul을 사용하기로 마음(저 혼자)먹었습니다.
그래서 예제를 작성(따라서 코딩)하고 있고 너무나 쉬운 라우팅에 멘붕이 터진 후에 라우팅 리소스를 Spring Cloud Config Server/Client로 처리하는 것을 방금 마친것 같습니다... 마친걸꺼에요... 될껄요?
이제 남은건 Zuul 필터 다루기와 LB 기능들 그리고 그 왜에 우리 프로젝트가 원하는 것들을 구성해 나가야겠지요.
6번은 저도 잘 모르니 이견이 많습니다. MSA를 설명하는 대부분은 서비스가 분리되어 독립된 DB를 갖는다고 하는데(각각은 아니더라도) 저희는 제약이 서버 1대로 퉁친다입니다.
아키텍트라는게 귀에걸면 귀걸이인가? 싶기도 하고... 사수가 필요합니다...
서버는 몇대가 되어야 하는지 나눠야 하는 서비스는 몇갠지 등등 아무런 정보가 읎습니다. 읎어....ㅠㅠ
함께 일하시는 분들이 관성이 괭장히 굉장하셔서 저같이 옛날 방법이나 기술을 모르는 사람은 어리둥절하게 만들어 주시는데 사실 그분들의 그 방법보다 제가 아는 방법(은 없지만)으로 똑같이 해낼 자신도 없습니다... 그래서 역시나 사수가 필요합니다....
그나저나 MSA인데 한 프로젝트 안에 서브모듈로 서비스를 나눠도 되는건지 이게 MSA인건지 뭐 아리까리한게 너무나 많습니다.
어휴 조만간 풀 예제를 장착해서 돌아도로록 하겠습니다.
MSA(트랜젝션 및 구성) + 도커 + CI/CD
아... 어렵다....
사수가 필요합니다.
일단 최근에 MSA로 구축할 프로젝트가 생겨서 MSA에 대해서 조금 알아보게 되었습니다.
기초나 기본을 튼튼히 하지 않고
이미 튼튼하신 분들이 공부하고 해야할 일을 대충 처리하는건 아닐까 하는 막연한 두려움과 불안감에 휩쌓여 있기도 합니다.
그래도 얻게된 것
1. 어렴풋이 SOA와 MSA의 차이를 알게 되었다.
2. yml 파일을 좀 더 잘 쓸수 있게 되었다.
3. MSA 구성 품들을 알게 되었다.
4. 도커가 뭔지 찌끄려봤다.
5. 실제 API 게이트웨이를 생성해보고 있다(물론 있어야 하는지 없어야 하는지 의견은 많이 나뉨).
6. 클라우드 환경 위에서 구축하는 MSA(이론) / 물리 서버(+ 1대의 디비)에 구축하는 실전형 MSA(라고 쓰고 아직 이론 공부만 하는중 이라 읽음)
2번의 경우 메이븐에서 설정하던 관성이 있어
폴더별 프로파일 구분하던가 application-profile.yml 하던것을
application.yml에 통합한다거나 spring:profiles: 로 처리한다거나 다양한 방법을 접해보게 되었습니다.
3번은 6번에서도 마찬가진데 MSA는 서비스를 쪼개는 것이다. 그리고 이를 합쳐서 서비스 한다.
누구나 할 수 있는 말이고 말만으로는 너무나 쉽습니다. 실제로 구현하는건 다른 이야기 같습니다.
화두가 되는 API 게이트웨이와 트랜젝션 처리인데요.
API 게이트웨이는 큰 서비스 아니면 잘 안둔다. 그냥 있으면 편하다. 관리하기 힘들다. 등등등...
트랜젝션은 글로벌/로컬 트랜젝션을 관리한다. 보상 트랜젝션으로 퉁친다? 이벤트(메시지) 핸들링 한다?(사실 잘 몰라요 ㅠㅠ) 등 방법이 알려져 있습니다.
물론 저도 말은 할 수 있는 정도는 되었는데, 구현하라고 하면 당연히 손빨고 있어야 합니다.
그래서 지금 손빨고 있습니다... ㅠㅠ 사수가 필요합니다.......
4번은 도커를 사용하거나 도커간의 통신 도커 내의 작업 이미지 생성등 어떤 것들이 있는지 알아가고 있는 중입니다. 의외로 도커 부분은 잘 풀렸으면 하는 부분이기도 합니다.
5번은 이제 여기저기 많은 예제를 실행해보고 있는데(난 왜 안되냐...)
많은 선택지 중 넷플릭스(만 믿고 간다!)의 Zuul을 사용하기로 마음(저 혼자)먹었습니다.
그래서 예제를 작성(따라서 코딩)하고 있고 너무나 쉬운 라우팅에 멘붕이 터진 후에 라우팅 리소스를 Spring Cloud Config Server/Client로 처리하는 것을 방금 마친것 같습니다... 마친걸꺼에요... 될껄요?
이제 남은건 Zuul 필터 다루기와 LB 기능들 그리고 그 왜에 우리 프로젝트가 원하는 것들을 구성해 나가야겠지요.
6번은 저도 잘 모르니 이견이 많습니다. MSA를 설명하는 대부분은 서비스가 분리되어 독립된 DB를 갖는다고 하는데(각각은 아니더라도) 저희는 제약이 서버 1대로 퉁친다입니다.
아키텍트라는게 귀에걸면 귀걸이인가? 싶기도 하고... 사수가 필요합니다...
서버는 몇대가 되어야 하는지 나눠야 하는 서비스는 몇갠지 등등 아무런 정보가 읎습니다. 읎어....ㅠㅠ
함께 일하시는 분들이 관성이 괭장히 굉장하셔서 저같이 옛날 방법이나 기술을 모르는 사람은 어리둥절하게 만들어 주시는데 사실 그분들의 그 방법보다 제가 아는 방법(
그나저나 MSA인데 한 프로젝트 안에 서브모듈로 서비스를 나눠도 되는건지 이게 MSA인건지 뭐 아리까리한게 너무나 많습니다.
어휴 조만간 풀 예제를 장착해서 돌아도로록 하겠습니다.
MSA(트랜젝션 및 구성) + 도커 + CI/CD
아... 어렵다....
사수가 필요합니다.
2017년 3월 17일 금요일
20170318
거의 매주 밤 새벽 늦게 부부싸움하는 부부가 있다.
참으로도 과격하게 싸운다.
악을 지르는건 기본에
물건을 때려 부수고,
그나마 손지검은 안하는것 같다.
오늘은 더 크게 더 심하게 싸우는데 알고보니 같은 층이었다.
여자분의 울부짖는 소리와 남자분의 그만두자는 소리. . .
이시간에 나는 왠일로 깨어있다가 저런 소리를 듣게된건지.
만성이되어 그만 무뎌져 원만하게 해결 됐으면 좋겠다.
그래서 마느님께 더욱 감사하다.
염화미소를 알려준 그리고 보여준 부처들에게도 감사한 하루다.
힘들지만 힘내자. 힘드니까 힘내고 힘들꺼니께 힘내기!
회사와 관련해서는
친구는 역시 친구인게 .니새끼도 문제가 많다고 따끔하게 일침을 가해줬다.
이러니 내 친구지 고맙다 생퀴야
참으로도 과격하게 싸운다.
악을 지르는건 기본에
물건을 때려 부수고,
그나마 손지검은 안하는것 같다.
오늘은 더 크게 더 심하게 싸우는데 알고보니 같은 층이었다.
여자분의 울부짖는 소리와 남자분의 그만두자는 소리. . .
이시간에 나는 왠일로 깨어있다가 저런 소리를 듣게된건지.
만성이되어 그만 무뎌져 원만하게 해결 됐으면 좋겠다.
그래서 마느님께 더욱 감사하다.
염화미소를 알려준 그리고 보여준 부처들에게도 감사한 하루다.
힘들지만 힘내자. 힘드니까 힘내고 힘들꺼니께 힘내기!
회사와 관련해서는
친구는 역시 친구인게 .니새끼도 문제가 많다고 따끔하게 일침을 가해줬다.
이러니 내 친구지 고맙다 생퀴야
Do you wanna hear me?.....................................
모두가 아니라고 하는 길을 걸어 가 보겠다.
2017년 1월 19일 목요일
20170120 5년차 개발자와의 대화
누군가가 해 놓은 개인 프로젝트를 인수인계 받아 버그를 수정하는 상황
- 디비에 필드 하나 추가해서 스트링으로 값 넣고 빼고 하는거 쉽잖아요. 금방 되죠?
= 디비 필드 하나 추가할 때 사이드 이펙트 같은게 있는데 그런거 고려해야 할것 같아요.
쉬운지 안쉬운지는 모르겠어요.
- 아니 그냥 바챠(varchar) 255 주고 필드하나 수정하는데 뭘...
A: 테스트 서버 세팅하는데 얼마나 걸리나?
- 아 그거 아까도 말씀드렸지만 오후 4시면 된다니까요.
당연히 야근하고 다음날 완성됨.
= 10년차인데도 if id == 1 이런식으로 7개의 푸터를 생성해놨네요... 이런건 고쳐야 하지 않을까요?
- 아니 그게 시간이 있어야 고치죠 할것도 많은데
= 저게 계속 늘어날껀데 매번 그냥 추가하실 건가요?
- 그럼 어떻게 해요. 원래 일이란게 그래요. 하나 고치고 하나 고치고 그런식으로 돌아가는 거에요.
.......
나중에 글쓴이 생각이 바뀔 수 있을거에요.
이 회사랑 안맞는거 같은데 빨리 다른데 알아보시고 나가시는게 좋을것 같아요.
......
더 많은 일화가 있지만...
정말 나도 나중에 하루 하나씩 버그나 처리하면서 살게 될까?....
- 디비에 필드 하나 추가해서 스트링으로 값 넣고 빼고 하는거 쉽잖아요. 금방 되죠?
= 디비 필드 하나 추가할 때 사이드 이펙트 같은게 있는데 그런거 고려해야 할것 같아요.
쉬운지 안쉬운지는 모르겠어요.
- 아니 그냥 바챠(varchar) 255 주고 필드하나 수정하는데 뭘...
A: 테스트 서버 세팅하는데 얼마나 걸리나?
- 아 그거 아까도 말씀드렸지만 오후 4시면 된다니까요.
당연히 야근하고 다음날 완성됨.
= 10년차인데도 if id == 1 이런식으로 7개의 푸터를 생성해놨네요... 이런건 고쳐야 하지 않을까요?
- 아니 그게 시간이 있어야 고치죠 할것도 많은데
= 저게 계속 늘어날껀데 매번 그냥 추가하실 건가요?
- 그럼 어떻게 해요. 원래 일이란게 그래요. 하나 고치고 하나 고치고 그런식으로 돌아가는 거에요.
.......
나중에 글쓴이 생각이 바뀔 수 있을거에요.
이 회사랑 안맞는거 같은데 빨리 다른데 알아보시고 나가시는게 좋을것 같아요.
......
더 많은 일화가 있지만...
정말 나도 나중에 하루 하나씩 버그나 처리하면서 살게 될까?....
라벨:
5년차 개발자와 쫄병 이야기
Do you wanna hear me?.....................................
모두가 아니라고 하는 길을 걸어 가 보겠다.
20170129 정말 힘들다고 생각할 때
이직에 성공한지 반년.
다시 이직을 준비하고 있습니다.
면접을 이리저리 다니고 있는데 너무나 듣기 힘든 질문들이 있습니다.
일부로 적지않은 개인 정보를 묻는다던가...
사진이 없으니 여자인줄 알았다는 이야기 등등... ^^;;
음.. 일단 생각나는 것들은...
- 왜 콤퓨타 시작했어용? 전직(?) 했어요?
- xx과 나왔으니까 xx 잘하겠네요?
- 우리 회사 제품 써봤어요?
- 우리 회사에 대해서 조사 하셨나요? 같은 질문들이나...
지인이 면접관인 경우. 내 상황을 알면서도
- 너무 지쳐 보이시네요. 입사하려는 의지가 보이지 않습니다.
- 열정이 부족해 보입니다.
라는 말들을 들었습니다.
머 아무래도 좋습니다.
지난 백수 3개월 기간동안 진짜 힘들어 숨질것 같을 때 열매가 생겼다는 운명론적인 생각으로 버티고 있습니다(이것은 마치 잘 먹었습니다.가 아니라 먹었습니다~! 의 느낌).
암튼 각설하고,
백수일 때도 매우 힘들었고, 일하면서 이직하는 것도 매우 힘들다는걸 느끼고 있습니다.
이직을 꾸준히 시도한게 아니고 회사의 사정상 이직을 준비하기 시작하면서 받은 스트레스도 있고, 길어지는 구직 기간이 더욱 지치게 만들고 있습니다.
어디선가 듣게 된 탈락에 관한 이야기.
탈락하면 내가 부족한게 아니고 회사와 인연이 닿지 않은것이다. 라고 생각하면 됩니다! 라는 이야기.
어디선가 듣게 된 자존감을 살려주는 이야기.
참새가 나뭇가지에 앉을 때에는 나뭇가지가 부러질까 두려워 하지 않는다. 라는 이야기!
최근에 느낀점은
역시 사람을 너무 믿어서 상처를 받는구나...
이젠 그만 믿어야겠다.
인맥없이는 살아가기 힘들구나... 힘들게 살아야지.
그래도 결론은 내 실력이 부족하다는 사실.
덧. 면접볼 때 입사하려는 의지는 어떻게 보여주는 건가 궁금하네요. 그것도 본인이 소개해 주고는.....
노예가 노예를 뽑는것 같은 느낌을 지울수가 없네요. 정말 실망했습니다. 되 묻고 싶네요... 본인들은 정말 간절히 원해서 들어간건지... 에휴 이런글 쓰는게 넘 찌질하네 ㅠㅠ
한국 회사들은 구직자에 대한 폭력이 너무 심해요. 물론 돌맹이 던진 사람은 장난이라고 생각하겠시바.
덧2. 왜 이렇게 자기 회사의 제품 등 뭔가를 써보길 원하는지 모르겠습니다. 저는 그 회사가 뭘 하는지 내일 당장 망하는지 상관 없습니다. 문제를 해결하는 능력이나 방법은 변하지 않고 해당 제품의 문제나 개선을 위한 몸부림은 입사 후 해도 충분하다고 생각하니까요(이래서 다 떨어지는듯 ㅋㅋㅋ).
덧3. 자리에 앉아 있어야 열심히 일하는 거다! 6시에 퇴근하기 눈치보여요 등.... 멀었다는 느낌이 많이 듭니다....
다시 이직을 준비하고 있습니다.
면접을 이리저리 다니고 있는데 너무나 듣기 힘든 질문들이 있습니다.
일부로 적지않은 개인 정보를 묻는다던가...
사진이 없으니 여자인줄 알았다는 이야기 등등... ^^;;
음.. 일단 생각나는 것들은...
- 왜 콤퓨타 시작했어용? 전직(?) 했어요?
- xx과 나왔으니까 xx 잘하겠네요?
- 우리 회사 제품 써봤어요?
- 우리 회사에 대해서 조사 하셨나요? 같은 질문들이나...
지인이 면접관인 경우. 내 상황을 알면서도
- 너무 지쳐 보이시네요. 입사하려는 의지가 보이지 않습니다.
- 열정이 부족해 보입니다.
라는 말들을 들었습니다.
머 아무래도 좋습니다.
지난 백수 3개월 기간동안 진짜 힘들어 숨질것 같을 때 열매가 생겼다는 운명론적인 생각으로 버티고 있습니다(이것은 마치 잘 먹었습니다.가 아니라 먹었습니다~! 의 느낌).
암튼 각설하고,
백수일 때도 매우 힘들었고, 일하면서 이직하는 것도 매우 힘들다는걸 느끼고 있습니다.
이직을 꾸준히 시도한게 아니고 회사의 사정상 이직을 준비하기 시작하면서 받은 스트레스도 있고, 길어지는 구직 기간이 더욱 지치게 만들고 있습니다.
어디선가 듣게 된 탈락에 관한 이야기.
탈락하면 내가 부족한게 아니고 회사와 인연이 닿지 않은것이다. 라고 생각하면 됩니다! 라는 이야기.
어디선가 듣게 된 자존감을 살려주는 이야기.
참새가 나뭇가지에 앉을 때에는 나뭇가지가 부러질까 두려워 하지 않는다. 라는 이야기!
최근에 느낀점은
역시 사람을 너무 믿어서 상처를 받는구나...
이젠 그만 믿어야겠다.
인맥없이는 살아가기 힘들구나... 힘들게 살아야지.
그래도 결론은 내 실력이 부족하다는 사실.
덧. 면접볼 때 입사하려는 의지는 어떻게 보여주는 건가 궁금하네요. 그것도 본인이 소개해 주고는.....
노예가 노예를 뽑는것 같은 느낌을 지울수가 없네요. 정말 실망했습니다. 되 묻고 싶네요... 본인들은 정말 간절히 원해서 들어간건지... 에휴 이런글 쓰는게 넘 찌질하네 ㅠㅠ
한국 회사들은 구직자에 대한 폭력이 너무 심해요. 물론 돌맹이 던진 사람은 장난이라고 생각하겠시바.
덧2. 왜 이렇게 자기 회사의 제품 등 뭔가를 써보길 원하는지 모르겠습니다. 저는 그 회사가 뭘 하는지 내일 당장 망하는지 상관 없습니다. 문제를 해결하는 능력이나 방법은 변하지 않고 해당 제품의 문제나 개선을 위한 몸부림은 입사 후 해도 충분하다고 생각하니까요(이래서 다 떨어지는듯 ㅋㅋㅋ).
덧3. 자리에 앉아 있어야 열심히 일하는 거다! 6시에 퇴근하기 눈치보여요 등.... 멀었다는 느낌이 많이 듭니다....
피드 구독하기:
글 (Atom)