반응형
연결리스트
자료 구조/알고리즘2024. 11. 22. 13:07연결리스트

출처 : https://www.youtube.com/watch?v=K1PlysPgNZY&t=20s1. 선형 구조란?자료 구조의 분류구조설명종류선형 구조데이터를 연속적으로 연결한 자료 구조리스트, 스택, 큐, 데크비선형 구조데이터를 비연속적으로 연결한 자료 구조트리, 그래프리스트2. 연결리스트란?개념연속된 노드(Node)의 연결체데이터를 감싼 노드를 포인터로 연결해서 공간적인 효율성을 극개화시킨 자료 구조노드(Node)연결리스트에서 사용되는 하나의 데이터 덩어리이며, 데이터 & 링크이 2가지의 필드를 담고 있는 구조data : 노드가 담고 있는 데이터/값, 문자열, 숫자 등등 원하는 값을 넣고 저장next : 링크/ 포인터 역할, 다음 노드의 주소를 저장양방향 연결 리스트의 경우 prev 포인터(이전 노드..

에러가 무섭지 않게 되는 책 : 1장 에러가 왜 무서울까?
독서2024. 11. 21. 13:10에러가 무섭지 않게 되는 책 : 1장 에러가 왜 무서울까?

코드가 작동하지 않는 상황에 발생하는 에러는 크게 두 가지로 나눌 수 있다. 에러를 읽는 것만으로도 해결할 수 있는 문제와 원인 파악이 필요한 문제다.1. 에러를 읽지 않게 되는 이유01. 이유 1 : 에러가 영어라서에러에 대해서는 자신이 없는 사람도 많다. 에러를 대하는 마음가짐을 바꾸는 것이다. 에러를 읽지 않게 되는 이유는 가장 큰 것이 에러가 영어로 표기되기 때문편하게 에러를 읽을 수 있는 포인트를 찾기!코드 양이 적은 것은 바로바로 읽자1) 간단한 문법 지식만 있으면 OK영어가 능숙하지 않은 사람이라면 일상 회화 수준의 영어를 당장 익히는 것은 어렵지만 에러 내용을 읽는 것은 그렇게 어렵지 않다는 것!에러는 문장의 형식이 정해져 있으므로 사용하는 단어도 한정적이다.X is not definded..

카드 발동 제네릭 와일드카드?(feat. 이펙티브 자바)
프로그래밍 언어/Java2024. 11. 20. 13:07카드 발동 제네릭 와일드카드?(feat. 이펙티브 자바)

이펙티브 자바 스터디를 하고 있는데, 2주전까지의 파트는 제네릭이었음 보통 Controller 짤 때 Map에 때려 넣는 곳이 진짜 많은데 Map이랑 같이 제네릭을 많이 쓰는 것 같음그래서 한 번 공부하면 머리에 남지도 않으니 제네릭에 대한 것 전부 다 정리해보자 그리고 코틀린에서는 겸사겸사 제네릭 어떻게 쓰는지, 있는지도 알아보자.1. 제네릭을 알아보기 전, 공변과 불공변에 대해 알아보자.배열은 공변이고, 제네릭은 불공변이다.공변은 자기 자신과 자식 객체로 타입 변환을 허용해주는 것이다.🍂 먼저, Java 타입 계층 구조 알아보기Object가 최상위 클래스Java의 모든 클래스는 Object를 직접 또는 간접적으로 상속받는다. 이는 모든 참조 타입이 Object 타입으로 취급될 수 있음을 의미한다.S..

2023년 11월 회고록
경험/주니어 개발자 1년차 성장2024. 11. 19. 17:512023년 11월 회고록

✍️ 11월 회고 무엇을 했는가?벌써… 2023년에 마지막 달인 12월이다.. 나이가 들수록 시간은 빨라지는 느낌이다.이번달에는 많이 한 것이 없지만 회고를 쓰면 다음달에 뭘 할지에 대한 윤곽이 잡히고 성찰의 계기가 잘되기 때문에 11월에 대한 회고도 작성중이다..다이어트는 bad 🙅🏻 + 2kg생활 패턴 무너지고 날씨가 추워지니까 건조해지고 두드러기가 심해져서 요즘 너무 몸이 가렵다….이렇게 되니까 약속 있거나 아르바이트 아니면 안나가게 된다… 걷기를 좋아해서 여름에는 살이 잘 빠졌는데.. 그리고 과자절제가 안된다 ㅠㅠㅠ 다시 잘 다짐해보자… 원상복구 해보자!!!!!!밥을 차라리 많이 먹겠다 다짐...github 정리 다시 시작 중 soso 🔺포트폴리오를 위한 이전 프로젝트 정리와 cs 스터디 하..

역할분담 및 요구사항 정의서 작성
경험/KDT 국비 시절 기록2024. 11. 18. 10:48역할분담 및 요구사항 정의서 작성

이 글은 2023년도 9-10월에 kdt 국비에서 한 팀프로젝트를 다시 정리한 내용입니다.1. 사이트 이름 확정[9월 5일]로고 작업 완료내가 아이디어 냄!(a대신 e인데 오타)2. 기능 정의 수정 및 역할분담1차 역할 분담(도훈 금주)피그마 디자인 나랑 팀장이 하기로 했다.이번주 내로 틀만 잡기로..Topic sation : 민성 새별 지오 아진2차 역할 분담 : 구현SIGN IN : 새별,민성,금주로그인로그인 (비회원일 경우 축제/행사 안내 기능만 사용 가능)비밀번호 찾기 (입력받은 ID확인 후 비밀번호 재설정 페이지로 이동)보안적인 부분이 필요하다는 조언! (소셜 로그인 및 SSO)회원가입IDPW (비밀번호는 6~12자리 숫자 + 영어조합)닉네임회원 정보 수집 (성별 , 관심사항 , 나이대 , 사는..

필독 개발자 온보딩 가이드 2장
독서2024. 11. 15. 13:52필독 개발자 온보딩 가이드 2장

필독 개발자 온보딩 가이드을 읽고 정리하는 글이며, 혹시 문제가 되면 삭제하겠습니다.역량을 높이는 의식적 노력 - 경쟁자가 갖춘 개발자가 되기 위해 스스로 해야 할 일1. 들어가며학습을 위한 가르침이라는 책에서 능숙함을 4가지 단계로 나누어 의미 했다.1. 무의식적 능력 부족2. 의식적 능력 부족3. 의식적 능숙4. 무의식적 능숙모든 엔지니어는 의식적이든 무의식적이든 능력 부족 단계에서 시작하며, 목표는 최대한 빨리 의식적 능숙 단계로 접어드는 것이 좋다.또한 이 장에서 자기주도 학습이라는 습관 방법과 균형 유지, 가면 증후군, 더닝 크루거 효과에 대해서도 다룬다.스스로에 대한 불신이나 과신에 빠지지 않도록 주의하며 자기주도 학습을 계속하고 효율적인 질문을 하다 보면 의식적 능숙함을 빠르게 갖출 수 있을..

구현 알고리즘
자료 구조/알고리즘2024. 11. 14. 09:04구현 알고리즘

📚 아이디어를 코드로 바꾸는 구현피지컬로 승부하기 ⇒ 프로그래밍 언어의 문법에 능숙하고 코드 작성 속도가 빠른 사람구현 : 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정구현 문제 유형은 모든 범위의 코딩 테스트 문제 유형을 포함하는 개념라이브러리 사용 경험을 익숙하게 하자📝 알고리즘을 풀 때 과정생각해낸 문제 풀이 방법을 우리가 원하는 프로그래밍 언어로 정확히 구현프로그래밍 언어의 문법을 정확히 알고 있어야 함📝 문제 해결 분야에서 구현 유형의 문제란?풀이를 떠올리는 것은 쉬우나 소스코드로는 옮기기 어려운 문제알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제실수 연산을 다루고, 특정 소수점 자리까지 출력해야 하는 문제적절한 라이브러리를 찾아서 사용해야 하는 문제📝 구현의 유형완전 탐색 : 모..

필독 개발자 온보딩 가이드 1장
독서2024. 11. 13. 13:14필독 개발자 온보딩 가이드 1장

읽게 된 계기트위터를 시작했다. sns는 잘 안했는데 트렌드를 읽고 좋은 개발자분들이 트위터에서 활동을 많이 하기에 개발용으로 1개의 계정을 만들었다. 거기서 추천하는 책들 중에 시니어 개발자의 잔소리랑 실무에 대해서 알 수 있다고 해서 교보문고에 가서 구매했다. 아직 2장까지 밖에 못 읽었는데 재미있고 모르는 내용도 알게 되어 잊지 않고 자주 보기 위해 적어보고자 작성하게 되었다.혹시 문제가 있다면 삭제하겠습니다![1장] 여정을 시작하며, 개발자로서 첫 출발 앞으로 어떤 길이 펼쳐질까?📌 목표를 세우자1. 기술 지식컴퓨터 과학의 기초 지식을 갖추자🍀 통합 개발 환경(IDE), 빌드 시스템, 디버거, 테스트 프레임워크 등을 어떻게 사용하는지 알아여 하며, 지속적 통합, 지표 및 모니터링, 설정, 패키..

멀티스레딩, 멀티프로세싱, 멀티프로그래밍과 스레드를 많이 쓸수록 항상 성능이 좋을까..?
개발지식/CS 지식2024. 11. 12. 10:26멀티스레딩, 멀티프로세싱, 멀티프로그래밍과 스레드를 많이 쓸수록 항상 성능이 좋을까..?

멀티스레딩과 멀티프로세싱, 스레드에 대해 알아보자🥕 사전 배경 지식1. 프로그램컴퓨터가 실행할 수 있는 명령어들의 집합2. 프로세스컴퓨터에서 실행 중인 프로그램각각의 프로세스는 독립된 메모리 공간을 할당 받음명령어들과 데이터를 가진 집합3. CPU명령어를 실행하는 연산 장치4. 메인 메모리프로세스가 CPU에서 실행되기 위해 대기하는 곳5. IO(input/output)파일을 읽고 쓰거나 네트워크의 어딘가와 데이터를 주고 받는 것입출력 장치와 데이터를 주거나 받는 것🥕 단일 프로세스 시스템의미한 번에 하나의 프로그램만 실행단점CPU 사용률이 좋지 않음P1이라는 것이 CPU에서 작업을 하다가 I/O 작업을 하는 동안에는 CPU가 놀고 있음🥕 멀티 프로그래밍의 등장과 특징단일 프로세스의 해결책여러 개의 ..

[KDT 국비, 멀티캠퍼스]핵심 기능 추가 및 삭제 우선순위 분류
경험/KDT 국비 시절 기록2024. 11. 11. 13:33[KDT 국비, 멀티캠퍼스]핵심 기능 추가 및 삭제 우선순위 분류

이 글은 2023년 9-10월에 했던 멀티캠퍼스 팀프로젝트 과정 정리한 것입니다.1. 핵심 기능 정리 ver1(9월 4일)SIGN IN로그인로그인 (비회원일 경우 축제/행사 안내 기능만 사용 가능)비밀번호 찾기 (입력받은 ID확인 후 비밀번호 재설정 페이지로 이동)회원가입IDPW (비밀번호는 6~12자리 숫자 + 영어조합)닉네임회원 정보 수집 (성별 , 관심사항 , 나이대 , 사는지역) >> 이 데이터로 추천시스템 적용로그아웃My Page회원정보프로필 사진 설정 (사진이 없을 경우 기본 이미지 처리) 및 수정자기소개(짧은 소개글) + 관심사 표시! 및 수정매너 지수 (= 당근마켓 온도)찜한 행사메세지 보내기내가 속한 소모임회원정보수정 (PW변경)회원탈퇴 (비밀번호 입력 후 회원탈퇴! 회원 정보 전부 삭제..

의존성 주입 3가지 방법 - (생성자 주입, Field 주입, Setter 주입)
스프링입문2024. 11. 10. 20:37의존성 주입 3가지 방법 - (생성자 주입, Field 주입, Setter 주입)

Spring은 @Autowired 어노테이션을 이용한 다양한 의존성 주입(DI; Dependency Injection) 방법을 제공한다. 의존성 주입은 필요한 객체를 직접 생성하는 것이 아닌 외부로부터 객체를 받아 사용하는 것으로 이를 통해 객체간의 결합도를 줄이고 코드의 재활용성을 높일 수 있다.@Autowired 는 Spring에게 의존성을 주입하는 지시자 역할로 쓰인다.의존성 주입을 해야 하는 이유Test가 용이해진다.코드의 재사용성을 높여준다.객체 간의 의존성(종속성)을 줄이거나 없앨 수 있다.객체 간의 결합도를 낮추면서 유연한 코드를 작성할 수 있다.의존성 주입의 3가지 방법1. 생성자 주입(Constructor Injection)@Controllerpublic class CocoControll..

스프링 빈을 등록하는 두 가지 방법(@Component, @Bean)
스프링입문2024. 11. 9. 16:09스프링 빈을 등록하는 두 가지 방법(@Component, @Bean)

🔗 출처 : https://dev-coco.tistory.com/69Bean이 뭘까?먼저 Bean을 이해하기 위해 스프링 컨테이너(=IoC 컨테이너)에 대해 알 필요가 있다.자바 어플리케이션은 어플리케이션 동작을 제공하는 객체들로 이루어져 있다. 이때, 객체들은 독립적으로 동작하는 것보다 서로 상호작용하여 동작하는 경우가 많다.이렇게 상호작용하는 객체를 객체의 의존성이라고 표현한다.스프링에서는 스프링 컨테이너에 객체들을 생성하면 객체끼리 의존성을 주입(DI)하는 역할을 해주며, 스프링 컨테이너에 등록한 객체들을 빈(Bean)이라고 한다.스프링 컨테이너에 Bean을 등록하는 2가지 방법1. 컴포넌트 스캔과 자동 의존관계 설정스프링 부트에서 사용자 클래스를 스프링 빈으로 등록하는 가장 쉬운 방법은 클래스 ..

반응형
image