728x90
반응형

전체 글 238

[Visual Studio 2022] C언어 소스코드 하나만 실행하는 법, 프로젝트와 솔루션

C언어를 처음 시작하면 가장 먼저 만날 시련이라고 생각된다. 한 프로젝트에 main 함수는 1개밖에 존재할 수 없다고 오류가 뜨고, 다른 프로젝트를 만들어 실행하니 아까 실행했던 코드만 계속 실행되곤 한다. 해결방법은 main 함수의 이름을 바꾸거나, 빌드에서 제외하거나, 프로젝트에서 제외하거나 등등의 방법이 있지만 현업이 아닌 C언어 문법을 처음 학습하는 입장에서는 이 방법이 제일 편리한 것 같다. 바로 시작 프로젝트로 설정하는 것이다. 실행을 원하는 코드가 있는 "프로젝트"를 우클릭 해서 "시작 프로젝트로 설정" 을 누른다. 그러면 해당 프로젝트가 시작 프로젝트가 되며, 굵은 글씨체로 표시된다. 이렇게 설정한 후 Ctrl+F5 ( 디버깅하지 않고 실행 ) 을 누르면 원하는 코드가 실행될 것이다. 이게..

Development/C 2024.02.07

[크래프톤 정글 5기] 최종합격 후기

크래프톤 정글 5기에 최종합격했다. 12월 초 지원서를 내고 입학과정을 처음 시작할 때 자기소개서, 1분 자기소개영상, 입학시험, 면접이라는 4중 나생문에 잔뜩 쫄아 있었지만 결국 또 어찌저찌 해냈다. 그래서 오늘은 정글 입학과정에 대한 후기를 작성해 보고자 한다. 크래프톤 정글 홈페이지 : https://jungle.krafton.com/main 정글의 커리큘럼은 개발자가 스스로 성장할 수 있게 돕는, 컴퓨터공학(전산학)기초에 중점을 두었다. 도구(프레임워크 등)를 사용하는 법을 배우는 게 아닌, 어떤 도구를 사용하더라도 본인의 역량을 뽐낼 수 있도록 하는 것이 정글의 목표라고 생각한다. 스스로 생각하고, 발전하고, 응용하고. 기계마냥 같은 코드를 뽑아내는 게 아닌 다양한 상황에서 다양한 해결 방법을 ..

업적 2024.02.06

[독후감] 스프링 부트3 백엔드 개발자 되기: 후기, 스프링 부트 교재

평점: 1/5도서명: 스프링 부트 3 백엔드 개발자 되기 "책"이라는 객체에게 기대되는 기본도 안 되어 있는 책. 책을 끝까지 완독 후 후기를 작성하려 했으나 다른 일정과 겹쳐서 마지막 Git 버전관리와 AWS 배포 부분은 읽지 못했다.그러나 시간이 나더라도 굳이 다시 펼쳐서 끝까지 읽고 싶지는 않은 마음이고...완독하지 못했더라도 가장 중요한 웹사이트는 끝까지 만들어 보았으니 짧은 후기를 쓸 정도는 된다고 생각한다. 독자의 수준이나 기초지식에 따라서 책에 대한 견해가 달라질 수 있으니 나를 설명하겠다.- 정보보안 전공, 보안과 관련된 지식과 네트워크, 서버, 웹 등 기초 CS지식정도 보유.- JAVA, Python 기초문법 숙지한 상태.- "개발"을 해본적은 한번도 없다. 개발 공부는 이 책이 처음. ..

독서/IT 2024.01.15

[독후감] 이것이 자바다: 이것이 자바다 완독 후기, 자바 교재 추천

평점: 5/5도서명: 이것이 자바다 10월 중순부터 읽기 시작한 이것이 자바다 교재를 드디어 완독했다.자바의 신, 자바의 정석 등등 다른 교재도 고민을 했었지만 난 이것이 자바다를 선택했다.아직까지 주기적으로 신간이 나오기도 하고, 다른 "이것이 시리즈"를 좋게 읽었기 때문에 선택한 것도 있다. 1000p 가까이 되는 매우 두꺼운 책이다. 너무 두껍다고 쫄지 말자. 안에 든 내용은 정말 알차고 버릴게 하나도 없다.책이 너무 두꺼워 빨리 완독하고 싶은 마음에 상대적으로 덜 중요한 부분은 그냥 스킵하려고 했지만..정말 버릴 부분이 하나도 없어서 그러지 못했다. 난 본래 정보보안 전공이고 모의해킹 분야로 진출하려고 했지만 지금은 백엔드 개발자를 지향하며, 이제 막 개발 공부를 시작한 상태이다. 처음부터 인터넷..

독서/IT 2023.11.20

[2023.10.07 3회] 정보처리기사 합격 후기 + 합격률

2023년 3회 정보처리기사 실기 합격률 : 17% 약속대로 합격 소식과 후기를 들고 왔다. 기다리고 기다리던 결과발표가 이뤄졌다. 결과는 예상했던 대로, 당연히 합격. 정확히 60점을 예상했는데, 의외로 UNION 문제가 전원 합격 처리되어 5점이 올라 65점을 받았다. 나는 구조체 답안 ->를 →로 붙여 써서 혹여나 답 인정이 되지 않을까 걱정했지만 답안 인정이 되었고, 만약 안 되었더라도 UNION문제 덕분에 합격이 되었을 상황이긴 했다. 근데 난 합격 문자를 SMS로 받고싶어서 일부러 큐넷에서 수신동의를 해놨었는데 문자가 오지 않았다. 그래서 아침에 결과 확인하기 전에 살좀 떨렸다. 떨어져서 안 오는건가 싶어서.. 보안기사 때도 안오고, 처리기사때도 안오고. 분명 수신동의를 항상 해 두는데 왜 안..

업적 2023.11.16

스프링 입문 - 회원 서비스 테스트

회원 서비스 개발에 이어, 개발한 회원 서비스를 테스트할 차례다. 테스트를 수행할 MemberService에서, Ctrl + Shift + T를 누르고, Create New Test를 누른다. 그러면 이런 창이 뜬다. 테스트 클래스 이름도 본래 클래스 이름에 Test만 붙여서 자동으로 작성해 준다. 내가 테스트하고 싶은 메소드를 아래에서 체크해서 OK를 누른다. 그러면 이렇게 테스트에 필요한 틀을, 적절한 위치(경로)에 아주 쉽게 만들어준다. 일단 만들어진 테스트가 문제가 없는지, 현재 상태에서 바로 한번 돌려본다. 다행히 문제는 없다. 본격적으로 테스트 케이스를 작성해 보기 전에, 잠깐 MemberService로 가보자. 기존 코드를 변경해서, 이렇게 생성자를 통해 외부에서 리포지토리를 주입받도록 변경..

스프링 입문 - 회원 서비스 개발

도메인, 리포지토리를 만들었으니 서비스를 만들 차례이다. hello.hellospring.service 패키지를 만들고, service 패키지 아래에 MemberService 클래스를 만들자. 서비스는 리포지토리와 함께 동작해야 하니, 미리 만들어두었던 리포지토리 객체를 만들어 주자. 회원가입 메소드인 join이다. member 객체를 매개변수로 받아서 리포지토리에 저장하고, 저장한 객체의 Id를 리턴한다. 단, 중복된 name을 가진 회원은 가입할 수 없도록 검증하는 과정이 있다. 바로 밑에 선언해둔 validateDuplicateMember가 중복을 검사하는 메소드이다. name을 기준으로 리포지토리에서 회원을 찾아서, 해당 회원이 이미 존재한다면 "이미 존재하는 회원입니다" 예외를 출력하고 메소드는..

스프링 입문 - 회원 리포지토리 테스트 케이스 작성

개발한 코드가 잘 동작하는지 확인하기 위해서는, 테스트 케이스를 작성하여 확인해야 한다. 자바는 JUnit 이라는 프레임워크를 제공하여, 테스트를 효율적으로 실시할 수 있게 해준다. 우선 테스트 케이스를 작성할 패키지를 만들어 주자. 주의해야 할 점은, 앞서 코드를 작성했던 "Main" 디렉터리 밑이 아닌 그 아래에 있는 "test" 디렉터리 아래에 만들어야 한다는 점이다. test 디렉터리 밑에서, hello.hellospring.repository 패키지를 만들어 주자. repository 패키지 아래에 MemoryMemberRepositoryTest 클래스를 만들어 주자. 우리는 MemoryMemberRepository를 테스트할 것이기 때문에, 뒤에 Test만 붙여서 생성하는 것이다. 테스트 클래..

스프링 입문 - 회원 도메인과 리포지토리 만들기

우선, 도메인을 구현할 패키지인 hello.hellospring.domain 패키지를 만들자. domain 패키지 하위에, Member 클래스를 만들자. 그리고 위와 같이 도메인 역할을 할 Member 클래스를 작성해 주자. 비즈니스 요구사항에서, 데이터는 회원ID, 이름 2가지였다. 그 역할을 해줄 id, name 필드를 선언하고 getter setter를 작성한 것이다. 다음은 repository 패키지를 만들어 주자. repository 패키지 하위에, MemberRepository "인터페이스"를 만들자. 위와 같이 인터페이스를 작성해주자. 여기서 구현을 할 수는 없고, 추상 메소드 4개를 선언했다. 이것은 MemoryMemberRepository라는 구현 클래스에서 구현할 것이다. reposit..

스프링 입문 - 비즈니스 요구사항 정리

본격적으로 개발을 하기 앞서, 우선 비즈니스 요구사항을 정리해야 한다. 복잡한 비즈니스 로직을 배우는 것이 아닌, 스프링이 어떻게 돌아가는지를 이해하기 위함이므로 가장 쉬운 비즈니스 요구사항을 택할 것이다. 일반적인 웹 애플리케이션 계층 구조는 이렇다. 컨트롤러: 웹 MVC의 컨트롤러 역할 서비스: 핵심 비즈니스 로직 구현. 도메인을 이용한 서비스, 기능, 로직 그 자체를 의미 리포지토리(저장소): 데이터베이스에 접근하고 도메인 객체를 DB에 저장하고 관리함. 도메인: 비즈니스 도메인 객체. 회원, 주문, 쿠폰 등등. DB에 저장되고 서비스로써 이용될 것들. 비즈니스 요구사항 데이터: 회원ID, 이름 기능: 회원 등록, 조회 아직 데이터 저장소가 선정되지 않은 상태라는 가정 ( 어떤 DB를 사용할지 정해..

728x90
반응형