본문 바로가기

이직을 위한 공부 계획 현재 삼성중공업 자회사에서 일하고 있습니다. 환경이나 일 자체가 나쁘지는 않지만 원래 하고 싶은 일이 웹이여서 계속 웹 생각이 납니다. 개발자를 직업으로 선택한 이유 또한 웹이였구요. 그리고 결정적으로 회사 경영 상황이 힘들엊ㄱ고.. 읍읍 가고 싶은 회사는? 1. 우아한 형제들2. 카카오3. 라인 결정할 때 고려한 사항은 아래와 같습니다. 1. 사용자를 위한 플랫폼 서비스를 운영중인가?2. 개발을 위한 노력(코드리뷰, 클린코드, TDD)을 하는가?3. 기술자를 중요하게 생각하는 회사인가? 저는 항상 자사에서 서비스를 하는 기업을 가고 싶었습니다. 현재 세계의 공룡 기업들은 대부분 플랫폼을 선점하려 합니다. 아마존, 구글, 유튜브, 페이스북 등 대충 생각나는 기업들만 적어도 플랫폼 선점 효과를 누리고 있는..
SQL 튜닝을 공부중입니다 2 강의를 들을 수록 이건 한달 만에 할 수 있는 분량이 아니라는 생각이 듭니다. 일단 지금까지 수강한 목차는 아래와 같습니다. 1. 인덱스2. 결합 인덱스3. 옵티마이저4. 실행 계획5. 테이블 실행 계획6. SORT, IN/OR7. 기타 실행 계획 줄여서 이 정도이고 내용으로 펼치면 더 많고 익숙하지 않은 내용이다보니 정리가 전혀 되지 않습니다. 제가 지금껏 하던 SQL튜닝이 인덱스 설정과 실행 계획, 힌트의 사용 정도라면 이 강의에서는 근본적으로 어떤 방식으로 실행 계획이 생성되는지부터 특정 상황에서는 어떤 실행 계획을 사용하는 것이 효율적인가까지 굉장히 세세하게 가르치고 있습니다. 때문에 한 강의를 들었을 때 나오는 텍스트양만 해도 거의 100줄 정도는 가볍게 나옵니다. 양만 많으면 상관이 없는데 이..
트러블 슈팅 - C# path 트러블 상황동료분이 3일 정도 고민하던 문제가 있었는데 동료분의 연차로 인해 제가 이 문제를 이어받게 되었습니다. (1번, 2번은 어떻게 해결이 된 상황이었습니다) dll을 추가하였고 dll 안에서 또 다른 프로그램을 실행해서 웹서비스를 통해 다시 경로값을 string 배열로 리턴해주는 구조였습니다. 서버에 올려서 사용해야 했기 때문에 디버깅이나 오류 메세지를 보기도 힘든 상황이었는데 값의 리턴이 성공할 때도 있고 실패할 때도 있었습니다. 트러블 원인 및 해결1. 서버에서 dll 안에 또 다른 프로그램 접속(웹서비스 포함)시 방화벽 문제2. 서버에서 폴더 접근 권한 문제3. System.IO.File.ReadAllBytes() 는 .(dot)으로 확장자를 구분하던 문제 (1번, 2번은 해결된 상황이었고 ..
SQL 튜닝을 공부중입니다 '권순용의 실전 SQL 튜닝'에 대해서 공부중입니다. 어디서 많이 봤던 이름이라고 생각했었는데 구루비에서 활동하시는 유명한 분이셨습니다. 이 강의를 듣게 되면 DB를 기본적으로 사용하면서 개념적으로만 알고 있던 것들. 또한 막연히 알고 있던 것들에 대해 분명히 알 수 있게 됩니다. 현재까지 공부하며 알게 된 부분은 아래와 같습니다. 1. 해당 쿼리에 사용되는 테이블의 내용을 대략적으로라도 알고 있어야 한다.2. 인덱스는 많은 고려가 필요하다.3. 실행 계획을 명확히 사용할 줄 알아야 한다. 위 세 가지 사항만 고려하더라도 많은 성능 향상이 있을 것으로 예상합니다. 제가 현재 맡고 있는 업무 중에는 다른 곳에서 제공하는 쿼리를 튜닝하여 필요한 데이터를 받아오는 배치가 있는데 이 업무시에 사용되는 쿼리 중 ..
ORA-00054 리소스가 사용 중이어서 NOWAIT가 지정되었거나 시간 초과가 만료된 상태로 획득합니다 오류문구ORA-00054 리소스가 사용 중이어서 NOWAIT가 지정되었거나 시간 초과가 만료된 상태로 획득합니다ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired 원인현재 리소스가 사용 중이라서 대기중인 상태라 응답을 할 수 없는 상황입니다. 주로 락이 걸려 있는 테이블에 접근할 시 나오는 오류 문구입니다. 아주 드문 경우로 대량의 데이터에 대한 쿼리를 수행할 때 발생하기도 합니다. 해결 방법1. Commit 혹은 Rollback을 실행가장 간단한 방법으로 대기중인 자원을 해제시켜줍니다. 2. 락이 걸린 테이블을 찾아 해제먼저 아래의 쿼리로 락이 걸린 테이블을 찾습니다. 12345678910SELECT O.OBJECT..
SQL 작성 규칙 SQL 작성시 준수사항1. 읽기 편리성 - 들여쓰기, 작성 형식 등을 통일하여 가독성을 향상2. 성능 보장 - 실행 계획을 통한 SQL 성능 보장3. 네이밍 준수 - 테이블 이름, 컬럼, 기본키 등 규칙에 맞추어 생성4. 일관적인 작성 - 대소문자 등 모든 SQL에 대해 일관성 유지 줄바꿈의 중요성12345678-- 한 줄SELECT 카드번호 FROM 거래 WHERE 거래일 = '20180906'; -- 여러 줄SELECT 카드번호FROM 거래WHERE 거래일 = '20180906'; Colored by Color Scriptercs 들여쓰기123456SELECT 카드번호FROM (SELECT 카드번호, 거래일자 FROM 거래 WHERE 지역 = '서울')WHERE 거래일자 = '20180906'ORDE..
비전공 학원 출신 개발자 1년 회고록 오늘로 딱 만 1년인데 비전공 학원 출신 개발자로 굉장히 운이 좋았다. 삼성중공업 연구소에서 가장 잘 나가는 부서(내 기준)에서 좋은 PM과 좋은 프로젝트들을 만났고 사내에 훌륭한 선배님들 덕분에 정말 많은 걸 배울 수 있었다. 현재까지의 기술 스택- C#, JAVA, Python, WebService, Oracle DB, MySql DB, Git, SVN- html, css, Javascirpt 주업무- RESTful API(RESTful WebService) 제작 - Batch 프로그램 제작 및 관리- C# Winform- 쿼리 개발 및 튜닝 향상된 점- 문제 해결 능력- 검색, 질의 능력- 커뮤니케이션 능력- 이해력- 영어 실력- 문서 작성 능력- 체력, 턱걸이(0 -> 28) 부족한 점- 알고리즘..