1. 글을 내리기 전에.. 우리가 HTTP를 배워보기 전에, 정말 얕은 네트워크 지식들을 알아볼 것이다. 제목은 토막 상식이라 적었지만, 반 토막의 반 토막의 반 토막의 반 토막.. 일지 모른다. 따라서 이전에 네트워크를 공부하신 분들이라면 이번 장은 스킵하셔도 좋다. 복습하실 분들 & 처음인 분들은 아래 목차를 참고 바란다. 2) 인터넷과 네트워크 프로토콜 3) 인터넷 프로토콜 5 계층 4) TCP와 UDP 5) IP : Internet Protocol 6) DNS 7) PORT 2. 인터넷과 네트워크 프로토콜 2.1 인터넷이란? 인터넷은 "수많은 네트워크들을 연결하는 네트워크"라는 의미에서부터 시작되었으며 클라이언트와 서버가 있고, TCP/IP라는 기본 프로토콜을 통해 제공되고 있다. 2.2 인터넷의..
1. 이번 장을 시작하며.. 오랜만에 기초 개념에 대한 정리 글을 쓰는 것 같다. 방학을 시작하며 야심차게 노답 스터디(여기 블로그 이름..)에 들어왔지만,, 벌려놓고 수습이 안 되는 알고리즘 동아리 스터디와 교내 대회 개최 준비, 대회 연습, 스프링 공부..로 인해 속으로 공부 못하는 변명만 늘어놓게 되는 것 같다고 생각이 들 찰나, 우리 스터디장님께서 글을 혼자 20개 넘게 쓴 걸 보고.. 이대로는 쫓겨나겠구나!라는 느낌이 들어 최근 인프런에서 완강한 HTTP 강의를 정리해보는 시간을 갖기 위해 글을 적고 있다. 따라서 위 제목이 달려있는 글들은 모두 이 강의를 듣고 내 방식대로 축약 해석하여 적는 것임을 알아주길 바란다. 2. 공부해나갈 것들 이번에 공부할 것들은 강의 초반에 강사님께서 말씀하신 대..
단순히 현재 저장하고 있는 어떤 객체의 목록을 불러오는 api를 만들고, 호출해보니 Postman에서 이런 에러가 떴다. 참고로 호출된 객체는 다음과 같다. @Entity @Table(name = "orders") @Getter @Setter public class Order { @Id @GeneratedValue @Column(name = "order_id") private Long id; @ManyToOne(fetch = LAZY) @JoinColumn(name = "member_id") private Member member; } Order라는 객체 목록을 불러왔고, 이 안에는 분명 "ByteBuddyInterceptor"라는 자료형이 없는데 (다른 데에도 선언하지 않았다.) 왜 이런 타입이 맞지 ..
acm-icpc 2020 서울 리저널에서 E번으로 출제되었던 문제이다. 내 기억상으로 3번째로 많이 풀렸던 문제였는데.. 그때 우리는 풀지 못했었다 🥺 하지만 지금은 다르다!! dp를 계속 풀다 생각나서 보니, 해답이 20분? 만에 떠올랐다. 디버깅 과정에서 많이 틀리긴 했는데,, 암튼 나 혼자 해결했다! 지금 생각해보니 그때 결과 보신 교수님은 우릴 어떻게 생각하셨을지... 😰 문제 출처 : https://www.acmicpc.net/problem/20173 문제는 출처 참고하세요! 풀이 문제에서 컴퓨터가 잘못 판단할 경우는 수가 인접할 때 (1과 2, 2와 3 등) 밖에 없다. 따라서 모든 대결(?)을 볼 필요 없이 수가 다음과 같이 줄어들게 된다. (1, 2), (2, 3), (3, 4), ...,..
출처 : https://www.acmicpc.net/problem/20176 참고한 글 : https://koosaga.com/263 문제 및 풀이 3개의 선분이 위에서부터 차례대로 하나씩 있고, 각 선분 당 특정 좌표에는 구멍이 뚫려있습니다. 아래 그림은 정답이 될 수 있는 바늘이 3개의 선분을 통과한 사례입니다. 기본적으로 바늘이 3개의 선분을 지나가기 위해서는 a~b, b~c 를 지나갈 때 선분의 기울기가 같아야 하고, b의 위치가 동일해야 합니다. 즉, a+c = 2 * b 를 만족한다면 바늘은 선분을 지날 수 있습니다. (편의상, 배열 A, B, C 의 어떤 한 원소를 a, b, c 라 하겠습니다) 일반적으로 모든 a+c 를 구하기 위해선, 어쩔 수 없이 배열 A, C의 원소를 모두 순회하며 구..
이번 방학도 다른 방학과 다를 것 없이 자기 개발 계획을 세워보려한다. 다른 방학과 다른 점이 있다면, 이번 학기는 시험 기간에 놀고 먹다보니 종강하고 쉴 필요가 없어졌고, 알고리즘 문제 풀이 분야에 더이상 많은 시간을 투자하지 않는다는 점이다. 저번 방학만해도.. 한 달은 내내 강의 영상 찍기 바빠서 아무것도 못했는데,, 이젠 누굴 도와줄 형편이 안된다는걸 깨달아서 학회 규모도 줄이려고 한다. 나도 내 살 길부터 찾고 해야지 😅 1. 스프링 공부하기 why? 결국 졸업할 때까지 스프링을 파는 걸로 결론이 났다. 1학년 때는 계속 알고리즘을 파면 구글 코드잼도 입상하고.. 구글에 가는 것 아닐까? 라는 정신나간 생각을 잠깐하면서 알고리즘을 했고.. 2학년 때는 ai, 클라우드, 데이터 분야로 가면 뭔가 ..
반갑다! 나는 css 어린이다. 오늘은 우리 프로젝트 사이트 디자인을 도굴하러 왔다! 프로젝트 페이지는 여기서 확인할 수 있다! (https://main.dgm2h3gefx045.amplifyapp.com/) 먼저 우리 사이트 도면을 소개하겠다! 도굴할 때 참고하도록! 메인 페이지이고! 헤더에서 푸터까지 보여주었으니 할 수 있겠지! 빨리빨리 움직이란말이야! 1. 전체 페이지 css 설정 * { box-sizing: border-box; } a:hover { text-decoration: none !important; } box-sizing을 border-box로 지정하였군! 이렇게 하면 테두리를 포함한 크기를 지정할 수 있기 때문에 예측하기 쉽지! 아주 기본이 되어있구만! (생활코딩 형님이 많이 추천하신..
드디어 모바일 과목이 종강했다! 앞으로 안드로이드 스튜디오를 다시 켤 일이 없을 것 같긴 한데 (아니 삭제하기 전에) 마지막으로 프로젝트하면서 한글로 된 정보가 많이 없었던 Firebase fcm 서비스에 관련해 포스팅을 하고 마치도록 하겠다! [시작 전 알고 있어야 할 내용들] Firebase와 프로젝트 연결 방법 기본적인 textview, button 넣는 방법 (xml 파일) Firebase database 사용 방법 (push, set, addValueEventListener, datachange snapshot,...) 뭐 많이 요구하는 것 같으나 fcm까지 왔으면 위 내용을 모를 수가 없다고 생각한다. 시작 전에, 이 포스팅 내용에 대해 영상을 보면서 따라 하고자 하면 아래 링크를 참고하면 좋..
You should take one compliment to you during the day. 하루 동안 너에게 칭찬 한 가지는 가져가야 한다. 오늘의 말입니다. 😀 요즘 메이저리그에서 오랜 시간 활동하다 자국 리그로 와서 팀을 이끌고 있는 SSG 랜더스의 추신수 선수는 후배들에게 이런 말을 자주 한다고 한다. 오늘 경기에서 5타수 무안타를 쳐도, 실책을 남발했어도 나에게 주는 칭찬 한 가지는 가지고 경기장을 빠져나와야 한다고... 나는 코드를 짜서 무언가 개발을 할 때에도 하루 종일 했는데 아무것도 해결하지 못할 때가 많다. 그렇다고 이 상태면.. 자고 일어나도 막막해서 우울하더라.. 그래도 남들 놀 때 가만히 있었던 것도 아니고 적어도 문제가 무엇인지, 이건 해봤는데 안 돼! 정도는 알았으니 고생했..
Margin Collapsing 은 "마진 상쇄"라는 뜻으로, 서로 다른 요소의 margin 이 겹치는 현상이 발생할 때 일어나게 된다. 예를 들어 다음과 같은 상황을 보자. 한 요소의 박스가 이렇게 생겼다고 할 때, 이걸 여러 번 연속으로 배치하게 되면 이렇게 된다고 생각할 수 있겠지만, 브라우저 렌더링 규칙에서는 위, 아래로 중복되는 마진을 상쇄시켜준다. 이런 경우를 Margin Collapsing 이라 하고, 위 그림이 브라우저에서는 다음과 같이 배치된다. Margin Collapsing 에서는 이렇게 형제끼리 마진이 맞닿는 상황뿐만 아니라 마진만 존재하는 빈 요소가 사이에 있을 경우도 있다. 보면 가운데 파란색 content 블록에 높이가 0이다. 비어있다는 의미이다. 이 요소를 아까 두 가지 같..
1. Selector란? Selector란 말 그대로 선택자인데, html 코드 내에 있는 특정 요소들을 선택하여 스타일을 적용할 수 있게 하는 역할을 한다. 일반적으로 css 코드 내에서 중괄호({ }) 앞에 제목처럼 붙여진 코드들을 Selector라고 한다. 2. Selector 종류 글을 쓰면서 Selector 종류를 찾아보니 이게 웬걸.. 30개가 넘게 있었다! 일단 내가 공부하면서 쓸 것들만 정리해두었다. 1) Type Selector 기본적인 태그들 , , ... 의 스타일을 적용시켜준다. 2) Class Selector Html 에 있는 사용자가 정의한 클래스의 스타일을 적용시키는데, 클래스는 다음과 같이 생겼다. 클래스 선택자는 이름 앞에 .(점) 을 붙여주면 된다. 3) Id Select..
문제 S는 다음과 같이 정의된다. S(0, n) = n (모든 양의 정수 n) S(k, n) = S(k-1, 1) + S(k-1, 2) + ... + S(k-1, n) (모든 양의 정수 k, n) k와 n이 주어졌을 때, S(k, n)을 1,000,000,007로 나눈 나머지를 구하는 프로그램을 작성하시오. 풀이 이 문제같은 경우 어떤 성질을 이용해 점화식을 도출하고 ... 라는 일련의 과정보단, 직접 써보는 것이 이해가 빠를 것이다. 직접 써보니 이런 식의 표가 나왔다. 실제로 문제의 수식대로 저기까지만 계산해도 상당히 머리아픈데, 사람은 귀찮은걸 싫어하다보니.. 저거 쓰는 과정에서도 수를 빨리 도출해내는 법을 찾게 된다. 쓰다 보면 금방 찾는 규칙인데, 규칙은 다음과 같다. 파란색 원 안의 수는 그 ..