cheershennah의 등록된 링크

키자드에 등록된 총 225개의 포스트를 확인하실 수 있습니다.

Tistory

[Tableau] 신병훈련소 실습 2일차_ 워드클라우드 시각화

Q. 스타벅스 칼로리가 높은 메뉴명 워드클라우드 시각화 * 워드 클라우드란? 데이터의 키워드, 개념 등을 직관적으로 파악할 수 있도록 핵심단어를 시각화하는 기법. 많은 키워드 속에서 분석 목적에 따라 핵심 키워드를 표현하는데 유용. 값의 정확한 비교보다는 데이터의 트렌드를 나타내는데 유용. 1. 마크유형 - 텍스트 메뉴명을 텍스트로 나타내야 하므로 메뉴명을 텍스트 유형으로 설정 2. 칼로리에 따른 크기와 색상 설정 여기서는 칼로리가 높을수록 붉은색/ 낮을수록 푸른색으로 설정 결과 키워드의 크기가 크고, 붉은색 일수록 칼로리가 높은 메뉴. == 제주 까망 크림 프라푸치노!

Tistory

[Tableau] 신병훈련소 실습 2일차_ 박스 플롯(box plot)

*박스 플롯이란? 직사각형에 최댓값과 최솟값을 나타내는 선이 결합된 모양의 데이터 시각화 기법. 상자수염, 봉, 캔들 등 다양한 이름으로 불린다. (상자에 수염이 붙어있는 형태라고.. ) 데이터의 분포 상태와 이상치를 동시에 보여주면서 서로 다른 데이터군을 쉽게 비교할 수 있는 시각화 기법. 최솟값과 최댓값으로 수염의 길이 결정. 중앙 값이 상자 가운데 선의 위치를 결정. 주식을 해본 경험이 있다면 볼 수 있는 차트.. 그림과 같이 흔히 주식 차트에서 사용되는 차트가 바로 박스 플롯 차트이다. 그림과 같이 여러개의 데이터 값을 한눈에 비교하기에 유용. Q. 스타벅스 칼로리 박스 플롯 1. 카테고리 별 메뉴명 수준의 합계 칼로리를 나타낸다 박스 플롯 차트를 적용하기 위해 카테고리를 열(X축), 칼로리 합계..

Tistory

[Tableau] 신병훈련소 실습 2일차_ 계산된 필드 만들기

분석에 필요한 필드가 데이터 원본에 포함되어 있지 않은 경우도 있다. 이때, 계산된 필드를 사용하여 원본에 존재하는 데이터에서 새로운 데이터를 파생하여 만들 수 있고, 새 데이터에 대한 계산을 수행할 수 있다. 이를 통해 복잡한 분석을 수행하고 데이터 원본에 고유한 필드를 즉석에서 추가할 수 있다. 예를 들어 데이터 원본에 매출, 수익 필드는 존재하지만 수익률 에 대한 필드는 없다고 가정하면, 다음과 같이 매출과 수익 필드를 사용하여 수익률 이라는 계산된 필드를 만들 수 있다. 계산된 필드의 경우 아이콘이 =# 로 나타난다. * 계산식은 행 수준의 계산식과, 집계수준의 계산식으로 나뉜다. 행 수준 계산식 집계 수준 계산식 모든 행에 대해 계산 후 결과값 집계 각 필드 값을 집계한 후에 계산 [수익] / ..

Tistory

[Tableau] 신병훈련소 실습 1일차_스캐터 플롯(산점도) 시각화2

Q.스타벅스 메뉴별 칼로리와 카페인의 상관관계 시각화 1. 칼로리와 카페인의 상관관계이므로 카페인과 칼로리를 행/열로 배치 역시 디폴트는 합계이기 때문에 합계기준으로 값이 나타남. 2. 메뉴명을 기준으로 설정 메뉴명 > 세부정보로 드래그하여 메뉴명을 기준으로 메뉴별 칼로리/카페인 값이 나타나도록 한다 3. 마크 레이블 메뉴명으로 설정 수치보다 메뉴를 한눈에 알 수 있도록 메뉴명으로 설정함 4. 가독성 마크 모양, 색상, 투명도 등을 통해 가독성이 좋도록 설정 결과 카페인과 칼로리가 모두 0으로 가장 낮은 메뉴는 민트 블랜드 티 이다! 관련 포스팅) https://cheershennah.tistory.com/259 [Tableau] 신병훈련소 실습 1일차_스캐터 플롯(산점도) 시각화 Q. 스타벅스의 당분 ..

Tistory

[Tableau] 신병훈련소 실습 1일차_ 맵 시각화2 _ 필터링하기

Q.서울시의 스벅 실제 매장 위치 맵 시각화 경도/ 위도 데이터를 이용한 서울시 실제 매장 위치 맵 시각화 1. 맵 형태로 경도/위도 표시 경도와 위도를 행열 배치후 맵 형태로 나타내면 전국 기준의 경도/위도 평균값이 표시된다. 2. 각각의 매장정보를 기준으로 하기위해 매장코드를 세부정보로 설정한다. 3. 서울시의 매장 정보만 필요하기 때문에 "시도" 데이터에 필터를 걸어준다. 시도> 필터 영역으로 드래그 > 서울시 선택 > 확인 3.1. 필터 표시 필터를 표시해서 즉각적으로 필터를 변경할 수도 있다. 3.2. 디폴트 셀렉 박스 필터로, 다중 선택이 가능하다 . 서울/경기 정보를 보고 싶을다고 하면, 경기도를 추가로 선택해준다. 3.3. 필터링 형태를 변경할 수도 있다. 다중 선택을 막고 싶다면 필터 형..

Tistory

[Tableau] 신병훈련소 실습 1일차_ 태블로 대시보드 만들기

Q. 실습한 스타벅스 데이터분석을 이용해 대시보드 만들기 1. 대시보드 생성 크기는 자동으로 설정해주어야 화면에 꽉 참. 대시보드에 넣고자하는 시트를 끌어 당겨 설정해준다. 결과 원하는 시트를 배치한다. (참 쉽쥬?) * 우측의 수치정보를 시트위에 배치하고자 할때는 Shift 키 누른채로 드래그.

Tistory

[Tableau] 신병훈련소 실습 1일차_ 도구설명에서 시트불러오기

Q.스타벅스 카테고리 기준으로 만든 시트와, 메뉴명 기준으로 만든 시트를 한번에 살펴보자. 1. 카테고리 기준 https://cheershennah.tistory.com/256 [Tableau] 신병훈련소 17기 1일차 실습 기록_ 스타벅스 카테고리별 평균 칼로리/카페인 막대차트 시 Q. 스타벅스 카테고리별 평균 칼로리/카페인 막대차트 시각화 1. 행: 카테고리 / 열: 칼로리 카테고리는 Y축, 칼로리는 X 축. 2. 집계 : 평균 하나의 카테고리 내에는 여러개의 메뉴가 있다. ex) 브루 cheershennah.tistory.com 2. 메뉴명 기준 https://cheershennah.tistory.com/257 [Tableau] 신병훈련소 17기 1일차 실습 기록_ 스타벅스 메뉴명 별 칼로리 & 카..

Tistory

[Tableau] 신병훈련소 실습 1일차_스캐터 플롯(산점도) 시각화

Q. 스타벅스의 당분 함유량과 칼로리 상관관계 스캐터 플롯(산점도) 시각화 * 스캐터 플롯이란? == 산점도 2개의 연속형 데이터에 대한 상관관계를 분석할때 많이 사용되는 시각화 기법. 도표위에 두 변수 X,Y값이 만나는 지점을 표시. 두개의 축으로 데이터가 얼마나 펴져 있는지 분포를 살펴볼 수 있음. 상수라인/ 평균라인/ 사분위수 및 중앙값 / 추세선 등과 같은 참조라인을 추가하여 값의 분포 비교. 1. 행: 칼로리 / 열: 당류 칼로리 -Y축, 당류- X 축 현재 시각화는 전체 메뉴의 당류 합계와 칼로리 합계가 나타난다. 전체 합계가 아닌 각 메뉴별 당분과 칼로리를 표시 해주어야 한다. 2. 세부정보: 메뉴명 메뉴명을 마크선반의 세부정보로 가져다놓는다. 시각화 집계 기준이 전체 합계에서 -> 메뉴명 ..

Tistory

[Tableau] 신병훈련소 실습 1일차_ 맵(Map) 시각화

Q. 스타벅스 시군구 별 매장 분포 현황 맵 시각화 1. 시도, 시군구 필드를 시트로 드래그&드롭 현재 시도/ 시군구는 좌측과 같이 데이터 타입이 주/시/도 로 설정되어 있기 때문에 (직접 설정가능) 시트로 옮기면 태블로에서 자동으로 표현방식으로 맵으로 설정해주어, 행: 위도/ 열: 경도로 자동 생성된다. 표현방식에서 여러가지 차트 형태를 직접 고를 수도 있다. 2. 마크의 크기와 색상을 스타벅스 매장수로 나타내기 매장수는 매장코드를 카운트해서 크기와 색상에 표현. * 카운트와 카운트(고유) 차이점? 카운트는 count(), 카운트 고유는 distinct count(). 즉, 중복을 제거한 카운트를 의미한다. 여기서는 중복제거 카운트 사용. 결과 맵 시각화 필터링 하기: https://cheershenn..

Tistory

[Tableau] 신병훈련소 실습 1일차_막대차트 시각화

Q. 스타벅스 카테고리별 평균 칼로리/카페인 막대차트 시각화 1. 행: 카테고리 / 열: 칼로리 카테고리는 Y축, 칼로리는 X 축. 2. 집계 : 평균 하나의 카테고리 내에는 여러개의 메뉴가 있다. ex) 브루드 커피 카테고리 > 아이스 아메리카노, 오늘의 커피 .. 카테고리를 기준으로 합계로 집계시, 카테고리 내 모든 메뉴들의 카테고리와 카페인 값이 모두 더해져 카테고리 별 메뉴들의 총 합계 칼로리/ 카페인이 보여지므로 집계 측정을 평균으로 해주어야 함. 3. 내림차순 정렬 막대차트를 사용할 때 정렬되어있지 않으면 떨어져있는 막대 간 길이를 비교하는 것이 어렵다. 막대차트를 사용할때는 4. 카페인 색상 편집 가독성을 위해 색상 변경을 할 수 있다. 여기서는 카페인이 낮을수록 검정색, 높은수록 빨간색을 ..

Tistory

[Tableau] 신병훈련소 실습 1일차_ 스타벅스 메뉴명 별 칼로리 & 카페인 트리맵 시각화

Q. 스타벅스 메뉴명 별 칼로리 & 카페인 트리맵 시각화 * 트리맵 차트란? 트리맵 차트는 한눈에 알아볼 수 있는 가지와 하위 가지가 있는 트리와 같은 형식으로 데이터를 묘사한다. 트리 다이어그램의 계층 구조를 시각화하는 대체 방법이며 범주별 수량도 표시한다. 트리 분기를 사각형으로 표기되며 각 하위 분기는 작은 직사각형으로 표시된다. 데이터 패턴을 식별화하는 데 유용하다. 1. 마크 유형: 사각형 트리맵은 계층 데이터를 중첩된 사각형을 집합으로 표시하므로 마크 유형을 사각형으로 설정. 2. 카페인: 마크 색상 /칼로리 : 마크 크기 / 메뉴명: 마크 레이블에 드래그&드롭 카메인은 사각형의 색상으로, 칼로리는 사각형의 크기로 표현해준다. 레이블은 메뉴명을 표시해준다. 3. 카페인 색상 편집 원하는 색상으..

Tistory

[GA-Bigquery] 내 블로그에 누가 다녀갔을까? 구글 애널리틱스/ 빅쿼리로 내 블로그의 데이터 분석 해보기

블로그를 개설한지 2018년부터 현재까지 운영중이고 초라했던 개인 기록용 블로그에서 현재 일평균 약 1500 정도의 기술블로그로 성장하였다. 티스토리에서 블로그를 운영하면 통계를 분석해주는데 항상 통계로 보여지는 방문자들의 데이터의 흐름이 신기하고 궁금했다. 구글 애널리틱스 GA4와 블로그를 연동하여 데이터를 쌓고, GA4와 BigQuery와 연동을 하면 데이터를 조작할 수 있다. 평소 궁금했던 블로그 방문에 대한 데이터를 직접 분석해려고 한다. 연동하기만 하면 쌓여있는 모든 데이터들을 다 볼 수 있는지 알았는데, 그건 아니고 연동한 시점부터 데이터를 쌓기 시작하여 이후 수집 데이터들을 다룰 수 있다. 때문에 해당 포스팅에서는 12/19일-25일, 즉 1주일 간 쌓인 데이터들을 대상으로 한다. 데이터 구..

Tistory

[Tableau] 태블로란? 기본 사용법

태블로란 ? 데이터를 사용해 문제를 해결하는 시각적 분석 플랫폼. 데이터를 다루는 사람들에겐 널리 알려진 데이터 시각화 도구. 다른 도구들에 비교적 높은 자유도가 특징임. 데이터만 있다면 사용자가 원하는 각종 시각화 장표를 쉽고 빠르게 만들수 있음. 태블로 기본 사용법 1. 필드는 정성적인 값과 정량적인 값에 따라 차원과 측정값으로 구분 됨. 차원 정성적 데이터( 제품명, 날짜, 지리명 등) 분석 기준이 되는 값 불연속형 데이터로 측정값을 쪼개어 보는 하나의 관점. 측정값 정량적 수치, 연속형 데이터로 집계 되는 데이터. 2. 측정값은 차원을 기준으로 집계되어 표현된다. 집계 합계, 평균, 중앙값, 카운트, 카운트(고유), 최소값, 최대값, 백분위수, 표준편차, 분산 등을 의미. 즉, 하나의 측정값을 어..

Tistory

eclipse-maven연동 m2e+wtp 사용시 ContextRoot 변경되는 문제 해결

이클립스과 메이븐 연동은 개발자에게 편리함을 제공한다. 하지만 .settings의 자동변화에 종종 삽질을 하게됨. 이번에 겪은 삽질은 Dynamic Web Projects와 M2E 통합으로 인해 메이븐 업데이트시, .settings/org.elipse.wst.common.component 파일의 의 값이 자동으로 변경된다는 점이다. ContextRoot 고정시키는 방법 이클립스 내에서 m2e-wtp플러그인을 사용하여 웹프로젝트를 관리할 때 다음과 같이 context root가 관리된다. 기본적으로 m2e-wtp는 maven-war-plugin환경에 정의된 값으로부터 독립된 웹 애플리케이션의 context root가 적용된다. maven-war-plugin 1.2 myWebapp 2. 설정에 값이 지정되어..

Tistory

이클립스 Building workspace 무한반복 현상 해결

1. 이클립스를 종료. 2. 다음 경로의 projects 폴더를 안전한 장소로 이동. eclipse-workspace / .metadata / .plugins / org.eclipse.core.resources / .projects 3. 이클립스 재기동 후 다시 종료. 4. 2번에서 이동한 projects 폴더를 다시 원위치로 복원(덮어쓰기).

Tistory

[GA4-빅쿼리] 세션 재정의 해보기

구글 애널리틱스에서 제공하는 데이터를 빅쿼리에 연동해보면 사용자고유 아이디와 세션아이디를 제공해준다. 다음과 같은 여러개의 컬럼을 제공해주는데, 'user_pseudo_id'가 사용자가 이벤트를 발생시켰을때, 발생하는 인스턴스 아이디로 사용자 고유 아이디 값이고, 세션아이디는 컬럼에서 보이지 않는다. 데이터를 살펴보면 세션아이디값인 ga_session_id 는 event_params.key에 정의되어 있으며 그 값은 event_params.value.int_value에 존재하고 있다. 즉..... ARRAY 와 STRUCT 문법이 사용된 NESTED 한 구조로 존재한다. 우리에게 익숙한 컬럼으로 존재했으면 ga_session_id로 SELECT만 하면 될 일이지만 복잡한 데이터 구조로 상당한 고역이 예상..

Tistory

JNDI란? Java Naming and Directory Interface.

JNDI Java Naming and Directory Interface. 이름지정 및 디렉토리 서비스에서 제공하는 데이터 및 객체를 참조(lookup)하기 위한 자바 API이다. 일반적으로 자바 애플리케이션을 외부 디렉터리 서비스(DB server,LDAP server..)에 연결할 때 쓰이는데 그중에서도 데이터베이스 연결에 가장 많이 쓰인다. 데이터베이스 연결 시에는 데이터베이스 커넥션을 미리 만들어서 저장해두고, 필요할때 저장된 공간 (DB Pool)에서 가져다 쓰고 반환하는 기법이다. 커넥션 풀을 이용하면 미리 커넥션을 만들어두고 사용하기 때문에 매번 사용할때마다 드라이버를 로드하고, 커넥션 객체 생성-연결-종료 하는 과정을 반복하지 않아도 되어서 데이터베이스의 부하를 줄이고 자원을 효율적으로 관..

Tistory

[SQL] 테이블 병합 MARGE

테이블 마이그레이션 작업에 많이 사용되는 테이블 머지 SQL문을 알아보자. 테이블 마이그레이션 작업이란 테이블1의 모든 데이터를 테이블 2로 옮기는 작업이라고 생각하면 된다. 1차로는 INSERT로 모든 데이터를 새 테이블이 넣어준다. 문제는 데이터의 변동이 없다면 INSERT로 덮어칠 수 있지만 데이터의 변동이 있는 경우 선별적으로 변동된 데이터만 업데이트 시켜주어야 하는 경우가 발생한다. 이런 경우에는 어떤 데이터의 변동이 있었는지 체크한 후, 데이터의 변동이 있는 컬럼만 UPDATE시켜주고, 새로운 데이터가 추가되었다면 INSERT 해 주어야 한다. IF 조건문을 통해 나누어 작업할 수도 있겠지만 이러한 작업을 한번에 해 주는 것이 MERGE 문이다. 비교-삽입-갱신 과정을 한번에 처리하는 것이다...

Tistory

GA(Google Analytics)란?

GA(Google Analytics)란? GA란 Google Analytics의 약자이며 구글에서 제공하는 무료 웹로그 분석 툴이다. 구글의 통계 및 머신러닝 기술로 사이트 및 애플리케이션의 방문자들의 행동 데이터를 분석하고, 마케팅의 실적이나 웹사이트의 경험을 개선할 수 있도록 돕는 도구이다. 설문조사에 따르면, 참여자 약 50% 가 GA를 통해 10개 이상의 웹사이트를 관리한다고 한다. * 행동데이터란? 어떤 사용자가 웹사이트를 방문하는지, 어떤 경로를 통해 방문했는지, 웹사이트에서 어떤 행동을 보이는지에 대한 흔적을 분석한 데이터를 뜻한다. 설문조사에 따르면, 참여자 약 50% 가 GA를 통해 10개 이상의 웹사이트를 관리한다고 한다. GA를 왜 사용할까? 다양한 데이터 시각화 제공 GA는 쉬운 사..

Tistory

BigQuery 빅쿼리란?

BigQuery 빅쿼리란? 빅쿼리는 구글에서 만든 클라우드용 데이터웨어하우스(DW)로, 빅데이터에 최적회된 저장 및 분석용 클라우드 서비스이다. 빅쿼리의 구조는 관계형이 아닌 NoSQL기반의 데이터 저장소이나, 일반적으로 사용하는 관계형 RDB처럼 쓸 수 있도록 SQL을 제공한다. 머신러닝, 지리정보분석, 비즈니스 인텔리전스와 같은 기능을 기본 제공하여 데이터를 분석/관리할수 있다. 여러 프로그램과 연동 가능하며, 특히 구글 애널리틱스와 연동하여 수집한 데이터를 새롭게 가공할 수 있다. 빅쿼리 특징 클라우드 서비스로 설치 및 운영이 필요 없음(NoOps) 로컬이나 서버 등에 설치해서 사용하는 서비스가 아닌 언제 어디서나 사용가능한 클라우드 서비스를 제공한다. 인터넷이 가능한 어디서나 클릭 몇번으로 사용이..

Tistory

[빅쿼리] ARRAY / STRUCT / UNNEST. 정체가 무엇이냐??

BigQuery는 SQL을 제공하기 때문에 기존의 SQL과 같이 질의할 수 있어 접근성이 쉽다. 하지만, 우리에게 익숙한 RDB의 데이터 구조와 완전히 동일하지는 않다. 자주보기 힘든 배열 ARRAY, 구조체 STRUCT, UNNEST 등의 문법을 사용하기 때문이다. 예를 들어 우리에게 익숙한 RDB의 데이터 구조가 다음과 같다면, ARRAY, STRUCT, UNNEST 문법이 사용된 데이터 구조는 다음과 같다. 딱 봐도 하나의 행에 하나의 데이터 값이 저장되는 구조의 테이블과 다른 모습이 어색하다. event_name 컬럼 까지는 하나의 데이터가 있지만 event_params.key 부터는 하나의 행에 데이터 타입이 동일한 여러값이 저장되어 있다. 이러한 형태가 배열 ARRAY 문법이다. 또하나 어색한..

Tistory

[MYSQL] REGEXP란? 정규표현식 / 무료테스트사이트

정규표현식이란 특정 규칙을 가진 문자열의 집합을 표현하는 형식언어이다. 문자열이 가진 규칙을 파악하여 해당 규칙을 만족하는 문자열만 추출할 수 있다. 검색, 필터링, 치환 등에 사용된다. mySQL에서는 REGEXP(Regular Expression)이라는 키워드로 정규표현식을 사용함. REGEXP SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 REGEXP '정규표현식'; 정규표현식 기본 문법(일부) ^ : 문자열의 시작 $ : 문자열의 끝 [aeiou] : aeiou 중 하나 ^[aeiou] : aeiou중 하나로 시작하는 문자 ^[aeiou].* : aeiou중 하나로 시작하는 문자열 [aeiou]$ : aeiou중 하나로 끝나는 문자 .*[aeiou]$ : aeiou중 하나로 끝나는 문자열..

Tistory

윈도우 함수_ 순위함수 RANK, DENSE_RANK, ROW_NUMBER

윈도우 순위 함수에는 RANK, DENSE_RANK, ROW_NUMBER 3가지가 있다. 순위함수 문법) 1. 순위함수() OVER(ODER BY컬럼) -- 컬럼의 순위 2. 순위함수() OVER(PARTITION BY 컬럼1 ODER BY 컬럼2) -- 컬럼1의 그룹별 컬럼2의 순위 순위함수는 OVER절과 함께 쓰이며 OVER구에는 반드시 ORDER BY절이 들어가야 한다. PARTITION 이 없는 경우에는 전체 행을 대상으로 하고, PARTITION이 존재하는 경우 해당 그룹의 행을 대상으로 한다. 1. RANK 함수 RANK함수에는 반드시 OVER구절에 ODER BY 가 들어가야 한다. ODER BY절의 컬럼을 기준으로 순위를 매기기 때문. 코드로 이해해보자. 다음과 같은 Employee Tabl..

Tistory

Cohort 코호트 분석이란?

Cohort 코호트 분석이란? Cohort 의 사전적의미는 동질집단 이다. 즉, 특정 기간 동안 공통된 특성이나 경험을 갖는 사용자 집단을 나누어 분석하는 기법이다. 나누는 방식에는 프로덕트에 따라 여러가지가 될 수 있다. 예를 들어 첫 방문일, 첫 구매일 등 특정 조건에 해당되는 사용자들을 그룹화하고 시간흐름에 따른 행동 패턴을 추적한다. 시간 흐름 또한 비즈니스 특성에 맞게 주기를 정해야 한다. 앱설치 같은 경우 주기를 매일 트래킹해야 할 것이고, 넥플릭스와 같이 구독 갱신 사업모델은 월별로 트래킹 해야 한다. 타켓 분석과 유사해 보일수 있지만, 코호트 분석은 '특정기간'이 같다는 조건과 '특정 경험'을 기준으로 그룹을 분류한다는 차이점이 있다. 예) '1월'에 '회원가입'을 한 사용자 그룹, '2월..

Tistory

Funnel Anlysis 퍼널분석 /AARRR퍼널 이란?

Funnel Anlysis 퍼널 분석 먼저 퍼널(Funnel)의 사전적 의미는 깔대기 이다. 퍼널 분석은 사람들이 앱과 어떻게 상호작용하는지, 사용자의 유입과 이탈의 여정을 시각화하여 얼마나 많은 사람들이 어디에서 이탈하는지 보여주는 분석과정이다. 위에서 아래로 내려갈수록 사용자가 진입하여 사이트를 보는 시간이 늘어나는데, 시간이 늘어날수록 이탈하는 사용자는 많아진다. 여기서 사용자들이 나가는 시점은 제각각인데, 이런 부분이 어디인지 집중적으로 분석한다면 왜 사용자들이 이탈하는지에 대한 단서를 찾을 수 있다. 즉, 이처럼 사용자가 이탈하는 행위, 이탈하는 비율을 이탈률이라 하고 이 이탈률이 높은 시점을 분석하는 것을 퍼널 분석이라 한다. 각각의 단계를 넘어가는 것을 전환(Conversion)이라 하고, ..

Tistory

[SQL] Window Function 윈도우 함수란?

SQL문의 윈도우 함수란 Group By 와 비슷하게 데이터를 그룹화 하여 집계한다. 하지만 Group By 는 집계된 결과만 보여주는 반면, 윈도우 함수는 기존 데이터에 집계된 값을 추가하여 나타낸다. 함수(컬럼) OVER(PARTITION BY 컬럼 ODER BY 컬럼) 함수: MIN(), MAX(), SUM(), COUNT() 등과 같은 기존 함수 또는 LAG(),LEAD(),RANK(), ROW_NUMBER() 등의 윈도우 함수를 쓸 수 있다. 기존 함수) 윈도우 함수) OVER: 윈도우 함수에서 꼭 들어가야 하며, OVER내부에 PARTITION BY 절과 ORDER BY 절이 들어감. PARTITION BY (생략가능) 전체 집합을 기준 컬럼에 따라 나눌지 결정 ORDER BY (생략가능) 정..

Tistory

크롬 개발자모드로 브라우저에서 HTTP POST방식 호출하기 (feat.XMLHttpRequest 객체란?)

프론트에서 백엔드로 비동기식 호출을 하는 경우, 클라이언트단에서 특정 기능의 url를 호출하면 백엔드에서 실행된다. 만약, 프론트엔드 범위까지 개발 담당이 아닌경우 테스트를 위해서 임의로 테스트 페이지를 만들곤 하는데 굳이 화면개발 없이 크롬 개발자모드의 콘솔에서 간단히 호출 및 테스트 할 수 있는 방법이 있어 공유한다. 웹에서 크롬 개발자 모드 (단축키 F12)의 console 에서 비동기 통신 객체인 XMLHttpRequest 객체를 생성하여 서버로 요청을 보내는 방법이다. 먼저 XMLHttpRequest 객체에 대해서 간단히 알아보자. XMLHttpRequest(XHR)객체란? ajax 요청을 생성하는 javaScript API로 브라우저와 서버간의 네트워크 요청을 전송한다. 서버와 상호작용하여 ..

Tistory

[Javascript] var / let / const 차이점 ?

자바스크립트에서 변수를 선언할때 var, let, const 를 사용한다. 어떤 차이점이 있을까? 1. 변수선언 방식 var, let, const 는 javascript의 변수선언 방식이다. 같은 기능을 하는것 같지만 조금씩 다른 기능을 하고 있다. var 중복 선언 가능. 재할당 가능. var title = 'book'; console.log(title); // book var title = 'movie'; console.log(title); //movie title = 'music'; console.log(title);//music var 는 원조 변수선언방식으로, 위 코드와 같이 선언한 변수가 동일한 이름으로 중복 선언이 가능하다. 즉, 마지막에 할당된 값이 최종 변수에 저장된다. 변수를 유연하게 ..

Tistory

RFM Segmentation (RFM 분석) 이란?

RFM Segmentation RFM은 고객 세분화 모형 중 실무에서 자주 사용하는 모형으로 가치있는 고객을 추출해내어 이를 기준으로 고객을 분류하는 분석방법중 하나다. 구매 가능성이 높은 고객을 선정하기 위한 데이터분석방법으로서, 분석과정을 통해 데이터는 의미있는 정보로 전환된다. Recency - 거래의 최근성: 고객이 얼마나 최근에 구입했는가? Frequency - 거래빈도: 고객이 얼마나 빈번하게 우리 상품을 구입했나? Monetary - 거래규모: 고객이 구입했던 총 금액은 어느 정도인가? 1. Recency 최근성 > 최근성 관점에서는 2일전 구매한 B고객이 3일전 구매한 A고객보다 가치 있다. 2.Frequency 행동 빈도 > 행동빈도 관점에서 정해진 기간동안 3번 구매한 A고객이 1번 구..

Tistory

Spring DI 스프링 의존성 주입 3가지 방법

Spring DI 스프링에서 의존성 주입(DI)이란, 객체간 의존성을 개발자가 객체 내부에서 직접 호출(new연산자)하는 대신, 외부(스프링 컨테이너)에서 객체를 생성해서 넣어주는 방식이다. 외부에서 두 객체 간의 관계설정을 해주는 디자인 패턴으로, 인터페이스를 사이에 두어 클래스 레벨에서는 의존관계가 고정되지 않도록 하고, 런타임 시 관계를 동적으로 주입하여 유연성을 확보하고 결합도를 낮출 수 있게 한다. public class Controller{ private Service service; service.test(); } } 다음과 같이 Controller객체가 Service객체를 사용하고 있는 경우, Controller는 Service에 의존성이 있다고 할 수 있다. 의존한다는 것은 의존대상, 여..

Tistory

스프링에서 자주 사용하는 기본 @어노테이션 정리

@ 어노테이션이란? 어노테이션의 사전적 의미는 주석이지만 Java에서는 그 이상의 메타 데이터 역할을 한다. 어노테이션을 선언하여 특수한 기능을 사용할 수 있다. @Component 스프링에서 관리하는 객체임을 표기하는 가장 기본적인 범용 스테레오타입 어노테이션. 스프링 빈으로 등록시키는 역할을 수행. Application Context에서 스프링 빈을 등록할 때, 빈으로 등록할 후보 클래스들을 탐지하여 등록한다. 에서는 @Component만 스캔하도록 되어있다. 당연하게 쓰던 어노테이션을 따라가서 소스를 살펴보자.... ex) @Controller @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Component public @inte..

Tistory

CORS란? No 'Access-Control-Allow-Origin' header is present in the requested resource. 에러해결

웹 개발시 클라이언트단의 브라우저에서 외부 서버로 ajax 요청 시 자주 발생하는 실패 메세지. Fail to load '호출URI': No 'Access-Control-Allow-Origin' header is present in the requested resource. Origin '요청URI' is therefore not allowed access. 원인은 자바스크립트 엔진 표준스펙에 동일출처 정책(SOP:same-origin-policy) 보안 규칙 때문이다. SOP(Same-origin Policy) 자바스크립트에서 XMLHttpRequest로 외부서버 접근시에는 같은 출처(Same Origin)의 페이지로만 접근이 가능도록 하여 동일한 출처(프로토콜, 호스트명, 포트) 가 모두 일치해야 데..

Tistory

싱글톤 패턴이란? singleton pattern

싱글톤 패턴이란? singleton pattern 여러 디자인 패턴 종류 중 하나로, 하나의 클래스에 오직 하나의 객체 인스턴스만 가지는 패턴이다. * 디자인 패턴: 프로그램을 설계할때 발생했던 문제점들을 객체 간 상호관계 등을 통해 해결할 수 있도록 하나의 '규약'형태로 만들어 놓은 것. 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 어디에서든 공유하며 접근, 사용할수 있다. 싱글톤 패턴으로 만들어진 클래스는 생성자가 여러번 호출 되더라도, 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 보낸다. 주로 공통된 객체를 여러 개 생성해서 사용하는 DBCP (Database Connection Pool)와 같은 데이터베이스 연결 모듈에 많이 사용..

Tistory

[java script] map() / filter() 함수란? 배열 가공하기.

1. map() 배열의 요소를 순회하려면 for문과 같은 반복문이 필요한데, map() 함수를 쓰면 for문을 쓰지 않고도 배열 전체를 순회하면서 각 요소에 대해 함수를 호출한다. 각 요소는 순서대로 함수를 타고, 함수에 정의된 새로운 형태의 배열로 반환되는 것이다. js에 약한데 실무에서 굉장히 유용하게 쓰게 되어 기록으로 남긴다. map()함수 기본 문법 array.map(callBackFunction(currValue, index, array), newValue); currValue: 원본 배열의 데이터 index : 현재처리중인 인덱스 array : 기존 배열 newValue: callBackFunction에서 사용될 값 ex1) let array = ["월", "화", "수"]; let map ..

Tistory

객체지향 프로그래밍 OOP

객체지향 프로그래밍 OOP Object Oriented Programming 객체들의 집합으로 프로그래밍의 상호작용을 표현 데이터를 하나의 객체로 취급하여 객체 내부에 선언된 메서드를 활용하는 방식 설계에 많은 시간이 소요되며 처리 속도가 상대적으로 느리다. 특징 추상화 Abstraction 복잡한 시스템으로부터 핵심개념 또는 기능을 간추려내는것. 캡슐화 Encapculation 객체와 속성과 메서드를 하나로 묶고 일부를 외부에 감추어 은닉하는 것. 상속성 Inheritance 상위 클래스의 특성을 하위 클래스가 이어받아 재사용하거나 추가/확장하는 것. 코드의 재사용, 계층 관계 생성, 유지보수 측면에서 중요 다형성 Polomorphism 하나의 메서드나 클래스가 다양한 방법으로 동작하는 것. 대표적으로..

Tistory

스프링 Service에서 ServiceImpl를 사용하는 이유 ?

스프링 Service에서 ServiceImpl를 사용하는 이유? 대부분의 스프링 프로젝트에서 서비스를 구현할때 Service.java를 인터페이스로 만들고, ServiceImpl 이라는 구현체 클래스를 생성하여 사용한다. 왜 인터페이스와 구현체를 따로 두어 사용할까? ex) MemberService / MemberServiceImpl 1. OOP의 다형성, 개방-폐쇄 원칙 이론상으로는 인터페이스-구현체 패턴으로 설계하는 이유는 인터페이스와 구현체를 분리함으로써 구현체를 독립적으로 두고, 구현체 클래스를 변경하거나 확장해도 이를 사용하는 클라이언트의 코드에 영향을 주지 않도록 하기 위함. 이와 같은 추상화를 통한 구현방식은 객체지향의 특징인 다형성과, 개방-폐쇠원칙(OCP)을 지향하는 설계방식이다. 2.A..

Tistory

JUnit Test 자바 단위테스트란? feat. 서비스 단에서 DB연결 테스트해보기.

junit 자바 단위테스트란? Java에서 독립된 단위테스트 (Unit test)를 지원해주는 프레임워크. * 단위테스트란? 특정 소스코드의 모듈이 의도한 대로 작동하는지 검증하는 테스트이다. 즉, 함수 및 메소드에 대한 테스트를 하는 작업. Spring에서 단위테스트를 하는것은 스프링 커네이너에 올라와있는 Bean들을 테스트 하는 것이다. Junit을 사용하면 스프링 컨테이너를 띄워, 그 위에 올라가있는 Bean을 테스트 할 수 있다. JUnit 특징 단정 메서드(assert)로 테스트 케이스의 수행결과를 판별. ex) assertEquals(예상값, 실제값) assert()는 junit의 대표적인 기능이다. 이 메소드를 사용하여 테스트가 정상인지 아닌지 판별한다. Junit 4부터는 테스트 어노테이션..

Tistory

컴파일러compiler와 인터프리터interpreter의 차이? + 자바컴파일러와 자바인터프리터의 역할

컴파일 Compile 코딩을 할때 사용하는 프로그래밍 언어들은 사람이 알아볼 수 있는 인간친화적 언어이다. 컴퓨터는 0과 1로 이루어진 기계어 신호만 알아듣기 때문에 이해할 수 없다. 때문에 우리가 작성한 코드를 컴퓨터에서 실행시키려면 컴퓨터가 알아들을 수 있도록 코드를 기계어로 번역해야한다. 코딩을 마친 후 코드로 짜여진 소스들을 소프트웨어로 실행시키기 전 한방에 미리 번역하는 과정이 '컴파일'이고, 번역역할을 해주는 놈이 컴파일러 이다. 이 컴파일 작업이 요구되는 언어들을 컴파일러 언어라고 한다. 대표적으로 C, C++, 등의 언어가 있다. (Java 는 조금 특이하게 인터프리터도 병행한다. 아래서 살펴보겠다. ) 컴퓨터는 이렇게 컴퓨터의 언어로 번역된 코드를 읽기만 하면 되기 때문에 컴파일러언어는 ..

Tistory

자바가상머신 JVM 이란?

JVM Java Virtual Machine 자바가상머신은 자바 바이트코드인 .class 파일을 OS에 특화된 코드로 변환하여 실행한다. 바이트코드파일은 운영체제에서 바로 실행할 수 없고, 자바가상머신이라는 번역기가 필요하다. 자바가 JVM을 사용하는 이유는 바이트 코드 파일을 다양한 운영체제에서 수정없이 사용하기 위함이다. 이 특징이 자바를 플랫폼에 종속되지 않고 독립적으로 작동하게 하는 것이다. 단, JVM 자체가 플랫폼에 독립적이지는 않다. 때문에 JVM은 윈도우용, 리눅스용 등 각 운영체제용 JVM이 존재하고 각 운영체제의 JVM이 바이트코드파일은 해당 운영체제에서 실행가능한 기계어로 번역하여 프로그램을 실행하는 것이다. 프로그램이 시작되면 JVM은 OS로부터 프로그램을 수행하는데 필요한 메모리를..

Tistory

git 저장소 주소 repository 변경하기

git 저장소 주소 repository 변경하기 Git에서 remote repository를 다른 주소 URL로 변경해 보자. 예를 들어 기존의 repository에서 형상관리를 하다가 새로운 repository를 생성 한 경우,새 repository로 형상관리를 하겠다라고 한다면 기존의 주소를 새로운 저장소 주소로 바꿔주어야 한다. 기존 주소 : https://github.com/user/repo1.git 새로운 주소 : https://github.com/user/repo2.git 먼저 현재 연결된 주소를 확인. //결과 origin https://github.com/user/repo1.git (fetch) origin https://github.com/user/repo1.git (push) git r..

Tistory

리눅스 운영체제란? Linux

운영체제란? 컴퓨터와 같은 기계장치인 하드웨어와 컴퓨터에 설치되는 모든 SW를 관리하는 실행관리자다. 사용자에게 컴퓨터를 효율적으로 사용할 수 있도록 한다 처리하고자 하는 과정의 작업순서를 정하고 중앙처리장치CPU와 주기억장치 RAM, 주변장치인 키보드,모니터, 마우스, 스피커 등.. 의 여러 하드웨어 시스템에게 일련의 작업순서를 할당한다. 프로그램 실행, 파일접근, 응용프로그램 구동, 모니터 및 메모리 저장장치 제어, 명령해석 등과 같은 임무를 수행하도록 CPU에게 지시. 윈도우 Windows 마이크로소프트사에서 제공하는 윈도우 계열 운영체제가 시장을 점유율을 거의 독점하고 있는 운영체제다. 윈도우의 가장 강력한 강점은 응용 소프트웨어의 호환성이다. 시중에서 배포되는 소프트웨어 대다수가 윈도우 운영체제..

Tistory

Tomcat Dymanic Web Module 버전 오류 해결

에러: Maven Java EE Configuration problem -One or more contraints have not been satisfied. -Cannot change version of project facet Dynamic Web Module to x.x *서블릿 스펙에 따라 Dymanic Web Module 버전이 다름 Project > Properties > Project Facets 에서 버전 확인 이클립스 내에서도 여전히 Cannot change version of project facet Dynamic Web Module 에러로 변경 불가하다고 뜨는 경우 파일로 접근해서 수동으로 변경 해 줄 수 있다. 프로젝트 경로 > .settings > org.eclipse.wst.co..

Tistory

Markdown Language 마크다운언어 란? + 예제

마크다운이란? Markdown은 텍스트 기반의 마크업언어로 2004년 존그루버에 의해 만들어졌으며 쉽게 쓰고 읽을 수 있으며 HTML로 변환이 가능하다. 특수기호와 문자를 이용한 매우 간단한 구조의 문법을 사용하여 웹에서도 보다 빠르게 컨텐츠를 작성하고 보다 직관적으로 인식할 수 있다. 마크다운이 최근 각광받기 시작한 이유는 깃헙(https://github.com) 덕분이다. 깃헙의 저장소Repository에 관한 정보를 기록하는 README.md는 깃헙을 사용하는 사람이라면 누구나 가장 먼저 접하게 되는 마크다운 문서였다. 마크다운을 통해서 설치방법, 소스코드 설명, 이슈 등을 간단하게 기록하고 가독성을 높일 수 있다는 강점이 부각되면서 점점 여러 곳으로 퍼져가게 된다. 마크다운의 장단점 장점 간결하다..

Tistory

GitHub Pages 활성화 시켜 여러 repository 웹 호스팅하기.

들어가기 전에 githubpages에 간단히 알아보자. github pages란? 쉽게말해 github저장소의 내용을 웹페이지로 호스팅 해주는 서비스이다. repository에 올린 소스를 직접 웹페이지를 통해서 보여주고 무료로 웹서버를 호스팅 할 수 있다. 대표적인 사례로 기술블로그로 많이 이용된다. 깃허브 페이지의 url은 다음과 같은 형식으로 생겨먹었다. https://username.gibhub.io 와 같은 형태의 url을 본 적이 있을 것이다. 이 외 간단한 웹 프로젝트를 구현해볼 수 있으나, 저장소의 최대용량이 1G로 제한되어 있기 때문에 무거운 프로젝트는 힘들 것 같다. github pages 구축 방법 먼저, 공식 사이트에 가이드 라인을 잘 제공하고 있다. 참조 가이드 : https://..

Tistory

[ORACLE] NVL 함수란? 쿼리 널처리

NVL함수 널처리 함수. data 값이 null 값일때 임의설정값으로 처리해주기 NVL("값","지정값") 값이 null 인 경우, 지정 값을 출력하고 그렇지 않으면 원래값을 그대로 출력한다. 기본테이블 //DEFAULT SELECT no, name, salary from table 결과) no name salary 1 홍길동 200 2 김길동 null NVL 예시 //NVL SELECT no, name, NVL(salary,0) AS salary from table 결과) no name salary 1 홍길동 200 2 김길동 0 -> salary 컬럼의 null 값이 0으로 치환되었음. null이 아닌경우 그대로 출력. NVL2함수 마찬가지로 널처리 함수이지만 앞의 NVL함수는 null이 아닌경우에는..

Tistory

[DBMS] Orange 단축키 정리

자주 사용되는 Orange 단축키 ctrl + - : 주석처리(해당 커서 한 라인, 혹은 드래그 영역 주석 처리) ctrl + shift + - : 주석해제 ctrl + u : 드래그 영역 소문자 변경 ctrl + shift + u : 드래그 영역 대문자 변경 ctrl + enter : 현재 위치의 쿼리 실행 (세미콜론 구분자 까지의 ) ctrl + l : 드래그 영역 쿼리 실행 ctrl+n : DB connect , 계정접속 ctrl + t: SQL 탭추가 ctrl + r: 라인 자동 정리 *완벽하지 않음주의 ctrl + shift+ t : SQL 탭복사본 추가 art + r : 스크립트 저장 ctrl + r : 스크립트 불러오기 F5: 전체 쿼리 실행 F7: 세션 선택 F8: 실행한 쿼리 히스토리 목..

Tistory

jekyll 지킬이란?

지킬은 깃헙 설립자 중의 한명이 Ruby 언어를 통해 개발한 프레임 워크이다. 지킬 앤 하이드의 그 지킬 맞음 ..ㅋ 깃헙 자체적으로 Jekyll Contents Management System 을 내장하고 있어서 호스팅에 적합하다. (지킬 아니라도 호스팅 가능) 지킬은 개발자들이 애용하는 github에서 개발한 툴로 이미 잘 알려진 Wordpress의 강력한 경쟁자로 성장하고 있다. 지킬의 핵심 역할은 텍스트 변환 엔진 즉,HTML / Markdown 등의 마크업 언어로 글을 작성하면 이것을 미리 정의해 놓은 규칙에 따라 다양한 레이아웃으로 포장하여 정적 웹사이트를 만들어 준다. 이 가정에서 사용자는 _config.yml 또는 _posts 폴더 등의 수정 및 추가를 통해 원하는 기능을 구현할 수 있다...

Tistory

2022 청년희망적금

"2022 청년희망적금" 오는 2월 21일 출시 예정이라고 한다. 요즘시기에 절대 나올수 없는 금리의 상품이니 대상자는 무적권 가입할 것!!! ︎ 청년희망적금이 뭔가요? 청년 자산형성을 위한 적금 매달 50만원 내에서 자유롭게 납입 가능하다. 만기는 2년. 이 적금의 특징은 총 이자 = 시중이자 + 저축장려금까지 플러스 된다는 점인데, ︎ 저축장려금은 뭔가요? 1년차에는 납입액의 2% / 2년차에는 납입액의 4% 를 저축 장려금이라는 이름으로 제공되는 혜택이다. 만약 최대금액인 50만원씩 납입한 경우, 총 이자 = 시중 이자 5% (625,000)+ 저축장려금(360,000) = 985,000원 즉, 원래는 이자가 625,000 인데 저축장려금인 360,000까지 포함해서 총 이자가 985,000원이..

Tistory

oranwell 아이패드 거치대 / WMB-TSD400 /태블릿 거치대/ 스마트폰 거치대 /언박싱/ 1개월 사용 후기

요새 아이패드를 자주 사용하면서 아무래도 높이가 낮아서 목이 뽀개질것 같아서 거치대를 구매했다. ︎ 나의 구매 기준: 책상거치에 최적화, 높이 넉넉히 조절 가능, 튼튼할것, 깔끔한 디자인 이것처럼 비교구매와 후기들을 보고 오랜웰 WMB-TSD400거치대 를 구매함 일단 포장이 안전하게 잘 되어와서 좋았음. 보기보다 엄청 묵직했다!!! 휴대용으로 쓴다면 좀 무거울 듯. 분리되어 있는걸 연결해줘야한다. 연결할 나사와 드라이버가 같이온다. 드라이버 넣어주는 곳은 쎈스있는곳 !!! 조립법 엄청 쉽다. 걍 손으로 끝까지 돌려주고 도라이버로 꽉꽉 조여주기 기본 높이는 약 32cm 로 쪼꼬맣지만 이렇게 높이 조절로 약 17cm가 더 늘어난다!! 그럼 총 약 50 cm. 생각보다 더 높 ;;;;; 책상에서 쓰는 나로..

Tistory

로지텍 스트리밍 캠 / VU0054 / 웹캠 / 언박싱 (mac silicon 유저는 사지마시오 주의 )

나는 맥 m1 을 쓰는데 제 아무리 맥이라도 웹캠이 화질이 매우 구려서 화질 좋다는 로지텍 스트리밍 캠을 구매해보았다. 헐 일단 생각보다 너무 이뻐서 외관에 반했다. 사진에는 잘렸는데 주의사항!!! 연결케이블이 C type 이다. 맥의 경우 c type이라 상관없었는데 윈도우 등 USB 인 분은 젠더 별도 구매 필요. 일단 로지텍에 대한 신뢰가 있었기에 첫인상은 넘나만족 장착샷! 집게로 짚는게 아니라 노트북에 걸치도록 거치되는 형식이다. 툭 얹어 놓는 느낌?? 근데 떨어지거나 하진 않고 안정적이다. 이렇게 걸쳐놓듯이 하는건데 안정적으로 이지만 노트북이 흔들리면 카메라도 같이 흔들린다 이쁘다!!!!!!!! 부푼 기대를 안고 연결을 해봤는데.. . .. 결론부터 말하자면 맥 m1이상, 즉 cpu silion..

Tistory

웹스퀘어 - 데이터 컬렉션/서브미션/워크플로우 란?

WebSquare의 Data Model 영역 1. Data Collection 데이터 컬렉션 데이터 객체 정의 영역 서버통신 위한 request, response 데이터와 화면에서 사용할 데이터 정의 데이터 객체 타입: - DataMap - DataList - LinkedDataList - AliasDataMap - AliasDataList 가 있음 화면) 소스 ) dataList . . 화면 예시) 소스 ) dataMap . . 2. Submission 서브미션 서버 통신을 위한 인터페이스. 통신 비동기/동기 방식 선택 : mode속성의 asynchronous/ synchronous 통신 실행 전/후에 실행할 함수 이벤트를 정의 request 데이터는 reference 속성에 정의된 데이터 객체의 정보..

Tistory

웹스퀘어 에서의 Script 코딩

WebSquare Script 코딩 주요 객체 살펴보기 1. 브라우저 Browser에서 제공하는 객체. document, window 등 ex) window.open('http://'); 2. 사용자 정의 개발자가 script블록 또는 js파일에 정의한 변수, 함수, 객체. ex) var userName = "WebSquare"; function getUserName( ){ return userName; } var info = { name : "WebSquare", city : "Seoul" }; var common = { isNumber : function(tmpVal){ return Number(tmpVal); } }; 3. WebSquare WebSquare에서 제공하는 객체. 전역 공간에 정의되기..

Tistory

티스토리 애드센스 관리 다시 조회하기 에러 1초 해결

갑자기 잘 되던 티스토리 애드센스 관리가 작동하지 않는 현상 발생. 검색해보니 해당 현상이 발생한 분은 크롬브라우저 유저일 것이다. 범인은 광고차단 플러그인 애드블락 플러그였다. 해결방법은 간단하다. 상단의 활성화된 ABP 아이콘을 클릭해서 차단 활성화를 해지 해주면 된다. 해지 된 상태에서는 ABP아이콘이 빨간색에서 회색으로 표시됨. 비활성화 설정 후 새로고침 하면 정상작동 할 것이다. 또 다른 해결책으로는 걍 다른 브라우저를 사용하면 된다. 사파리, 인터넷 익스플로러등.. 1초해결 ㅇㅈ?

Tistory

[SQL] WITH 절이란?

WITH 절이란? 임시테이블 또는 가상 테이블의 개념. 반복되는 서브쿼리 블록을 하나의 WITH절 블록으로 만들어서 사용할 수 있다. 임시테이블을 만든다는 관점에서 VIEW와 비슷하지만 VIEW는 CREATE로 생성하여 DROP하기 전 까지 없어지지 않고 모든 테이블에서 사용하능 하지만 WITH절의 경우 한번 실행할 쿼리문 내 정의하여 해당 쿼리안에서만 실행된다. WITH 절 사용법 --WITH절 생성 WITH emp_with AS ( SELECT deptno, SUM(sal) AS sal FROM emp GROUP BY deptno ) --WITH절 사용 SELECT a.deptno, b.name, c.sal FROM emp_with a , dept b WHERE a.deptno = b.deptno 위..

Tistory

웹스퀘어 Web Square 란? (프론트 소스를 알아서 짜준다고?)

웹스퀘어 Web Square 란? 웹 표준을 준수한 UI프레임워크로 UI컴포넌트와 Util API, 통합 개발 도구 제공하는 솔루션이라고 한다. 쉽게 말해 프론트 화면 개발 툴이다. 프론트개발을 그켬하는 백엔드 개발자인 나에게는 신세계일 따름... 마치 대딩 때 처음 접했던 자바 스윙 업그레이드 버젼 같기도 하고..; 디자인 탭에서 화면을 미리 볼 수 있는데 PPT에서 개체 추가 해주듯이 만들고자 하는 요소들을 추가하고, 속성에서 ID 지정 등 데이터를 입력한 뒤, Source 탭에 들어가보면 방금 마우스로 끄적거린 작업들이 HTML/JS 소스로 완성되어있다. WOW .... 화면 노가다를 해야하는 수고는 확실히 덜어주기는 하지만 디자인 등이 정형화 되어있고 모든 문법이 websquare에 종속되어 있어..

Tistory

[SSH]SCP란? 원격지로 파일 전송하기

SCP : secure copy SSH 프로토콜 기반의 파일전송(복사) 수단이다. - 원격지에 파일 또는 디렉터리를 보내거나 가져올때 사용하는 파일전송 프로토콜 - 네트워크 연결 환경에서 ssh와 동일한 22번 포트와 identy file을 사용해서 파일 송수신 하기 때문에 보안적으로 안정된 프로토콜. 1. 로컬의 단일 파일을 원격지로 전송. local > remote (원격지) #scp [옵션] [파일명][원격지 id] @ [원격지 ip]:[저장경로] ex) 예제코드 scp testfile [email protected]:/app/tmp/testdir -> 현위치의 testfile을 원격지 123의 /app/tmp/testdir 경로로 이동(복사) (* 하위 파일 가지는 디렉터리인 경우 옵션 -r..

Tistory

Git Hub Pages 란?

Git이란? SW 개발 시 여러명의 사용자들 간 개발 작업을 조율하기 위한 분산 버전 관리 시스템. Git hub란? 깃을 좀 더 편리하게 이용하도록 만든 깃 허버 웹 호스팅 서비스. 오픈 소스 소프트웨어의 중심지(hub)역할을 하면서 오픈소스 프로젝트가 널리 퍼지는 데 크게 기여하고 있는 서비스이다. Git hub pages란? 깃허브에서 제공하는 정적 사이트 호스팅 서비스로 일반적인 html콘텐츠를 지원하는 것 외에도 다양하고 인기있는 정적 사이트 생성기인 Jekyll을 지원한다. Github 가입 Git hub repository 생성 로컬 저장소에 깃허브 저장소 복제하기.이제 해당 프로젝트 폴더에 index.html파일을 추가하여 별도의 서버 없이 포트폴리오 사이트 등 간단한 사이트를 만들 수 있..

Tistory

[Error] javax.naming.NameNotFoundException 에러

EJB javax.naming.NameNotFoundException 에러 원인: 클래스 네임을 찾을 수 없다는 에러. 해결법: clean > rebuild > deploy 로컬 소스를 서버에 deploy 시 EJB가 새로 추가되거나, 또는 그렇지 않아도 잘만 참조하던 클래스를 찾지 못하는 경우가 있다. 실제로 클래스명에 에러가 있거나 추가된 클래스를 빠뜨린것이 아니라면 보통은 로컬에서 소스를 clean 해주고 재컴파일 후, deploy를 통해 해결.

Tistory

[금융IT] 업무 기본지식

1. 계정계 (core banking) *통장 = 계정,계좌 공통업무, 수신(저축예금)업무, 신탁업무, 보험업무, 카드업무, 여신(대출)업무,외환업무, 대행업무 … *원장 = 근원이 되는 장부 많은 은행들이 초기에 ibm mailframe (COBAL기반) 사용. 2000년 중반에 unix로 이전하였고 차세대 업데이트를 통해 대부분 C로 이전함. java도입이 2013년에 최초로 될 정도로 보수적임. 2. 정보계 고객정보, 영업정보, 기업전략정보등.. 고객의 거래활동 및 성과를 분석/측정 주요 시스템으로 DW를 기반으로 하는 수익관리, 고객관계관리, 성과관리, 위험관리 시스템 등 기본적으로 정보연계, 통합조회, 통계분석 등의 업무를 많이 하기 때문에 관계형 데이터베이스가 필수임. 3.대외계 은행외부기관과..

Tistory

[금융IT] 보안 지식

개인정보 데이터 그 자체로, 또는 다른 데이터와 결합하여 개인을 식별할 수 있는 데이터 또는 정보. ex) 개인마케팅 프로필, 은행 계좌번호, 소매고객 전화번호, 행원급여, 카드지출내역 .. * 고객명 - 단순 성명만으로는 개인정보 아님. 민감한 개인정보 인종 또는 민족, 정치적 견해, 종교 또는 철학, 노조가입 여부, 유전자 정보, 신체 또는 정신겅강, 성적 취향, 위법 행위 또는 위범 혐의를 나타내는 정보입니다. 민감한 개인정보를 처리할 때 따라야하는 추가적인 규칙이 있다. ex) 노동조합가입, 종교적신념 .. 개인정보 vs 은행기밀정보 vs 사이버보안 개인정보: 개인과 관련된 정보만을 의미. 은행 기밀정보: 고객과 관련된 개인정보를 포함한 모든정보를 포함. 사이버 보안: 사이버 환경에서 네트워크를 ..

Tistory

[DB2] WITH UR 이란?

WITH UR이란 ? DB2를 사용해보신 분이라면 쿼리문에 WITH UR이 붙어있는 구문을 본 적이 있을 것이다. UR이란, Isolation level 중 하나로 Uncommited Read 의 약어이다. 기본적으로 내가 조회하고자 하는 table의 다른 트랜잭션이 진행 중일 때는 동시 조회가 불가능하다. 다른 트랜잭션이 끝날 때 까지 대기하다가 commit 또는 rollback 처리 후에 조회가 가능하다. **그러나 WITH UR 옵션을 붙이면 다른 트랜잭션이 진행 중이라 하더라도 대기하지 않고 실시간으로 변경중인 데이터를 가지고 와서 조회할 수 있다.** 단, commit이 되지 않은 데이터를 가지고 오는 경우, 신뢰성을 보장 되지 않는다. 보통 단순 조회 SELECT시 사용한다. SELECT 외 ..

Tistory

[java build] ANT란? (feat. MAVEN과 차이점? )

Ant란? 주식개미아니고요.. 자바 기반의 빌드툴로 리눅스의 make와 흡사한 기능 제공한다. Ant는 자바 기반으로 플랫폼에 독립적으로 실행. - 운영체제에 구애받지 않고 프로젝트 진행가능. 복잡한 쉘 명령어 대신 xml기반의 기능 설정파일을 사용하기 때문에 작업 설정이 복잡하지 않다. 미리 정의된 Task를 사용하여 쉽고 빠르게 배치 작업을 설정할 수 있다. 새로운 Task의 추가를 통해 배치작업의 확장이 가능하다. *Task는 Ant를 통해서 처리하고자 하는 작업을 나타내는것으로 파일복사 태스크, 소스코드 컴파일 태스크, Javadoc API생성 태스크 등 다양한 태스크가 미리 정의되어 있다. Ant사용법 Ant의 빌드 파일은 xml 문서의 구조이며 Ant가 작업을 수행할 프로젝트에 대한 정보를 담..

Tistory

디파이 코인이란 ? Defi coin

"코인(암호화폐)은 실체도 없고 쓸모도 없다." 2009년 첫 암호화폐 비트코인이 등장한 이래 지금까지 제기되는 코인 비관론자 주장이다. 하지만 눈에 보이지 않는다고 해서 실체가 없는건 아니다. 단순히 '코인==화폐'라고 생각한다면 그들의 말처럼 쓸모가 없을지도 모른다. 하지만 코인은 화폐가 아닌 '시스템'에 가깝다. 인터넷이나 인공지능, 빅데이터와 같은 혁신기술이 눈에 보이지 않는다고 해서 실체가 없다고 주장하는 이는 없다. 코인은 이미 실존하는 여러사업과 시스템에서 활발히 쓰이고 있다. 코인이 갖는 '탈중앙'특성 덕분이다. 중앙기관 개입으로 비효율이 발생하는 모든 산업에서 코인은 유의미한 성과를 거둘 수 있고, 또 거두고 있다. 쉽게 말해 부동산 중개소가 없는 부동산거래, 광고나 수수료가 없는 콘텐츠..

Tistory

Spring boot 스프링 부트란?

Spring boot 란? Spring framework 기반 프로젝트를 복잡한 설정없이 쉽꼬 빠르게 만들어주는 라이브러리. 개발자가 일일히 모든 설정을 할 필요없이 자주 사용되는 기본 설정을 알아서 해준다. 스프링 부트는 실행만 하면 스프링기반의 사용화가 가능한 애플리케이션을 쉽게 만들기 위해 단독 실행 가능하도록 해주는 스프링 프로젝트이다. 스프링 부트는 스프링을 쉽게 사용할 수 있도록 필요한 여러가지 복잡한 설정을 대부분 미리 세팅 해놓았을 뿐만 아니라 WAS도 별도의 설절없이 바로 웹개발에 들어갈 수 있도록 만들어 놓은 놈이다. Why Spring boot? 왜 사용하나? Spring framework를 사용하기 위한 필수 설정파일 (web.xml, rootContext.xml, ServletCo..

Tistory

프리다이빙 표준안전 수칙.

1. 항상 트레이닝을 받은 버디와 함께 다이빙을 하고 버디수칙을 따른다. 2. 스쿠버 다이빙을 한 날은 같은 날에 개방수역 스리다이빙에 참여하지 않는다. 3. 하강함과 동시에 내 귀와 마스크의 압력 평형을 실시하고, 불편함을 느끼기전에 미리, 자주 부드럽게 압력평형을 실시한다. 4. 만약 압력평형이 되지 않는다면 수면으로 올라간다. 5. 압력 평형을 무리하게 하거나 너무 길게 하지 않는다. 6. 호흡을 크게 들이마신 후 하강한다. 7. 좋은 건강 상태로 프리다이빙을 한다. 감기이거나 코가 막혔을때 절대로 프리다이빙을 하지 않는다. 8. 내가 스쿠버 다이버라 할지라도 수중에서 프리다이빙을 하는 동안, 절대로 스쿠버에서 호흡을 해서는 안된다. 다만, 스쿠버 다이버와 내가 필요하여 스쿠버를 이용해 상승하는 경..

Tistory

뷰 Vuejs란?

Vuejs란? 대화형 웹 프론트엔드를 쉽게 구축할 수 있게 하는 Javascript 프레임 워크. UI를 빠르게 개발하기 위해서 만들어진 자바스크립트 프레임워크. MVVC (Model-View-ViewModel) 패턴을 따르며, 어플리케이션 로직과 UI 의 분리를 위해 설계되었다. Angular.js나 React.js보다 많이 알려지지 않았지만 급속도로 확산하고 있다. 뷰 View : 사용자에게 보이는 화면 돔 Dom: HTML 요소(태그, 클래스, 속성 ..) 의 정보를 담고 있는 데이터 트리 돔 리스너 Dom Listener: 돔의 변경 내역에 대해 즉각적으로 반응하여 특정 로직을 수행하는 장치 모델 Model: 데이터를 담는 용기. 보통은 서버에서 가져온 데이터를 자바스크립트 객체형태로 저장. 데이..

Tistory

[개발용어] test용어_ SIT란? UAT란? 차이점?

SIT 란? System Integration Testing. 시스템 통합 테스트 여러 하위 시스템으로 구성된 전체 시스템에 대한 전체 테스트. SIT의 주요 목적 모든 SW 모듈 종속성이 올바르게 동작하고 전체 시스템의 개발 모듈간에 데이터 무결성이 유지되도록 하는 것. SIT는 초기단계에서 결함을 감지하여 추후 수정에 드는 시간과 비용을 절약할 수 있다. 또한 모듈의 수용가능성에 대한 초기 피드백을 받는 데 도움이 된다. 여러 시스템간의 상호작용을 전체적으로 테스트하고 SIT의 결과물은 UAT ( User Acceptance Testing)으로 전달된다. SIT 세분화 SIT는 세가지 수준의 세분화로 수행한다. 1. 시스템 내 테스트 통합 시스템 구축을 위한 모듈을 통합하는 것. 2. 시스템 간 테스..

Tistory

아마존 프라임 한달 무료이용, 자동결제 해지

아마존에서는 프라임 (Prime) 유료 회원제도를 운영하고 있는데, 아마존 프라임 연회비는 1년에 119달러이고, 월회비는 매월 12.99달러 이다. 미국 CNN 등에 따르면 아마존 프라임 회원 숫자가 1억명이 넘는다고 한다. 아마존 프라임 회원에 가입하면 처음 30일간은 무료체험이 가능하다. 아마존 프라임 혜택 -미국 등 현지 국가내에서는 2일내 무료 특급배송 -무제한 아마존 뮤직 스트리밍 서비스 -무제한 전자책 읽기 -무료 사진저장 공간 -일부 상품 당일 무료배송 매년 7월에 아마존 프라임데이가 열린다. 이때는 아마존 프라임 회원들만 상품을 싸게 구입할 수 있으니 아마존 프라임 30일 무료체험 가입을 해서 혜택을 받을 수 있다. 무료체험 후 그냥 두면 자동으로 결제가 되니 무료체험 가입 후 바로 해지..

Tistory

macbook Air M1 /baseus usb-c 허브/ unboxing / 4개월 사용후기

Apple M1 칩(8코어 CPU, 7코어 GPU, 16코어 Neural Engine) 16GB 통합 메모리 / 256GB SSD 저장 장치 True Tone이 적용된 Retina 디스플레이 백라이트 Magic Keyboard - 한국어 Touch ID / Force Touch 트랙패드 Thunderbolt /USB 4 포트 2개 교육할인으로 129 -> 116 만원 + 무료 에어팟 2세대 (약 20만원 상당) -> 약 30만원 이득 *그치만 용량 업데이트 몇번 하고나니까 180원대로 훅 늘어난 것이 함정..ㅠ.ㅠ 비싼자식.. 그래도 이왕 하는김에 최대한 좋은 옵션을 선택하는 게 좋다. 나중에 돼서 모자라면 늘린다고 또 다 돈이다.. 탈탈탈 (돈털리는 소리) 또 공홈구매시 약 30만원 상당의 에어팟 프로..

Tistory

Free diving 프리다이빙의 매력

Free diving 프리다이빙이란? 수상과 수중에서 호흡기구의 도움 없이 본인의 호흡만으로 즐기는 모든것을 프리다이빙이라 칭한다. 한번의 호흡으로 더 깊이 가고자 하는 것을 의미한다. 프리다이밍은 내면적으로 초점을 맞춘 스포츠의 신체적, 정신적 수행을 강조한다. 많은 프리다이버들에게는 이것이 이 스포츠의 주된 매력이 되어 왔다. "우리는 산을 정복하는 것이 아니라, 우리 자신을 정복하는 것이다" 에드문드 힐러리경의 말은 프리다이빙을 완벽하게 묘사한다. 프리다이버들은 스노클러들과 스킨다이버, 스쿠버 다이버들이 사용하는 장비와 유사장비를 사용하지만, 이 스포츠의 특징에 맞게 고안된 장비를 사용하고, 프리다이버들은 다른 방식으로 장비를 사용한다. 프리다이빙은 전형적으로 스킨 다이빙과 스노클링에서 경험하는 수..

Tistory

[java] Lombok 롬복이란? - 코드 다이어트

Lombok 롬복 이란? Lombok 이란 Java 라이브러리로 반복되는 getter, setter, toString .. 등의 반복 메서드 작성 코드를 줄여주는 코드 다이어트 라이브러리 이다. 근데 왜 Chilli 모양일까... Java에서 보통 model 클래스나 Entity 같은 도메인 클래스 등에는 수많은 멤버변수가 있고 이에 대응되는 getter, setter 와 toString() 메서드, 때에따라 멤버변수에 따른 여러개의 생성자를 만들어주게 되는데 거의 대부분 이클립스나 인텔리제이같은 IDE에서 자동생성 기능이 있지만 이 역시도 번거로운 작업이 아닐 수 없다. 뿐만 아니라 코드 자체가 반복 소스코드로 인해 복잡해지게 된다. Lombok은 여러가지 @어노테이션을 제공하고 이를 기반으로 반복 소..

Tistory

[java] Lombok 사용 및 설치방법 (intelli J 기준)

Lombok 적용 및 설치하기. 롬복은 @Getter, @Setter등의 어노테이션을 사용하는데, 이러한 API를 사용하기 위해서 롬복 라이브러리 (.jar) 파일을 추가 해 주어야 한다. .jar파일을 직접 내려밭아 class path상에 추가해주어도 되지만 메이븐 프로젝트의 경우 pom.xml 에 아래와 같이 의존성을 추가한 후, 메이븐 업데이트를 해주면 된다. pom.xml ) org.projectlombok lombok 1.18.20 compile *직접 lombok.jar를 내려받아 프로젝트에 추가하려면 https://projectlombok.org/download에서 다운로드 할 수 있다. 프로젝트에 롬복 라이브러리 의존성을 추가했다면 이제 @Getter나 @Setter등의 API를 사용할수 ..

Tistory

[javaScript] input text 태그 엔터 시 새로고침 현상 막기

현상 input text 박스에서 enter 키에 별도의 onkeypress 기능을 넣지 않아도 새로고침 현상이 나타남. 또는 onkeypress 기능 실행 이후, 새로고침 현상이 나타남. 원인 form 태그 내부에 있는 input(type=text) 태그가 단 하나 존재하는 경우, 엔터 > submit 시킨다. 해결방법 1. form 태그의 onsubmit 속성값 이용 2. input 박스 추가 input text box가 단 하나 존재하는 경우에 submit 시키는 것이므로, 의미없는 input(type=text) 태그를 추가하여 이를 방지할 수 있다.

Tistory

개발자 몸값 올려주는 필수 자격증. 다른건 몰라도 이건 꼭 따세요!

개발자 필수 자격증. 다른건 몰라도 이건 꼭 따세요! 먼저 개발관련 자격증에 대한 필자의 생각을 말해보자면, 자격증은 부차적인 것이고 일단은 실력이 가장 먼저라고 생각한다. 그러나, 그럼에도 불구하고 꼭 따야 되는 필수 자격증이 딱 하나 있다. 바로 '정보처리기사' 자격증이다. 자격증이라는게 자격증이 있다고 해서 그 분야의 전문가가 된다거나 하지는 않는다. 단기 기억력이 좋아서 합격을 할 수도 있고 1점 차이로 운 좋게 합/불 이 갈리기에 자격증이 크게 중요하다고 생각하진 않아요 그치만 정처기는 왜 필수라고 하느냐. 우리나라에서 개발자는 초급 중급 고급개발자로 등급이 나누어지는데 등급을 계산할 때 KOSA에서 제시하는 기준이 있다. 이 기준은 예전에 폐지를 했다고 하는데 아직도 프로젝트 내부 자체적으로 ..

Tistory

개발자 평균연봉 1억 시대?!?? 현실 개발자들의 찐반응.

개발자 평균연봉 1억 시대?!?? 현실 개발자들의 찐반응. "어느나라 이야기인고 ?? " 다들 좋아하는 돈 $$$ 이야기를 해보겠다. 요즘 기사를 보면 개발자들의 연봉 이야기가 아주 핫하다. 벌써 이 이야기가 나온 지 한참은 더 지난 것 같은데 아직까지도 뉴스 볼 때 항상 빠지지 않고 이런 기사가 올라온다. 난리 난리 부르스 기사 헤드라인들. 기사 내용 헤드라인: 이과 갔어야 하는 건데.. 평균 연봉 1억!! 잇따르는 IT 업계.. 크으..... 연봉 1억??? 이야 듣기 좋다.... 근데 도대체 어느 나라 이야기인고??? 정작 개발자들은 별 말 없는데 개발자가 아닌 사람들이 더 난리가 났다. 기사 내용 발췌 네이버 카카오 엔씨소프트도 지난해 평균 연봉 1억 원대에 새롭게 합류했다 네이버와 카카오의 지난..

Tistory

IPv4 IPv6 란? IPv4 IPv6 차이점?

IPv4 IPv6 란? IPv4 IPv6 차이점? IPv4 현재 네트워크 계층의 프로토콜은 IPv4 Internet Protocal version4 를 사용한다. (현재 대부분 사용되고 있는 아이피) 현재 아이피주소는 버전 4로 4영역으로 나누어진 최대 12자리의 번호로 이루어져 있다. ex) 127.0.0.1 192.12.100.2 . . 숫자로 구성된 인터넷 공인 주소이고 점으로 구분한다. 각 영역의 숫자는 0 ~ 255 까지의 숫자로 표현할 수 있고, 한 영역의 256 (2^8) 가지의 경우의 수를 표현할 수 있다. 비트로 표현하면 각 영역은 8비트로 이루어지며 총 4영역이므로 8 *4 = 32 비트 체계이다. 32비트로 이루어진 IPv4 는 최대 약 40억개(2^32 = 4,294,967,296 ..

Tistory

[Spring] @RequestBody / @ResponseBody 어노테이션 이란?

스프링에서 비동기 처리를 하는 경우 @RequestBody , @ResponseBody를 사용한다. 비동기 처리를 위해 이 어노테이션들은 어떻게 작동할까? 클라이언트와 서버의 비동기 통신 클라이언트에서 서버로 통신하는 메시지를 요청(request) 메시지라고 하며, 서버에서 클라이언트로 통신하는 메시지를 응답(response) 메시지라고 한다. 웹에서 화면전환(새로고침) 없이 이루어지는 동작들은 대부분 비동기 통신으로 이루어진다. 비동기통신을 하기위해서는 클라이언트에서 서버로 요청 메세지를 보낼 때, 본문에 데이터를 담아서 보내야 하고, 서버에서 클라이언트로 응답을 보낼때에도 본문에 데이터를 담아서 보내야 한다. 이 본문이 바로 body 이다. 즉, 요청본문 requestBody, 응답본문 respons..

Tistory

[java] Try-with-resource 문이란? 자동 자원반납.

자바를 이용해 외부 자원에 접근하는 경우 주의점은 외부자원을 사용한 뒤 반드시 반납을 해주어야 한다는 점이다. 파일로 예를들면 파일 출력을 위해서 하드디스크에 저장되어 있는 파일의 내용을 메모리로 가져와야 하는데 파일의 내용을 모두 메모리에 올리는것이 부담인 경우가 많음. 때문에 많은 프로그래밍 언어들이 파일에 대해서 입출력 스트림을 연결한다. 즉, File 인스턴스를 생성하는 순간 파일의 모든 내용이 메모리에 올라오는 것이 아니라 스트림을 연결하여 언제든지 원하는 부분의 원하는 만큼 내용을 읽어 들일수 있도록 하는 것이다. 이 때 연결한 Stream을 자원이라 하고 이것은 시스템에서 제공 해주는 것.(운영체제가 제공) 자원반납과 finally 1. 자원반납 문제 param = new Object(); ..

Tistory

[갓성비 끝판왕] 샤오미 미지아 캡슐 커피 머신 5세대 3달사용 후기.

만족도 장점:- 캡슐호환 가능(가장 강려크한 강점): 일리, 네소프레소, 스벅 커피까지 삽가능. - 저렴한 가격. 7만원대. 타경쟁사 최소 10만원대부터 시작 (일리, 네소) - 디자인이 매우 깔끔. 콤팩트한 크기. 단점:해외배송이라 배송이 늦다 (약 2주) - 대신 저렴하니까 ok 물통이 작아 물이 금방 닳는다. - 대신 컴팩트하니까 ok공짜캡슐 20알은 맛이 없다. -공짜니까 ok (에쏘로 뽑아서 라떼로 먹으면 먹을만하다) 해외제품이라 110v콘센트 인데 - 돼지코를 같이 보내주기때문에 ok 일단 약 3개월 사용한 전체적인 후기. 샤오미 해외배송이라, 약 2주 기다려 받은 샤오미 미지아 캡슐커피 머신 5세대.코시국으로 카페마저 못가게 하는 바람에 지르게 되었는데디자인도 이쁘고 가격도 착한데..

Tistory

로드 밸런싱이란? Load balancing

로드 밸런싱 Load balancing 로드밸런싱(부하 분산) 은 컴퓨터 네트워크 기술의 일종으로 중앙처리장치 또는 저장장치와 같은 컴퓨터 자원들에게 작업을 분산하는 것을 의미한다. 서버에 가해지는 부하(로드) 를 분산(밸런싱) 해주는 기술이다. 사업의 규모가 확장되고 클라이언트의 수가 증가하게 되면 기존 서버로 정상적인 서비스가 불가하게 되는 경우가 발생하는데, 이러한 증가 트래픽에 대처할 수 있는 방법은 1. Scale up: 서버자체의 성능을 높이는 것. 2. Scale out: 여러대의 서버를 두는 것. 이 있다. Scale out 방식은 여러대의 서버로 트래픽을 균등하게 분산하는 로드 밸런싱이 반드시 필요하다. 주요 기능 NAT(Network Address Translation) 사설 IP 주소..

Tistory

[linux] 간단한 쉘 스크립트 (Shell Script) 작성 및 실행 해보기.

쉘 스크립트 (Shell Script) shell을 사용해서 프로그래밍을 할 수 있다. 주로 리눅스 등 서버작업의 프로그래밍 시 사용되며 생각보다 자주 사용된다. 쉘 스크립트는 파일안에 스크립트 작성 후, 실행 시 해당 스크립트가 실행되는 방식으로 이루어진다. 파일의 가장 위 첫라인은 #!/bin/bash 로 시작된다. * 이때 #는 주석을 의미하는 것이 아니다. 쉘스크립트 파일은 실행권한을 가지고 있어야 실행시킬 수 있다. 간단한 쉘 스크립트를 만들어서 실행 해보자. $ vi forever.sh vi [쉘 파일명]을 입력하여 쉘 파일 생성/편집 모드로 들어간다. 필자는 파일명은 forever.sh 로 만들어 보겠다. * shell script의 파일 형식은 관습적으로 "sh" 확장자를 사용한다. 이는 ..

Tistory

[linux] top 명령어. CPU 사용률 확인

리눅스 top 명령어 -유닉스 계열의 시스템에서 프로세스 목록을 CPU 사용률이 높은 것부터 보여준다. -top 명령어는 시스템의 프로세스와 메모리 사용상태를 5초의 간격으로 업데이트 하여 화면에 출력한다. -어떤 프로세스가 CPU를 많이 차지하고 있는지 체크할때 실시간으로 볼 수 있다. 도대체 모라카는 것인지 . . . 차분히 한 줄 씩 분석해 보자. 서버 정보 top - 11:46:32 > 현재 서버의 시간 11시 46분 32초 up > 가동 중 35일째 가동 중 22:12 > 22시간 22분째 4 users > 4명의 사용자가 접속 중 load average : 0.06 , 0.15, 0.14 > CPU 부하율. 좌측부터 1분, 5분, 15분 평균을 측정. 프로세스 정보 Tasks: 151 tota..

Tistory

[DBMS] MySQL dump / import. 디비 덤프 및 임포트 하기

MySQL dump / import. 디비 덤프 및 임포트 하기 1. Dump - 전체 스키마 dump $> mysqldump -u[사용자아이디] -p[패스워드] 데이터베이스명 > 경로 및 저장될 파일명.sql // ex) mysqldump -uroot -p1234 testdb > /root/backup/testdb.sql - 특정 테이블 dump $> mysqldump -u[사용자아이디] -p[패스워드] 데이터베이스명 테이블명 > 경로 및 저장될 파일명.sql // ex) mysqldump -uroot -p1234 testdb testtb > /root/backup/testdb_testtb.sql 2. Import - 전체 스키마 Import *이때 testdb라는 데이터베이스 스키마는 미리 생성해놓아..

Tistory

ping / telnet / tracert 란? 서버접속 가능여부 체크하기

cmd창에서 특정 서버 접속가능 여부 체크방법 1. ping 현재 접속 네트워크(출발지 서버)에서 목적지 서버 접근가능 여부 확인 사용법: ping [목적지 서버IP] ex) 응답이 없으면(ping이 되지 않으면) 방화벽이 오픈되지 않은 것이다. 2. Telnet 목적지 서버의 특정 서비스가 살아 있는지 여부 확인. ping은 연결에 대한 부분만 체크한다. 사용법: telnet [목적지 서버IP] [서비스PORT] ex) $ telnet 8.8.8.8 80 Trying 8.8.8.8... 계속 대기 중이면 방화벽 오픈이 안 되었을 가능성이 큼. $ telnet 8.8.8.8 80 Trying 8.8.8.8... telnet: Unable to connect to remote host: Connection..

Tistory

[linux] yum daum 저장소 설정(yum install 에러 해결: Could not resolve host: None; Unknown error)

리눅스 환경에서 작업시 가장 멘붕오는 상황은 yum이 막혀있을때다........ ha ..... * YUM (Yellodog Updater Modified)이란 ? 리눅스의 패키지 설치 프로그램. 인터넷을 통해서 필요한 파일을 저장소에서 자동을 모두 다운로드 해서 설치하는 방식. 단, yum은 외부 레파지토리 서버랑 통신해야하기 때문에 네트워크 설치 후 사용 가능하다. yum 사용이 불가한 경우 에러코드: Loaded plugins: amazon-id, rhui-lb, search-disabled-repos Could not retrieve mirrorlist https://None/pulp/mirror/rhui-client-config/rhel/ server/7/x86_64/os error was 14..

Tistory

[java] Thread Pool 쓰레드 풀이란 ?

프로세스 중 병렬 작업처리가 많아지면 스레드 개수가 증가되고 그에따른 스레드생성과 스케줄링으로 인해 CPU가 바빠져 메모리 사용량이 늘어난다. 따라서 시스템성능이 저하되고, 갑작스러운 병렬작업의 폭증에 따른 스레드 폭증을 막으려면 스레드 풀 Thread Pool을 사용해야 한다. Thread Pool 스레드 풀 스레드 풀은 작업처리에 사용되는 스레드를 제한된 개수만큼 정해놓고 작업큐 (Queue)에 들어오는 작업들을 하나씩 스레드가 맡아 처리한다. 그렇게 하면 작업처리 요청이 폭증되어도 스레드의 전체개수가 늘어나지 않으므로(제한해서 하나씩 처리하기 때문) 시스템 성능이 급격히 저하되지 않는다. 자바는 스레드풀을 생성하고 사용할 수 있도록 java.util.concurrent.Executors 클래스와 j..

Tistory

[java] 자바 쓰레드 풀 ThreadPoolExecutor 란 ?

쓰레드를 무한으로 늘리게 되면 어떤 문제가 발생하나? - 성능 저하 - 쓰레드도 하나의 자원이므로 계속적으로 소모되면 자원고갈로 인해 메모리풀로 인해 서버가 다운될 수 있다. - 서버 입장에서 가장 중요한 것은 서버가 다운되지 않고 안정적으로 운영되는 것이다. 서버를 어떻게 안정적으로 운영할까? 쓰레드를 미리 만들어 놓고 재사용하는 방식으로 사용한다 == 쓰레드 풀. 왜 쓰레드 풀을 사용할까? 서버가 모든 요청에 대해 Thread를 매번 생성하게되면 성능상 문제가 발생할 수 있다. ThreadPool을 적용해 일정 수의 작업을 동시 처리하도록 한다. ThreadPoolExecutor 자바에서는 ThreadPoolExecutor라는 클래스를 지원해주는데 다음과 같은 생성자들이 존재한다. //ThreadPo..

Tistory

직장인 연말정산. + 홈택스 공제신고서 수정법(월세 세액편)

참고포스팅 월세 세액공제란?: https://cheershennah.tistory.com/165 직장인 연말정산. 월세 세액 소득 공제 챙기세요!! 월세세액공제란? 직장러분들 연말정산 타이밍이 다가왔습니다. 월세 반전세 등 세를 내고 살고 있는 직장인이라면 꼭 챙겨먹어야 할 것! '월세 세액공제' 입니다. 민간 주택에 월세로 거주하면 직접 계약서와 영 cheershennah.tistory.com + 홈택스 공제신고 수정법 입니다. 공제정보를 직접확인하고 틀린부분이 있을때는 직접 수정하셔서 신청하실수 있습니다. 1. 국세청 홈택스 연말정산 간소화 서비스 접속 www.hometax.go.kr/ui/pp/yrs_index.html?isCdn=Y 국세청 홈택스 Copyright National Tax Serv..

Tistory

MIME type이란?

MIME type이란? MIME : Multipurpose Internet Mail Extensions 이미지나 동영상 파일등은 바이너리 데이터(이진데이터 0과1)에 속한다. 초기 이메일 시스템에서는 아스키 코드로만 주고 받을 수 있었기 때문에, 본문의 텍스트 뿐만 아니라 첨부파일도 전송하기위해 바이너리 데이터인 첨부파일을 아스키코드로 인코딩 하는 방법을 찾아야 했다. Multipurpose Internet Mail Extension. 직역해보자면 다목적 인터넷 메일 확장. 즉, 바이너리 데이터인 첨부파일들을 아스키코드로 인코딩하여 본문에 덧붙이겠다(Extension)는 뜻이다. 전송 시 인코딩된 바이너리 데이터(사진, 동영상 등)가 어떤 타입인지 명해주어야 수신 측에서 그 타입대로 해석한다. 현재는 이..

Tistory

스토리지란? DAS란? / NAS란? / SAN 이란? 차이점?

스토리지(Storage)란? 컴퓨터에 데이터를 저장하는 저장소의 역할을 수행하는 부품이다. 컴퓨터의 하드디스크와 동일한 역할을 수행하는 부품이며, 스토리지를 직접 서버에 연결 할 수 있음. 대용량의 데이터를 저장하기 위해 별도의 스토리지용 네트워크를 구성할 수 있음. DAS / NAS / SAN 란? 다스 / 나스 / 산스 란 스토리지의 종류이고, 연결방식의 차이이다. 각 스토리지는 어떻게 연결되는지, 어떤방식의 차이인지 알아보자. DAS 와 NAS 는 하드디스크를 여러개 장착가능한 데이터 스토리지이며, DAS는 유선으로 외장하드처럼, NAS 는 와이파이나 랜으로 무선의 클라우드처럼 사용된다. DAS (like외장하드) Direct Attachted Storage PC나 서버에 다이렉트로 꽂아서(usb처..

Tistory

당신은 꼰대 입니까? 나는 아닐 줄 알았지..

늙은이, 기성세대를 뜻하는 '꼰대'라는 단어는 어느덧 우리 시대의 조류를 반영하는 상징이 됐다. 본래 아버지나 교사 등 나이 많은 남자를 가리켜 학생이나 청소년들이 쓰던 은어였으나, 근래에는 자기의 구태의연한 사고방식을 타인에게 강요하는 이른바 꼰대질을 하는 직장 상사나 나이 많은 사람을 가리키는 말로 사람을 의미하는 말로 변형된 속어이다. (위키백과 참조) 당신은 . . 꼰대입니까 ? MZ세대의 직장인들이라면 공감하겠지만 주변에서 꼰대 찾아보기란 아주 쉽다. 대놓고 꼰대, 은근한 꼰대, 젊은 꼰대, 말이 안 통하는 꼰대, 말은 통하는 꼰대.. 까지 아주 다양한 유형의 꼰대님(?)들이 존재하고 있다. 신입이자 팀 내에선 그나마 어린 편에 속했던 나는 (아직까지는) 절대로 꼰대라고는 불릴 수 없는 자리에 ..

Tistory

이석원 작가의 글을 오래 좋아 해 왔다.

어쩌면 가장 위안이 되는 말은 잘할거야 잘될거야 보다는 못해도 돼. 좀 못하면 어때. 였다. 이석원작가님의 글을 꽤 오랜시간 좋아 해 왔다. 그의 무거움과 가벼움 그 사이의 감성을 사랑한다. 누구의 말처럼 좋아하는 작가와 동시대에 살아간다는 것은 행운이자 행복한 일이다. ( 내가 맨날 편하게 들어가려고 남기는 블로그 링크. ) blog.naver.com/dearholmes 글을 위한 글 : 네이버 블로그 나이탐험가 blog.naver.com

Tistory

직장인 연말정산. 월세 세액 공제 챙기세요!! 월세 세액공제란?

직장러분들 연말정산 타이밍이 다가왔습니다. 월세 반전세 등 세를 내고 살고 있는 직장인이라면 꼭 챙겨먹어야 할 것! '월세 세액공제' 입니다. 민간 주택에 월세로 거주하면 직접 계약서와 영수증을 제출해야 합니다. LH,SH,GH 등 공공임대 주택공사에 납입한 월세액은 직접 제출하지 않아도 연말정산 간소화 서비스에 자동으로 입력되지만 민간 주택인 경우, 자동입력 되지 않기 때문에 챙기셔야 해요! 저도 막 월세 세액공제 신청을 완료했는데요, 매년 해도 매년 헷갈리는 이것... 까먹기 전에 기록해보겠습니다 :) 월세 세액 공제란? 세액공제는 납세자에게 부과된 세액 중 일정 부분을 공제해주는 것이다. 쉽게말해, 월세로 1년간 낸 돈에 대한 세금을 깎아주는 것이다. 나도 받을 수 있을까?? 월세 세액공제 조건. ..

Tistory

JetBrain - IntelliJ 인텔리제이 학생계정 무료 라이센스 사용법 (발급 및 연장)

이클립스를 사용하다가 젯브레인의 인텔리제이를 사용해 본 이들을 알겠지만 쌉 신세계를 경험할 수 있다. 뮤료와 유료의 차이를 여실히 느낄 수 가 있는데, 대학생 메일계정이 있으면 졸업년도까지 매년. 무료로 라이센스를 준다!!!!!! 갓 젯 브레인. 무조건 써보는게 개이득! !!!! 단, 매년 홈페이지에 들어가서 인증을 하고 재발급을 받아야함. (문제는 한번 사용해보면 헤어나올 수 없음. 무료 혜택끝나면 결국 결제하게 될 듯^*^) 아무튼 좋은건 나눠야 하닌껜. IntelliJ 인텔리제이 학생계정 무료 라이센스 발급하기 1. 인텔리제이 학생 라이센스 인증 링크 접속한다. https://www.jetbrains.com/community/education/#students Free Educational Lice..

Tistory

intelliJ 인텔리제이 SVN ignore files 설정

intelliJ 인텔리제이 SVN 커밋 할때, ignore files 설정 1. 최상위 프로젝트 선택상태에서 SVN > Subversion > Set Property... *특정 파일 선택상태인 경우 error 2. + 클릭 > svn:ignore 선택 > 무시할 파일명 등록. 외 다음과 같은 파일들은 제외시켜주어도 좋다. ### user template # IntelliJ project files target build *~ *.log .classpath .project *.ipr *.iws *.iml .settings .git .svn *.class *.bak

Tistory

리눅스 퍼미션이란? Permission (chown/chmod/umask)

퍼미션 Permission 이란?? 리눅스는 여러사용자가 접근가능한 멀티유저 운영체제이다. 퍼미션(권한)기능을 사용하여 특정파일이나 디렉터리에 대하여 읽기/쓰기/삭제 등의 권한을 설정하여 파일접근 권한을 제어하고 파일을 보호하기 위해 사용한다. 퍼미션의 종류 퍼미션 해석 original 디렉터리를 해석해 보겠다. (맨앞 타입을 제외하고 3자리씩 끊어서 해석) d[타입] rwx[소유자권한] r-x[그룹 소유자 권한] r-x[일반사용자권한] > original 파일은 디렉토리이다. > 소유자 root는 읽기/쓰기/실행이 가능 > 그룹소유자 root는 읽기/실행 만 가능 > 일반사용자 (root 외) 는 읽기/실행 만 가능 > 8진수를 이용하면 755 퍼미션에 해당됨. 퍼미션 변경 각 권한은 그에 해당하는 숫..

Tistory

아파치 http -> https 리다이렉트 설정하기. Rewrite 엔진.

아파치 HTTP -> HTTPS 리다이렉트 설정하기. (feat. Rewrite Engine) 아파치 웹서버에 SSL 인증서를 적용하면 https로 접속하게 되는데 적용 후에도 사용자들은 http로 접속하기 때문에 리다이렉트 설정을 이용해서 http로 접속했을 시 자동으로 https 로 넘겨주는 설정을 많은 곳에서 하고 있다. 여러 방법 중 아파치 Rewrite 엔진을 사용해서 리다이렉트 시켜보자. 1. Rewrite엔진을 사용하기 위해서 http.conf 에서 사용 설정부터 해준다. vi http.conf #LoadModule LoadModule rewrite_module modules/mod_rewrite.so

Tistory

크롬 브라우저 보안성 향상 업데이트 이슈(Mixed content)

Chrome 은 보안성 향상 및 https로 전환을 유도하기 위해 혼합 콘텐츠 차단에 대한 일정을 발표하였다. 크롬 단계별 보안차단 업데이트 내용 Mixed content(혼합 콘텐츠)란 ? 최초 HTML이 안전한 HTTPS 연결을 통해 로드될 때 혼합 콘텐츠가 발생하지만 다른 리소스(예: 이미지, 동영상, 스타일시트, 스크립트)는 안전하지 않은 HTTP 연결을 통해 로드됩니다. 이는 HTTP 콘텐츠와 HTTPS 콘텐츠가 함께 로드되어 동일한 페이지를 표시하므로 혼합 콘텐츠라고 하는데, 최초의 요청은 HTTPS 연결을 통해 보안 처리 됩니다. 최신 브라우저는 이 유형의 콘텐츠에 대한 경고를 표시하여 해당 페이지에 보안되지 않은 리소스가 포함되어 있음을 사용자에게 알려줍니다. Mixed Content (혼..

Tistory

Oracle TO_CHAR / MySQL DATE_FORMAT

Oracle의 TO_CHAR는 MySQL의 DATE_FORMAT과 대응된다. [Oracle] TO_CHAR select TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') from dual ////결과: 2021-01-11 01:10:20 [MySQL] DATE_FORMAT select DATE_FORMAT(now(), '%Y-%m-%d %H:%i:%s') //결과: 2021-01-11 01:10:20

Tistory

[IT취업] SI? SM? Solution? 웹개발 분야 차이점? 장단점? 알아보자.

※먼저 필자는 현재 Solution 업계에 몸 담고 있으며, 타 업계에 대한 이야기는 주변의 경험담을 바탕으로 한 정보임을 알립니다. 선행글 참조 포스팅: cheershennah.tistory.com/153 [IT취업] SI? SM? Solution? 이 뭔가요? 나는 어디로 가야 할까? ※먼저 필자는 현재 Solution 업계에 몸 담고 있으며, 타 업계에 대한 이야기는 주변의 경험담을 바탕으로 한 정보임을 알립니다. 예비 신입 개발자의 최대 고민. 나는 어느 분야로 가야 할까? IT 웹 cheershennah.tistory.com SI와 Solution의 차이점? 앞 글의 예시에서 알 수 있듯이 둘의 가장 큰 차이점은 자사 솔루션을 가지고 있느냐 없느냐의 차이이다. SI는 아무것도 없는 무(無)의 상..

1 2 3