반응형

프로그래밍 언어 111

TypeScript와 React Native로 배우는 모듈 시스템 Import/Export - TypeScript #5

이번에는 타입스크립트의 모듈에 대해 정리해 보겠습니다. 프로그래밍을 하다 보면 코드가 점점 길어지고 복잡해지기도 합니다. 예를 들어, React Native로 앱을 만들 때 화면을 구성하는 컴포넌트, 데이터를 가져오는 함수, 스타일을 정의하는 코드가 모두 한 파일에 있다면 나중에 수정하거나 협업할 때 머리가 아플 겁니다.이를 위해 모듈에 대해 고려해야 합니다. 모듈은 쉽게 말해 코드를 기능별로 쪼개서 파일 단위로 관리하는 방법입니다. 마치 책꽂이에 책을 주제별로 정리하듯 말이죠. TypeScript와 React Native로 배우는 모듈 시스템TypeScript에서 모듈은 JavaScript의 모듈 시스템을 기반으로 동작합니다. JavaScript에는 크게 두 가지 모듈 방식이 있는데, 바로 Common..

타입스크립트의 객체 지향 프로그래밍, 클래스, 인터페이스, 상속 정리 - TypeScript #4

이번에는 TypeScript를 활용한 객체 지향 프로그래밍(OOP)에 대해 정리해 보겠습니다. TypeScript의 클래스, 인터페이스, 접근 제어자, 상속, 다형성, 추상 클래스, 데코레이터 같은 기능을 예시와 함께 살펴보겠습니다.   클래스와 인터페이스객체 지향 프로그래밍(OOP)의 본질은 프로그램을 다양한 객체 간의 상호작용이라는 것에 있습니다. TypeScript는 JavaScript를 기반으로 하지만, 클래스(Class) 중심으로 전통적인 OOP 언어처럼 객체를 설계할 수 있도록 합니다.예를 들어, 아래는 간단한 User 클래스를 만든 코드입니다.class User { name: string; age: number; constructor(name: string, age: number) { ..

TypeScript 고급 타입 활용, React 에서 제네릭과 유니온 타입으로 안전성 높이기 - TypeScript #3

이번에는 TypeScript 코드를 다룰 때 타입 안전성을 높이고, 유지보수와 확장성을 강화하는 방법 중 "고급 타입" 활용에 대해 정리해 보겠습니다.  TypeScript 고급 타입 활용  유니온 타입과 인터섹션 타입TypeScript를 배우다 보면 타입을 직접 명시하는 방식이 눈에 띕니다. string이나 number 같은 기본 타입만으로는 복잡한 상황을 다루기에 부족한 경우가 있는데, 이때 유니온 타입( | )과 인터섹션 타입( & )을 사용할 수 있죠. 유니온 타입은 값이 여러 타입 중 하나일 수 있다는 걸 표현합니다. 예를 들어, 버튼이 "켜짐", "꺼짐", "로딩 중" 같은 상태를 가질 수 있다고 하면, React Native에서 이를 타입으로 나타내면 다음과 같습니다.type ButtonSt..

TypeScript 변수 선언부터 객체 인터페이스까지 기본 문법과 타입 시스템 - TypeScript #2

TypeScript의 기본 문법과 타입 시스템에 살펴보고, 코드를 더 안전하고 효율적으로 작성할 수 있는 방법에 대해 정리해 보겠습니다.   TypeScript 기본 문법과 타입 시스템  기본 타입 (number, string, boolean 등)프로그래밍에 처음 입문하는 분이라면 "타입"이라는 말이 조금 생소하게 느껴질 수 있습니다. 간단히 말하자면, 타입은 컴퓨터에게 "이 데이터가 어떤 종류인지" 알려주는 일종의 표지판 같은 역할을 합니다. TypeScript에서는 숫자(number), 문자열(string), 참 또는 거짓(boolean) 같은 기본 타입을 분명하게 지정할 수 있는데, 이게 중요한 이유는 컴퓨터가 실수를 덜 저지르도록 도와주기 때문입니다. 예를 들어, 숫자만 들어가야 하는 변수에 실수..

TypeScript로 정적 타입 코딩 효율성 높기 방법을 배워보자 - TypeScript #1

이번 글에서부터 TypeScript에 대해 정리해 보겠습니다. 요즘은 프로그래밍 언어에 대한 공식 자료를 비롯해서 다양한 채널에서 쉽게 학습 자료를 접할 수 있는데요, 이들 자료를 취합해서 조금 더 쉽게 설명할 수 있도록 한번 정리해 보려 합니다. 오늘은 첫 번째 시간으로 TypeScript 소개 및 설치부터 진행해 보겠습니다.  TypeScript 배우기 첫걸음  TypeScript가 뭐예요?TypeScript는 한마디로 "JavaScript에 규칙을 추가한 언어"라고 할 수 있어요. 2012년 마이크로소프트에서 세상에 내놓은 이 언어는 JavaScript가 가진 모든 맛을 살리면서, 코드를 쓸 때 변수나 함수에 어떤 종류의 값을 넣을지 미리 정할 수 있게 해 줍니다. 가령, 숫자만 담으려는 변수에 실..

파이썬 asyncio로 배우는 비동기 I/O 코루틴과 이벤트 루프 이해하기 - 고급 Python #8

비동기 프로그래밍이란, 어떤 함수를 호출할 때 해당 함수가 즉시 응답을 반환하지 않더라도 프로그램이 계속해서 다른 작업을 진행할 수 있도록 하는 방식을 말합니다. 오늘은 비동기 프로그래밍에 대해 조금 더 깊이 있게 살펴보려 합니다.  파이썬 asyncio로 배우는 비동기 프로그래밍   이벤트 루프와 코루틴이벤트 루프(Event Loop)의 동작 원리asyncio에서 가장 중요한 개념은 이벤트 루프죠. 이벤트 루프는 말 그대로 “이벤트가 발생하기를 기다렸다가, 발생하면 적절한 콜백(callback)을 실행하는” 메커니즘입니다. 사실 이 개념은 자바스크립트의 비동기 모델이나 다른 언어에서도 흔히 볼 수 있는데요, 이벤트 루프는 파이썬 프로그램에서 코루틴으로 정의된 함수들을 스케줄링하고, 각 코루틴이 I/O를..

파이썬 멀티스레딩과 멀티프로세싱의 차이와 활용 방법 - 고급 Python #7

파이썬에서는 이런 병렬 처리를 위해 크게 두 가지 방식을 제공합니다. 바로 '멀티스레딩(Multithreading)'과 '멀티프로세싱(Multiprocessing)'인데요. 이 두 가지 방식은 각각의 특징과 장단점이 있어서, 상황에 따라 적절히 선택해 사용해야 합니다.  파이썬 멀티스레딩과 멀티프로세싱의 차이와 활용  멀티스레딩 개념과 특징 멀티스레딩이라는 단어, 뭔가 복잡해 보이지만 사실 우리 일상 속에서도 쉽게 찾아볼 수 있는 개념입니다.예를 들어볼게요. 여러분이 책을 읽으면서 동시에 음악을 듣고 있다고 생각해 보세요. 이때 여러분의 뇌는 '책 읽기'와 '음악 듣기'라는 두 가지 작업을 동시에 처리하고 있는 거죠. 이처럼 하나의 프로세스(우리 뇌) 안에서 여러 작업(책 읽기, 음악 듣기)을 동시에 처..

파이썬 데이터 클래스와 타이핑. 효율적인 코드 작성을 위한 고급 프로그래밍 - 고급 Python #6

파이썬의 dataclasses 모듈은 파이썬 3.7 버전부터 도입되었고, 주로 간결하고 가독성 높은 클래스를 작성하기 위한 용도로 사용합니다.원래(파이썬 3.7 이전) 파이썬 클래스는 객체를 생성하기 위해서는 __init__ 메서드에서 필요한 속성을 일일이 할당해야만 했습니다. 그러나 최근에는 클래스 정의 시 @dataclass 데코레이터만 붙이면 __init__부터 __repr__, __eq__ 같은 메서드를 자동으로 생성해 주어, 코드가 훨씬 간결해지게 되었죠.  파이썬 데이터 클래스와 타이핑데이터 클래스란 뭘까요?간단히 말해, 데이터를 담는 클래스를 쉽게 만들 수 있게 해주는 도구예요. 예를 들어, 학생 정보를 담는 클래스를 만든다고 생각해 봅시다.from dataclasses import data..

파이썬 Collections 모듈 가이드 Counter부터 deque까지 활용 방법 - 고급 Python #5

이번에는 파이썬의 Collections 모듈에 대해 살펴보겠습니다. 주요 클래스인 Counter, defaultdict, OrderedDict, namedtuple, deque의 활용 방법을 정리해 보겠습니다.  파이썬 Collections 모듈Collections 모듈은 파이썬의 일반 내장 컨테이너(dict, list, set, tuple)를 확장하는 특수 컨테이너 자료형을 구현합니다.     Counter 클래스Counter 클래스는 해시 가능한 객체를 세는 데 사용하는 딕셔너리의 하위 클래스입니다. 요소가 딕셔너리 키로 저장되고, 그 개수가 딕셔너리 값으로 저장되는 방식이죠.예를 들어, 문자열에서 각 문자의 출현 빈도를 세고 싶다면 이렇게 할 수 있습니다.from collections import ..

파이썬 리스트(List) 세트(Set) 딕셔너리(Dictionary) 고급 활용법 - 고급 Python #4

오늘은 파이썬의 꽃이라고 할 수 있는 리스트, 세트, 딕셔너리의 고급 활용법에 대해 알아보려고 합니다. 이 세 가지 자료구조는 파이썬 프로그래밍의 근간을 이루는 요소들인데요, 이들을 제대로 활용하면 코드의 효율성과 가독성을 상당히 높일 수 있을 거예요.  파이썬 리스트(List) 세트(Set) 딕셔너리(Dictionary) 고급 활용법1. 파이썬 리스트(List)  리스트 컴프리헨션리스트 컴프리헨션은 파이썬의 강력한 기능 중 하나입니다. 복잡한 for 루프를 한 줄로 압축할 수 있죠. 한 줄의 간결한 문법으로도 꽤 복잡한 연산을 수행할 수 있게 해 줍니다. 흔히 단순히 for 문을 줄이는 데 사용하지만, 조건문을 함께 쓰는 방식 등을 통해 코드 가독성과 유지보수성까지 높일 수 있습니다. 기본 형태numb..

반응형