일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BreadcrumbsComputer-Networking_A-Top-Down-Approach
- 백엔드
- concurrency control
- Git
- 운영체제
- 개발남노씨
- SQL
- 코딩애플
- 쉬운코드
- vite
- 코딩테스트 [ ALL IN ONE ]
- 인터럽트
- 트랜잭션
- 반효경
- Extendable hashing
- recoverability
- 네트워크
- 온디바이스AI
- 시그널 핸들러
- 갤럭시 S24
- 운영체제와 정보기술의 원리
- 김영한
- B tree 데이터삽입
- SDK
- 커널 동기화
- 시스템프로그래밍
- 프로세스 주소 공간
- 데이터베이스
- CPU 스케줄링
- 쉬운 코드
- Today
- Total
목록분류 전체보기 (265)
티끌모아 태산

스프링 부트란보통 스프링부트 프로젝트를 만들 때, 위 사이트에서 설정을 하고 다운받아 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 대상은 하나만 선택할 수 있다. 즉, 부모는 여러개의 자..

문제 설명H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과에 따르면, H-Index는 다음과 같이 구합니다.어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다.어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요.제한사항과학자가 발표한 논문의 수는 1편 이상 1,000편 이하입니다.논문별 인용 횟수는 0회 이상 10,000회 이하입니다.입출력 예 입출력 예 설명이 과학자가 발표한 논문..

문제 설명정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다.n행 n열 크기의 비어있는 2차원 배열을 만듭니다.i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다.1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다.1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다.새로운 1차원 배열을 arr이라 할 때, arr[left], arr[left+1], ..., arr[right]만 남기고 나머지는 지웁니다.정수 n, left, right가 매개변수로 주어집니다. 주어진 과정대로 만들어진 1차원 배열을 return 하도록 solution 함수를 완성해주세요.❗제한사항1 ≤ n ≤ 1070 ≤ ..

문제 설명XYZ 마트는 일정한 금액을 지불하면 10일 동안 회원 자격을 부여합니다. XYZ 마트에서는 회원을 대상으로 매일 한 가지 제품을 할인하는 행사를 합니다. 할인하는 제품은 하루에 하나씩만 구매할 수 있습니다. 알뜰한 정현이는 자신이 원하는 제품과 수량이 할인하는 날짜와 10일 연속으로 일치할 경우에 맞춰서 회원가입을 하려 합니다.예를 들어, 정현이가 원하는 제품이 바나나 3개, 사과 2개, 쌀 2개, 돼지고기 2개, 냄비 1개이며, XYZ 마트에서 14일간 회원을 대상으로 할인하는 제품이 날짜 순서대로 치킨, 사과, 사과, 바나나, 쌀, 사과, 돼지고기, 바나나, 돼지고기, 쌀, 냄비, 바나나, 사과, 바나나인 경우에 대해 알아봅시다. 첫째 날부터 열흘 간에는 냄비가 할인하지 않기 때문에 첫째 ..