반응형

전체 글 1504

Part 5-3-2. SQL 튜닝 : 복합 인덱스, 조회/SPLIT/가공 테스트

🌞 SQL 튜닝  지난 시간에는 인덱스 분석을 통해 인덱스를 생성하고, 생성한 인덱스의 값과 인덱스 내부에 테이블 값에 대해서 알아보았다. 이번 시간에는 복합 인덱스를 통해 여러 칼럼을 동시에 인덱스를 걸어서 조회해보고, 여러 칼럼을 동시에 조회했을 때 특정 칼럼만 조회할 경우 어떤일이 발생하는지 등에 대해 알아보는 시간을 가져보도록 하자. 😋  단, 이번 시간에서도 저번 시간과 마찬가지로 BaseballData 데이터베이스를 사용하는 것이 아닌, Northwind 데이터베이스를 사용할 것이다. 😎    🔶 복합 인덱스  복합 인덱스라고 하니 조금 어려워보이지만 사실 복합 인덱스는 인덱스를 걸 때 여러 컬럼을 동시에 인덱스를 걸어버리는 것이 복합 인덱스이다. 늘 그렇듯이 말로 설명하면 어려우니 예..

Part 5-3-1. SQL 튜닝 : 인덱스 분석, RID

🌞 SQL 튜닝  지난 시간에는 윈도우 함수를 통해 순위를 매기는 방법, 첫 값과 마지막 값, 이전 값과 다음 값등 다양한 윈도우 함수에 대해서 알아보았다. 이번 시간에는 인덱스 분석을 통해 인덱스를 생성하고 생성한 인덱스의 값에 대해서 알아보는 시간을 가져보도록 하자. 🧐  🍄 Northwind Database  이번 시간부터는 기존부터 사용하던 BaseballData 데이터베이스를 사용하는 것이 아닌, Northwind 데이터베이스를 사용할 것이다. 해당 데이터베이스는 설정과 관련된 정보는 아래 링크를 참조한다. https://github.com/Microsoft/sql-server-samples/tree/master/samples/databases/northwind-pubs sql-server..

Part 5-2-19. SQL 입문 : 윈도우 함수, OVER/ROW_NUMBER/RANK/DENSE_RANK

💅 SQL 입문  지난 시간에는 변수와 흐름제어를 통해 SQL에서 변수 선언 및 배치, 흐름 제어를 하는 방법에 대해서 알아보았다. 이번 시간에서는 윈도우 함수를 통해 보다 다른 방식의 GROUPING을 이용하는 방법에 대해서 알아보는 시간을 가지자. 😊  🚲 윈도우 함수  윈도우 함수란 무엇일까? 이름이 윈도우 함수라서 윈도우 운영체제에서만 돌아간다고 착각할 수 있지만, 그런 것은 아니다. 한 줄로 요약하자면 행들의 서브 집합을 대상으로, 각 행별로 계산을 해서 스칼라(단일 고정) 값을 출력하는 함수이다. 설명이 조금 어렵지만, 느낌상 그룹핑과 유사하다는 것을 느낄 수 있다.   그룹핑은 어떤 집합은 아니지만, 여러 기준을 대상으로 데이터를 보기 좋게 확인한 다음 단일 고정값을 추출했다. SUM,..

Part 5-2-18. SQL 입문 : 변수와 흐름 제어, 배치/테이블 변수

💅 SQL 입문  지난 시간에는 TRANSACTION과 COMMIT, ROLLBACK을 통해 TRANSACTION의 개념과 COMMIT, ROLLBACK의 개념에 대해서 알아보았다. 이번 시간에서는 SQL에서의 변수의 선언부터 시작해서, 배치(batch), 흐름 제어(if~else)를 통한 흐름 제어를 통해 상황에 따라 유동적으로 코드를 처리하는 방법에 대해서 알아보는 시간을 가지자. 😎  🍩 변수 선언 C#, C++에서 변수 선언은 어떻게 할까? 아주 간단하다. int x;와 같이 선언하여 사용할 수 있다. SQL에서도 이와 마찬가지로 선언할 수 있다. 다만 SQL에서는 DECLARE*라는 키워드를 사용하여 변수를 선언한다. 변수의 선언 방법은 아래 예제를 참고한다.* DECLARE의 뜻은 '선언..

Part 5-2-17. SQL 입문 : TRANSACTION, COMMIT/ROLLBACK

💅 SQL 입문  지난 시간에는 JOIN을 통해 복수의 테이블에서 공통 열을 통해 테이블 정보를 살펴보는 내용에 대해서 알아보았다. 이번 시간에서는 TRANSACTION과 COMMIT, ROLLBACK 등 개념을 통해 테이터 처리 및 취소 여부에 대해 알아보는 시간을 가지자.   📨 TRANSACTION 트랜잭션이란 무엇일까? 검색해보니 '더 이상 쪼갤 수 없는 업무 처리의 최소 단위이다.'라고 나와 있다. 개념적으로 학습하기에는 쉽게 이해가 되지 않으므로 예시를 통해 알아보자.  예를 들어, A라는 사람이 B라는 사람에게 1,000원을 지급하고 B가 그 돈을 받은 경우, 이 거래 기록은 더 이상 작게 쪼갤 수가 없는 하나의 트랜잭션을 구성한다. 그러나 A는 돈을 지불했으나 B는 돈을 받지 못했다면 ..

Part 5-2-16. SQL 입문 : JOIN, CROSS/INNER/LEFT/RIGHT JOIN

💅 SQL 입문  지난 시간에는 UNION을 통해 복수의 테이블을 다루는 내용에 대해서 알아보았다. 이번 시간에서는 INDEX와 같이 정말 너무나도 중요한 JOIN에 대해서 알아보는 시간을 가진다.  ❌ JOIN 우리가 배우고 있는 RDBMS에서는 1~6 정규화를 통해 테이블을 적절히 나누어서 관리한다. 따라서 나누어서 관리하는 이러한 테이블들을 합치기 위해서는 JOIN 연산을 통해 이를 처리한다. JOIN 연산에는 크게 다음과 같은 종류가 있다. CROSS JOININNER JOINOUTER JOIN (LEFT/RIGHT)  ❌ CROSS JOIN CROSS JOIN이라고 명칭하는 걸 보니 무엇인가를 '교차' 시키는 느낌을 받을 수 있다. 저번에 생성했던 GameDB를 이용하여 다음과 같은 테이블과 ..

지금부터 향후 30년은 창업하기 가장 좋은 시기가 될 겁니다.

1. VC 구조조정이 일어나고 있어요. 투자판이 바뀌고 있다는 얘깁니다. 2. AI 기반의 새로운 미디어 생태계가 열릴 겁니다. ‘레거시 미디어 종말론’은 지금까지 계속 있어 왔지만, AI가 미디어 생태계 내에 인력 구조 자체를 바꿀 수 있기 때문에, 이로 인한 파급 효과는 예상보다 클 수 있습니다. 그리고 미디어 생태계가 바뀐다는 건 정보와 광고의 유통 패러다임이 바뀐다는 뜻이기 때문에, 이런 변화는 사회 전반에 큰 영향을 미칠 겁니다. 3. 앞으로는 크리에이터와 잘 연결되는 사업자들이 살아남을 겁니다. 이미 A급 크리에이터 한 명의 영향력과 그들이 확보한 독자들은 기존 미디어 수준입니다. 다만, 크리에이터들의 비즈니스 역량이나 운영 역량은 꽤 떨어지는데요. 따라서 앞으로는 크리에이터들과 지속적인 협업..

공부/자기계발 2024.03.06

불경기 취업 너무 어렵죠?

요즘 경기가 안 좋다보니 특히 신입이나 주니어 취업이나 이직이 쉽지 않다. 특히 미국에서 공부하는 유학생들이라면 비자 등의 문제로 시간적으로 여유가 많지 않기에 마음이 더 급할 수 밖에 없다. 거기에 들어간 돈과 시간을 생각하면 더 조급해진다. 기본적으로 경기가 안 좋아지면 회사들이 채용을 줄이고 채용의 초점을 경력자로 옮기니 그런 듯 하다. 요즘 다수의 신입 혹은 주니어 개발자들의 이력서를 리뷰했는데 이 정도면 최소 인터뷰는 몇 번 봤으리라 생각되는 이력서도 아예 기회가 없는 경우들이 허다했다. 나도 큰 애가 대학 4학년이라 남 일이 아니다. 하지만 사실 리먼 사태가 터졌을 때도 동일한 문제가 있었고 더 앞으로 가보자면 닷컴 버블 꺼지고 9/11 터졌을 때도 동일한 이슈가 있었다. 그보다 더 앞으로 가..

공부/자기계발 2024.03.06

나의 가치를 향상 시키는 방법 (부제: 내가 야근을 하는 이유)

"목표를 이루기 위해 고민했다." 나의 목표는 기술적으로 뛰어난 개발자가 되어 억대 연봉을 받는 것이다. 어떻게 해야 뛰어난 개발자가 될 수 있고 이것을 인정받아 억대 연봉을 받을 수 있을까? 많은 고민 끝에 내린 결론은 매우 단순했다. 내가 내린 결론은 내가 다니는 기업에 '받은 것보다 더 많은 것을 주는 것'이다. 하지만 이 단순한 결론에 도달하기까지에는 많은 고민이 있었다. 고민을 하게 된 이유는 주변 사람들이 받은 만큼 일해야 한다고 말했기 때문이다. 내가 어떻게 이 단순한 결론에 도달하게되었는지 고민의 과정을 정리하는 포스팅이 될 것이다. 더 읽어보기 및 출처 : 티스토리 '초급에서 고급까지'님 https://jfbta.tistory.com/279 나의 가치를 향상 시키는 방법(부제: 내가 야근..

공부/자기계발 2024.03.06

유니티 AOS 빌드 시 나타나는 에러 정리

최초 작성일 : 24.03.05 수정일 : X.X.X AOS를 빌드하면서 다음과 같은 에러들이 나타났는데, 이 때에 어떻게 해결했는지를 까먹지 않고 정리하기 위해 작성한다. 그래야 나중에 나도 혹시 까먹으면 참고하기 위해... 🤣 나의 해결 과정 순서 : 첫 빌드 시 에러는 1, 2, 4가 떴었으며 1을 해결하니 3, 5가 나타났다. 에러 3번 같은 경우는 내 해결범위 안을 벗어나는 것 같아 에러 5번을 해결하고자 하였으나 점점 일이 커지는 것 같았다. 따라서 상황을 전부 롤백하여 에러 4를 해결하였더니 모든 것이 완벽하게 동작하였다. 😎 에러 1. AndroidManifest 파일 내 퍼미션 에러 에러 전문 : uses-ermission#android.permission.READ_EXTERNAL_STO..

개발/유니티 2024.03.04

뒤끝 GPGS V2 관련 SDK 전환 시, Xcode 빌드 시 나타나는 에러

https://community.thebackend.io/t/gpgs-v2-id/6908 GPGS V2 지원 및 구글 차세대 플레이어 ID 정책 관련 긴급 안내 안녕하세요, 게임 서버 뒤끝입니다. 2024년 3월부터 적용되는 차세대 플레이어 ID의 강제 의무화와 관련하여 뒤끝에서는 2월 27일 정기 업데이트를 통해 GPGS V2 를 지원할 예정입니다. GPGS V1 => V2 이 community.thebackend.io 24년 2월까지 구글에서 현재 서비스 중인 GPGS V1이 3월부터 V2로 업데이트가 된다. 이에 따라 부득이하게 현재 라이브 서비스 중인 게임의 뒤끝 SDK를 업데이트 해주었다. 그러나 위 링크에서 알려주는 '뒤끝 구글로그인 SDK' 링크로 이동해 뒤끝에서 제공하는 유니티 패키지를 설..

개발/유니티 2024.03.04

Part 5-2-15. SQL 입문 : UNION, INTERSECT, EXCEPT

💅 SQL 입문 지난 시간에는 정말 너무나도 중요하고 중요한 INDEX의 개념과 INDEX의 종류 등에 대해서 알아보았다. 이번 시간에는 UNION, INTERSECT, EXCEPT 개념을 통해 복수의 테이블을 다루는 개념에 대해서 알아보는 시간을 가진다. ➕ UNION 커리어 평균 연봉이 3백만달러 이상인 선수들의 ID와 평균을 출력해보자. 각 선수들의 평균 연봉이어야 하므로, AVG, Group By와 Having 등을 이용하여 출력할 수 있다. SELECT playerID, AVG(salary) FROM salaries Group BY playerID HAVING AVG(salary) >= 3000000; 이번엔 간단하게 12월에 태어난 선수들의 ID를 출력해보자. SELECT playerID, b..

Part 5-2-14. SQL 입문 : INDEX

💅 SQL 입문 지난 시간에는 정규화를 통해 데이터베이스 내 중복된 데이터를 분리하여 관리하는 방법에 대해서 알아보았다. 이번 시간에는 INDEX(=색인) 이라는 개념을 통해 데이터베이스 내 엄청나게 많은 데이터속에서 보다 빠르게 조회하는 방법과 인덱스의 종류인 클러스터, 논 클러스터형에 대해서 알아보는 시간을 가진다. 📖 INDEX 인덱스는 중요도를 평가할 수 없을 정도로 데이터베이스에서 매우 중요한 개념이다. 애시당초 인덱스를 이해 못한다고 하면 데이터베이스 자체를 사용하는게 큰 의미가 없을 정도로 인덱스는 굉장히 중요하다. 이러한 중요성 덕분에 데이터베이스 관련 면접을 본다고하면 0번째 질문이 인덱스에 관한 내용일 정도로 인덱스는 매우 중요하다. 위키백과에 따르면 인덱스(영어: index)는 데이터..

Part 5-2-13. SQL 입문 : 정규화

💅 SQL 입문 지난 시간에는 새로운 데이터베이스를 직접 만들어보고, 열도 생성하며 데이터를 삽입하고, 수정하고, 삭제하는 것과 제약(CONSTRAINT)에 대해서 알아보았다. 이번 시간에는 정규화라는 개념을 통해 데이터베이스 내 중복된 데이터를 분리하며 설계하는 방법에 대해서 알아보는 시간을 가진다. ➗ 정규화 정규화는 테이블을 올바르게 올바르게 변경하고 분할하기 위해서 존재한 개념이다. 사실 SQL 챕터는 정보처리기사 자격증을 준비하면서 학습했던 내용이라 강의를 듣는데 큰 어려움이 없다. 자격증 내에서 정규화는 크게 1~6 정규화까지 존재하는데 강의에서는 모든 정규화 유형에 대해서 굳이 외울 필요는 없고, 나중에 데이터베이스 설계시 저절로 알게 된다고 말씀해주셨다. 예를 들어 임의의 데이터베이스가 위..

Part 5-2-12. SQL 입문 : 데이터베이스 작성

💅 SQL 입문 지난 시간에는 SUBQUERY를 통해 "하나의 SQL문에 또 다른 SQL문"을 작성하여 보다 편리하게 데이터를 조회하는 방법에 대해서 알아보았다. 이번 시간에는 데이터베이스를 새롭게 만들어보며 데이터를 추가, 삭제, 수정하는 등 데이터베이스를 작성하는 시간을 가져본다. 🎀 DataBase 지금까지는 기존에 존재하던 BaseBall 데이터에 쿼리를 실행하였다면, 이번에는 우리가 직접 데이터베이스를 작성하는 시간을 가져보자. 우리는 MMORPG 게임을 개발할 예정이니 게임과 관련덴 데이터베이스를 새롭게 만들어보자. 이러한 데이터베이스를 '스키마'라고 부르기도하니 참고하도록 하자. 🎀 CREATE 데이터베이스를 만드는 행위는 아주 간단하다. 다음과 같은 형식을 띈다. CREATE DATABAS..

Part 5-2-11. SQL 입문 : SUBQUERY

💅 SQL 입문 지난 시간에는 INSERT, DELETE, UPDATE를 통해 데이터를 검색뿐만 아니라, 추가, 삭제, 수정에 대해서 알아보았다. 이번 시간에는 SUBQUERY라는 개념에 대해서 학습하고 어떠한 상황에서 무슨 목적으로 사용하는지 알아보는 시간을 가져보도록 한다. ⛷️ SUBQUERY(서브쿼리, 하위쿼리) 서브쿼리를 한 줄로 요약한다면 "하나의 SQL문에 포함되어 있는 또 다른 SQL문"을 뜻한다. 정의로만 설명을 들으면 무슨 말인지 어렵기때문에 간단한 예시를 통해 서브쿼리에 대해서 알아가보도록 하자. ⛷️ WHERE 절에서의 SUBQUERY 활용 간단한 예를 들어보자. "연봉이 역대급으로 가장 높은 선수의 정보"를 출력한다고 가정하자. 지금까지 학습한 내용을 토대로 해당 선수의 정보를 출..

커리어 중간점검! 포트폴리오로 전문성 발견하기

어느 정도 연차가 쌓이면 나의 전문성을 의심하게 됩니다. 회사생활은 오래 했는데도 무엇 하나 제대로 할 수 있을지 고민스럽고요. 신입사원 때야 작은 업무에도 벅찼지만 이제는 진짜 중요한 업무를 해야 하지 않을까 조바심마저 드는데요. 내가 어떤 일을 해왔는지 제대로 설명할 수 없을 때, 전문성이 무엇인지 고민될 때 포트폴리오를 정리해보기 딱 좋은 시기입니다. “엥? 당장 이직할 것도 아닌데, 웬 포트폴리오?”라고 생각할 수도 있어요. 보통 포트폴리오는 보통 취업할 때 필요한 문서 중 하나라고 생각하니까요. 하지만, 재직 중 미리 커리어를 정리해 두면 여러 가지 이점이 있어요. 연차가 쌓인 지금, 그저 마감이 급해 성과 정리를 못한 업무를 정리해 볼 수 있고요, 커리어 방향성까지 점검할 수 있는 기회가 되거..

회사/인사 2024.02.13
반응형