여러가지 이유가 있겠지만(고졸, 학원 출신, 나이, 얼어붙은 시장 등등), 수십 개 이력서에도 서류 합격 연락이 전무하다가, 면접이 갑자기 몰려 잡혔다. 첫 면접은 을지대에서 봤는데, 정말 오랜만에 대학에 가니 기분이 좋았다. 학생 시절로 돌아간 것도 같고..
면접 경험이 많지는 않지만 어쨌거나 면접을 보면 가장 즐거운 점은 내가 어디에서 얼마나 부족한 사람인지를 깨닫게 되는 부분이다. 내가 생각 이상은 db쪽으로 많이 부족했구나 느끼고 왔다. 알고 있는 부분인데 말하지 못한 부분도 있고(어차피 똑바로 몰라서 못 말한 거지만), 아예 처음 들어본 개념도 있었다. (pl/sql 같은 부분). 실제 일을 한다면 다른 부분도 그렇지만 db공부를 열심히 해야지.
그리고 spring boot 공부도 따로 많이 해야할 것 같다. spring framework는 사용 가능하지만 spring boot나 전자정부 프레임워크는 사용하지 않았어서 그 차이를 좀 메꿀 수 있게 공부해야 할 것 같다.
면접 끝나고 조금 창피한 부분이 있어서. 교보문고 들려 책 한 권을 사왔다. '데이터 중심의 어플리케이션 설계'. 노마드 코더가 추천한 책인데 너무 어렵고 원론적인 책 같아서 미루어두었던 책인데, 천천히 읽고 공부해야할 것 같아서 샀다. 책 값 참 비싸다.
이전에도 시도했지만 잘 안 됐는데 책을 요약해서 블로깅하는 것도 괜찮을 것 같다. 요즘은 책을 읽다보면 머리에 집어넣지 않고 습관적으로 활자만 흘려보내는 경우가 잦아서 억지로라도 정리를 해야할 필요가 있어보인다.
아니 근데 왜 새 책인데 구겨져있는지..
SQL을 확장한 절차적 언어를 의미한다. 프로시저를 통합한 sql이며 변수, 상수 등을 선언할 수 있고 예외 처리 또한 가능하다.
더 상세한 정리는 따로 페이지를 빼어 공부해야할 것 같다. 좀 더 깊게 들어간 개념
데이터베이스에서 데이터가 저장되는 공간. 실제 db 구성할 때 제일 처음한 일이 계정 생성, 권한 부여, 테이블스페이스 생성 등이었는데, 관습적으로 만든 뒤에 다시 안 들여다보기도 했고, 개념적으로 공부할 때 대충 넘어가서 바로 대답을 못했다. 공부를 대충 하면 이런 일이 벌어진다.
전자정부프레임워는 dao단에서 전자정부프레임워크에서 만들어 둔 dao를 꼭 extends하여 구현한다. 전자정부프레임워크는 spring 기반의 가공된 2차 프레임워크로 정부 프로젝트의 게시판 모양, 기능 등을 미리 설정한 프레임워크라고 생각하면 된다.
pl/sql의 대표적인 구조. 개발자가 자주 실행해야 하는 업무를 미리 작성해 db내에 저장해두었다가 필요할 때마다 호출하여 사용할 수 있게 만든 것. 내부에서 if, while문 등을 사용할 수 있다.
CREATE [OR REPLACE] procedure 프로시져명
IN argument -- 입력 파라미터
OUT argument -- 출력 파라미터
IN OUT argument -- 입출력 파라미터
IS
[변수의 선언]
BEGIN --> 필수
[PL/SQL Block]
-- SQL문장, PL/SQL제어 문장
[EXCEPTION] --> 선택
-- error가 발생할 때 수행하는 문장
END; --> 필수
이 부분에서 헷갈렸는데, 분명 프로시져를 실행시킨 기억은 있는데 직접 프로젝트 과정에서 내가 만들어 쓴 기억은 없었다. 생각해보니 교육 과정에서 나누어준 sql문에 프로시져가 쓰여서 봐둔 적이 있었는데 이 부분에서 착각을 한 듯.
예제를 보면서 대충 어렴풋이 이해는 가겠지만 실제로 사용을 해보지 못하니 어떻게 쓰이는지 뚜렷하게 느껴지지 않는 게 사실이다.
너무 좋은 글이네요. 공유해주셔서 감사합니다.