목록분류 전체보기 (154)
개발자공부일기

물리 계층은 OSI 모델에서 네트워크 통신의 가장 기본이 되는 첫 번째 계층입니다. 이 계층은 비트 전송을 담당하며, 네트워크에서 데이터를 물리적으로 전송하는 데 필요한 모든 요소를 정의합니다. 물리 계층은 실제 데이터가 전송되는 하드웨어 및 물리적 연결을 다루므로, 네트워크 통신의 기초적인 부분을 담당합니다.물리 계층의 주요 역할물리 계층의 주요 역할은 다음과 같습니다:비트의 표현 (Bit Representation): 물리 계층에서 데이터는 비트로 표현됩니다. 비트는 0과 1의 이진수로 표현되며, 이를 전기적 신호, 빛의 신호, 또는 무선 신호로 변환하여 전송합니다. 예를 들어, 구리선에서는 전압을 통해 1과 0을 표현하고, 광섬유에서는 빛의 유무로 데이터를 표현합니다.데이터 전송률 (Data Tra..
reduce는 복잡한 로직을 처리하거나 데이터를 축약해 새로운 구조를 생성할 때 매우 강력합니다. 아래에 다양한 예제들을 통해 활용 방법을 보여드리겠습니다.1. 배열의 중첩 합계 구하기중첩 배열의 모든 숫자를 더하는 예제입니다.const nestedArray = [[1, 2, 3], [4, 5], [6, 7, 8, 9]];const totalSum = nestedArray.reduce((accumulator, currentArray) => { const arraySum = currentArray.reduce((sum, num) => sum + num, 0); return accumulator + arraySum;}, 0);console.log(totalSum); // 45동작:외부 reduce..
WITH는 SQL에서 서브쿼리를 정의하고 이를 마치 테이블처럼 사용할 수 있도록 하는 기능입니다. WITH는 보통 공통 테이블 표현식(CTE, Common Table Expression) 이라고 불리며, 반복적인 쿼리나 복잡한 서브쿼리를 단순화하고 가독성을 높이는 데 유용합니다.기본 문법WITH cte_name AS ( -- 서브쿼리 SELECT column1, column2 FROM table WHERE condition)SELECT *FROM cte_nameWHERE other_condition;여기서 cte_name은 CTE의 이름이고, 그 뒤에 서브쿼리 내용을 적습니다. 그 후에 SELECT 구문에서 CTE를 테이블처럼 사용할 수 있습니다.예시 1: 간단한 WITH 사용WIT..
개발 하는중에 데이터의 n중참조할일이 생겼는데 뭔가 은근히 헷갈리는게 확실히 하고 싶어서 알아봤다. N중 참조는 데이터베이스에서 하나의 테이블이 다른 테이블을 참조하고, 그 참조된 테이블이 다시 다른 테이블을 참조하는 관계를 의미합니다. 이런 관계는 특히 데이터가 여러 단계로 연결되어 있을 때 유용하게 사용됩니다.이제 각 단계를 좀 더 자세히 설명하고, 이를 JavaScript와 Prisma를 활용해 어떻게 구현하는지 하나씩 살펴보겠습니다.1. 외래 키 관계 기본 개념외래 키 (Foreign Key)외래 키는 한 테이블의 필드가 다른 테이블의 기본 키를 참조하는 관계입니다. 예를 들어, User 테이블에 departmentId라는 필드가 있다고 할 때, 이 필드는 Department 테이블의 id를 참조..
오늘은 데이터스키마를 작성하는 도중 팀원분이 들고오시기도 했고 예전에 정보처리기사 준비할때 배웠던 것들인데 오래돼서 기억도 잘 안나고 정확히 잘 모르는거 같아서 정규화라는 것에 대해서 조사하게 되었습니다. 정규화의 목적중복 제거: 동일한 데이터가 여러 테이블에 반복되지 않도록 설계.데이터 무결성: 데이터가 정확하고 일관되게 유지되도록 설계.이상 현상 방지:삽입 이상: 데이터를 추가할 때 불필요하거나 누락된 정보를 요구하지 않도록 설계.삭제 이상: 데이터를 삭제할 때 다른 관련 데이터가 함께 사라지지 않도록 설계.갱신 이상: 데이터를 수정할 때 여러 곳에서 수정하지 않도록 설계. 데이터베이스 정규화의 단계(1NF ~ 6NF)정규화는 데이터 중복을 최소화하고, 데이터 무결성을 유지하며, 효율적인 데이터베이스..
오늘 팀프로젝트를 위해 API명세서를 작성했는데 올바르지 않은 명세서라고 반려당했다. 그래서 확실하게 아는것같지않아서 더 자세히 알아보려 한다. RESTful API란 무엇이며, 왜 탄생했는가?RESTful API는 Representational State Transfer(REST) 원칙을 기반으로 설계된 API입니다. REST는 2000년 Roy Fielding의 박사 논문에서 처음 정의된 개념으로, 웹 아키텍처의 일관성과 효율성을 극대화하기 위해 제안되었습니다. RESTful API는 이 원칙을 구현한 API를 말하며, 단순히 HTTP를 사용하는 것만으로는 RESTful하다고 할 수 없습니다.RESTful API는 리소스를 중심으로 설계된 구조와 HTTP의 표준 사용을 통해 클라이언트와 서버 간의 통..
또 강의를 듣고 과제를 하다 보니 일주일이 금방 지났다. 저번주에도 말했지만 본격적으로 서버를 구성하는 다양한 라이브러리들의 메서드를 사용해 보는 게 재밌었다. 사실 그렇게 어렵지는 않았다. 완벽히 설명할 수 있냐? 하면 아닌데 과제를 하면서 느낀 게 그래도 이 함수와 메서드가 어떤 일을 하니까 어디에 쓰면 되겠구나! 정도는 알겠다. 흐름을 안다는 게 맞는 거 같다. 익숙해지겠다고 열심히 타자 치고 계속 읽어보고 하는 건 힘들었는데 생각보다 금방 이해됐다. 살아생전 공부가 하고 싶었던 적이 있었나 싶다. 근데 이제 열심히 하고 싶다. 배운 걸 써먹는 게 재밌는 거 같다. 아직 한참 모자라고 갈 길이 멀지만 그래도 저번주보단 나은 내가 됐으니 좋다. 꾸준히 나아져서 목표하는 곳까지 도달했으면 한다.다음 주..
예전에 DOM의 개념에 대해서는 글을 썼던거 같은데 자세히 메서드까진 다룬적이 없는거 같아서 복습겸 알아봤다. DOM(Document Object Model)은 HTML과 XML 문서의 구조를 나타내는 객체 모델입니다. DOM을 통해 JavaScript는 HTML 문서와 상호작용하고, 문서의 요소를 변경하거나 조작할 수 있습니다. DOM은 웹 페이지를 동적으로 수정할 수 있도록 만들어져 있으며, 페이지 로드 후에도 JavaScript로 실시간으로 페이지를 업데이트할 수 있게 해줍니다.1. DOM의 기본 개념DOM은 문서의 구조를 트리 형태로 표현하며, 각 HTML 태그나 요소는 DOM 트리의 노드로 나타냅니다. DOM 트리에서 루트는 태그이고, 그 아래에 여러 자식 노드가 있습니다. 예를 들어: ..