TJ_Log
close
프로필 배경
프로필 로고

TJ_Log

  • 분류 전체보기 (100)
    • Data Engineering (29)
      • Data Engineering? (2)
      • Hadoop (3)
      • Elasticsearch (0)
      • Redis (4)
      • Spark (6)
      • Kafka (4)
      • Airflow (2)
      • DB (2)
      • 자격증 (6)
    • Data Analysis (2)
      • Machine Learning(ML) (1)
      • NLP (1)
    • Infra (9)
    • ETC (19)
      • Network (1)
      • Linux (4)
      • Algorithm (3)
      • Spring (3)
      • Python (2)
      • Scala (2)
      • Java (3)
      • Javascript (1)
    • Project (9)
    • Trouble shooting (2)
    • Experience (1)
    • Programmers TIL (28)
      • Algorithm (8)
  • 홈
  • 태그
  • 방명록

[Scala] 스칼라 프로그래밍 심화

1. 객체 지향 프로그래밍 (OOP) 1.1 클래스 (Class)Scala는 객체지향 프로그래밍을 지원하기 위해 클래스를 제공합니다. 타 언어와 비교했을 때 더 간소한 문법을 가지고 있습니다.기본적으로 Java와 같은 keyword를 사용하는 특징들이 있습니다.new를 이용한 생성extends를 이용한 상속Scala class Scala에서 클래스를 만드는 방법은 아주 간단합니다. 아래 Book 클래스에는 책 제목 title과 저자 author 가 멤버변수로 담겨져 있습니다.// 클래스 생성class Book(var title: String, var author: String)// 인스턴스 생성(클래스로부터 만들어진 각각의 객체)val myBook1 = new Book("My awesome book 1"..

  • format_list_bulleted ETC/Scala
  • · 2025. 5. 27.
  • textsms
[Scala] 스칼라 프로그래밍 기초

[Scala] 스칼라 프로그래밍 기초

1. Scala 소개2003년 스위스 로잔공대의 Martin Odersky가 개발한 강력한 타입(Storngly typed) 방식의 확장 가능한(Scalable) 프로그래밍 언어(Language)객체 지향형과 함수형 프로그래밍을 모두 지원스칼라 코드는 자바 바이트코드로 변환될 수 있음(JVM이 읽을 수 있는 자바가 컴파일된 결과인 .class 파일이 있으면 scala도 읽을 수 있음, 100% 호환은 아님)Scala는 대규모 데이터 분산 컴퓨팅 분야에 많이 사용됨 (데이터 엔지니어에게는 유요한 기술)대규모 데이터에 주로 쓰이는 만큼 대중적이고 인기가 많은 언어는 아님 2. 변수, 상수var변수 선언 (같은 타입에 한해 변경 가능)val상수 선언 (초기값 변경 불가) 변수와 상수의 이름 규칙 (Naming..

  • format_list_bulleted ETC/Scala
  • · 2025. 5. 27.
  • textsms

[Python] 파이썬으로 로그 남기기 (Logging 모듈)

python에서 프로그램을 실행하면서 로그를 활용하고 계신가요? 로깅(logging)이란 로그를 남기는 행동으로 흐름과 시나리오를 확인할 수 있는 아주 유용한 도구입니다. 로그를 이용해 프로그램이 실행되는 시간, 사용자 등에 대한 정보를 남기고 저장할 수 있으며, 에러가 발생했을 때도 기존의 stack trace 이상의 정보를 제공받을 수 있습니다. 유용한 로그 정보를 저장하고 성능과 실행과정을 분석하고 진단할 수 있습니다. 이번 글에서는 python logging모듈을 통해 프로그램 실행 중 발생하는 로그를 남기고 활용하는 방법을 알아보겠습니다. logging 모듈 Python에서 기본적으로 제공하는 logging모듈을 통해 프로그램 실행 중 로그를 남길 수 있습니다. import python 특정 이..

  • format_list_bulleted ETC/Python
  • · 2023. 11. 1.
  • textsms
[Algorithm - DFS/BFS] 그래프와 깊이/너비 우선 탐색 (Programmers - 여행경로)

[Algorithm - DFS/BFS] 그래프와 깊이/너비 우선 탐색 (Programmers - 여행경로)

1. 그래프 정점(vertex, node)과 간선(edge, link) 유향(directed)그래프와 무향(undirected)그래프 스택과 큐로 구현 가능 2. 깊이 우선 탐색 (DFS; Depth-First Serach) 한 정점에서 인접한 모든(아직 방문하지 않은) 정점을 방문하되, 각 인접 정점을 기준으로 깊이 우선 탐색을 끝낸 후 다음 정점으로 진행 순서가 정해져있진 않으나 일반적으로 가장 좌측에서 아래로 깊이 우선 탐색 진행 무향 그래프 예시 (0 > 1 > 3 > 7 > 4 > 5 > 2 >6) 스택을 이용하여 어느 정점에서 DFS를 하고 있는지를 기억하고 되돌아감 3. 너비 우선 탐색(BFS; Breadth-First Search) 한 정점에서 인접한 모든(아직 방문하지 않은) 정점을 방문..

  • format_list_bulleted ETC/Algorithm
  • · 2022. 6. 22.
  • textsms
[Algorithm - DP] Dynamic Programming 이란 (Programmers - N으로 표현)

[Algorithm - DP] Dynamic Programming 이란 (Programmers - N으로 표현)

1. 동적계획법 (Dynamic Programming)문제에 답인지를 확인하기 위해 탐색해야하는 범위를 동적으로 결정하면서 탐색 범위를 한정할 수 있음(탐색범위가 굉장히 넓은 문제에서 범위를 조금 씩 좁혀가며 해를 찾을 수 있음)주어진 최적화 문제를 재귀적인 방식을 이용해 작은 부문으로 나누고 해를 조합해 전체 문제의 해답에 이르는 방식임 2. DP의 적용 예 - 피보나치 수열피보나치 수열 : 직전 두 열의 항이 해당열의 값이 되는 수열f(4)를 구하기 위해 재귀함수로 구현할 경우 복잡도는 지수함수의 형태로 엄청나게 증가한다.동적계획법으로 구현 시 부분문제에 대한 답을 구해놓고 그 답을 이용해서 큰 문제를 풀어가면서 해를 찾아간다.복잡도는 선형함수의 형태로 나타나게 된다. 3. Programmers - ..

  • format_list_bulleted ETC/Algorithm
  • · 2022. 6. 21.
  • textsms
[Algorithm - Heap] Heap에 대해서 (Programmers - 더 맵게)

[Algorithm - Heap] Heap에 대해서 (Programmers - 더 맵게)

heap 최소/ 최대 원소를 빠르게 찾을 수 있도록 만들어진 자료구조 완전 이진트리(complete binary tree)로 구성됨 큐에 우선순위 개념을 도입한 우선순위 큐구조를 사용하며 우선순위가 높은 데이터가 먼저 나간다. Python heapq의연산종류와 시간복잡도 힙 구성 (heapify) - O(NlogN) 삽입 (heappush) - O(logN) 삭제 (heappop) - O(logN) Programmers heap 문제 - 더 맵게 https://programmers.co.kr/learn/courses/30/lessons/42626 import heapq def solution(scoville, K): answer = 0 heapq.heapify(scoville) for i in range..

  • format_list_bulleted ETC/Algorithm
  • · 2022. 6. 21.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (100)
    • Data Engineering (29)
      • Data Engineering? (2)
      • Hadoop (3)
      • Elasticsearch (0)
      • Redis (4)
      • Spark (6)
      • Kafka (4)
      • Airflow (2)
      • DB (2)
      • 자격증 (6)
    • Data Analysis (2)
      • Machine Learning(ML) (1)
      • NLP (1)
    • Infra (9)
    • ETC (19)
      • Network (1)
      • Linux (4)
      • Algorithm (3)
      • Spring (3)
      • Python (2)
      • Scala (2)
      • Java (3)
      • Javascript (1)
    • Project (9)
    • Trouble shooting (2)
    • Experience (1)
    • Programmers TIL (28)
      • Algorithm (8)
최근 글
인기 글
최근 댓글
태그
  • #scala
  • #Kafka
  • #spark
  • #자격증
  • #db
  • #docker
  • #RDB
  • #data engineering associate
  • #dea
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바