신입 개발자 3주 차 : 풀스택 개발자로 살아남기
·
일상
오늘로 풀스택 웹앱 개발자로 첫 직장에 입사한 지 정확히 3주가 됐습니다.입사 전만 해도 직장인으로 살아가는 나의 모습이 그려지지 않았는데,어느덧 매일 아침 회사에 출근하고, 코드를 짜고, 코드리뷰를 하는 일상이 자연스러워지고 있어요.저처럼 취업 준비를 하면서 막막해하거나,이제 막 개발자의 길을 걷기로 마음먹고 고민하는 분들에게 조금이라도 현실적인 도움이 되고 싶어서,그리고 지금 제 마음 가짐을 잊지 않기 위해서.그래서 제가 어떤 준비를 해서 입사를 하게 됐는지,짧지만 지금까지 회사 생활을 하면서 어떤 일을 겪고 느꼈는지,솔직한 이야기를 써보려고 합니다.💻 3주 동안 내가 한 일1️⃣ 개발 환경 셋업과 코드에 적응하기입사 첫 날, OJT를 간단하게 마치고 , 제 자리의 회사 컴퓨터를 켜고 개발 환경 구..
[정보처리기사 실기] C언어 - (2)
·
📜 Certs
1. 숫자 변환 함수 (atoi, atof, strtol 등)정보처리기사 실기에서 문자열과 숫자 변환 문제도 출제될 가능성C 언어에서는 문자열을 숫자로 변환할 때 atoi, atof, strtol, strtod 등의 함수를 사용합니다. atoi() - 문자열 → 정수 변환#include #include int main() { char str[] = "1234"; int num = atoi(str); // "1234" → 1234로 변환 printf("변환된 정수: %d\n", num); // 출력: 변환된 정수: 1234 return 0;}📝 주의점atoi()는 문자열에 숫자가 아닌 문자가 포함되면 예측할 수 없는 값을 반환할 수 있음."123abc" 같은 문자열을 변환하면 12..
[정보처리기사 실기] C언어 - (1)
·
📜 Certs
최근에는 JSP 구조적 이해와 MVC2 패턴에 대해 집중적으로 공부하면서, Servlet과 JSP 컨트롤러·뷰 간의 유기적인 통신 흐름을 파악하고, DAO 구현(Impl)과 Service 계층에서의 역할 분담이 어떻게 진행되는지 꼼꼼히 살펴보고 있습니다.또한 JavaScript와 jQuery의 문법을 보다 탄탄히 다져서 실무에 적용할 수 있는 커스텀 함수(common)를 구상하고 로직을 체화하기 위해 노력 중입니다.반가운 소식으로 지난달 첫째 주에 시행된 정보처리기사 필기시험을 꽤 높은 점수로 합격했고, 그 기세를 이어 실기시험도 한 번에 붙겠다는 목표로 열심히 달리고 있습니다.1. C언어란?C언어는 시스템 프로그래밍부터 임베디드, 각종 응용 소프트웨어 개발에 이르기까지 폭넓게 사용되는 프로그래밍 언어입..
JavaScript & jQuery 기본 개념 정리
·
📖/JavaScript
1. JavaScript 기초 개념1-1. JavaScript 변수 선언 방식JavaScript에서 변수를 선언하는 방식은 var, let, const가 있습니다.1. var함수 스코프(function scope)를 가짐재선언 및 재할당 가능Hoisting(호이스팅) 발생 (변수 선언이 코드의 최상단으로 끌어올려짐)var name = "Alice";console.log(name);2. let블록 스코프(block scope)를 가짐재선언 불가능하지만 재할당 가능let age = 25;age = 26; // 가능console.log(age);3. const블록 스코프(block scope)를 가짐재선언 및 재할당 불가능const pi = 3.14;// pi = 3.1415; // 오류 발생console...
JSP Cookie , Session , Error page , Action Tag - 입사 전 리마인드
·
🗄️ Backend/JSP
JSP 쿠키, 세션, 에러 페이지, 액션 태그 정리JSP 개발을 하면서 자주 사용하게 될 쿠키(Cookie)와 세션(Session),  에러 페이지 처리, JSP 액션 태그에 대해 살펴보겠습니다.페이지 전환 시 많이 사용되는 forward와 sendRedirect의 차이점도 함께 정리해보았습니다.현업에서 JSP/Servlet 기반으로 개발할 때 한 번씩 꼭 짚고 넘어가야 할 부분들이니, 참고하면 좋을 것 같습니다.쿠키(Cookie) - Local1) 개요HTTP 프로토콜은 요청-응답이 끝나면 웹 브라우저와의 연결을 끊습니다.이렇게 상태가 유지되지 않는(Stateless) 특성을 보완하기 위해, 쿠키라는 방식을 사용합니다.쿠키는 서버에서 생성되지만, 데이터는 클라이언트(Local) 측에 저장됩니다.서버는 ..
JSP와 Servlet 기초 정리 - 입사 전 리마인드
·
🗄️ Backend/JSP
이번 포스팅에서는 실무에서 JSP와 Servlet을 바로 사용해야 하는 상황을 대비해, JSP/Servlet의 기본적인 사용법과 핵심 개념을 정리해보려 합니다. JSPJSP 특징동적 웹 어플리케이션 컴포넌트로, 자바 코드를 사용 가능파일 확장자는 .jsp클라이언트의 요청에 따라 동적으로 작동 후, 최종 응답은 HTML 코드로 전달JSP는 웹서버(WAS)에서 자동으로 Servlet으로 변환되어 동작MVC 패턴에서 View 역할로 주로 사용JSP 태그의 개념 이해Servlet은 java 언어를 이용하여 문서를 작성하고, PrintWriter 객체를 통해 HTML 코드를 삽입JSP는 이와 반대로 HTML 코드 안에 java 코드를 삽입하여 동적 문서를 작성HTML 코드 안에 자바 코드를 삽입하기 위해서는 JS..
[트러블슈팅] Nginx 설정 문제 및 Redirect URI Mismatch 에러 해결
·
🗄️ Backend/Security
🚨 1. 에러 메시지 및 문제 상황1️⃣ Nginx 설정 문제 (nginx: configuration file test failed)에러 메시지nginx: configuration file /etc/nginx/nginx.conf test failed문제 상황nginx -t 명령어 실행 시 설정 파일이 올바르게 로드되지 않음.nginx.conf 또는 sites-available/hjwjo.com 설정 파일의 문제일 가능성 높음.SSL 인증서 접근 권한 문제로 인해 fullchain.pem 또는 privkey.pem을 읽지 못함.2️⃣ Redirect URI Mismatch (KOE303)에러 메시지{ "error": "invalid_grant", "error_description": "Redi..
GCP를 활용한 PostgreSQL/ SQL Server 구축
·
🗄️ Backend/GCP
https://dev.hjwjo.com/49 GCP에서 Oracle DB 생성 및 연결 가이드이 가이드는 Google Cloud Platform(GCP)에서 Oracle 11g Database를 설정하고 외부에서 연결하는 과정을 정리한 문서입니다.특히 발생했던 문제들과 해결 방법을 포함하여, GCP 환경에서 Oracle Database를 처음dev.hjwjo.com 1. GCP의 300$ 크레딧 활용GCP는 새로운 사용자를 대상으로 90일간 300$ 크레딧을 제공합니다. 단기적인 프로젝트나 테스트 환경을 구축할 때 비용적으로 매우 유리합니다. AWS RDS 프리티어도 있지만, 여러 개의 RDS를 운영하기엔 비용 부담이 커지므로 GCP를 활용해 효율적으로 데이터베이스를 구축할 수 있습니다.GCP는 Comp..
Spring과 Spring Boot의 차이점
·
🗄️ Backend/Spring
이번 포스팅에서는 Spring과 Spring Boot의 차이점에 대해 정리해보려고 합니다.1. Spring Framework란Spring Framework는 오랜 기간 Java 개발자들 사이에서 사랑받아온 경량 프레임워크입니다. 주요 특징은 다음과 같습니다.DI(Dependency Injection)와 IoC(Inversion of Control):객체 간의 의존 관계를 직접 생성하지 않고 스프링 컨테이너가 관리해드림으로써 코드 결합도를 낮추고 테스트를 용이하게 합니다.AOP(Aspect Oriented Programming):로깅, 트랜잭션 관리, 보안과 같은 공통 기능을 분리하여 모듈화할 수 있도록 지원합니다.유연한 설정:XML, 어노테이션, 자바 기반 설정 등 다양한 설정 방식을 제공하지만, 이로 ..
🧪백준 4948 - 베르트랑 공준
·
📊 Algorithm
Tier : Silver 2자연수 n이 주어지면, n보다 큰 소수 중에서 2n 이하에 있는 "소수의 개수"를 구하는 문제입니다.입력값 최대 n은 123,456, 2n은 최대 246,9122부터 246,912까지의 소수를 모두 찾으면 됩니다.https://dev.hjwjo.com/48 🧪백준 1929 - 소수 구하기https://www.acmicpc.net/problem/1929백준(BOJ) 사이트에 들어간 게 정말 오랜만이네요.최근에 바쁘다는 핑계로 알고리즘 문제 풀이에서 많이 멀어졌던 것 같습니다.이제부터라도 하루에 한 문제씩 가벼운dev.hjwjo.com에라토스테네스의 체(Sieve of Eratosthenes)를 이용해 쉽게(?) 문제를 풀 수 있습니다.import java.io.*;import ..
🧪백준 4195 - 친구 네트워크
·
📊 Algorithm
Tier : Gold 2각 친구를 정수 인덱스로 매핑한 후, find 메서드로 루트를 찾고, union 메서드로 두 네트워크를 합칩니다.경로 압축과 union - size 기법을 사용하여 효율적으로 구현하였습니다.import java.io.*;import java.util.*;public class Main { // 각 친구 네트워크의 대표와 모임의 크기를 저장하는 배열 static int[] parent, size; // find : 친구 네트워크의 대표(그룹의 시작)를 찾는 함수 static int find(int a) { // a가 자기 자신이면 대표이므로 a를 반환 // 아니면, a의 대표를 찾아서 a의 부모로 저장하고 반환 ret..
[정보처리기사] 정보 시스템 구축 관리 - 5과목 정리
·
📜 Certs/정보처리기사
1. 소프트웨어 개발 방법론 활용1) 소프트웨어 개발 방법론(1) 구조적 방법론정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화처리 중심의 방법론60년대까지 가장 많이 적용된 방법론목적: 쉬운 이해, 검증 가능한 프로그램 코드 생성분할과 정복 기법 사용(2) 정보공학 방법론계획, 분석, 설계, 구축에 정형화된 기법을 상호 연관성 있게 통합·적용자료 중심대규모 정보 시스템 구축에 적합(3) 컴포넌트 기반 방법론이미 만들어진 컴포넌트를 조합하여 하나의 애플리케이션 완성컴포넌트 재사용으로 유지보수 비용 최소화, 생산성과 품질 향상새 기능 추가가 간단하므로 확장성 보장절차개발 준비분석설계구현테스트전개인도2) 소프트웨어 재사용정의이미 개발된 소프트웨어를 다른 소프트웨어 개발에 사용하는 것품질과 생산성을..
데이터베이스 키 정리 : 기본키/슈퍼키/후보키/외래키
·
🗄️ Backend/SQL
데이터베이스에서 자주 등장하는 키(Key)들의 개념을 보다 쉽게 설명하기 위해 작성한 글입니다.슈퍼키, 후보키, 기본키, 대체키, 외래키, 복합키의 정의와 예시를 간단히 살펴볼 예정이니, DB 입문자분들께 도움이 되었으면 좋겠습니다.유일성과 최소성키(Key)를 이해하기 전에 반드시 알아야 할 두 가지 중요한 성질이 있습니다.유일성(Unique): 하나의 키 값으로 튜플(레코드)을 유일하게 식별할 수 있어야 함.즉, 키 값이 중복되지 않아야 합니다.최소성(Minimality): 키를 구성하는 속성 중에 꼭 필요한 최소한의 속성만으로 구성되어 있어야 함.즉, 불필요한 속성을 제거해도 여전히 유일성이 보장된다면, 그 불필요한 속성은 키 구성에서 빼야 합니다.예시로 ‘학생 구별자’가 [학생번호, 이름, 성별] ..
Spring Boot 아키텍처 : Entity, DTO, Repository, Service, Controller 흐름과 활용
·
🗄️ Backend/Spring
Spring Boot를 이용해 웹 애플리케이션이나 API 서버를 개발하다 보면, 다양한 계층(layer)과 개념을 마주하게 됩니다. 특히 Entity, DTO, Repository, Service, Controller는 가장 기본적이면서도 필수적인 구성 요소입니다.이 글에서는 이 다섯 가지의 역할과 상호 연관관계 전 과정의 흐름을 파악할 수 있도록 구성했습니다.목차Entity: DB 테이블과 1:1 매핑되는 핵심 도메인 객체DTO: 계층 간 데이터 전송을 위한 객체Repository: DB 접근 로직을 담당하는 계층Service: 비즈니스 로직을 담당하는 계층Controller: 웹 요청/응답을 처리하는 계층전체 흐름과 연관관계예시 프로젝트 구조실전 예제 코드마무리 및 정리1. Entity개념Entity..
[정보처리기사] 프로그래밍 언어 활용 - 4과목 정리
·
📜 Certs/정보처리기사
1. 서버 프로그램 구현1) 배치 프로그램(Batch Program)상호작용 없이 여러 작업을 일련/일괄적으로 처리필수 요소대용량 데이터 처리 가능자동화: 사용자 개입X견고성: 데이터 이상으로 중단 X안정성/신뢰성: 오류 추적 가능성능: 다른 프로그램 방해X, 지정된 시간 내 처리2. 프로그래밍 언어 활용1) C/C++데이터 타입 크기, 기억 범위문자char(1)unsiged char(1)정수short(2)int(4)long(4)long long(8)실수float(4)double(8)long double(8)구조체데이터 집합체, 자료형을 만드는 것struct으로 정의struct sawon { char name[10]; char position[10]; int pay;};2) Java데이터 타입 크기, 기..