반응형

활동/호기심 23

메모리 관리 이론 강의 정리 (swap 메모리)

컴퓨터 시스템에서 데이터를 저장하는 방식은 크게 메모리와 디스크로 나뉜다.데이터를 저장, 접근, 관리하는 방식이 서로 다르기 때문이다.  메모리디스크컴퓨터의 RAM(Random Access Memory)를 의미데이터를 일시적으로 저장 (전원이 꺼지면 데이터가 사라짐)데이터 접근 속도가 빠름 (CPU와 직접적인 연결을 통해 빠른 데이터 처리 가능)프로그램 실행, 임시 데이터 처리에 사용데이터베이스 쿼리 결과나 사용자 세선 정보 같이 빈번하게 접근되는 데이터에 유용HDD(Hard Disk Drive), SSD(Solid State Drive) 같은 저장 장치데이터를 영구적으로 저장데이터 접근 속도가 느림 (물리적인 읽기/쓰기 작업이 필요)사용자 데이터, 애플리케이션 파일 저장에 사용대용량 데이터, 변경이 잦..

활동/호기심 2024.08.09

[개발자 지식] 디스크 관리 및 파일 시스템 - 디스크의 구조와 디스크 추가 방법 이해

정리 Vm ware에서 가상 디스크 타입 선택 시IDE : 가장 오래된 규격으로 스르륵 사라짐SCSI (Small Computer System Interface) : 서버나 워크스테이션 등에 많이 사용되는 고속 인터페이스 흔히 '스카시'라고 읽으며 가격이 졸라 높은 편이지만 안정성 또한 높은 편 SATA (Serial Advanced Technology Attachment) : 일반 (가정용 수준)    하드디스크(HDD)와의 데이터 전송을 위한 직렬 전송 방식을 사용하는 인터페이스 NVMe : SSD 같은 거라고 생각하면 됨    플래시 스토리지와 솔리드 스테이트 드라이브(SSD)에 사용되는 입출력(I/O) 당    시스템 오버헤드를 줄이면서 고도로 병렬화된 데이터 전송을 위한 프로토콜     하드 디..

활동/호기심 2024.05.25

[개발자 지식] JSON은 프로그래밍 언어와 프레임워크 등에 독립적이므로 서로 다른 시스템 간 데이터를 교환하기 좋다.

JSON (JavaScript Object Notation)Javascript 객체 문법으로 구조화된 데이터 교환 형식python, java, javascript 등 여러 언어에서 데이터 교환형식으로 사용객체 문법 외에도 단순 배열, 문자열로도 표현 가능  JSON은 프로그래밍 언어와 프레임워크 등에 독립적이므로 서로 다른 시스템 간 데이터를 교환하기 좋다. 주로 API의 반환형태, 시스템을 구성하는 설정파일에 활용된다.[ { "market": "KRW-BTC", "korean_name": "비트코인", "english_name": "Bitcoin" }, ...]​ ex) 업비트의 API, package.json  Javascript 객체 문법 : Key와 Value 값으로 구성  ..

활동/호기심 2024.05.25

로그(log) 로깅(logging) 차이점도 모르겠는데.. 라이브러리까지

과거 항해 일지를 통나무에 기록했다고 하여 'log' 개념이 나왔다고 한다. 로그(log) 프로그램 개발, 운영 시 발생하는 문제점을 추적하거나 운영 상태를 모니터링 하기 위한 텍스트 즉, 무언가를 기록하는 행위다. 이러한 개념이 확장되면서 운영체제나 소프트웨어 실행 중 발생하는 정보 전반을 기록하는 파일을 의미하게 되었다. 필요한 정보를 제공해주지만 계속 쌓이다보면 시스템 용량이 당연히 부족해지기 때문에 로그가 저장되는 DB에 데이터를 어떨 때 쌓고 언제 삭제할 것인지 계획을 수립해 운영하는 것이 좋다. 로깅 프로그램 동작시 발생하는 모든 일을 기록하는 행위 시스템이 작동할 때 시스템의 작동 상태의 기록, 보존, 이용자의 습성 조사및 시스템 동작 분석 등 작동 중 일련의 사건을 시간 경과에 따라 각종 ..

활동/호기심 2023.12.14

우아한테크 MVC(Model, View, Controller) 패턴을 지키면서 코딩하는 꿀팁

개발을 하면서 MVC는 기본적으로 무조건 알아야 하는 내용이라고 설명하기엔 너무 당연한 내용이라 오히려 민망할 수준이다. 단순히 MVC가 무엇인지에 대해 대충 아는 정도의 수준에서 그치지 않고 실전에서 제대로 지키면서 적용시킬 수 있는 방법에 대해 공부해봤다. 해당 내용은 '[10분 테코톡] 🧀제리의 MVC 패턴' 영상을 정리한 내용 임을 밝힌다. Model 데이터와 관련된 부분 View 사용자에게 보여지는 부분 Controller Model과 View를 이어주는 부분 Model은 Controller와 View에 의존하지 않아야 한다. Model 내부에 Controller와 View에 관련된 코드가 있으면 안된다. MVC에서 '당당한 모델에겐 아무것도 필요하지 않다' 이렇게 연상하자! Model 클래스에..

활동/호기심 2023.10.10

save() 메서드는 엔티티 상태를 데이터베이스에 반영

package com.study.board.service; import com.study.board.entity.Board; import com.study.board.repository.BoardRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.ui.Model; import java.util.List; @Service public class BoardService { @Autowired private BoardRepository boardRepository; // 글 작성 처리 public ..

활동/호기심 2023.09.25

Spring Boot 게시글 업데이트 기능 구현 (Thymeleaf 활용 가이드)

Spring Boot와 Thymeleaf 활용하여 게시글 수정 기능 구현 코드를 학습 목적으로 영상의 부분적인 내용을 다루고 있는 글이니 전체 내용이 필요한 분들은 위의 링크를 통해 참고하시면 되겠습니다. 혹시라도 잘못된 내용이나 첨언해주실 내용이 있다면 댓글 부탁드립니다. 수정 위의 코드는 Thymeleaf를 사용해 동적 웹 페이지를 생성하는 예시로써, 서버에서 전달된 데이터를 화면에 표시하고 수정된 내용을 서버로 전송할 수 있다. 문서를 시작할 때 Thymeleaf 네임스페이스를 정의해 Thymeleaf의 표현식 및 속성을 사용한다. th:action 속성을 사용해 action 속성을 동적으로 설정하고, th:value 및 th:text 속성을 사용해 입력 필드의 초기값을 설정한다. 이러한 Thyme..

활동/호기심 2023.09.22

스프링 게시판 CRUD 만들기 (HTTP Method / GET방식과 POST방식)

여러 글을 참고해가며 서두 없이 정리한 글이라 흐름이 깔끔하진 않을 예정이라 양해를 구하며 작성하면서 많은 도움이 된 감사한 분들의 게시글 출처를 하단에 밝혀놨으니 참고하시면 되겠다. 조만간 예정되어 있는 다음 사이트인 부산 지역 렉카 타겟 1순위 기계설비 톱니몬 성호와 요즘 게시판 CRUD 구현 실습 강의를 보며 차근차근 다시 공부를 하고 있다. // 삭제 @GetMapping("/board/delete") public String boardDelete(Integer id) { boardService.boardDelete(id); return "redirect:/board/list"; } // 수정 @GetMapping("/board/modify/{id}") public String boardModif..

활동/호기심 2023.09.21

Java에서 페이지 이동시 Redirect와 Forward 차이가 뭔데

Java 웹 애플리케이션에서 페이지 이동에는 'Redirect'와 'Forward'라는 두 가지 방법이 있는데 이 두 방법은 서로 다른 동작을 한다. a.jsp 로 클라이언트가 요청을 보내면 a.jsp 는 로직에 맞게 작업할 것이다. 그 다음 response.sendRedirect("b.jsp");로 이동을 하라고 명령을 내리면 서버가 브라우저한테 b.jsp 로 이동하라는 응답을 보낸다. 응답을 받은 클라이언트는 다시 한번 b.jsp 요청을 다시 보내는데 마찬가지로 로직에 맞게 작업 후 다시 응답을 클라이언트에게 보낸다. 네트워크 상의 두 번의 요청과 응답이 발생하는 것을 알 수 있다. 즉, a.jsp 에서 담은 값을 b.jsp 로 전달할 수 없다. HTTP 프로토콜이 상태를 공유할 수 없기 때문에 발생..

활동/호기심 2023.09.20

메서드 오버로딩(Overloading) 언제 쓰는지 깔끔하고 간단히 정리

[Do it! 점프 투 자바] 05. 객체 지향 프로그래밍 (상속 / 메서드 오버라이딩과 오버로딩 요약) * 본 게시물은 이지스퍼블리싱 [Do it! 점프 투 자바] 서평단 미션 수행 및 학습 목적으로 작성하였습니다. 모든 내용, 디자인, 이미지, 편집 구성의 저작권은 이지스퍼블리싱(주)와 지은이에게 있 3mmmeee.tistory.com 오버라이딩과 오버로딩에 대해 공부하다가 이제 뭔지는 알겠는데 특히 오버로딩은 어떤 경우에 사용하는지 알고싶어졌다. 학습 기록 용도로 작성한 글이기 때문에 지적은 환영하나 악플은 1. 다양한 데이터 타입 처리 동일한 작업을 다양한 데이터 타입에 대해 수행해야 할 때 메서드 오버로딩을 사용한다. int add(int a, int b); double add(double a,..

활동/호기심 2023.09.04

Integer은 어떨 때 사용하는가 (내가 봐도 정리 깔끔)

Integer Java 프로그래밍 언어에서 제공하는 클래스로, 정수 값을 나타내기 위한 래퍼(wrapper) 클래스 Null 값을 포함해야 할 때: 기본 데이터 타입인 int는 null 값을 가질 수 없다. 하지만 Integer 클래스는 null을 가질 수 있어서, 정수 데이터와 null을 함께 다룰 때 유용하다. 컬렉션의 일부로 사용할 때: Java의 컬렉션 프레임워크는 객체만 저장할 수 있기 때문에, int 타입의 값을 직접 저장하기 어렵다. Integer 객체는 컬렉션 내에 저장하고 다루는 데 유용하다. 제네릭(Generic) 타입으로 사용할 때: 제네릭을 사용하면 다양한 데이터 타입을 일반화하여 사용할 수 있다. Integer는 제네릭 타입으로 사용할 때 많이 활용된다. 메서드 시그니처의 일부로 ..

활동/호기심 2023.09.01

for문과 foreach문은 어떨 때 쓰면 좋을까

public class Byungjun { // getMembers 메서드: 멤버 이름을 담은 배열을 반환 public static String[] getMembers() { String[] members = {"병준", "성호", "민수" }; return members; } public static void main(String[] args) { // getMembers 메서드 호출하여 멤버 이름 배열 획득 String[] members = getMembers(); } } 클래스 정의 후 getMembers()는 String 배열을 반환하는 static(정적) 메서드이다. 하드코딩된 멤버 이름들을 배열로 생성하고 반환한다. String[] members = getMembers(); getMembers..

활동/호기심 2023.09.01

아니 자바에서 static이 도대체 뭔데 (클래스와 메소드)

class Foo { public static String classVar = "I class var"; // 정상 public String instanceVar = "I instance var"; // Error } public class StaticApp { public static void main(String[] args) { System.out.println(Foo.classVar); // 정상 System.out.println(Foo.instanceVar); // Error } } 클래스를 통해서 클래스 변수에 접근이 가능하지만, 인스턴스는 인스턴스를 통해 사용해야하므로 에러가 발생한다. 다음은 static 메소드와 instance 메소드를 만드는 예시이다. static을 사용하면 객체를 생성..

활동/호기심 2023.08.29

클래스(class), 객체(object), 인스턴스(instance) 차이점 비교

프로그램 개발한다는 것은 특정 기능을 만든다는 의미이다. 그렇다면 클래스(class), 객체(object), 인스턴스(instance) 차이는 무엇일까 public class Animal { // 클래스 } public class Main { // 객체+인스턴스 public static void main(String[] args) { Animal bird, dog; // 객체 // 인스턴스화 (객체를 메모리에 할당) bird = new Animal(); // bird은 Animal 클래스의 인스턴스 dog = new Animal(); // dog은 Animal 클래스의 인스턴스 } } Animal 클래스를 객체를 만들어 내기 위한 설계도라고 한다면 클래스에서 선언된 모양 그대로 구현할 대상을 객체(Obj..

활동/호기심 2023.08.28

자바 for문을 이용한 '공포의 별 찍기 문제'

학습 기록을 시작하기 앞서, 나는 뛰어난 개발자는 아니지만 꾸준한? 아니 끈질긴 개발자라는 문득 생각 들었다. 이해 안된다고 그냥 넘어갔던 별 찍기 문제를 기어코 다시 마주했고 '이걸 이제와서 또 하네.. 진작 해볼걸' 같은 한심한 생각도 들었지만 그래도 피하지 않고 포기하지 않고 이해하려고 또 덤벼든 나 자신에게 오늘의 칭찬과 보상을 주기로 했다. ( TMI : 저녁에 낙성대입구에 고등어회 먹으러 갈 예정) 자바를 초창기에 공부하면서 옆자리에 앉은 전공자에게 어떻게 하면 잘할 수 있냐 물으니 돌아왔던 대답은 '무조건 찍어보지만 말고 일단 먼저 생각해보라는 것'이었는데 그 말이 이제는 공감되는 것 같다. 2차원 배열 별 찍기 for(int i=0;i

활동/호기심 2023.08.25
반응형