언어

언어/Java

Java(자바) 디자인패턴 - 전략(Strategy) 패턴 설명 및 예제소스

Java 디자인패턴 - 전략(Strategy) 패턴 오늘부터 Java 디자인 패턴을 예제와 함께 설명하는 포스팅을 하려고 합니다. 그 중에서 첫 번 째로 실무 프로젝트에서 가장 많이 사용하고 중요한 전략패턴을 설명하려고 합니다. 전략패턴은 각각의 알고리즘군을 교환이 가능하도록 별도로 정의하고 각각 캡슐화 한 후 서로 교환해서 사용 할 수 있는 패턴이며, 아래와 같은 장점이 있습니다. - 코드 중복 방지 - 런타임(Runtime)시에 타겟 메소드 변경 - 확장성(신규 클래스) 및 알고리즘 변경 용이 즉, "프로젝트 전체에서 변경이 일어나지 않는 부분에서 변경이 일어나는 부분을 찾아서 따로 캡슐화 한다." 라고 이해하시면 쉬울 듯 싶습니다. 아래 설명을 읽어보시고 예제 소스코드를 학습하시면 쉽게 이해하실 수..

언어/C#

C#- 제네릭(Generic) & 델리게이트(Delegate) 기본 예제

C# - 예제 간단 설명 ① Delegate type 은 형식의 반환 값, 파라미터 등을 지정하여 인스턴스를 호출할 수 있는 메서드를 정의한 것입니다.② 주로 함수의 대리자 역할을 하며, 특정 함수를 캡슐화해서 사용할 수 있게 해주는 것으로 이해하시면 됩니다.③ 하단은 주로 사용하는 제네릭 Delegate 형식에 관한 간단한 예제입니다. C# - Generic & Deligate 예제 소스 원본코드12345678910111213141516171819202122232425262728293031323334353637using System;using System.Collections.Generic; delegate T NumberChanger(T n);namespace GenericDelegateAppl { ..

언어/Go

Go(Golang) - 맥(Mac) 개발 환경 설치 및 기본 설정 정리(2)

Go프로그래밍 - 맥(Mac) 기본 환경 설정(2)이번 포스팅에서는 Mac OS 환경에서 Go 프로그래밍 개발을 위한 환경 세팅 두 번째 과정을 이어나가도록 하겠습니다. 이번 과정을 잘 마무리하시면, Atom IDE에서 편리하게 Go 개발 환경을 갖추실 수가 있습니다.아직 Go 설치 및 환경 변수 세팅이 안되어 있다면, 이전 포스팅을 참고하세요. Go프로그래밍 - 맥(Mac) 기본 환경 설정(1) - 이전 포스팅 참조 Atom 에디터 Go관련 패키지 설치상단 메뉴 Atom -> Preferences -> Install 메뉴로 이동 후 아래 3가지 패키지를 설치합니다.본 설정은 Mac OS(Sierra x64)에서 설정했습니다. 설치한 패키지는 아래와 같습니다.1. Go-plus : Go 개발 시 code..

언어/Go

Go(Golang) - 맥(Mac) 개발 환경 설치 및 기본 설정 정리(1)

Go프로그래밍 - 맥(Mac) 기본 환경 설정(1)최근에 부각되고 있는 트렌디한 언어 중에서 Go가 꼭 언급됩니다. 구글에서 2009년도에 개발한 언어이고 컴파일 방식으로 매우 높은 성능을 낼 수 있다는 장점이 있습니다.(그 밖에 많은 장점이 존재합니다.) 최근에 Go 웹 프레임워크(Revel)로 프로젝트에 참여할 기회가 생겨서 맥 Mac OS 개발 환경 세팅 방법을 2부에 걸쳐서 정리하고자 합니다. 차근차근 따라하시면 쉽게 구축할 수 있을거라 생각됩니다. Go Mac 버전 다운로드GO 공식 사이트에 접속해서 본인 운영체제에 맞는 버전을 다운로드 합니다. - 다운로드 링크본 설정은 Mac OS(Sierra x64)에서 설정했습니다. Go 프로그램 설치아래 설치 진행을 보면서 쉽게 설치할 수 있습니다.(단..

언어/Go

Go(Golang) - 윈도우 개발 환경 설치 및 기본 설정 정리(2)

Go프로그래밍 - 윈도우 기본 환경 설정(2)이번 포스팅에서는 윈도우 환경에서 Go 프로그래밍 개발을 위한 환경 세팅 두 번째 과정을 이어나가도록 하겠습니다. 이번 과정을 잘 마무리하시면, Atom IDE에서 편리하게 Go 개발 환경을 갖추실 수가 있습니다.아직 Go 설치 및 환경 변수 세팅이 안되어 있다면, 이전 포스팅을 참고하세요. Go프로그래밍 - 윈도우 기본 환경 설정(1) - 이전 포스팅 참조 Atom 에디터 Go관련 패키지 설치File -> Settings -> Install 메뉴로 이동 후 아래 3가지 패키지를 설치합니다.본 설정은 윈도우10(windows10 x64)에서 설정했습니다. 설치한 패키지는 아래와 같습니다.1. Go-plus : Go 개발 시 code-assistance 및 편리..

언어/Go

Go(Golang) - 윈도우 개발 환경 설치 및 기본 설정 정리(1)

Go프로그래밍 - 윈도우 기본 환경 설정(1)최근에 부각되고 있는 트렌디한 언어 중에서 Go가 꼭 언급됩니다. 구글에서 2009년도에 개발한 언어이고 컴파일 방식으로 매우 높은 성능을 낼 수 있다는 장점이 있습니다.(그 밖에 많은 장점이 존재합니다.) 최근에 Go 웹 프레임워크(Revel)로 프로젝트에 참여할 기회가 생겨서 윈도우 개발 환경 세팅 방법을 2부에 걸쳐서 정리하고자 합니다. 차근차근 따라하시면 쉽게 구축할 수 있을거라 생각됩니다. Go 윈도우 버전 다운로드GO 공식 사이트에 접속해서 본인 운영체제에 맞는 버전을 다운로드 합니다. - 다운로드 링크본 설정은 윈도우10(windows10 x64)에서 설정했습니다. Go 프로그램 설치아래 설치 진행을 보면서 쉽게 설치할 수 있습니다.(단, 설치 경..

언어/C#

C#- 문자열(String)을 날짜(DateTime) 형식으로 변환

C# - DateTime 변환 설명 ① 개발 중 문자열을 날짜 형식으로 변경하는 작업은 빈번하게 발생해요. C# 역시 여러 방법을 지원하고 있습니다.② 부가적인 포멧 형식은 레퍼런스 문서를 참조하시면 쉽게 구현하실 수 있습니다.③ 변환하는 간단한 예제는 하단을 참조하세요. C# - String To DateTime 변환 예제 원본코드123456789101112131415161718192021222324252627282930313233using System; public class Program{ public static void Main() { //변수 선언 string strDate1; string strDate2; string strDate3; DateTime dtDate1; DateTime dtDa..

언어/PHP

PHP - foreach vs array_map 성능 비교 및 사용 예제 설명

PHP - foreach, array_map 기본 설명 ① PHP : foreach -> 배열을 순회하며 정의한 프로세스를 실행하는 함수② PHP : array_map -> 배열의 각 원소에 사용자가 정의한 함수를 적용하여 결과를 반환하는 함수③ stackoverflow 등 여러 포럼에서 두 함수에 대한 벤치마크 테스트에 대한 많은 이슈가 있어서 테스트를 수행했습니다.④ 수행 결과 PHP 버전, xdebug 활성유무, 클로저 호출 유무 등에 따라 상이한 결과가 나올 것으로 예상됩니다. - 결론은 프로그램 로직에 맞는 적절한 함수를 사용하는 것이 적절하다고 생각합니다. - 단, PHP7 버전에서는 코드 캐싱 및 최적화 기능으로 인해 더욱 빠른 수행 시간을 확인할 수 있었습니다. PHP - foreach 성..

언어/Java

Java(자바) Runtime - 외부 프로세스(exec) 실행 예제 소스

Java(자바) Runtime(exec) - 설명 ① Java Runtime Class - JVM이 작동하는 시스템 운영체제와의 인터페이스로 작동하는 클래스② 주로 운영체제 기반의 프로그램을 실행하거나 정보를 가져오는 기능을 사용한다.③ 시스템 침입의 주요 경로가 될 수 있으므로 실행 시 보안요소를 고려해야 한다. Java(자바) Runtime(exec) - 외부 프로세스 실행 소스 코드 원본코드1234567891011121314151617181920import java.io.IOException; public class RuntimeTest { public static void main(String[] args) throws IOException, InterruptedException { Runtime..

언어/Java

Java(자바) BlockingQueue - Producer 및 Consumer 패턴 예제

Java(자바) BlockingQueue - 설명 ① 멀티 스레드(Multi-Thread) 환경에서 Queue는 다양하게 활용 될 수 있어요.② BlockingQueue를 사용함으로써 Thread-safe 하게 Producer, Consumer 패턴을 구현할 수 있어요.③ 보통 RabbitMQ 등과 같이 메세지 처리 및 Push 처리 기술 분야에 활용 되고 있어요. Java(자바) BlockingQueue - Producer 및 Consumer 소스 코드 원본코드12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273..

[좋은사람]
'언어' 카테고리의 글 목록 (4 Page)