study 80

[AWS Cloud Practitioner] 2. 클라우딩 컴퓨팅

Amazon Elastic Computer Cloud(EC2) EC2는 안전하고 크기 조정이 가능한 컴퓨팅 용량을 EC2 인스턴스로 클라우드에서 제공한다. 만약, 어느 회사에서 리소스 아키텍처를 책임지고 새로운 프로젝트를 진행해야 한다고 가정했을 때, 온 프레미스 리소스를 사용할 경우 미리 하드웨어 구매 서버가 배달될 때까지 기다리기 물리적 데이터 센터에 서버 설치 필요한 모든 구성을 수행 이에 비해 EC2를 사용할 경우 AWS 클라우드에서 가상 서버를 사용하여 애플리케이션을 실행할 수 있다. 몇 분이면 EC2 인스턴스를 프로비저닝하고 시작할 수 있다 워크로드 실행을 완료했다면 인스턴스 사용을 중지할 수 있다 인스턴스가 실행 중일 때만 사용한 시간에 대해 비용을 지불하고, 종료하면 지불하지 않는다 필요한..

study/TIL🐥 2022.07.12

[AWS Cloud Practitioner] 1. Amazon Web Service

Amazon Web Service 클라이언트-서버 모델이란? 최신 컴퓨팅은 클라이언트 와 서버로 이루어져 있다. 클라이언트는 사람이 서버에 요청을 보내기 위해 작용하는 웹 브라우저나 애플리케이션 등이며, 서버는 그 요청을 처리하여 응답한다. 아마존에서는 이 서버를 Amazon Elastic Cloud Computer(EC2) 서비스가 있다. 클라우드 컴퓨팅이란? 클라우드 전략을 선택하는 기업은 필요한 클라우드 애플리케이션 구성 요소, 선호하는 리소스 관리 도구, 레거시 IT인프라 요구사항과 같은 요소를 고려한다. 클라우드 기반 배포 온프레미스 배포 하이브리브 배포 애플이케이션의 모든 부분을 클라우드로 실행한다 가상화 및 리소스 관리 도구를 사용하여 리소스 배포한다 클라우드 기반 리소스를 온프레미스 인프라..

study/TIL🐥 2022.07.12

[JPA] 즉시 로딩 / 지연 로딩

JPA를 프로젝트를 통해 야매로 배우고 나서 자신감있게 코드를 요리조리 조립해서 프로젝트를 진행했는데, 여태 에러 없이 디버깅을 진행하면서 했지만 난생 처음 보는 에러를 마주했다 LazyInitializationException Lazy Loading으로 인한 에러인데, 구글링을 하면 굉장히 여러 이유로 에러가 나고, 해결 방법도 생각보다 여러 방법이 있다. 총 3가지의 해결 방법이 있는데 그 중, 내가 해결한 방법을 작성해본다. 지연 로딩 (Lazy Loading) @Entity public class Member { @id @GeneratedValue private Long id; @OneToMany(fetch = FetchType.LAZY) @JoinColumn(name = "item") priva..

study/Project 🐾 2021.12.17

[Node, Python] filter와 reduce 함수

프로젝트 중에 Node 코드를 Python으로 짜야하는 프로젝트 진행 중에 같은 이름으로 같은 기능을 하는 함수지만 사용 방법이 다른 두 개의 함수를 공부하였다. 우선 JS, 즉 Node에서 사용되는 filter와 reduce를 정리해본다. filter 함수와 reduce 함수는 고차 함수로서 다른 함수를 소비 또는 생성하는 함수다. reduce 함수 array.reduce(callbackFunction(previousValue, currentValue, currentIndex, array1), initValue); reduce 함수의 매개변수는 callbackFunction과 initVaule이다. callback 함수는 4개의 매개변수를 선택적으로 받을 수 있고, 차례대로 배열의 첫번째 값, 혹은 i..

study/Python 🌼 2021.07.07

[DB] Partition 사용 이유

Partition 파티션이란 MySQL Server에서는 데이터를 별도의 테이블로 분리해서 저장하지만 사용자는 여전히 하나의 테이블로 읽기와 쓰기를 할 수 있게 해 주는 솔루션이다. 파티션은 DBMS 하나의 서버에서 테이블을 분산하는 것이다. (원격 서버간에 분산을 지원하는 것은 아님) MyISAM과 InnoDB 테이블 등 대부분의 스토리지 엔진에서 사용 가능하다 Range, List, Hash, Key 네 가지 방법이 존재한다. 대표적인 사용 예 1. 하나의 테이블이 너무 커서 인덱스의 크기가 물리적인 메모리보다 훨씬 큰 경우 2. 데이터 특성상 주지적인 삭제 작업이 필요한 경우 파티션을 사용하는 이유 단일 INSERT, 단일 SELECT, 범위 SELECT의 빠른 처리 인덱스는 일반적으로 셀렉트를 위..

study/TIL🐥 2021.07.07

[Python] 월 단위의 날짜 차이 계산

보통 파이썬은 내장 라이브러리인 timedelta로 날짜의 차이를 구할 수 있다 하지만 아무리 검색해봐도 월단위의 날짜 계산은 찾아보기가 힘들고 계산 방법을 가늠할 수 가 없던 와중 빛같은 글을 발견 월단위 계산은 relativedelta 라이브러리를 사용하여 계산하게 되는데 from dateutil.relativedelta import relativedelta delta = relativedelta(end, start) # 두 날짜의 차이 구하기 result = 12 * delta.years + delta.months # 두 날짜의 차이나는 개월수 for i in range(result): count = start + relativedelta(months=i) # 달수 증가 print(count.str..

study/Python 🌼 2021.07.05

[Python] Mac SSLCertVerificationError

파이썬 웹 크롤링 예제를 따라하던 중 윈도우에서는 아무 문제없이 실행되는 파일 다운로드가 mac에서는 실행이 되지 않았다. 스크래핑을 하는 도중 SSL 문제 발생하여 HTTPS가 적용된 웹 페이지에 대해 스크래핑을 시도할 경우 생기는 문제이다. python 모듈인 urllib을 사용하여 진행 중 해당 에러 봉착. ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129) 이 문제는 파이썬이 설치된 경로에서 Install Cerificates.command 파일을 실행해 주면 해결이 된다. 해당 파일 실행시키면 ..

study/Python 🌼 2021.06.30

[Git] 잘못 올라간 파일/폴더 지우기

회사 프로젝트를 진행하면서 각기 다른 개발환경 셋팅과 IDE를 사용하기에 기초 셋팅값이 다 다를 수 있다 학원에서 할 때는 모두 같은 프로그램을 쓰기에 크게 문제가 되지는 않았지만 나는 Pycharm, 사수님은 VSCode를 사용하기에 기초 셋팅이 조금 달랏다! 그래서 내가 처음 커밋하는 순간 파이참의 셋팅 폴더인 .idea 폴더가 같이 커밋되어버렸다... .idea 폴더의 정체는 아래 포스팅으로 알게 되었다,,, https://velog.io/@muchogusto/.idea-%ED%8F%B4%EB%8D%94%EC%9D%98-%EC%A0%95%EC%B2%B4%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80 .idea/ 폴더의 정체는 무엇인가 What is the .ide..

study/TIL🐥 2021.06.08

[Python] dataclass 모듈 사용법

파이썬으로 코딩을 하면서 데이터를 담아두기 위해 여러가지 방법을 사용한다. 리스트, 튜블, 딕셔너리, 네임드 튜플, 세트, 프로즌 세트 등등.. 반면 클래스를 통해 데이터를 담아두면 type-safe해지기 때문에 프로그램 실행 중 오류가 발생할 확률이 적어진다는 장점이 있다. 파이썬 3.7에서 dataclass라는 모듈이 표준 라이브러리에 추가되었다. 이를 알아보고자 한다. 공식문서 dataclasses - Data Classes - Python 3.9.5 documentation dataclasses — Data Classes — Python 3.9.5 documentation This module provides a decorator and functions for automatically addin..

study/Python 🌼 2021.05.28

[Python] SQLAlcehmy

SQLAlechmy란? python에서 사용가능한 ORM ORM이란 말 그대로 객체와 관계를 연결해 주는 것 → MyBatis, JVM 같은 것 데이터베이스의 데이터를 ← 매핑 → Object 장점 객체 지향적인 코드로 비즈니스 로직에 집중 가능 재사용 및 유지보수 편리성 증가 DBMS에 대한 종속성이 줄어듬 단점 ORM 만으로는 서비스를 구현하기 어려움 프로시저가 많은 시스템에서는 장점을 가져가기 어려움 공식 사이트 SQLAlchemy - The Database Toolkit for Python SQLAlchemy - The Database Toolkit for Python The Python SQL Toolkit and Object Relational Mapper SQLAlchemy is the Py..

study/Python 🌼 2021.05.28