전체 글

개인 공부 목적으로 작성된 블로그 입니다.
CS/네트워크

DHCP

이 포스팅은 공부 목적으로 작성된 포스팅입니다. 왜곡된 내용이 포함되어 있을 수 있습니다. DHCPDHCP은 Dynamic Host Configuration Protocol 으로서 host에게 IP를 할당하는 프로토콜이다. 정확하게 말하면 사설IP와 기타 구성 정보를 제공받는 프로토콜이다.(그래서 Dynamic Host Address Protocol이 아니고 Dynamic Host Configuration Protocol이다)우리는 사실 매일 DHCP를 사용하고 있다. 유선 네트워크(이더뎃) 또는 와이파이 사용하기 위해 컴퓨터를 네트워크에 연결해야하는데 이때 DHCP를 통해 라우터 또는 공유기에 연결한다. Configuration(Subnet Mask)사용중인 IP address를 확인하기 위해 ipco..

사이드 프로젝트

2024 KUIT 프로젝트 회고

0. KUIT동아리 프로젝트를 진행하였다. 팀원은 10명으로 PM, 디자이너, FE, BE 으로 이루어져 있었고, BE가 4명으로 가장 많았다. BE를 파트장을 맡게 되었는데, 팀원들을 이끌어 보는 적이 많지 않았기 때문에 원할한 협업을 하기 위해 노력했다. 기존에 해봤던 개발에 SSR이 였기 때문에 프론트과 소통할 수 있는 좋은 기회였다.1. 기획팀에 합류하여 처음 했던 것은 기획에 대한 전반적이 설명을 들었다. 기획을 PM이 이미 정하고 UI/UX도 어느정도 나온 상태이기 때문에, 만약 기획적으로 변경해야할 부분이 있다면 최대한 기획의 큰 틀에서 벗어나지 않는 선에서 해야했다.회의간에 이야기했던 내용은 대부분 두가지였다.해당 기능이 있는 이유가 뭔가요? (의도 파악)해당 기능을 이렇게 구현하려고 하는..

사이드 프로젝트

네이버 지도 크롤링하기

이 포스팅은 공부 목적으로 작성된 포스팅입니다. 왜곡된 내용이 포함되어 있을 수 있습니다 방학 중에 진행중인 프로젝트에서 식당 관련된 요구사항이 있었다.식당정보, 식당 메뉴 영업시간, 식당 사진과 같은 식당 세부 정보를 조회할 수 있다.식당의 위치를 조회할 수 있다.사전 조사식당 정보를 제공하는 OPEN API, 공공 데이터가 있다고 생각하고 조사를 시작했지만 조사 하면서 제공되는 API가 없다는 것을 알게 되었다. 먼저 위치 정보를 알아야 하기 때문에 지도 API를 조사하였다, 대중적인 지도 API는 네이버 지도, 카카오 맵, 구글 맵가 있었다.각각 API를 조사했을때, 식당 세부정보를 위해 사용할만한 API는 없었다. 그나마 구글맵에서 유사하게 가게 상세정보를 제공하는 API가 있었는데 인자값으로 위..

인프라

[NGINX] CORS, Mixed Content

이 포스팅은 개인 공부 목적으로 작성된 포스팅입니다. 왜곡된 내용이 포함되어 있을 수 있습니다. 개발을 하던중 cors에 관해서 이해가지 않는 부분이 생겨 기록한다.CORShttps://developer.mozilla.org/en-US/docs/Web/HTTP/CORS Cross-Origin Resource Sharing (CORS) - HTTP | MDNCross-Origin Resource Sharing (CORS) is an HTTP-header based mechanism that allows a server to indicate any origins (domain, scheme, or port) other than its own from which a browser should permit lo..

AI

Airflow로 데이터 전처리 (1)

이 포스팅은 공부 목적으로 작성된 포스팅입니다. 왜곡된 내용이 포함되어 있을 수 있습니다 전처리 과정수행하려는 데이터 전처리 과정은 다음과 같다.서울 열린 데이터 광장에서 제공하는 서울시 일반음식점 인허가 정보를 데이터를 받는다(csv)각각 음식점에 대해서 음식점 사진을 3개로 가져온다(3개 이하라면 최대로)식당 메뉴 및 가격을 가져온다식당 운영시간을 가져온다.식당 좌표를 사용하는 지도 API에 맞게 수정한다.csv 파일 분리서울시 일반음식점 인허가 정보는 가지고 있는데 데이터로 해당 데이터를 여러개의 csv로 분할하는 task를 만들어보자from airflow import DAGfrom airflow.operators.python_operator import PythonOperatorfrom airfl..

AI

Airflow 시작하기

이 포스팅은 공부 목적으로 작성된 포스팅 입니다. 왜곡된 내용이 포함되어 있을 수 있습니다. Airflowairflow는 배치 기반 워크플로우를 개발, 스케줄링, 모니터링하기 위한 오픈소스 플랫폼이다. python 기반으로 작성된다.airflow의 장점은 다음과 같다.파이선 기반의 파이프라인을 구성할 수 있다. (데이터 처리는 파이썬이 발달되어 있다.)데이터베이스와 클라우드와 통합이 가능하고 확장이 용이하다. 스케줄링을 활용하여 정기적으로 파이프라인을 실행할 수 있다.증분처리(변경된 데이터에 대해서만 처리하는것)를 지원한다 (아직 이해하지 못함)백필기능을 통한 데이터 재처리를 지원한다.(빅데이터 환경에서 발생하는 데이터가 제대로 처리 못하고 튀는 현상을 어느정도 보호해준다고 이해함)airflow를 사용하..

인프라/도커

CI/CD 구축 (github action+Spring boot + mysql + docker-compose) (2)

이 블로그는 개인의 공부 목적으로 작성된 블로그입니다. 왜곡된 정보가 포함되어 있을 수 있습니다.CD전 포스팅으로 우리는 CI를 이해했다. 그러면 CD는 뭘까 CD는 지속적 배포이다. CD는 비용문제와 연관이 높은데 일반적인 배포상황을 생각해보자 한번 배포하고 변경사항이 없다면 좋겠지만... 기능 추가, 리펙토링를 위해 여러번 배포과정을 겪여야한다.(프론트와 연결할때도 기능이 완료될때마다 배포할 수 있다면 좋을 것이다) 배포를 하는 건 어느정도 비용드는 작업이다. 대표적으로 ec2에 접속하여 변경된 코드를 받아 빌드하고 실행하는 프로세스만 생각해봐도 그렇다. 그러면 자동으로 배포할 수 있다면 어떨까? 비용을 아낄 수 있다. 이는 데브옵스와 관련 있는 내용인데 회사차원에서 이러한 자동화 구축으로 개발자가 ..

인프라/도커

CI/CD 구축 (github action+Spring boot + mysql + docker-compose) (1)

이 블로그는 개인의 공부 목적으로 작성된 블로그입니다. 왜곡된 정보가 포함되어 있을 수 있습니다.CI/CD백엔드 개발을 학습하다 보면 CI/CD라는 개념을 듣게 된다. CI/CD를 검색해보면 지속적 통합, 배포라는 추상적인 개념으로 나온다. 더 찾아보면 통합과 배포에 각각 프로세스가 존재해서 좋은 유지보수가 가능한 개발을 할 수 있다고 한다. 실제로 인터넷 상에서는 좋은 유지보수와 같은 개발 형태보다는 배포와 통합을 자동화한다는 의미로 더 많이 사용되고 있었다.당연히 자동화 하면 좋겠지? 라는 생각이 들지만 기존 협업 방식에 대해 생각해보면서 CI/CD를 최대한 쉽게 이해해보자기존 협업의 방식협업을 생각해본다면 가장 먼저 떠오르는 것은 github이다. 깃허브와 같은 SVM 형상 관리 툴로 협업을 진행하..

Java

[이펙티브 자바] 아이템 64, 65, 66, 67, 6

이 포스팅은 공부 목적으로 작성된 포스팅입니다. 왜곡된 내용이 포함되어 있을 수 있습니다. 64. 객체는 인터페이스를 사용해 참조하라아이템 51에서 매개변수 타입으로 클래스가 아니라 인터페이스를 사용하라는 원칙이 있었다. 이부분을 더 확장하여 적합한 인터페이스가 있는 경우 인터페이스를 통해 반환값, 변수, 필드를 선언하자. 실제 구현체를 사용하는 경우는 생성자의 경우이고 나머지는 인터페이스 메소드로 대체하는 것이다.// 좋은 예. 인터페이스를 타입으로 사용했다.Set sonSet = new LinkedHashSet();// 나쁜 예. 클래스를 타입으로 사용했다.LinkedHashSet sonSet = new LinkedHashSet();사실 대부분 인터페이스로 선언하는 규칙은 관례처럼 사용되고 있다. 두..

Java/스프링 부트

[JMeter] JMeter를 통해 테스트

JMeterhttps://jmeter.apache.org/ Apache JMeter - Apache JMeter™Apache JMeter™ The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to othjmeter.apache.orgJMeter는 자바기반의 테스트, 성능 테스트 오픈소스이다. Web-application 용도로 설계되었지만, 현재 다..

bluesparrow
Bluesparrow