본문 바로가기
반응형

전체 글124

Mssql Row 데이터 체크 유무 boolean 처리, 문자열 자르기 left right substring mybatis로 처리하다보면 특정 테이블에 값이 있는지 유무체크를 구현할때 사용하면 되는 간단한 boolean 처리 쿼리 공유드립니다. IF EXISTS( SELECT 1 FROM USER WITH(READUNCOMMITTED) WHERE USER_ID = #{userId} AND TYPE = #{type} ) BEGIN SELECT 1 END ELSE BEGIN SELECT 0 END IF EXISTS 조건에 부합하는 Query 실행후 검색한 User 테이블에 userId 값이 있다면 1 : true 를 리턴하고 아니라면 0 : false 리턴하게 됩니다. IF EXISTS( SELECT 1 FROM USER WITH(READUNCOMMITTED) WHERE USER_ID = #{userId} AND .. 2022. 12. 13.
Mssql OUTER APPLY 언제쓰나요? OneToOne 테이블 구조에서 통계 SUM count GroupBy 대신 OUTER APPLY 처리하기 최근 회사에서 전략과제를 진행하고있는데 시스템 DB 두가지 모두 대량에 트래픽 경험이 없는 회사라서 그런지 단순한 테이블 구조로 나올수있을것같은데 복잡하게 만들어 공유 되고있다보니 ... 덕분에 다양한 mssql 에서 제공하는 테이블 관계 함수를 사용하고있어서 공유합니다. 컨텐츠 와 컨텐츠 집계 테이블 컨텐츠 테이블 그리고 컨텐츠 클릭시 카운터 증가되는 테이블이 있다고 가정하겠습니다. contents id subject description regDate 1 컨텐츠A 상세설명A 2022-01-02 10:00:00 2 컨텐츠B 상세설명B 2022-01-03 10:00:00 3 컨텐츠C 상세설명C 2022-01-04 10:00:00 aggregate id count type 1 1 mobile 1 3 pc .. 2022. 12. 9.
Mssql DISTINCT 대신 서브쿼리 EXISTS 사용하기 언제가 부터 RDBMS로 다양한 관계를 복잡하게 Query로 구현하기보다는 개발자 관점에서 테이블설계를 하고 필요하다면 CQRS패턴을 이용하고 in memory 다양한 방법으로 복잡도높은 테이블 구조를 만들지 않고 있었는데 어쩔수 없는 상황에 관계형 데이터베이스 테이블을 구현하면서 배워온것들을 정리해볼까 합니다. JOIN 종류 https://aquerytool.com/ AQueryTool {{source.erd_info.erd_name + '(Ver ' + erdVersion + ', ' + source.erd_info.db_type + ')'}} aquerytool.com ERD SASS기반 USER 테이블 userId name email 1 renzo renzo@gmail.com 2 guest gue.. 2022. 12. 6.
Legacy는 왜 나쁜건가!? 아 우리 회사 기술 부채가 많이 생긴 것 같으니 이번에 개편했으면 하는데 앵과장 이것 좀 분석해서 내일까지 부탁해요!! 많은 분들이 Legacy에 대한 안 좋은 추억들 하나씩 있을 것 같은데 저도 마찬가지입니다. 프로젝트를 개편하거나 추가 기능을 만들려고 하면 기존에 서비스에서 동작하고 있는 기능에 대한 부분들을 이해하고 정책이나 다양한 케이스에 대해서 파악이 필요하기 때문입니다. Legacy는 왜? 힘든 거지 Legacy 코드는 분명히 필요해서 구현했는데 고치려고 하면 왜 이렇게 힘든 건가요? 코드가 만들어지는 여러 가지 상황들 때문에 코드에 복잡도, 확장, 유연 여러 가지 문제가 발생하기 때문인 것 같습니다. 그리고 제일 중요한 프로젝트 진행되고 있는 현재 복잡한 상황 때문인 것 같아서 몇 가지 케이.. 2022. 11. 23.
직장생활 평가의 계절이 돌아왔다, 오랜만에 피로하구나 벌써 2022년 한해가 지나가고 있는데... 올해 내가 무엇을 위해서 살아왔는지 다시금 뒤돌아보는 회고를 해볼까한다. 생각도 안하고 있었는데 월드컵이 얼마안남았네!! 내일은 수능이라고 한다. 수험생 여러분 파이팅!! 요새는 대학나와서 성공한다는 보장이 점점 쉽지 않아서 그런가 대학가는게 의미있나 하는생각이드는건.. 회사도 2022년 1월 입사하고 조만간 1년이다. 회사에 고비는 3년 6년 9년에 한번씩 온다고 하는데 프로이직러로 살아와서 그런지 3 6 9 개월로 고비가 오더라!!! 올해 금리와 경제로 인한 현재 나의 자산은?! 올 한해 참 쉽지 않았다. 금리는 오르고, 주식과 집 가치자산은 떨어지고, 월급은 올랐고... 앞으로는 모르겠네!! 주식은 그래도 이번년도 늦게 미국을 비중높게 빠그라진 빅테크 기.. 2022. 11. 16.
IT에서 입만 살아있는 사람들이 자주쓰는 용어 정리, 알아두면 굳이 이렇게까지 해야되나! 하는것들을 알려드립니다. 또또또또 못알아듣네 또 ?! IT 전문용어 들을 공부하는건 자연스러운 이해를 위해서 그리고 그단어를 대체할수 없는것들이기 때문에 IT에서 사용하는단어는 어느정도는 필수적으로 알아야합니다. SaaS, PaaS, Scrum, SSO, RDB, DBMS, NoSQL, Redis, In Memory, AWS, SQS, SES, SMS, Queue, Stack, Collection, WAS, WEB, Layer, Container, Springboot, Lombok, Node, FastAPI, SCDF 등등 말입니다. 이런 단어들을 알아듣기위한 공부는 OK!! MSA : 마이크로 서비스 아키텍처 마이크로하게 서비스를 쪼개서 사용하겠다는 의미로 기존에 모놀리딕에서 분산처리 하겠다는겁니다. 의미는 상당히 심오하고 훌.. 2022. 11. 14.
개발자 면접 알고리즘 공부 시작하는 방법, 1-2개월만에 갑자기 잘할수는 없습니다. 면접 문턱을 넘기 위해서 알고리즘 문제를 자주 접하게 되는데 Easy, Medium, Hard 3가지 유형으로 문제를 접하게 됩니다. 문자열, 배열, 정렬, 조합, 재귀, 트리, Map 등등등 다양한 방법들을 만날수 있는데 알고리즘 문제풀이에서 빈도높은 자주사용되는 방법을 정리해보려고합니다. 너무 어렵게 생각하기 보다는 문제를 해결하는 방법으로 접근하시면됩니다. 알고리즘 어렵게만 생각하신다면 어렵지만 자주 문제를 접하다보면 조금씩 조금씩 성장하게됩니다. 급하게 준비하기보다는 틈날때마다 꾸준하게 풀어나가시는것을 추천드립니다. 블라인드에서 기억에 남는 댓글이 있는데 연봉을 1000만원 올리려면 어떻게해야되나요?! 라는 질문에 베스트 댓글로 알고리즘 1문제당 10000원씩 올라간다고 생각하시고 10개 10만원.. 2022. 11. 12.
springboot multi jdbc database 설정, mybatis jpa gradle 방법, H2 RDBMS 사용방법 springboot 에서 여러가지 이유로 다중으로 데이터베이스를 설정해야할경우가 있습니다. read(query), write(command) 분리하는 목적으로 진행할수도 있고 여러대의 RDBMS를 연결해야할때 사용할수도 있고 프로젝트 진행하는데 DB 스키마가 안나와서 H2로 임시작업 해야할경우가 있습니다. 세팅할때마다 쉽지가 않기때문에 모든 상황에 맞춰서 성공한다는 보장은 없습니다. 여러가지 이유로인해서 잘안될수 있기때문에 어느정도 기본적인부분은 따라서 진행하시고 안되는부분은 천천히 서버 로그를 보면서 찾아보셔야합니다. h2 사용방법 h2는 자바로 작성된 관계형 데이터베이스 관리 시스템입니다. h2는 remote, in-memory, embedded 3가지 설정을 할수 있습니다. https://www.h.. 2022. 11. 7.
재택 원격근무 자율출근 스마트오피스 하는 회사 목록, 도대체 주5일은 어떻게 출근을 했던거지? 슬기로운 회사생활을 위해서 돈도 벌고 인생도 즐기고 취미도 즐길수있는 회사들을 찾아보도록 하겠습니다. 그런회사가 있기는한건가...... 여튼 그래도 사람들하고 최대한 안만나는게 행복한 회사생활이기 때문에 미리미리 알아보는게 다음 이직에도 고려대상이 되기때문입니다. 행복한 회사생활은 회사가 찾아주는게 아닙니다 본인이 스스로 찾아가야 행복해집니다. 재택, 자율출근, 스마트오피스 회사 목록 팀바팀 같은회사지만 다를수 있다는점 참고하세요 회사명 자율 출퇴근 원격 근무 관련링크 Viva Republica(토스) O O 토스 채용 페이지 토양어선 이라고 들었는데 가실분들은 그냥 참치배 탔다고 생각하시면된다고 들었습니다. DeepSearch O 완전한 원격 근무 로켓펀치 채용 공고 OP.GG 무컨펌 자율출퇴근 장소/.. 2022. 10. 31.
파이썬 웹 크롤링(Python web crawling) 만들기 웹 페이지 html 크롤링 FastAPI로 빠르게만드는 Rest API 호출 Json Response 처리 Step 6 Setp5 까지 잘따라오셨다면 Github 에 Repogitory 만들어지고 내컴퓨터에는 Poetry 가상환경으로 아래 pyproject.toml 이 만들어져있어야 합니다. github에 코드올려두었으니 clone하시면됩니다. https://github.com/lswteen/webcrawling GitHub - lswteen/webcrawling Contribute to lswteen/webcrawling development by creating an account on GitHub. github.com 1.pyproject.toml 이 생성 [tool.poetry] name = "crawling" version = "0.0.1" description = "python web crawling" auth.. 2022. 10. 21.
파이썬 웹 크롤링(Python web crawling) 만들기 poetry fastapi uvicorn 실행 드디어 파이썬 가상환경 설정완료 Step 5 conda 환경부터 시작해서 github연결 시도 하다가 poetry 가상환경 으로 진행후 연결설정한뒤에 git까지 진행되었습니다. 그이후 터미널로 진행하려니 쉽지가 않아서 pycharm CE 설치까지 진행되셨나요? 다시 fastapi가 잘실행되는지 확인해보도록 하겠습니다. 해당 Step진행하기 위해서는 4부 부터 진행 하시면됩니다. https://angryfullstack.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%9B%B9-%ED%81%AC%EB%A1%A4%EB%A7%81Python-web-crawling-%EB%A7%8C%EB%93%A4%EA%B8%B0-poetry-%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD-%EC%84%A4%EC.. 2022. 10. 21.
파이썬 웹 크롤링(Python web crawling) 만들기 poetry 가상환경 설정 Step 4 파이썬으로 conda 가상환경을 구성하고 fastapi 프레임워크를 기반으로 github에 작업해보려고하니 파이썬은 패키지 구성이나 버전등을 구성할수 있는 스켈레톤형태의 구조가 필요한데 github에 올릴려다보니 setup.py 또는 pyproject.toml 을 올려야 가능하다는 오류를 보고서 conda가 언제나온거지 좀 찾다보니 poetry라는 가상환경설정이 좀더 최근에 올라온것으로 확인이 되어 급선회 해보려고합니다. 어차피 시작하는거 최신꺼로 해야 손도덜가고 그러는것 아닌가여 아직 깊이가 전혀 없기때문에 사용하는 도구라도 최신에 나온걸로 쓰고싶어서 흔들리는 갈대처럼 써보도록 하겠습니다. Poetry https://hackersandslackers.com/python-poetry-package-man.. 2022. 10. 20.
728x90