반응형

전체 글 1509

신입생을 위한 백준공부법

이 글은 23학번인 제가 24학번 신입생들을 위해 작성하는 글 입니다. 개발자가 되기를 원하는 여러분들은 프로그래밍 실력을 키워야합니다. 프로그래밍이라는 단어에 포함되는 의미는 여러가지가 있겠지만 프로그래밍의 기본이 되는 문제해결력을 기르고 자료구조 알고리즘을 공부하는 것은 여러분이 선택한 분야와는 상관없이 꼭 필요한 능력입니다. 그렇다면 백준이라는 사이트를 통해 문제해결력을 기르고, 자료구조와 알고리즘은 난이도 순서대로 효과적으로 공부해나가는 방법에 대해 알아봅시다.  더 읽어보기 및 출처 : Velog의 dlgkdms4660님https://velog.io/@dlgkdms4660/%EC%8B%A0%EC%9E%85%EC%83%9D%EC%9D%84-%EC%9C%84%ED%95%9C-%EB%B0%B1%EC%..

공부/자기계발 2024.06.24

코딩 테스트를 준비하는 모두를 위한 조언

합격자가 되고 싶은 여러분에게이번 글에서는 코딩 테스트에 어떤 마음가짐으로 임하면 좋을지, 책 ‘코딩 테스트 합격자 되기’ 저자들의 조언을 모아봤습니다. 그럼 여행을 떠날 준비를 한다고 생각하면서 함께 천천히 살펴보겠습니다. 코딩 테스트를 조금 더 효율적으로 준비하기 위해서는 타인의 풀이를 확인하고, 내가 생각한 테스트 케이스를 추가하는 것이 좋습니다. 왜 그런지 구체적인 내용을 알아보겠습니다.  더 읽어보기 및 출처 : 요즘 IT의 골든래빗님https://yozm.wishket.com/magazine/detail/2612/?utm_source=stibee&utm_medium=email&utm_campaign=newsletter_yozm&utm_content=contents 코딩 테스트를 준비하는 모두를..

공부/자기계발 2024.06.24

의사소통이 즐거운 개발자의 3가지 능력

몇 년 지난 일입니다. 회사 CTO님이 판교에서 개발자를 구하는 창업자를 만나고 와서 했던 질문이 꽤 인상 깊게 남았습니다. 그는 “코딩 실력만 있는 것이 아니라 대화가 통하는 동시에 일도 믿고 맡길 수 있는 개발자가 한국에 몇 명이나 있을 것 같냐”고 내게 물었습니다. ‘누구와의 대화’가 통해야 하는 지는 불분명했지만, 제 추측으로는 창업자를 만나고 온 직후이니 고용주가 개발자와 나누고 싶은 이야기들이 그 대상일 듯했습니다. 생각해 본 일이 없어서 대답을 망설이자 그가 먼저 숫자를 제시했습니다. 충격적으로 적은 숫자였습니다. 정말 우리나라에 의사소통이 능통한 개발자가 그렇게 부족할까요? 돌아보면 저 역시 의사소통의 중요성을 깨달은 것은 오래되지 않은 듯도 합니다. 개발자에게 의사소통 능력이 역량의 전부..

공부/자기계발 2024.06.24

4년 차 개발자의 SI 대기업 이직기 ① 이직 결심부터 코딩테스트까지

“저 이직해요.” 전 회사에 이직을 알린 순간부터 현재 회사로 옮겨 n년째 재직 중인 지금까지, 이직에 대한 질문을 많이 받습니다. 생각보다 이직에 관심 있는 사람도, 실제로 준비하는 사람도 많다는 것을 알게 되었죠. 제가 이직을 준비할 때는 주변에 이직을 경험한 친한 선배가 없어 어려움을 겪었습니다. 그래서 구글링으로 다른 사람은 어떻게 준비하고 있는지 하나하나 찾아보고 참고해야 했습니다. 그럴 때마다 이직을 경험해 본 사람이 A부터 Z까지 정리해 줬으면 좋겠다는 생각을 많이 했습니다. 이번 기회에 제가 자주 받은 질문을 중심으로 제 경험을 직접 정리해 보고자 합니다. 두 편을 시리즈로 준비했고, 이번 글에서는 이직을 결심하는 것부터 면접 전, 즉 서류와 코딩테스트까지 과정을 다룰 예정입니다.  더 읽..

공부/자기계발 2024.06.24

Part 5-3-3. SQL 튜닝 : Clustered vs NonClustered

🌞 SQL 튜닝   지난 시간에는 복합 인덱스를 통해 여러 칼럼을 동시에 인덱스를 걸어서 조회하고, 또 동시에 인덱스를 건 상태에서 특정 칼럼만 조회할 경우 어떤일이 발생하는지에 알아보았다. 이번 시간에는 인덱스의 종류인 Clustered와 Non-Clustered의 개념과 각자 동작방식은 어떻게 되는지, 마지막으로 어떤 차이점이 있는지 알아보는 시간을 가져보도록 하자. 😋   단, 이번 시간에서도 저번 시간과 마찬가지로 BaseballData 데이터베이스를 사용하는 것이 아닌, Northwind 데이터베이스를 사용할 것이다. 😎    🎞 인덱스(Index)의 종류 인덱스의 종류는 크게 2가지로 나눠 볼 수 있다. 바로 Clustered Index와 Non-Clustered Index이다.  Cl..

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..

반응형