전체 글 89

[Airflow] 설치하기 mac

이번에 시작하는 프로젝트에서 Airflow를 사용하게 되었다.세팅하는김에 정리 해 볼것임!   Airflow란?복잡한 데이터 파이프라인(workflow)을 관리하고 자동화하는 Apache의 오픈 소스 플랫폼.데이터 처리를 위한 다양한 작업을 스케줄링하고, 모니터링하며, 관리할 수 있게 도와준다.주로 데이터 엔지니어링, 데이터 분석, 머신러닝 등의 분야에서 복잡한 워크플로우를 정의하고 실행하는 데 사용됨.주요 기능:더보기 1. DAG (Directed Acyclic Graph):Airflow는 작업을 DAG 형태로 정의합니다. DAG는 노드(작업)들이 방향을 가진 비순환 그래프로 연결된 구조입니다. DAG 내의 각 작업(task)은 종속성을 설정해 어떤 작업이 먼저 실행되어야 하는지 정의할 수 있습니다. ..

오늘의 업무 2024.09.09

오랜만에~

티스토리 진짜 오랜만에 들어와버렸당~작년 10월에 취준 성공한 이후로 바쁘다는 이유로 방치했었는데 1년이 다 되어가는 지금 시점에서야 주니어로써 성장에 대한 갈증을 느껴 다시 돌아오게 되었음!다른 카테고리는 취준할때 썼던 글들이라 결이 잘 안맞을 것 같기두 하고 ~새로운 마음으로 시작해보자 싶어서 카테고리를 새로 팠구요"오늘의 업무" 이긴 하지만 실제 업무 내용은 아니고 그냥 업무에 필요한 공부 내용을 올릴 계획입니다~!!

오늘의 업무 2024.09.09

https 연결하기

얼마 전에 진행한 면접에서 http를 사용한 웹 개발 프로젝트에 대해 발표하며 개선점으로 https연결을 꼽았는데, https 연결 흐름에 대한 질문에 답을 못 했던 경험이 있어 직접 실행해 보려고 한다.   http?Hipertext Transfer Protocol. 클라이언트와 서버 간 통신을 위해 사용되는 TCP/IP 기반 프로토콜이다. 연결 상태를 유지하지 않는 비연결성(Stateless) 프로토콜.서버가 클라이언트에게 받은 요청에 응답하고 나면 바로 클라이언트와의 연결의 끊어버린다.그래서 요청 종료 이후에는 클라이언트의 이전 상황을 알 수 없다.이런 단점을 해결하기 위해 Cookie와 Session이 등장했다. 웹은 클라이언트가 서버에 http요청을 보내고 서버가 응답으로 웹 페이지 또는 리소스..

[2023 KAKAO BLIND RECRUITMENT]개인정보 수집 유효기간

https://school.programmers.co.kr/learn/courses/30/lessons/150370 import java.util.HashMap; import java.util.ArrayList; import java.util.Arrays; class Solution { public ArrayList solution(String today, String[] terms, String[] privacies) { ArrayList answer = new ArrayList(); HashMap hash = new HashMap(); int todayY = Integer.parseInt(today.substring(0, 4)); int todayM = Integer.parseInt(today.sub..

[Spring Boot] 스프링 빈 / 의존성 주입

스프링 빈? : 스프링 컨테이너에 등록된 클래스를 말합니다. 서버가 시작되면 스프링 내부에는 컨테이너가 만들어지는데, 해당 컨테이너 안에는 클래스가 위치하며 클래스의 인스턴스화도 이루어집니다. 스프링 컨테이너/스프링 빈을 왜 사용할까? : 스프링 컨테이너를 사용하면 Controller가 Service를, Service가 Repository를 인스턴스화하여 사용하는 경우에 클래스명 변경 또는 의존하는 클래스 변경이 일어나 인스턴스화 코드를 모두 일일히 바꿔줘야 하는 불상사를 피할 수 있습니다. 스프링 빈 등록하기 : 스프링 빈을 등록하기 위해서는 어노테이션을 이용할 수 있습니다. @RestController HTTP요청을 처리하는 데에 특화됨. API 진입 지점을 지정하는 동시에 클래스를 Bean에 등록...

MVC 패턴

2023.09.16 MVC패턴(Model-View-Controller) 소프트웨어 디자인 패턴 중 하나로 애플리케이션의 구조를 구성하고 코드를 조직화하는 데에 사용되는 패턴입니다. 사용자 인터페이스(UI)와 비즈니스 로직을 분리하여 애플리케이션의 유지보수성을 향상시키고 확장성을 높여줍니다. 구성요소 Model DB. 데이터와 비즈니스 로직을 나타냄. 데이터의 상태를 저장하고 조작하는 역할. 데이터의 변경, 유효성 검사, 연산 등을 처리함. View UI. 데이터를 시각적으로 표현하고 사용자와 상호 작용하는 요소. 모델의 상태를 표시하고 사용자 입력을 수신해 Controller에 전달. Controller 모델과 뷰의 중간 역할. View를 통해 들어온 사용자의 요청을 받아 모델에서 데이터를 가져오고 다시..

비대칭키 암호화, 대칭키 암호화

2023.09.16 질문 참고 : https://github.com/ksundong/backend-interview-question GitHub - ksundong/backend-interview-question: 백엔드 개발자로 입사를 준비하며 받았던 질문, 예상했던 질 백엔드 개발자로 입사를 준비하며 받았던 질문, 예상했던 질문, 인터넷 참고한 질문(CC BY-NC) - GitHub - ksundong/backend-interview-question: 백엔드 개발자로 입사를 준비하며 받았던 질문, 예상했던 질문, github.com 비대칭키 암호화 공개키 암호라고도 한다. 암호화에 공개 키를, 복호화에 비밀 키를 사용하는 알고리즘이며, 수학적인 난제를 기반으로 설계되어 있고 암복호화에 복잡한 수학 연..

[Spring Boot] JPA 사용하기 / Spring Data JPA

2023.09.15 JPA(Java Persistent API)란? : JPA는 자바 진영의 ORM(Object-Relational Mapping. 객체와 관계형 DB를 매핑) 기술 표준을 의미합니다. 즉, 데이터를 영구적으로 저장할 수 있도록 Java 진영에서 정해진 규칙이며, SQL문을 직접 작성하지 않고 코드 내에서 CRUD작업을 할 수 있도록 해 줍니다. Hibernate가 JPA를 구현해줍니다. (주의/ JPA를 사용하려면 해당 클래스의 기본 생성자를 꼭 만들어줘야 합니다.) Spring Data JPA란? : 복잡한 JPA코드를 스프링으로 쉽게 사용할 수 있도록 도와주는 라이브러리입니다. JPA를 사용합니다. 왜 필요한가? - SQL문을 사람이 직접 작성하면 문법 실수가 나올 수 있고, 해당 ..

[JAVA] 알고리즘 문제풀이 입문 7-4, 7-5

강의: https://inf.run/w779 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 - 인프런 | 강의 자바(Java)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 코딩테스트에서 가장 많이 출제되는 Top 10 Topic을 다루고 있습니다. 주제와 연동하여 기초문제부터 중급문제까지 단계적으로 구성 www.inflearn.com 7-4번 (재귀함수로 피보나치 수열 출력) import java.util.Scanner; public class Main{ public void solution(int n, int pre1, int pre2){ if(n == 0) return; else{ System.out.print(pre2+" "); solution(--n, pre2, pre1 + pre2..