개요SQL coalesce 함수, CTE(Common Table Expressions)에 대해 알아보아요 참고DataExpert.io SQL 문제https://www.dataexpert.io/questions Data Engineer SQL Questions www.dataexpert.io 1. SQL coalesce 함수SQL의 COALESCE 함수는 데이터 처리에서 결측치(NULL)를 처리할 때 유용하게 사용되는 함수입니다. 사용방법주어진 인자들 중 첫 번째로 NULL이 아닌 값을 반환합니다.mysql> SELECT COALESCE(NULL,1); -> 1mysql> SELECT COALESCE(NULL,NULL,NULL); -> NULL 여러 개의 인자를 받을 수 있고, ..
전체 글
프로그래밍 관련 글을 올려요1. 개요Databricks에서 주관하는 Databricks Certified Associate Developer for Apache Spark(scala) 자격증 취득 후기 https://www.databricks.com/learn/certification/apache-spark-developer-associate Databricks Certified Associate Developer for Apache Spark | DatabricksThe Databricks Certified Associate Developer for Apache Spark certification exam assesses the understanding of the Spark DataFrame API and the ability..
개요얼마 전, 토스 컨퍼런스에서 주니어 개발자들을 위한 몇 가지 팁에 대한 발표를 들은 적이 있다.발표에서 들은 많은 도움이 된 내용들이 있었지만 그 중 기억에 남는 것은 아래의 내용이었다.개발자라서 커뮤니케이션, 문서 작성을 미숙하게 하는 것이 아니라 그만큼 관련 업무가 어렵고 복잡하다(그에 대한 해결법으로 제시해주신 것은 도식화!) 마침 블로그를 다시 시작하는 김에 글쓰기 관련 책을 읽으면서 블로그 글을 어떻게 작성하면 좋을 지 생각했고더 구체적으로는 어렵고 복잡한 내용의 경우 어떤 식으로 생각을 정리하고 문서를 작성할 지에 대한 방법론에 대해 찾아본 책의 내용을 몇 가지 정리해보려 한다. 요약문서 시작 부분에 3줄 요약을 적어두자강조색은 글을 모두 작성한 후 여기다! 싶은 곳에만 쓰자결론부터 말하..
1. 소개 Previous_gtids_log_event 는 MySQL DB 에서 발생하는 binlog event 중 하나로 직전 binlog 파일에 기록된 gtid_executed 를 담고 있는 이벤트이다. gtid_executed 는 특정 DB 에 지금까지 발생한 모든 GTID 들을 간소화된 형태로 저장하고 있는 값인데, 아래와 같은 형태를 띄고 있다. 하나의 GTID 묶음 형태 일수도 있고 3E11FA47-71CA-11E1-9E33-C80AA9429562:1-5 복제에 의해 여러 개의 DB 에서 파생되어 진 경우, 각각의 DB 마다 id 값이 달라 여러 개의 GTID 묶음이 될 수 있다. 2174B383-5441-11E8-B90A-C80AA9429562:1-3, 24DA167-0C0C-11E8-844..
대회 https://kaupc2022.com/ 제2회 한국항공대학교 프로그래밍 경진대회 프로그래밍에 관심이 있다면, 지금 바로 도전해보세요. kaupc2022.netlify.app 올해로 2번째로 열리는 교내 프로그래밍 대회에 참가했다 🙋♂️ 작년엔 내가 열었는데.. 어떻게 좋은 후임자를 둔 덕에,, 다음 회차 참가자로 참여할 수 있어서 너무 행복했다. 팀 구성 팀원은 올해 2학년인 영서와 호은이다. 팀명도 이름에서 하나씩 따서 수영왕 🏊 이번에 누구랑 팀을 짜서 나갈지 많이 고민을 했었는데, 일단 저학년(1, 2학년) 이랑 나가고 싶었다. 나는 지금까지 대회를 계속 나가고 문제를 풀 수 있었던 이유가 1학년때 아는 형들 따라 참가한 대회가 너무 재밌어서인데, 졸업하기 전에 나도 마지막으로 그런 감성을..
이번 글은 Amplitude Developer Center의 Flutter SDK 글을 참고하여 작성하였습니다. https://www.docs.developers.amplitude.com/data/sdks/flutter/ Flutter SDK - Amplitude Developer Center The Amplitude Flutter SDK installation and quick start guide. www.docs.developers.amplitude.com Amplitude란? 우리가 웹 또는 앱을 만들고 배포를 하면 모르는 사용자들이 들어와 이런저런 기능들을 사용하게 됩니다. 단순히 개인 프로젝트나 서비스를 사용할 사람들이 정해진 경우엔 괜찮지만, 마케팅 등을 통해 익명의 사용자들을 더 많이 모으..
플러터로 앱을 개발하여 MVP를 출시한 이후에 피드백을 받다 보니 하단 네비게이션 바에 이런저런 문제가 있음을 알게 되었습니다. 분명 공식 문서랑 괜찮아 보이는 곳들을 참고했었는데.. 화면이 많아지다 보니 전에는 보이지 않던 문제들이 발생했고, 더 괜찮은 문서를 찾던 중 좋은 가이드가 있어서 공유하게 되었습니다. 꽤 괜찮은 문서 https://codewithandrea.com/articles/multiple-navigators-bottom-navigation-bar/ Flutter Bottom Navigation Bar with Multiple Navigators: A Case Study A guide to implementing multiple independent navigation stacks wi..
AWS Route 53으로 ec2 인스턴스의 public ip를 레코드 등록 후 접근했더니 웹 페이지에 Invalid Host header 가 떠서 찾아보니 vue.config.js 의 기본 세팅이 로컬에서는 접속이 허용되지만 외부에서 허용되지 않는다는 것이었다. 따라서 구글링해보았더니 전부 webpack-dev-server@3 버전으로 해결방법을 적어놓았길래 webpack-dev-server@4 버전 해결방안을 공유한다. vue.config.js 파일에 다음과 같은 속성을 추가하면 된다. module.exports = { devServer: { allowedHosts: "all", }, }; 참고로 버전 3에서는 이런식으로 추가하는데, 4버전으로 와서 disableHostCheck라는 속성이 사라졌다...
본 내용은 위키피디아 “Red-black tree”를 기반으로 관련 논문과 개인적인 이해를 바탕으로 작성하였습니다. 소개 Red-black tree(이하 “RB Tree”)는 일종의 자기 균형 이진 탐색 트리(Self-Balancing BST)입니다. 먼저 이진 탐색 트리란, 자신의 왼쪽 서브 트리에는 현재 노드보다 값이 작은 것, 오른쪽 서브 트리에는 값이 큰 것들만 가질 수 있습니다. 이러한 특성 때문에 이진 탐색 트리의 조회는 O(log n) 시간이 걸리게 되는데 다만 문제는 균형이 무너질 경우 O(N)까지 시간이 증가할 수 있다는 점입니다. 따라서 지금까지도 균형을 맞추기 위해 여러 자료 구조들을 개발하고 있습니다. (이진 탐색 트리 참고 : https://yoongrammer.tistory.co..
본 글은 김영한님의 [인프런 - 자바 ORM 표준 JPA 프로그래밍 - 기본편] 강의와 자바 ORM 표준 JPA 프로그래밍 책을 기반으로 정리해 작성하였습니다. 1. 프록시 엔티티를 조회할 때 연관된 엔티티들이 항상 사용되는 것은 아니다. 예를 들어 내가 레알 마드리드라는 축구 클럽의 스카우터이고 손흥민 선수에 대한 정보를 얻고 싶을 때, 단순히 그 선수의 신체적 데이터만 알고 싶다면 굳이 선수가 소속된 팀의 정보까지 알 필요는 없다는 것이다. (잉크가 아까울수도) 아래 코드와 함께 살펴보자. 1) 선수 엔티티 @Entity public class Player { @Id @GeneratedValue private Long id; private Double height; private Double weig..
본 글은 김영한님의 [인프런 - 자바 ORM 표준 JPA 프로그래밍 - 기본편] 강의와 자바 ORM 표준 JPA 프로그래밍 책을 기반으로 정리해 작성하였습니다. 오늘은 실무에서 보통 쓰지 말라고하는 일대다(연관관계 주인을 일로 설정한 경우), 다대다 관계에 반항하는 말안듣는 잼민이들을 위한 필독 지침서이다. (사실 필자도 포함...) 이 포스팅에서는 일대다, 다대다 관계에 대해 살펴볼 것이고 단점들도 같이 알아볼 예정이다. 글을 읽으시면서 이것들을 그냥 무지성으로 쓰지 않는 것보단 이들이 어떤 문제를 갖고 있는지 알고 쓰지 않는 현명한 개발자가 되었으면 좋겠다. 1. 일대다 일대다 관계는 다대일 관계의 반대 방향으로 "일"이 연관관계의 주인이 된다. (앞을 연관관계의 주인이라고 생각하자) "일"에서는 엔..
본 글은 김영한님의 [인프런 - 자바 ORM 표준 JPA 프로그래밍 - 기본편] 강의와 자바 ORM 표준 JPA 프로그래밍 책을 기반으로 정리해 작성하였습니다. 오늘은 JPA를 배우면서 정말 중요한 연관관계 매핑, 그리고 더 중요한 연관관계의 주인 설정에 관해 알아볼 것이다. 먼저 연관관계 매핑에 대해 공부하는 이유를 한 문장으로 설명하자면 다음과 같다. (필자의 생각) 객체에다가 테이블처럼 외래 키를 저장해두면 협력 관계를 가질 수 없기 때문에 객체의 참조와 테이블의 외래 키를 매핑하는 것이 필요하다. 단순히 정리하면, 객체에는 외래 키를 저장하지 않을 것이고, 객체의 참조와 테이블의 외래키를 매핑할 것이다. 이 부분은 JPA에서 매우 어려운 부분에 해당하고 아래에서는 강조한 위 문장이 무슨 뜻인지,..