전체 글 69

우아한 테크 프리코스 - 1주차 회고

1 주차를 진행하며 얻어갔던 부분을 마인드 셋과 구현/설계 관점으로 나누어 정리하고자 합니다. 가벼운 일기 형식의 글이라 반말로 진행하는 점 양해바랍니다. 마인드셋 - 완벽이라는 강박 버리기 평소에 나는 완벽한 설계, 클린 코드를 추구 했다. 하지만, 두 가지 계기로 이 생각을 조금 완화해보기로 했다. 첫 번째는 개발자 유튜브 채널인 개발바닥의 클린코딩 하는데 구현을 못 하는 개발자 영상이다. 좋은 설계, 클린 코드를 추구하다보니 생각이 많아지고, 결국 데드 라인까지 구현을 못하는 내용이다. 양질의 소프트웨어는 분명히 고민해야할 요소이지만, 모든 것은 클라이언트의 요구 사항을 마감일에 맞춰 제공할 수 있는 게 기반이 되어야함을 느끼게 되었다. 두 번째는 우테코 입학설명회 QnA 중 좋은 결정을 해야 한다..

카테고리 없음 2023.11.18

맥 OS 자바 JDK 버전 변경하기

해당 글은 여러 JDK 버전을 상황에 맞게 변경하고 싶은 분들을 위한 글입니다. 환경: - 맥 M2 Pro 애플 실리콘 모델 - Open JDK (Julu) 11, 17 사용 Step 1: Open JDK 설치하기 https://www.azul.com/downloads/?version=java-17-lts&os=macos&architecture=arm-64-bit&package=jdk#zulu Core Post Download Get notified every time Azul announces a new release. www.azul.com 위의 링크에서 원하는 JDK 버전, 현재 자기 컴퓨터의 운영체제와 아키텍처 에 맞게 선택해서 다운로드 받으면 됩니다. 저는 M2 애플 실리콘 모델을 사용 중이므로..

개발 2023.10.19

DB 테스트 - Mocking vs. Test DB

서론 DB를 테스트하는 방법은 크게 Mocking, TestDB가 있습니다. Mocking은 실제 DB에 연결하지 않고 DB역할을 하는 가짜 객체에게 요청과 응답을 테스트하는 방법입니다. TestDB는 실제 DB에 연결하고, 테스트용 데이터베이스와 실제 상호작용하며 테스트하는 방법입니다. 어떤 방법으로 DB를 테스트하는게 좋을지가 이 글의 주제입니다. 본론 TestDB의 가장 큰 장점은 DB에 실제로 연결하고, 테스트 데이터를 실제로 넣어보며 상호작용한다는 것입니다. 이는 애플리케이션 환경과 DB서버 환경이 다름에서 발생하는 여러가지 이슈들을 테스트할 수 있습니다. 이와 관련하여, CRUD 게시판 프로젝트를 진행하며, 레포지토리 단위테스트 중 Java와 MySQL의 Timestamp 부정합 오류를 조기에..

개발 2023.09.03

[c언어] 메모리 교환, 스택, 힙

machine code: 0과 1로 컴파일된 코드가 들어감 globals: 전역 변수와 다른 정보들은 machine code 아래 공간에 들어감 heap: 메모리를 할당받을 수 있는 커다란 영역. malloc을 호출하면 메모리를 이 영역에서 가져옴. 동적으로 할당한 변수들이 저장 함수의 지역변수, 파라미터를 저장. 함수를 호출하면, 그 위에 있는 메모리를 사용하는 것. 함수가 호출 될 때, 지역 변수가 쌓이는 공간. main을 호출하면, 메모리 맨 아래(스택)에 main 함수에 해당하는 스택 프레임이라는 공간이 주어진다. 이 공간은 지역변수와 파라미터를 저장하는 공간이다. 즉, main함수 안에 있는 변수, 파라미터는 해당 메모리 영역에 저장된다. main함수가 swap 함수를 호출하면, 해당 함수를 위..

카테고리 없음 2023.06.19

[c언어] 메모리 할당과 해제

메모리 할당 malloc: 메모리 할당 malloc(할당하고자 하는 byte 크기) return: 할당한 메모리의 첫 바이트 주소 (포인터) 메모리 해제 free: 동적으로 할당되었던 메모리를 다시 반환 free(포인터) 프로그램이 더 많은 메모리를 사용할 수 있게 하기 위함. 안하면 메무리 누수 발생. 프로그램이 동작하면서, 점점 메모리가 부족하다면 malloc만 계속 호출하고, 메모리를 해제하지 않았기 때문임. 메모리 누수 찾는 디버깅 도구 valgrind

카테고리 없음 2023.06.19

[c언어] 문자열

문자열 기본 개념 - 문자들의 배열을 의미한다. 정확히는 널종단문자(\0)까지를 포함한 문자들의 배열. - 문자열을 가리키는 변수는 포인터이고, 문자열의 첫 번째 주소를 가리킨다. #include int main(void) { //string is actually char array //name pointer has char array's first address //so, name is just address char *name = "EMMA"; printf("%s\n", name); printf("EMMA's(char array) address: %p\n", name); printf("EMMA's first char address: %p\n", &name[0]); printf("EMMA's secon..

카테고리 없음 2023.06.19