프로그래밍 29

Python pandas을 통해 DB 마이그레이션하는 방법

젯브레인에서 파이썬 IDE인 pycahrm를 설치한다. 파이썬을 설치한다. cmd에서 pandas를 설치한다. Python Pandas 설치 및 import 방법 https://danykde0til.tistory.com/m/104 파이썬과 판다스 설치 후 파이참에서 엑셀 파일을 잘 불러오는지 확인해본다. Python Pandas로 Excel 파일 불러오고 조회하는 방법 https://danykde0til.tistory.com/m/105 Python Pandas로 Excel 파일 불러오고 조회하는 방법 import pandas as pd import warnings import os warnings.simplefilter("ignore") fileDir = "C:/Users/SEEYA/Desktop/Dat..

Hibernate JPA 사용할 때 주의해야할 점. 원리를 모르면 그냥 쓰지마세요 1편

QueryDSL?? QueryDSL은 정적 타입을 이용해서 SQL 등의 쿼리를 생성해주는 프레임워크이다. QueryDSL의 장점 문자가 아닌 코드로 쿼리를 작성함으로써, 컴파일 시점에 문법 오류를 쉽게 확인할 수 있다. 자동 완성 등 IDE의 도움을 받을 수 있다. 동적인 쿼리 작성이 편리하다. 쿼리 작성 시 제약 조건 등을 메서드 추출을 통해 재사용할 수 있다. 잘못된 예제코드와 정상예제코드 작성을 통해 학습해보기 간단하게 entity가 두개가 있다. 이 둘은 양방향 관계이다. 일대다 양방향 관계이다. Entity01 BookStore @Entity @Getter @Setter public calss BookStore { @Id @GenerateValue private Integer id; privat..

MSA 아키텍쳐

"하나의 큰 어플리케이션을 여러개의 작은 어플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 아키텍쳐" 이것은 마치 레고놀이와 같다. 작은 레고블록(Microservice) 하나하나를 붙여 어떠한 큰 결과물을 만드는 형태를 MSA 라고한다. small services, each running in its own process(스스로 돌아 갈 수 있는 작은 서비스) 와, independently deployable(독립적 배포 가능) 이 MicroService를 설명해 줄 수 있는 가장 핵심적인 문구라고 생각합니다. microService의 정의 이 MicroService를 설명해 줄 수 있는 가장 핵심적인 문구 small services, each running in its own process(스스로..

DesignPattern 2022.10.05

디자인 패턴 SOLID : Open- closed principle 개방 폐쇄 원칙

Open- closed principle 개방 폐쇄 원칙 개방폐쇄법칙에 대해 알아보면 extension에 대해서는 open modification에 대해서는 closed라고 써있다. 확장에 대해서는 개방 수정에 대해서는 페쇄라는 뜻인데 전혀 감이 오지않습니다. 이게 코드에 대한 제안이 아니라 코드에 behaviour에 대한 principle이기 때문에 이해가 바로 와닿진 않는다. 예제코드를 써보면서 감을 잡도록하겠다. 먼저 open- closed를 준수하지않은 코드를 먼저 보자. # Animal 클래스 하나를 생성 class Animal: #내부에 그 동물의 그 타입 프로퍼티를 가지고 있는다. # a_type에는 코양이 혹은 강아지와 같은 동물의 종류를 넣는 것이다. def __inti__(self, a..

DesignPattern 2022.10.05

Python Pandas로 Excel 파일 불러오고 조회하는 방법

import pandas as pd import warnings import os warnings.simplefilter("ignore") fileDir = "C:/Users/SEEYA/Desktop/Data/구급일지/" # 파일경로+ 폴더명 fileNm = "AAA.csv" # 파일 이름 data = pd.read_csv(fileDir + fileNm, encoding='CP949') selectdata = pd.DataFrame(data, columns = ['재난번호','구급보고서번호']) #조회할 컬럼 지정해서 출력하고 싶을 때 print(selectdata)

Python Pandas 설치 및 import 방법

파이썬 설치 후 환경변수 설정하세요.(꼭) 그리고 명령 프롬포트 cmd 켜서 pip install pandas 명령어 입력하세요. 설치 후 pip --version 명령어 입력 후 버전 확인하세요 저는 판다스를 파이참을 통해 임포트 하였습니다. ㅡ 위의 임포트 내용을 따라치십시오. 왠만하면 다 임포트 하세요 결국 다 필요하거든요. 임포트가 안된다면 혹은 빨간줄이 뜬다면 패키지 다운로드 하시면됩니다. 아마 아래창으로 alert창이 뜰겁니다.

SQL 예제를 통한 LEFT JOIN에 대해 알아보기

틱택토 게임 프로젝트 기능 중 사용자 정보와 승패전적을 함께 업데이트해야하는 페이지가 있다. 이 때 나는 게임회원정보를 담고있는 테이블과 승패전적을 담고있는 테이블의 PK를 조인하여 아래와 같이 내 정보에서 내 아이디와 승패 전적을 띄우는데 성공하였다. 여기서 예제를 알아보기 전에 Join에 대해 알아보자 JOIN이란? 검색하고 싶은 컬럼이 다른 테이블에 있을 경우 사용하며 여러개의 테이블을 하나의 테이블인 것처럼 활용하는 것이다. 보통 Primary key 혹은 Foreign key로 두 테이블 연결하여 사용한다. left outer join, left join 왼쪽 테이블 기준으로 join한다. 기준 테이블의 결과 + 기준 테이블의 중복값을 보여준다. //LEFT OUTER JOIN SELECT A...

자바 스크립트 조건문인 switch문 이해하기

조건문의 종류에는 switch와 if문이 있다. switch문 조건문 이해하기!!! switch (대상) { case 조건값1; 동작 break; //생략가능 case 조건값2; 동작 break; //생략가능 default; 동작 } switch라는 키워드 뒤에 소괄호를 열어 비교할 대상을 작성하고, 중괄호로 블록문을 만든다. 블록문 안에 한 번 들여 써서 case 키워드를 작성하고 조건값을 입력한 뒤 **콜론(:)**으로 case문의 끝 지점을 구분해준다. 참고로 이렇게 쓰는 문장을 라벨문, 레이블문, lable statement라고 부른다. case문 안에서, 해당 조건값과 일치했을 때 동작해야 될 코드를 작성하면 된다. 참고로 이렇게 쓰는 문장을 라벨문, 레이블문, lable statement라고 ..

소프트웨어 자산 범위와 자산관리에 대해

소프트웨어자산관리(SAM, SoftwareAsset Management)란 ? **"소프트웨어의 구매에서부터 지속적인 사후관리에 이르기까지의 전반적인 과정"**을 말한다. 구매대상 소프트웨어의 보유여부를 조사하고 계약조건을 파악하며, 구매대상을 수요에 따라 산정하고 그에 해당하는 구매량을 조절해야 하기 때문에 소프트웨어의 자산관리의 범위는 구매를 포함한 전 과정이라 할 수 있다. 소프트웨어 자산관리의 필요성 “조직의 소프트웨어 라이프사이클 전반에 걸쳐 소프트웨어 자산에 대한 효과적인 통제 및 보호를 위해 필요한 모든 인프라스트락처와 프로세스” "최고 수준으로 운영되어야 하는 조직의 목표를 달성하기 위한 전반적인 정보시스템 관리 전략의 필수적인 부분으로 이행되어야 한다." "소프트웨어 자산관리는 회사 지배..

IT최신동향 2022.05.02

이펙티브 자바 Item 20. 추상 클래스보다는 인터페이스를 우선하라

자바의 다중 구현 메커니즘 자바가 제공하는 다중 구현 메커니즘은 인터페이스와 추상 클래스, 이렇게 두 가지다. -ㅈㅏㅂㅏ 8부터 인터페이스도 디폴트 메서드(default method)를 제공할 수 있게 되었다. 따라서, 두 메커니즘 모두 인스턴스 메서드를 구현 형태로 제공할 수 있다. 추상 클래스 vs 인터페이스 추상 클래스가 정의한 타입을 구현하는 클래스는 반드시 추상 클래스의 하위 클래스가 되어야 한다. 자바는 단일 상속만 지원하므로, 추상 클래스 방식은 새로운 타입을 정의하는 데 커다란 제약을 안게 된다. 반면, 인터페이스가 선언한 메서드를 모두 정의하고 그 일반 규약을 잘 지킨 클래스라면 다른 어떤 클래스를 상속했든 같은 타입으로 취급된다. 인터페이스 기존 클래스에도 손쉽게 새로운 인터페이스를 구..

Back-end Skill/JAVA 2022.04.04