목록전체 글 (191)
거누의 개발노트

파일 시스템 파일 시스템은 운영체제에서 하드디스크, USB메모리 등과 장치 같은 물리적인 저장 매체를 파일과 폴더의 계층 구조처럼 보이게 하는 부분이다. 파일 시스템은 다양한 종류의 정보를 조직화하고 저장하지만, 운영체제는 모두 동일한 인터페이스로 표시한다. 파일 시스템은 모든 정보를 관리하면서 애플리케이션이나 운영체제의 나머지 부분이 정보를 읽고 쓸 수 있도록 접근 가능하게 만든다. 보조 기억장치 파일 시스템 파일 시스템은 한 파일이 사용하는 바이트를 다른 파일이 사용하는 바이트와 같은 블록에 저장하지 않는다. 2,500바이트의 메일이 있다고 하면 1,000바이트 짜리 블록 세 개에 저장되는데 500바이트가 낭비된다. 낭비되는 부분을 관리하는 비용보다 보조기억장치의 용량을 늘리는 비용이 더 저렴하기 때..

도메인이라는것은 웹사이트 주소를 말한다. www.geonoo.com 에서 geonoo.com 이 도메인에 해당한다. www는 호스트 네임이라고 불리고 www 말고도 mail, shop 과같이 다른 것이 올 수도 있다. 우리가 웹 브라우저에서 네이버라는 웹사이트를 들어가고 싶은데 그러려면 네이버 서버의 IP주소를 알아야한다. 하지만 우리가 전화번호를 다 못 외우듯이 IP주소도 숫자로 되어있기 때문에 외우기는 어렵다. 그래서 아래와 같이 전화번호부 처럼 도메인과 IP주소로 관리를 하는것이다. 도메인 : www.naver.com IP : 223.130.200.104 그리고 이러한 도메인과 IP들이 저장되어있는 곳을 DNS라고 한다. 예를 들어 내가 AWS에서 구매한 내 컴퓨터를 가비아, 후이즈같은 사이트에서 ..

Spring boot에서 DI를 사용하게된 이유를 알려면 강한결합과 느슨한결합에 대해서 알아야한다. 강합결합과 느슨한결합 중 강한 결합은 문제가 있는데, 어떤 문제인지 예제를 통해서 알아보면 먼저 Controller1에서 Service1 객체를 생성해서 사용했다. public class Controller1 { private final Service1 service1; public Controller1() { this.service1 = new Service1(); } } 그리고 Service1은 Repository1 객체를 생성해서 사용했다. public class Controller1 { private final Service1 service1; public Controller1() { this.se..

Controller, Service, Repository를 알기전에는 MVC 패턴에 대해서 이해해야 한다. https://geonoo.tistory.com/148 [Spring] MVC 패턴 (ORM, SQL) - 회고 Spring 프레임워크로 간단한 웹 서버를 구현해 보고있다. 처음으로 JPA를 사용해봤고 정리해봤다. https://geonoo.tistory.com/147?category=1077864 [Spring] Java Persistence API - JPA Java Persistence API(.. geonoo.tistory.com MVC패턴에 대해서 간략이 정리해 봤고, 그럼 MVC 패턴을 사용하는 이유는 무엇일까? 결론 역할에 따른 분리로 인해서 유지보수성, 확장성, 유연성이 증가하고, ..
면접에서 꼭 질문하는 꼬리에 꼬리를 무는 객체지향에대해서 공부해 보려고 한다. 객체 지향 프로그래밍(Object Oriented Programming) 먼저 객체란 우리가 실생활에서 쓰는 모든 것을 객체라고 한다. 간단한 예로 선풍기, 노트북 주변에 있는 모든것들이 객체가 될 수 있다. 사물뿐만 아니라 동물, 사람도 마찬가지로 객체가 될 수 있는 것이다. 그래서 객체 지향 프로그래밍은 먼저 객체를 파악하고, 이 객체들이 무슨 역할을 하는지 정의하여 객체들 간의 상호작용을 통해 프로그램을 만드는 것을 말한다. 결론, 필요한 데이터를 추상화 시켜서 상태와 행위를 가진 객체를 만들고 그 객체들간의 상호작용을 통해 로직을 구성하는 방법론인거다. 추상화 그럼 추상화시킨다는 말은 어떤 의미일까? 공통의 속성이나 기..
Git에 프로젝트를 올리면 apllication.properties 같이 데이터베이스 정보나 AWS정보가 같이 올라간다. .gitignore 파일을 이용하면 파일이 원격레포지토리에서 보이지 않게 된다. /.nb-gradle/ ### VS Code ### .vscode/ **/application.properties 먼저 이런식으로 작성하고 git push 해주면되는데 .gitignore파일에 등록하지 못하고 깃에 올려 버렸다면 잘 적용이 되지 않을 것이다. 그래서 역시 구글링을 하게 되는데... https://youngjinmo.github.io/2021/03/apply-new-gitignore/ Gitignore 새로 반영하기 이미 변경관리에 의해 관리되고 있는 파일이라면 이후에 gitignore에 추..
1. 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' 2. 도메인 객체 생성 @Getter @NoArgsConstructor @Entity public class Comment extends BaseTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(nullable = false) private String comment; @Column(nullable = false) private Long postId; public Comment(CommentDto commentDto){ this.comment =..

Spring 프레임워크로 간단한 웹 서버를 구현해 보고있다. 처음으로 JPA를 사용해봤고 정리해봤다. https://geonoo.tistory.com/147?category=1077864 [Spring] Java Persistence API - JPA Java Persistence API(JPA) JPA는 현재 자바 진영의 ORM 기술 표준으로, 인터페이스의 모음이다. 실제로 구현된것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크이다. Persistence(영속 geonoo.tistory.com ORM은 RDB의 테이블을 객체로 매핑하는 기술로 해당 기술을 이용한 대표적인 라이브러리가 JPA가 있다. 쉽게 설명해서 웹 서비스를 개발 할 때 SQL문을 필수적으로 작성해야 했다. 데이터베..