전체 글 87

#1. 3년차 SI개발자/주니어의 방황의 시작 그리고 이직(switch jobs)

2년 동안 프로젝트를 수행하면서 어떤 것을 배웠습니까? 2023년 새해가 밝았다. 모든 사람이 그렇듯 새해에는 많은 다짐을 하게 된다. 나의 새해목표는 "이직을 위한 태동기"라는 키워드로서 시작하려고 한다. 처음엔 내가 다니는 회사만 그런 줄 알았다. 아직 몰라서 그렇다고 생각했다. 존버는 성공한다는 말처럼 버티면 배우는 것이 있을 거라고 확신했다. 하지만 이런 생각은 일부는 맞고 일부는 틀렸던 것이다. 어쩌면 나도 현실과 타협하며 조금의 여유를 즐겼는지도 모른다. 열심히 살았다고 생각했던 마음이 흔들리는 순간 방황은 시작되었다. SI 회사에서 2년 동안 일하면서 경력에 비해 꽤 많은 프로젝트를 수행했다. 하지만, 수행했던 프로젝트에서 무엇을 배웠는지 질문했을 때, 개발자로서도 스스로도 대답할 수 없었다..

Life.log 2023.01.02

[Firebase] VSCode(Visual Studio Code) Terminal 설정변경 PowerShell to cmd, npm 실행안됨

VSCode에서 Node.js를 설치 후 아무런 설정 변경 없이 npm 명령어를 실행했을 때 오류를 해결했던 방법입니다. firebase를 통해 웹서비스를 간단하게 만들어보려고 환경을 세팅했다. 우선 VScode를 처음 설치한 직후 npm install -g firebase-tools@9.12.1 를 실행하여 설치를 시도하였다. 하지만.. 내가 마주하게 된 결과는 ERR! 404... 처음 IDE를 설치하고 아무것도 안 했는데 왜 안 되는 건지 당황스러웠지만.. 차근차근 하나씩 되짚어보기로 한다. 우선, explore에서 아무 경로에 디렉터리 설정을 해도 된다 해서 D:드라이브에 설정하였던 것이 문제였다. Node.js는 D:드라이브에 설치해두고, npm으로는 C:드라이브에서 Node.js를 찾으라고 명..

개발.log/firebase 2022.12.20

[ORACLE] PL/SQL(Procedural Language/SQL)이란?

DataBase 하면 Oracle. 거의 수식어처럼 말하게 되는 것 중 하나이다. 여느 때와 다름없이 프로젝트를 수행하던 중 Oracle이라는 PL/SQL을 처음 듣게 되었다. PL/SQL 이란? SQL을 확장한 절차적 언어(Procedural Language) 관계형 데이터베이스에서 사용되는 Oracle의 표준 데이터 액세스 언어이다. 쉽게 말해 SQL의 단점을 보완한 SQL의 확장판이라고 말할 수 있다. PL/SQL은 블록형 구조를 가지고 있으며 스스로가 컴파일 엔진을 포함하고 있다. 또한 DML과 Query문, 절차형 언어(IF문, LOOP) 등을 사용하여 절차적 프로그래밍이 가능한 강력한 트랜잭션 언어이다. 장점 및 사용하는 이유 PL/SQL의 특징 중 하나인 블록형 구조가 주목받는 이유는 다수의..

개발.log/database 2022.12.16

성적처리 프로그램 - index 값으로 평균, 석차 구하기

파이썬을 이용한 성적처리 프로그램 알고리즘 배경 3명의 학생들은 각각 중간고사와 기말고사 점수를 가지고 있다. 이 두 개의 점수를 가지고 개인의 석차를 알아보려고 한다. 석차는 두 가지 시험 점수(중간고사, 기말고사)의 평균으로 계산한다. 필수 조건 * 학번, 이름, 중간고사 점수, 기말고사 점수를 입력받아 처리해야 한다. * Score 클래스형 객체를 생성한다. * 생성자 매개변수를 활용해야 한다. 구현 포인트 최대한 석차를 간단하게 구하기 위해 자체 인덱스 값을 석차로 활용한 예제이다. 핵심은 딕셔너리를 활용하여 key와 value로 이름과 점수를 mapping 해주어 index를 활용하는 것이다. 이때, 생각해봐야 할 문제로는 딕셔너리를 리스트화 하여야 index에 접근할 수 있다는 것이 포인트이다..

프레임워크(Framework)와 라이브러리(Library)의 차이는? - 1탄

학부 때부터 프레임워크는 느낌으로는 뭔지 알겠으나 명확하게 설명할 수는 없었다. 단순히 프레임워크는 뼈대다. 이걸 왜 이해 못 해?라고 할 수 있겠지만 놀랍게도 나에겐 2년간 와닿지 않는 의미였기에 이번 포스팅을 통해 확실하게 정리하고자 한다. 이번 프로젝트에서는 springboot 프레임워크를 쓰고... jquery 라이브러리 사용해서... 그래서 둘 차이가 정확하게 뭐예요? 쉽게 말해 우리가 프로젝트를 구성할 때를 생각해보자. 처음 이클립스나 스프링을 켜서 [File]-[New]-[Maven Project]로 프로젝트를 생성하고 Group Id부터 Artifact Id 등 많은 것들을 하나씩 지정하고 만들게 된다. 이때, 만약 같은 패턴의 프로젝트를 만들어야 한다면 위와 같은 과정을 반복하며 같은 구..

[Mybatis] XML태그 <choose>, <when>, <otherwise>로 동적쿼리 Dynamic SQL 구현하기

자바 인터페이스 Mapper를 통해 쿼리를 구현할 때, 파라미터를 그대로 바인딩해서 사용해야 더 효율적인 쿼리를 구현할 수 있다. 왜냐면... 수정할 때 하나 바꾸면 다 바뀌는 게 좋잖아요? 개발자는... 같은 코드를 반복하지 않지 :) 구조 및 사용법 쿼리1 쿼리2 쿼리3 쿼리4 쿼리5 태그는 태그와 함께 사용되며, 조건을 여러 번 작성할 수 있다. 실행 시 태그의 조건식을 순서대로 확인하며 쿼리문을 실행하게 된다. 만약 태그의 조건 식중 true 반환한 것이 없다면 태그 내에 작성된 쿼리문이 실행된다. 태그는 생략 가능하다. 적용 예제 XML AND TISTORY_CODE = '*' AND TISTORY_CODE = '1' AND TISTORY_CODE = '0' ORDER BY BASE_YMD My..

#0. 처음쓰는 블로그 : 첫번째 이야기

나의 가치를 브랜딩(Branding) 하다. Si 2년 차 주니어 개발자, 개발자로서 나의 가치를 찾았는가? 이 해답을 찾기 위해 블로그를 시작하게 되었다.  동기부여예민하고 트렌드에 민감하게 반응해야 하는 개발환경은 개발자에게 늘 숙제를 던져준다. 하지만 자의 반, 타의 반 어느새 현실에 안주하며 시간은 지나고 있다. 곧, 3년 차를 앞둔 이 시점에서 초심으로 돌아가 처음 나의 열정을 떠올려보자.나를 표현하는 정확하고 직관적인 방법솔직히 2년 동안 내가 모르는 부분에 대해 깊이 파고들려고 하지 않았다. 남들에게는 ‘개발자’라고 불리지만 실상은 그 이름의 가치가 있었는지는 의문이다.체득한 나의 재료악명 높은 SI라도 분명 배울 점은 있었다. 체득한 것을 체화하지 않으면 속 히말 해 줘도 못 먹은 게 되는..

Life.log 2022.11.23