목록전체 글 (164)
개발의변화
요즘 우테코 프리코스를 하면서 정말 '분리'에 대한 생각을 많이 하는 것 같다. 서비스를 분리하라, 로직을 분리하라, 함수를 분리하라, 객체를 분리하라, 클래스를 분리하라 등등.. 지금까지 당연하게 생각없이 작성했던 코드형태에 대해 많은 고민을 하게 되는 것 같다. 특히 도메인로직과 서비스로직을 어떻게 분리하는 것이고 둘의 차이점이 뭘까...라는 고민을 하게 되었다. 도메인로직은 비즈니스에 대한 의사결정 을 가지고 있는 로직이다. 모바일 송금의 예시 예를 들어서, 흔한 모바일 송금 앱이 있다고 해보자. 송금 기능을 담당하는 코드가 있다. 이 코드를 자세히 뜯어보면 다음과 같은 일을 하는 코드로 이뤄져있다. 계좌 잔액이 충분한지 확인한다. 유효하다면 송금 버튼을 활성화하고, 유효하지 않다면 ..
https://school.programmers.co.kr/learn/courses/30/lessons/164668 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT u.USER_ID, u.NICKNAME, SUM(b.PRICE) as TOTAL_SALES FROM USED_GOODS_BOARD b JOIN USED_GOODS_USER u on b.WRITER_ID = u.USER_ID WHERE b.STATUS = 'DONE' GROUP BY u.USER_ID HAVING SUM(b.PRICE) >= 700000 ORDER BY SUM(b.PR..
https://school.programmers.co.kr/learn/courses/30/lessons/42860 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 탐욕법이라고 적혀있어서 A가 아닌 글자 중에 왼쪽으로 혹은 오른쪽으로 갈 때 최단 거리를 선택해서 하면 되는 줄 알았다. 하지만 2시간 동안 머리를 쥐어싸봐도 테스트 코드 5개를 해결하지 못하고 완전탐색으로 바꿔 풀었다. 진짜 쉽지않았다... 처음 그리디로 생각한 방식 def solution(name): alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" obj = {}..
https://school.programmers.co.kr/learn/courses/30/lessons/131120 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr YEAR(), ROUND(), IFNULL(x,'문자열'), DATE_FORMAT() https://school.programmers.co.kr/learn/courses/30/lessons/133025 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.k..

1. 브라우저 렌더링 원리 브라우저가 화면에 나타나느 요소를 렌더링 할 떄, 웹킷이나 게코 등과 같은 렌더링엔진을 사용합니다. 렌더링 엔진이 HTML,CSS,Javascript로 렌더링할 때 CRP라는 프로세스를 사용하며 다음 단계로 이루어진다. 1. HTML를 파싱 후 DOM트리를 구축 2. CSS를 파싱 후, CSSOM트리를 구축 3. Javascript를 실행 -> HTML 중간에 스크립트가 있다면 HTML 파싱이 중단 4. DOM과 CSSOM을 조합하여 렌더트리를 구축 -> display:none은 화면에서 보이지도 않고 공간을 차지않은 것은 렌더트리로 구축X 5. 뷰포트 기반으로 렌더트리의 각 노드가 가지는 정확하 위치와 크기를 계산(Layout 단계) 6. 계산한 위치/크기를 기반으로 화면에 ..
IFNULL SELECT IFNULL(COLUMN명, "NUll인 경우 대체 값") FROM 테이블명 # Null 처리는 IF 함수와 IS NULL조건으로도 가능함 SELECT IF(IS NULL(NAME), "No name", NAME) as NAME WITH WITH 가상테이블명 AS ( SELECT 칼럼 FROM 테이블명 WHERE 조건 ) 이거 두 개를 활용해서 SQL문제를 풀어야 했다 https://school.programmers.co.kr/learn/courses/30/lessons/157340 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ..
https://school.programmers.co.kr/learn/courses/30/lessons/214289 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DP를 활용해야 하는 문제였다. 시간,온도 꼴의 이차원 배열을 생성하여 시간 안에서 최소의 전력소비값을 구하는 상향식 접근이 필요했다. 또한 에어컨의 온도를 높이거나 낮출때의 방향설정이 중요한 포인트였다. def solution(temperature, t1, t2, a, b, onboard): k = 1000 * 100 t1 += 10 t2 += 10 temperature += 10 # DP[i..
중앙화’를 대변하는 웹 3.0은 일찍부터 4차 산업혁명 시대를 이끌 최신 기술이자 개인 맞춤형 차세대 인터넷 환경으로 불리며 시맨틱 웹은 컴퓨터가 웹페이지에 담긴 내용을 이해하고 개인 맞춤형 정보를 제공하는 지능형 웹 기술로 일종의 ‘인공지능(AI) 웹’이다 웹 3.0은 미래형 인터넷으로 각광받고 있지만 아직은 초기 단계라 실제로 구현된 사례는 많지 않다. 여전히 지금도 다수의 환경을 차지하고 있는 것은 웹 2.0이다. 웹 2.0은 웹 1.0의 인터넷이 ‘정보제공의 공간’이었던 것과 달리, ‘일상 공간 그 자체’로 진화·발전했다 용자 간 ‘상호작용’으로 설명된다. 탈중앙화 시스템이 가능해지는 것은 웹 3.0이 가상자산 기반 기술인 ‘블록체인’을 활용하기 때문이다. 블록체인은 기술적 특성상 거래를 보증하는..