일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- vite
- 커널 동기화
- 쉬운 코드
- 운영체제와 정보기술의 원리
- 시그널 핸들러
- CPU 스케줄링
- 갤럭시 S24
- Git
- SDK
- 백엔드
- 인터럽트
- B tree 데이터삽입
- 코딩테스트 [ ALL IN ONE ]
- 온디바이스AI
- 쉬운코드
- 개발남노씨
- 반효경
- 김영한
- 시스템프로그래밍
- 트랜잭션
- Extendable hashing
- BreadcrumbsComputer-Networking_A-Top-Down-Approach
- SQL
- recoverability
- concurrency control
- 데이터베이스
- 코딩애플
- 프로세스 주소 공간
- 운영체제
- 네트워크
- Today
- Total
목록백엔드 (11)
티끌모아 태산

스프링 부트란보통 스프링부트 프로젝트를 만들 때, 위 사이트에서 설정을 하고 다운받아 IDE에서 Open을 통해 실행하게 된다. 스프링부트란 자바 웹 프로그램을 더욱 쉽고 빠르게 만들기 위한 도구이다. 새로운 기술이라기 보다는 스프링 프레임워크를 개선한 것이다.개발 환경 설정 간소화: 외부라이브러리를 최적화해 제공하기 때문에 사용자가 직접 연동할 필요가 없다. (스프링은 버전에 따라 동작하는 외부 라이브러리를 일일 찾아 연동해야 한다.)웹 애플리케이션 서버 내장: 스프링 부트는 웹 애플리케이션 서버(WAS: Web Application Server)인 톰캣을 가지고 있다. 따라서 웹 서비스를 jar 파일로 간편하게 배포할 수 있다. 스프링 부트 개발 환경 설정JDK(Java Development Kit,..

✅CI/CD란?CI/CD란 Continuous Integration, Continuous Deployment라는 의미를 갖고 있다. 쉽게 말해 CI/CD는 테스트(Test), 통합(Merge), 배포 (Deploy)의 과정을 자동화하는 걸 의미한다. CI/CD를 왜 배울까?예를들어, 서버를 AWS EC2에 배포하고 운영하다보면 코드 수정 혹은 새로운 기능을 추가하는 일이 많아진다. 그러면 새로운 기능에 대한 코드를 작성한 후 Commit을 한다. 그런 뒤 브런치에 Merge를 하고 배포를 한다. 배포를 할 때, 직접 수동으로 컴퓨터 서버 (ex. AWS EC2)에 접속해서 새로운 코드를 다운받아 실행시켜야한다. 이 과정을 새로운 기능 추가 또는 코드의 수정이 일어날 때마다 반복하기란 너무 귀찮은 일이다..

✅배포란(Deployment)?배포란 내가 만든 서비스를 다른 사용자들이 인터넷을 통해서 사용할 수 있게 만드는 것을 의미한다. 쉽게 말해 우리가 만든 웹 페이지나 서버를 다른 사람들이 사용하려면 인터넷 상에 배포가 돼있어야한다. 보통 자신의 컴퓨터에서 개발을 할 때는 'localhost' 라는 주소로 테스트도하고 개발을 한다. 하지만 이 localhost는 다른 컴퓨터에서 접근이 불가능한 주소다. 그렇기 때문에 배포를 하게되면 고유의 IP주소나 도메인 주소를 부여받게되고, 다른 컴퓨터에서 그 주소로 접속할 수 있게 된다. 따라서 어떤 서비스를 완성했으면, 그것을 다른 사용자들이 사용할 수 있도록 배포를 해줘야한다. ✅EC2(Elastic Compute Cloud)란 무엇인가? EC2란 쉽게 말해 컴퓨터..

객체 지향 프로그래밍객체지향 프로그래밍은 컴퓨터 프로그램을 객체들의 모임으로 보는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. (협력) 그리고 프로그램을 유연하고 변경 용이하게 만든다. 즉, 레고 블록 조립하듯이 개발을 할 수 있다. 다형성(Polymorphism)객체 지향 프로그래밍의 가장 핵심적인 특징은 다형성이다. 다형은 역할과 구현을 분리시킨다. 아래 그림과 자동차의 역할과 자동차의 구현을 분리시킨다. 다형성의 본질은 클라이언트를 변경하지 않고, 서버의 구현 기능을 유연하게 변경할 수 있다는 것이다. 역할과 구현을 분리클라이언트(운전자)는 역할(인터페이스)만 알면 된다. 즉, 인터페이스를 구현하는 K3, 아반떼, 테슬라 모델3의 세부적인 내부 구조를 몰라도 된다. 클라이언..

다형성을 왜 사용하는지 그리고 장점은 무엇인지 알아보자. 위와 같은 객체들이 있고, sound() 함수를 정의했다고 하자. 이때, 개, 고양이, 소 말고 다른 동물을 추가하면 어떻게 될까? 새로운 클래스를 만들고 sound() 함수를 정의해야한다. 하지만 그렇게 될경우 중복되는 부분이 존재하게 된다. 그러면 중복되는 부분을 어떻게 제거할 수 있을까? 메서드 또는 배열? 안된다. 개, 고양이, 소 모두의 타입이 서로 다르기 때문에 중복되는 부분을 제거할 수 없다. 그렇다면 Dog, Cat, Caw가 모두 같은 타입을 사용할 수 있다면 메서드와 배열을 활용해서 코드의 중복을 제거할 수 있다는 것이다. ❗다형성의 핵심인 다형적 참조와 메서드 오버라이딩을 활용하면 Dog, Cat, Caw가 모두 같은 타입을 사..

좋은 개발자가 되기 위해서는 다형성에 대한 이해가 필수다. 다형성(Polymorphism)은 말 그대로 "다양한 형태", "여러 형태"를 뜻한다. 보통 하나의 객체는 하나의 타입으로 고정된다. 그런데 다형성을 사용하게 되면 하나의 객체가 여러 타입으로 사용될 수 있다. 다형성을 이해하기 위해서는 다형적 참조와 메서드 오버라이딩이라는 핵심 이론을 알아야 한다.다형적 참조다형적 참조의 핵심은 부모는 자식을 품을 수 있다는 것이다. ex1) 부모 타입의 변수가 부모 인스턴스 참조Parent -> Parent: parent.ParentMethod()부모 타입의 변수가 부모 인스턴스를 참조한다.Parent parent = new Parent();Parent 인스턴스를 만들었다. 부모 타입인 Parent를 생성했기..

상속이란 기존 클래스를 재사용하여 새로운 클래스를 작성는 것이다. 상속은 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다. 상속을 사용하려면 extends 키워드를 사용하고 extends 대상은 하나만 선택할 수 있다. 부모 클래스 (슈퍼 클래스): 상속을 통해 자신의 필드와 메서드를 자손 클래스에 제공하는 클래스.자손 클래스 (자식 클래스): 부모 클래스로부터 필드와 메서드를 상속받는 클래스상속은 부모의 기능을 자식이 물려받는 것이다. 따라서 자식은 부모의 기능을 물려 받아서 사용하고 있다. 하지만 부모 클래스는 자식 클래스에 접근할 수 없다. 자바는 다중 상속을 지원하지 않는다. 따라서 extends 대상은 하나만 선택할 수 있다. 즉, 부모는 여러개의 자..

해당 포스터는 인프런 김영한님의 강의를 듣고 정리한 내용입니다. 꾸준히 노력하여 '더 나은 코드를 작성하기 위해 고민하고 공부하는 사람'이 됩시다.객체 지향Q1. 객체 지향에 대해서 설명해 보세요.더보기객체지향은 현재 가장 널리 사용되고 있는 프로그래밍 방법론으로 추상화와 다형성이 핵심입니다. 그리고 추상화와 다형성은 인터페이스로 연결되는데, 인터페이스 없이 애플리케이션을 개발하면 클라이언트 코드가 구체적인 클래스에 의존하게 됩니다. 그렇게 되면, 하나의 클래스가 변경되면 다른 클래스도 계속해서 변경해 줘야 하는 문제가 생깁니다. 이런 문제를 해결하기 위해 클라이언트 코드가 구체적인 클래스가 아니라 인터페이스에 의존해야 합니다. 결국 객체지향은 클라이언트 코드와 구체적인 클래스 모두 인터페이스에 의존하게..

✅기본형과 참조형자바에서 참조형을 명확하게 이해하는 것은 매우 중요하다. 기본형(Primitive Type): int, long, double, boolean 처럼 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입이다. 참조형(Reference Type): Student student1, int[] students 와 같이 데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입을 참조형이라고 한다. 참조형은 객체 또는 배열에 사용된다.쉽게 말해, 기본형 변수에는 직접 사용할 수 있는 값이 들어있지만 참조형 변수에는 위치(참조값)가 들어가 있다. 그렇기 때문에 참조형 변수를 통해서 뭔가 수행하기 위해서는 결국 참조값을 통해 해당 위치로 이동해야 한다. // 기본형 대입, 사칙 연산 가능int a = ..
객체지향언어코드의 재사용성이 높다: 새로운 코드를 작성할 때, 기존의 코드를 이용하여 쉽게 작성 가능.코드의 관리가 용이하다: 코드간의 관계를 이용해서 쉽게 코드를 변경할 수 있다. 코드의 중복을 제거한다. 따라서 객체지향언어는 프로그램 개발과 유지보수에 드는 시간과 비용을 획기적으로 개선하는데 도움을 준다. 클래스와 객체클래스: 객체를 정의해 놓은 것 즉, 객체를 생성하는데 사용. -> "객체의 설계도 또는 틀"객체: 클래스에 정의된 내용대로 메모리에 생성된 것.클래스와 사용자 정의 타입타입은 데이터의 종류나 형태를 나타낸다. 따라서 int 라고하면 정수 타입, String이라고 하면 문자 타입니다. 그럼 Student라는 타입을 만들 수 있나? YES 클래스를 통해 가능! 즉, 클래스를 사용하면 in..