본문 바로가기

전체 글286

나의 퇴사 이유 2년 8개월 동안 일했던 회사에서 스타트업으로 이직했습니다. 아무것도 모르고, 비전공자인 저를 받아준 고마운 회사였지만 개발자의 성장에 도움이 되지 않는 여러 상황들에 불만을 갖게 되었습니다. 1. 기술 부채 모든 인프라와 기술들이 회사 창업 시기와 비슷한 기술로 구성되어 있었습니다. 그보다 더 심각한 건 개선의 의지조차 없었다는 것입니다. 이미 수년의 테스트를 통해 안정화된 제품인데 굳이 건드리려고 하지 않았습니다. 팀에서 개발 총괄을 맡으신 분이 그나마 개선의 의지를 갖고 계셔서 함께 열심히 팀을 바꿔보려 했지만, 라이브러리 버전 업데이트도 주저하는 팀원들에게 CI/CD 도입이나 최신 프레임워크는 당연히 용납되지 않았습니다. 2. 코드 리뷰 저는 팀장님에게 계속 팀 세미나와 코드 리뷰를 해야한다고 주.. 2020. 7. 25.
[Javascript] window.open left,top에 음수값 window.open(URL, name, specs, replace) specs parameter에 'height=600,width=1000,left=300,top=200' string으로 open 할 page의 width, height, left, top 등을 설정할 수 있습니다(w3schools 참고). 원하는 위치에 page를 open 하기 위해서 left와 top을 계산해서 설정하기도 합니다. 이때 주의할 점이 있습니다. window.open의 specs에 left, top은 음수가 들어갈 수 없다는 점입니다. 듀얼 모니터(더블 모니터) 사용 환경에서 main 모니터가 오른쪽이고, sub 모니터가 왼쪽일 때, 왼쪽 모니터의 띄워진 페이지의 screenLeft를 확인해보면 음수가 되는데 이때 win.. 2020. 1. 11.
[virtual box] 업데이트 후 verr_open_failed 에러 oracle virtual box 업데이트 후 verr_open_failed 에러 발생 시 1. C:\Program Files\Oracle\VirtualBox\drivers\vboxdrv 경로로 이동 2. VBoxDrv.inf 오른쪽 클릭 후 install(설치) option 클릭 3. command 관리자 권한으로 실행 후 아래 커맨드 입력 sc start vboxdrv 4. 그래도 안 될 경우 재부팅 대부분 3번에서 끝났는데 최근 업데이트에서 4번까지 하게 되는 경우가 많아지고 있는 것 같습니다. 2019. 10. 6.
[c#] DateTime class 이용해서 날짜 가져오기 DateTime 클래스를 이용해서 현재 날짜를 가져와 보도록하겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 using System; public class Program { public static void Main() { var today = DateTime.Today; var day = DateTime.Now; var firstDayOfMonth = new DateTime(today.Year, today.Month, 1); var lastDayOfMonth = firstDayOfMonth.AddMonths(1).AddDays(-1); Console.WriteLine(today + " , " + day); Console.WriteLine(firstDayOfMonth +.. 2019. 10. 3.
[Javascript] insertAdjacentHTML Element의 내용을 추가하여 입력할 때 항상 innerHTML을 이용했습니다. document.getElementById('div1').innerHTML += '[HTML string]';​ 하지만 innerHTML의 경우 가끔 자식 Elements의 Event handler에 영향을 끼친다고합니다. 저의 경우에는 입력했던 HTML string 안에 element의 clientHeight, clientWidth이 0이 되는 문제가 발생했습니다. insertAdjacentHTML를 사용한다면, 다른 Element에 영향을 끼치는 것을 방지할 수 있습니다. document.getElementById('div1').insertAdjacentHTML('beforeend', '[HTML string]'); b.. 2019. 1. 6.
[Javascript] Vanilla JS 팀 내에서 개발된 라이브러리로 신제품 개발을 시작했습니다.하지만 성능이 라이브러리를 사용하기 전보다 괜찮게 나오지 않았습니다.jQuery를 주로 사용하는 라이브러리였기 때문에 성능에 관련된 정보를 찾아 jQuery 홈페이지를 찾아봤습니다. jQuery 홈페이지 에서 성능을 향상 시킬 수 있는 몇가지 방법을 소개하고 있습니다.열심히 적용해 봤지만 Append 관련 정보는 꽤 효과가 있었지만 나머지는 미비한 성능 향상을 가져왔습니다. ㅜㅜ 그렇게 열심히 성능 향상을 위해 구글링하던 중 Vanilla JS 라는 프레임 워크를 알게 되었습니다 (Vanilla JS 홈페이지).Vanilla JS 홈페이지에 들어가보면 아래와 같이 다른 JS 라이브러리와 비교하며 엄청난 Performance를 가졌다는 것을 보여주고.. 2018. 12. 10.
[ORACLE] Sequence 값 수정하기 소스코드 성능 확인을 위해 Insert문으로 데이터를 대량으로 바로 DB에 넣었습니다. 그리고 다시 제품 상에서 테스트를 하면서 데이터를 추가하는 순간 아래 에러가 발생했습니다. ORA-00001: Unique Constraint violated 앞서 한꺼번에 Insert했던 데이터의 key 값과 Sequence 현재 값과 중복되어 에러가 발생했습니다. 예를 들어, Sequence의 nextval이 13인 상태, key가 1 ~ 12 데이터가 들어있는 테이블에 수동으로 3개의 데이터를 넣어주면, key가 1 ~ 15 인 데이터가 들어있는 테이블이 됩니다. 이때 코드에서 Sequence의 nextval로 key가 13인 데이터를 Insert하게 되면 이미 key가 13인 데이터가 존재하므로 에러가 발생합니.. 2018. 12. 3.
[JavaScript] Polyfill 사용하기(Feat. padStart()) 다른 팀원의 PC에서는 잘 동작하는 코드가 제 PC에서는 에러가 발생했습니다. 디버깅을 해보니 padStart()에서 에러가 발생하고 있었습니다. var binaryNum = '110'; var result = binaryNum.padStart(4, '0'); console.log(result); 저는 IE로, 팀원은 Chrome으로 디버깅을 하고있었기 때문에 금방 원인을 발견하지 못했습니다. IE에서는 지원하지 않는 Method 였습니다. Can I Use? 라는 홈페이지에서 브라우저 별로 지원하는 Method인지 확인할 수 있습니다. 위 링크를 클릭하면, padStart(), padEnd()는 IE에서 지원하지 않는다는 것을 확인할 수 있습니다. 이렇게 지원하지 않는 Method를 사용할 수 있도록 .. 2018. 11. 10.
[Excel] 한 칼럼의 데이터 한 문자열로 나타내기 엑셀은 어디서나 많이 쓰게 되는 것 같습니다. 사용하다 보면 한 문자열로 나타내고 싶은 경우가 있습니다(마치 String.Join 처럼요). 1. Office Online에서는 TEXTJOIN 함수를 이용하면 된다고 합니다.2. CONCATENATE, TRANSPOSE를 이용하는 방법이 있습니다. 두 번째 방법을 알려드리겠습니다.먼저 TRANSPOSE를 다음과 같이 지정하고, &와 함께 separator를 입력합니다.그리고 F9 키를 누릅니다(F9 키는 함수의 결과를 볼 수 있습니다).여기서 마지막 원소의 separator와 중괄호를 제거합니다. 마지막으로 CONCATENATE 함수로 문자열을 이어주면 끝! 모르고 범위지정을 잘못했네요;; 그래도 같이 들어간 2칸이 null이니깐 결과에는 영향은없습니다. 2018. 11. 2.