Rust의 trait, 추상화와 다형성 이해하기

Rust에서 Trait는 코드의 재사용성과 모듈성을 향상시킵니다. 다른 언어에서 인터페이스(interface)나 추상 클래스와 비슷한 역할을 하지만, Rust 고유의 설계 원칙과 소유권 개념에 맞춰 독특하게 동작합니다. 이번 글에서는 Rust의 Trait에 대해 자세히 알아보고, 주요 개념과 사용 사례를 소개합니다. Trait란 무엇인가? Trait는 객체의 행동(behavior)을 정의하는 메커니즘입니다. 특정 타입(예> 구조체, 열거형)이 반드시 구현해야 하는 공통 적인 동작을 선언합니다. 기본문법 예시 …

더 읽기

TypeScript에서 데코리어터 사용방법 및 사용이유, 타 언어와 비교

타입스크립트(TypeScript) 데코레이터(Decorator)는 클래스, 메서드, 속성, 파라미터 등에 기능을 부여하거나 수정할 수 있도록 해주는 기능입니다. 주로 로깅, 권한 검사, 데이터 검증, 캐싱 등 공통적으로 사용되는 기능을 분리(관심사 분리)해 코드를 간결하고 일관성 있게 유지하는데 유용합니다. 데코레이터는 기존 코드에 영향을 주지 않으면서 새로운 기능을 추가하는 데 매우 유용하며, TypeScript에서는 @ 기호로 데코레이터를 선언합니다. (자바, 파이썬도 같은 기호 사용), …

더 읽기

CSS로 a 링크 비활성화 하기

a link를 비활성화하는 방법은 여러가지가 있습니다. 물론, js를 통해, a link DOM을 조작하는 방법도 있지만, 이번에는 아주 간단하게 CSS 몇줄로 비활성화 하는 방법을 알아보겠습니다. css를 이용하여 이벤트를 차단하는 방법입니다. 위와 같이 지정하면, someClass 하위에 있는 a link를 클릭해도 반응하지 않습니다. 그런데, 상기와 같이 하면, a link만 클릭이 안되는 것이고, 색상등 스타일 정보가 그대로입니다. 따라서, 다른 …

더 읽기

워드프레스에서 호환되지 않은 보관함 에러가 발생할 때 해결방법

워드프레스 플러그인을 개발하고 테스트를 위해 업로드를 했는데, 호환되지 않는 보관함이라는 에러가 떡 하니, 원인과 해결 방법은? 처음에는 플러그인의 구조가 잘 못된 것인가? php 나 워드프레스 버전이 호환이 안되나 등등 이것 저것 해보고 구글링도 해봤는데요, 의외로 원인은 간단한 곳에 있었습니다. 일단 저는 개발을 맥 os 에서 했고, 개발이 완료된후, 맥 파인드의 기본 메뉴를 이용해서 압축을 했습니다. …

더 읽기

Flutter 최신 버전 유지하기

하나의 코드로 여러개의 플랫폼에서 빌드되는 플러터의 경우 많은 사람들이 사용하는 플랫폼이 되었습니다. 오늘은 플러터를 최신 버전으로 유지하는 방법에 대해 알아보겠습니다. 먼저는 플러터가 설치되어 있다는 가정하에 시작합니다. CLI 명령어 몇 개면 금새 최신 버전을 유지할 수 있습니다. flutter upgrade를 수행하면, 최신 SDK로 업그레이드가 됩니다. 만약 stable이 아니라, beta 채널에서 업그레이드를 받고 싶으시면, flutter channel beta명령어로 채널을 …

더 읽기