저번 장에서 HTTP가 어떤것인지 대략적으로 살펴 보았습니다. 이번 장부터는 HTTP에 대해 본격적으로 공부하는 시간을 가지겠습니다. URL은 과연 무엇일까요? 인터넷의 리소스입니다. 엄밀히 따지면 리소스를 위치를 통해 검색하는 것을 말하지만... 어차피 리소스를 찾는다는건 결국 리소스이기때문에 URL은 리소스라고 이해 해도 큰 문제는 없을 겁니다. 다만 URL자체 리소스라는 얘기는 아닙니다. 결과론적으로 리소스라는 얘기지... 아무튼 이번장에서 학습할 내용들은 다음과 같습니다. 1. URL 문법, 여러 URL 컴포넌트가 어떤 의미를 가지며 무엇을 수행하는지 2. 여러 웹클라이언트가 지원하는 상대 URL과 확장 URL 같은 단축 URL에 대해서 3. URL의 인코딩과 문자 규칙 4. 여러 인터넷 정보 시..
"한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다." 현재 나는 스프링으로 개발을 하고 있다. 우연히 이 책을 보게 되었는데 Node라는 것이 어떤 것인지 대략적으로 감을 잡을 수 있었다. 이 책의 가장 큰 특징으로는 Node, express에 대한 설명 뿐만 아니라 git이용 방법같은것을 소개해줬다. 솔직히 나는 처음에 이게 왜 필요한지 생각했다. 이거 추가할 시간에 Node나 express의 비중을 조금만 늘리던가 아니면 추가하지 않고 가격을 낮추는것도 좋다고 생각했다. 하지만 생각을 해보니 Node로 웹공부를 시작하는 사람들이 있을지도 모르는데 이런 세세한 것들이 추가함으로 인해 바이블 느낌을 줄 수 있을지도 모른다. 바이블 보다 다른 단어가 더 어울릴것 같은데... 아무튼 나는 이 책을 ..
트랜잭션에 대해 고민해보자. 애초에 트랜잭션이라는 건 다음과 같습니다. 모든 작업을 성공하거나 실패하는 기능이라고 하는데... SQL에서 트랜잭션이라고 하면 한개라도 실패를 하면 모든 sql은 실패가 떨어진다는 이야기인것 같습니다. 그림을 보면 sql쿼리 3개가 존재한다는 것을 알 수 있습니다. 트랜잭션의 정의에 따른다면, 첫 번째 sql 은 성공 이지만 두 번째 sql이 실패라면 데이터베이스 상에는 아무것도 추가되지 않습니다. 왜냐하면 실패했기 때문이죠. 당연한 이야기죠. 이런 경우는 단일 사용자일때 발생되는 현상입니다. 그렇다면 사용자가 늘어나면 어떻게 될까요? 간단히 그림을 그리면 이 모든 sql문이 통과해야 합니다. 결국 a라는 유저가 sql 테스트에 성공한다면 b라는 유저도 sql 테스트도 성공..
오늘 부터 나는 http에 대해 공부할 예정이다. [HTTP 완벽 가이드]라는 책을 가지고 공부를 할 예정이며, 책을 가지고 공부하는 것을 더불어 조금 더 자세하게 공부할 예정이다. 1장당 일주일동안 공부할 예정이다. 책 한권을 보는데 5달 정도 걸릴 것같다. * 이글에 나오는 비유는 전적으로 저한테 맞춰있는 비유이기 때문에 이해가 되지 않을 가능성이 있습니다. 저는 이에 대해 책임을 지지 않습니다. 저는 공부목적으로 작성하는거지 기술 소개 목적으로 작성하는 것이 아님을 명시합니다. 내가 책으로만 공부해봤는데 그렇게 까지 도움은 되지 않았다. 왜냐하면 책 이외의 내용은 학습하기 어려웠기 때문이다. 하지만 책은 베이스로 두고, 이것을 첨언할 수 있는 내용들을 인터넷에서 검색해서 추가할 예정이다. http를..
1일차에는 방향키와 한단어씩 이동하는 방법에 대해 학습하였다. 그러면 저번에 학습한 내용을 복습해 보자. h 입니다. w는 단어 한칸씩 W는 공백단위로 한칸씩 이고 숫자를 추가하면 그 만큼 이동합니다. 하다 2개 틀렸네요.. 더 있나.. 지금 생각난는건 이것 밖에 없군요. 문장 이동 아무튼 문장 이동은 그 문장의 처음과 끝 그리고 공백을 제외한 처음으로 이동하는 것을 말합니다. 0번을 누르게 되면 가장 맨 처음로 이동합니다. 그리고 $은 그 문장의 마지막으로 이동하고 ^같은 경우는 공백을 제외한 가장 맨 앞으로 이동합니다. 그리고 그 문장에서 f를 누르고 옮기고 싶은 문자를 누르게 되면 f + k를 입력해보겠습니다. 대문자 F + k는 무엇일까요? 안되네.... 아무튼 쩝 있던것 같은데... 아닌가 기분..
vim은 정규식, 리눅스 명령어와 함께 개발자가 학습하면 좋은 것들중 하나라고 생각합니다. 왜냐하면 웹이나 앱을 배포하기 위해서는 윈도우 보다는 리눅스를 많이 사용하는 편입니다. 또 vim은 다른 에디터와 달리 마우스가 없었던 시절에 만든 에디터라 키보드만 사용해서 코딩을 하는것이 가능합니다. 다만 타 에디터에 비해 배우는 것이 굉장히 어렵다고 전해집니다.(물론 emacs빼구요) 이게 vim과 emacs의 학습곡선인데 vim같은 경우 어느정도 까지 학습을 하게 되면 그 다음부터는 일정하다는 것을 알 수 있습니다. 물론 그렇다고 vim을 모르는 상태에서도 vim을 사용이 불가한것은 아닙니다. i , q , wq만 알고 있으면 vim을 사용할 수 있기 때문입니다. i쓰고 방향키 쓰면 되니까요.. ㅎㅎ; 그런..
내부 조인과 외부 조인은 어떤 차이점이 있을까? 그림으로 그렸을때는 내부 조인과 외부 조인의 차이는 못느끼지만... 생각을 해보자 말 그대로 해석해보자. 내부 조인... 내부에서 조인을 한다는 것 같다. 그러니까 select * from block1; select * from block2; 이러한 sql이 존재한다고 가정해보자. 그러면 내부니까... 보통은 내부조인은 다음처럼 작성한다. select * from block1 b1 INNER JOIN block2 b2 ON b1.seq = b2.seq; 내부라는건... 뭔가 안에서 액션이 발생한다는 의미인데... 만약, 다른 요소가 존재하면 그것은 조인이 될까? 예를들어 block2에는 semi_color가 존재하는데 block1에는 semi_color가 ..
서브쿼리?는 무엇을 말하는 것일까요? 곰곰히 생각해봅시다. 이름에서 알 수 있듯이 서브 쿼리는 주 쿼리를 도와 주는 쿼리라고 할 수 있습니다. 그러면 주 쿼리는 무엇일까요? select * from block; 사실 서브 쿼리나 주 쿼리나 별 다를게 없습니다. 지금까지 배운것을 전부 넣어보겠습니다. select * from block where color = 'black' group by second_color having size < 20; 그러면 서브쿼리는 어디에 추가 할 수 있을까요? 네 맞습니다, 서브 쿼리는 어디든 넣을 수 있습니다.(적어도 select에서는 말이죠) 위 코드의 열을 확인해보면 *라는 와일드 카드가 보인다는 것을 알 수 있습니다. 여기에서 와일드 카드의 역할은 모든 열을 출력 시..