반응형

공부/인프런 - Rookiss 211

Part 6-2-8. 웹 기초 : CSS #1

🌐 웹 기초  지난 시간에는 HTML의 UI를 담당하는 Button과 Input 태그 등에 학습하였다. 이번 시간부터는 HTML이 아닌 CSS를 배워보도록 하자.  🚂 CSS  이전 시간과 마찬가지로 CSS를 학습하기 전에 앞서, CSS의 정보를 한눈에 볼 수 있도록 정리한 사이트 https://www.w3schools.com/css/default.asp 를 통해 어떻게 사용하는지 확인하고 이를 실습한다.  사용이유  CSS는 엄연히 Cascading Style Sheet로 웹사이트의 표현 방법을 정해주는 스타일 시트 언어이다. 그런데 CSS는 왜 생겨났을까? 바로 HTML 안에 태그(, , 등)와 비주얼 요소(span 등) 섞여버리기 시작하여, 태그 영역과 비주얼 요소의 영역 구분이 점차 힘들어지..

Part 6-2-7. 웹 기초 : HTML #5

🌐 웹 기초  지난 시간에는 HTML의 DOCTYPE, HTML, BODY, HEAD 등 파일 구조 태그에 대해서 학습하였다. 이번 시간에는 HTML의 UI 요소인 Button과 Input 태그들에 대해서 배워보도록 하자.  🚂 Tag  이전 시간과 마찬가지로 HTML의 태그를 학습하기 전에 앞서, HTML의 태그를 한눈에 볼 수 있도록 정리한 사이트 https://www.w3schools.com/tags/tag_comment.asp를 통해 태그를 확인하고 이를 실습한다.  Button  onclick을 통해 클릭할 때 동작할 이벤트를 정의할 수 있다.다만, 해당 영역에 자바 스크립트를 넣어서 함수를 통해 동작하도록 설정할 수 있다.또한 버튼과 input의 차이점은 버튼 내부에는 , 과 같은 태그들을..

Part 6-2-6. 웹 기초 : HTML #4

🌐 웹 기초  지난 시간에는 HTML의 리스트, 테이블 태그에 대해서 학습하였다. 이번 시간에는 HTML의 파일 구조 태그들에 대해서 배운다.   🚂 Tag  이전 시간과 마찬가지로 HTML의 태그를 학습하기 전에 앞서, HTML의 태그를 한눈에 볼 수 있도록 정리한 사이트 https://www.w3schools.com/tags/tag_comment.asp를 통해 태그를 확인하고 이를 실습한다.  DOCTYPE 은 도큐먼트의 타입을 뜻한다.따라서 모든 HTML의 문서는 DOCTYPE으로 시작 해야한다. --> 컴투스 공동 창업자 이영일 대표가 설립한 해긴은 ‘홈런 클래시’, ‘오버독스’, ‘익스트림 골프’, ‘플레이투게더’ 등 캐주얼한 매력을 극대화한 다양한 장르의 모바일게임을 개발 및 서비스하는 기..

Part 6-2-5. 웹 기초 : HTML #3

🌐 웹 기초  지난 시간에는 HTML의 기초적인 태그에 이어 개행, 단락 구분, 이미지, 하이퍼링크 등 마찬가지로 기초적인 태그에 대해서 학습하였다. 이번 시간에는 지난시간과 마찬가지로 HTML의 태그들에 대해서 배운다.   🚂 Tag  이전 시간과 마찬가지로 HTML의 태그를 학습하기 전에 앞서, HTML의 태그를 한눈에 볼 수 있도록 정리한 사이트https://www.w3schools.com/tags/tag_comment.asp 를 통해 태그를 확인하고 이를 실습한다.  리스트, 테이블  html에서 리스트는 ol과 ul을 사용한다. ol은 ordered list와 unordered list를 뜻한다.ol의 경우 정렬된 리스트, ul은 정렬되지 않은 리스트를 뜻한다.ol은 번호로 데이터가 보여지..

Part 6-2-4. 웹 기초 : HTML #2

🌐 웹 기초  지난 시간에는 HTML의 기초적인 태그인 주석, 볼드, 이탤릭, 크기 등 기초적인 태그에 대해서 학습하였다. 이번 시간에는 이번 시간에는 지난시간과 마찬가지로 HTML의 다양한 태그들에 대해서 배운다.   🚂 Tag  이전 시간과 마찬가지로 HTML의 태그를 학습하기 전에 앞서, HTML의 태그를 한눈에 볼 수 있도록 정리한 사이트인 https://www.w3schools.com/tags/tag_comment.asp 사이트를 통해 태그를 확인하고 이를 실습한다.  개행, 단락 구분, 이미지, 하이퍼링크 (개행)은 이 존재하지 않는다. --> 단락별로 수행하고자 할 때 사용된다. -->를 통해 이미지를 넣어준다. 여기서 alt는 이미지가 나타나지 않을 때 나오는 부가적인 요소이다. wi..

Part 6-2-3. 웹 기초 : HTML #1

🌐 웹 기초  지난 시간에는 HTML을 학습하기 위해 아톰과 같은 응용 프로그램을 설치하고 간단하게 Hello world를 찍어보았다. 이번 시간에는 HTML의 다양한 태그들에 대해서 배운다.   🚂 Tag  태그를 학습하기 전에 앞서, HTML의 태그를 정리한 https://www.w3schools.com/tags/tag_comment.asp 사이트를 통해 태그를 확인하고 이를 실습할 수 있다.  W3Schools.comW3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, ..

Part 6-2-2. 웹 기초 : 환경 설정

🌐 웹 기초  지난 시간에는 유니티 클라이언트 개발자가 왜 HTML과 CSS를 배워야하는지, 이를 활용할 수 있는 방법은 무엇이 있는지 알아보았다. 이번 시간에는 HTML을 배우기 전에 앞서 환경 설정하는 시간을 가져본다.  🧑‍💼 환경 설정  먼저 HTML 편집을 위해 편집기를 다운로드 받는다. 루키스님이 사용하는 프로그램은 Atom이다. Atom의 다운로드 링크는 아래와 같다. https://atom-editor.cc/ A hackable text editor for the 21st CenturyAt GitHub, we’re building the text editor we’ve always wanted: hackable to the core, but approachable on the firs..

Part 6-2-1. 웹 기초 : HTML, CSS 개론

🌐 웹 기초  지난 시간에는 웹 서버 챕터 내에서 전반적으로 어떠한 것을 학습할 것인지에 대해서 알아보았다. 이번 시간에는 왜 유니티 클라이언트 개발자가 HTML과 CSS를 배워야하는지, 그리고 HTML와 CSS를 통해 할 수있는 것들은 무엇이 있는지 등 전반적으로 다양하게 알아보자.  🧣 개론   게임 서버를 나눈다면 크게 2가지로 나눌 수 있다. 웹 서버와 게임 서버이다. 게임 서버는 이전에 얘기했기 때문에 웹 서버에 대해서 얘기하자면 웹 서버는 테이크 아웃 식당이라고 비유할 수 있다. 또한 웹 서버는 애시당초 게임을 위해 만들어진 것이 아니고, 말 그대로 웹 서비스를 통해서 만들어졌다. 하지만 뭐가 되었던 웹 서버와 게임 서버 둘다 식당으로 비유할 수 있기 때문에 똑같이 네트워크 통신이 일어나는..

Part 6-1-1. 개론 : OT

❣️ 개론  지난 시간까지 데이터베이스에 대해서 전반적으로 학습하였다. 이번 챕터부터는 ASP.NET과 Web API에 대해서 알아보면서 본격적으로 웹 서버에 대한 내용을 알아볼 것이다.   웹 서버는 게임 서버보다는 중요도가 낮긴 하지만 그렇다고 해서 아예 필요없는 것이 아니다. 결제, 로그인 인증 등에 사용되기 때문에 웹 서버에 대한 기초적인 지식도 필요하다. 따라서 웹 서버를 구현하기 위해 필요한 HTML과 CSS, REST 서버와 같은 기초적인 부분부터 시작할 것이다. 물론 깊이있게 모든 것을 다 파고드는 것은 아니고, 보다 폭 넓게 알아보도록 할 것이다. 마지막으로 이를 통해 Web API의 사용과 Blazor를 이용한 홈페이지 구현까지 해보도록 하자.

Part 5-4-7. 부록 : Redis 맛보기 #3

🌚 부록  지난 시간에는 Redis에 문자열에 관한 간단한 문법에 대해서 알아보았다. set, get, append, increse, decrease와 같은 기본 문법이 존재하고 ttl과 expire 통해 로그인 시 웹서버, DB, GameServer 와의 소통 방법에 대해서도 알아보았다. 오늘은 문자열을 넘어서 셋, 정렬된 셋, 리스트, 해시 문법에 대해서 알아보자.  🎸 Redis  이전 시간에는 문자열 자료구조를 알아보았다. 오늘은 이어서 셋, 정렬된 셋, 리스트, 해시에 대해서 알아보도록 하자.  셋  셋은 기본적으로 '중복을 허용하지 않는 집합'이라고 생각하면 된다. 집합의 개념이라고 이해하면 되기 때문에 차집합, 교집합, 합집합 등 다양한 명령어들도 마찬가지로 사용할 수 있다. 셋은 유튜브..

Part 5-4-6. 부록 : Redis 맛보기 #2

🌚 부록  지난 시간에는 Redis에 대해서 알아보았다. Redis는 NoSQL의 한 종류이며 Key-Value 형태를 가진다. 지난 시간에는 깃허브 링크를 통해 레디스를 설치하고, 실행보았으며 마지막으로 헬로 월드를 찍는 것으로 마쳤다. Redis에 대해서 조금 더 자세히 알아가보자.  🍕 Redis  가장 먼저 알아볼 것은 문자열이다. 기본적으로 우리가 사용하려고 하는 명령들은 이미 모두 구현이 되어있다. 따라서 지난 시간에 해봤던 set ~, get ~을 통해 데이터를 확인할 수 있다.   당연히 문자열을 합치는 기능인 append도 사용 할 수 있다.    또한 값의 증가, 감소도 처리할 수 있다. increase, decrease 줄여서 incr, decr으로 사용한다.   당연하지만 문자열..

Part 5-4-5. 부록 : Redis 맛보기 #1

🌚 부록  지난 시간에는 트랜잭션에 대해서 알아보았다. 트랜잭션은 4가지 특성을 가지고 있으며 이를 각각의 약자로 'ACID'로 표현한다. 정보처리기사를 따면서 이를 '원일격영'으로 외웠는데 원자성, 일관성, 격리성, 영속성으로 학습했었다. 데이터베이스는 그 중에서도 원자성과 영속성(=지속성)을 매우 중요시하며 영속성을 관리하기 위해 '로그'를 통해 Redo, Undo를 사용하는 것 까지 알아보았다. 오늘은 NoSQL의 한 종류인 Redis에 대해서 알아볼 것이며 이번부터는 실습을 통해 진행된다.  🐅 NoSQL  NoSQL이란 무엇일까? 한 줄로 요약하자면 관계형 데이터베이스가 아닌 모든 것들을 다 NoSQL이라고 한다. 또한 NoSQL은 종류도 어마어마하게 많다. 각각의 특성과 장단점이 모두 다르..

Part 5-4-4. 부록 : 트랜잭션

🌚 부록  지난 시간에는 대기와 락에 대해서 알아보았다. 데이터베이스 또한 여타 다른 프로그램과 다를 바 없이 멀티쓰레드를 사용하고 비행기 화장실로 비유한 락을 통해 처리하는 것 까지 알아보았다. 이 후 락을 어디다가 걸어줘야 하는가?에 대해서 알아보고, 이에 따라 락을 걸 때에도 아무렇게나 락을 걸어주는 것이 아닌 보다 현명하게 걸어야하는 것 까지 알 수 있었다. 오늘은 트랜잭션에 대해서 알아볼 것이며 마찬가지로 이론을 통해 트랜잭션을 알아보도록 하자.  👩‍🦱 트랜잭션  트랜잭션의 개념은 이전 시간에 학습했으므로 아래 링크로 대신한다. https://shung2.tistory.com/1485 Part 5-2-17. SQL 입문 : TRANSACTION, COMMIT/ROLLBACK💅 SQL 입..

Part 5-4-3. 부록 : 대기와 락

🌚 부록  지난 시간에는 쓰레드와 캐시에 대해서 알아보았다. 데이터베이스도 마찬가지로 많이, 빠르게, 안전하게를 처리하기 위해 멀티쓰레드를 사용하고 있는 것을 알아보았고, 캐시를 통해 데이터를 저장하고 있다가 캐시가 꽉 찰경우 LRU 기법을 통해 캐시를 지워주는 등 캐시 관리기법에 대해서도 알아보았다. 오늘 또한 마찬가지로 실습이 아닌 이론을 통해 대기와 락에 대해서 알아보도록 하자.  🐱‍🐉 대기와 락  서버 프로그래머로 취업을 하기 위해서 데이터베이스에 대한 내용은 당연히 공부 하겠지만, 책을 살펴보면 락과 멀티쓰레드에 대한 얘기는 잘 없어 루키스님이 예전부터 궁금했던 부분 중 하나라고 하셨다. 곰곰히 생각해보면 전공시간에 데이터베이스를 배웠을 때에도 해당 내용은 딱히 배우지 않았던 것 같다. ..

Part 5-4-2. 부록 : 쓰레드와 캐시

🌚 부록  지난 시간에는 데이터베이스 원리에 대해서 알아보았다. 데이터베이스는 많이, 빠르고, 안전하게 이 3가지의 특징을 잘 지켜야 하는데 각각의 개념은 서로 상충되기 때문에 쉽게 이 모든 것을 지키며 수행하기가 어렵다는 것을 알 수 있었다. 그렇지만 그 중에서도 안전성은 정말 정말 중요했기 때문에 무조건적으로 지켜야 한다는 것 까지 알 수 있었다. 오늘은 더 나아가 쓰레드와 캐시에 대해서 알아보는 시간을 가지되 이전 시간과 마찬가지로 실습이 아닌 이론을 통해 알아보도록 한다.  ⚽ 쓰레드   사실 쓰레드와 캐시는 Part 4 게임 서버 수업에서 이미 학습한 경험이 있어서 크게 어렵지 않다. 쓰레드와 캐시가 꼭 게임 서버에 국한되는 것이 아니라, SQL에도 적용되는 것이다. 그렇다면 데이터베이스에서 ..

Part 5-4-1. 부록 : 데이터베이스 원리

🌚 부록  지난 시간에는 소팅 즉 정렬에 대해서 알아보았다. 데이터베이스의 정렬은 데이터가 어마어마하게 많기 때문에 유의해야한다. 만약 하더라도 최소한으로 하되, 정말 필요한지 확인해야 하는 경우도 생긴다. 오늘은 데이터베이스의 원리에 대해서 알아보는 시간을 가져보도록 하자. 이번 시간에는 SQL을 통해 실습하는 것이 아닌 이론을 통해 진행된다.   👔 데이터베이스 원리  여태까지 관계형 데이터베이스를 통해 여러가지를 알아보았다. 1) SQL 구문을 사용해서 이용하는 방법2) 튜닝을 통해 보다 효율적으로 SQL을 작성하는 방법 (인덱스, 소팅 등)  사실 원래대로 라면 이론 먼저 공부를 하고 실습을 진행 하지만, 데이터베이스는 실습을 통해서 먼저 사용해보고 사용하면서 이러한 것들이 왜 필요한지 알아보..

Part 5-3-10. SQL 튜닝 : Sorting

🌞 SQL 튜닝  지난 시간에는 조인의 3가지 마지막 원리로 Hash 조인에 대해서 알아보았다. 해시 조인은 인덱스의 유무에 영향을 받지 않고, 정렬이 필요하지 않다는 장점을 가지고 있다. 오늘은 Sorting 즉 정렬에 대해서 알아보는 시간을 가져보도록 하자.  이번 시간에는 Northwind 데이터베이스를 사용하는 것이 아닌, 다시 BaseballData  데이터베이스를 사용한다. 🎑 Sorting  알게 모르게 많이 사용했지만, 사실 정렬은 굉장히 위험한 놈이다. 일반적으로 클라이언트에서 사용하는 데이터는 크기가 그렇게 크지도 않고, 일반적인 정렬의 시간복잡도는 O(NlogN)이기 때문에 한 두번 하는건 그렇게 위험하지 않다. 그러나 DB에서 사용하는건 유의해야 한다. DB는 클라이언트와 다르게..

Part 5-3-9. SQL 튜닝 : Hash 조인

🌞 SQL 튜닝  지난 시간에는 조인의 3가지 원리 중 하나인 Merge 조인에 대해서 알아보았다. 머지 조인은 양쪽 집합을 정렬하고 병합하여 Sort Merge 조인이라고도 부르기도 한다. 또한 다대다(Many-To-Many)보다는, 일대다(One-To-Many) 조인에 보다 효과적인 것 까지 알아보았다. 이번 시간에는 마지막으로 Hash 조인에 대해서 알아보는 시간을 가져보도록 하자.  이번 시간에는  BaseballData 데이터베이스를 사용하는 것이 아닌, 다시  Northwind  데이터베이스를 사용한다.  🧛‍♀️ Hash 조인  해시 조인은 인덱스가 없을 때 큰 위력을 발휘하는데, 오늘도 실습을 통해 알아보도록 하자. -- TestOrders 테이블 생성SELECT *INTO TestOr..

Part 5-3-8. SQL 튜닝 : Merge 조인

🌞 SQL 튜닝  지난 시간에는 조인의 3가지 원리 중 하나인 Nested Loop 조인 (이하 NL 조인)에 대해서 알아보았다. 우리가 일반적으로 사용하는 이중 포문의 형태가 바로 NL 조인이며, NL 특징으로는 먼저 액세스 한 OUTER 테이블의 로우를 차례 차례 스캔을 하면서 Inner 테이블에 랜덤 엑세스하며, 부분 범위 처리에 효과적인 것 까지 알아보았다. 이번 시간에는 그 다음 차례인 Merge 조인에 대해서 알아보는 시간을 가져보도록 하자.   마찬가지로 이번 시간에도 Northwind 데이터베이스를 사용하는 것이 아닌, BaseballData 데이터베이스를 사용한다.   🐋 머지 조인  Merge(병합) 조인은 일반적으로 Sort Merge(정렬 병합) 조인이라고 한다. 이전 시간에 살..

반응형