전체 글 485

[Kotiln] 코틀린 컬렉션 함수 : 리스트, 셋, 맵(List, Set, Map)

var list = listOf(1,2,3,4,5) var mutablelist :MutableList = mutableListOf() 안녕하세요. 훈츠 입니다. 오늘은 컬렉션 함수중 리스트에 대해 설명 드리도록 하겠습니다. 컬렉션 함수 리스트 (List) List 는 가장 단순한 형태로 데이터의 집합 입니다. List = listOf() : 생성시에 넣은 객체를 대체, 추가, 삭제 할수 없습니다. MutableList = mutablelistOf() : 생성시에 넣은 객체를 대체, 추가, 삭제가 가능합니다. add, shuffle, remove, revmoveat 함수를 사용할수 있습니다. var list = listOf(1,2,3,4,5) var mutablelist :MutableList = mut..

[TIA Portal OPC UA] OPC UA

안녕하세요. 훈츠 입니다. 금일은 TIA Portal 에서 OPC UA 와 Server Enable 하는 방법에 대해 설명 드리도록 하겠습니다. OPC UA [Open Platform Communications Unified Architecture] : 산업용 표준 프로토콜 산업용 프로토콜을 사용하는 환경은 현장에서 장비, 통신 간 호환, 안정적인 연결이 필수 입니다. 장비간 안정적인 연결, 즉 호환성을 더 높여 사용할 수 있는데 꼭 필요한 기술 입니다. 또, 통신 부분에서 많은 양의 데이터를 주고받으면서 보안, 데이터 손실, 안전성 등 다양한 문제가 발생할 수 있습니다. 이런 과정에서 만들어진 산업용 표준 프로토콜은 산업용으로 다양하게 활용하면서 생기는 문제점을 해결하고 요구 사항을 해결 할수 있을 것..

[TIA Selection Tool] Tia Selection tool 설치 및 관리

TIA Selection Tool 에 대해 설명드리겠습니다. 지멘스 제품을 잘몰라도, PLC 에 대한 이해가 있으시다면 제품 구성을 손쉽게 하실수가 있습니다. ▲TIA 셀렉션 툴에 대한 설명과 무료 다운을 받고 싶으시면 위 화면을 눌러주세요. ▲ TIA Selection Tool - 빠르고, 쉽고, 스마트 구성 가능 TIA Selection Tool 을 이용하시면, 기존에 일일이 카다로그를 보시고 제품에 대한 비교와 이해를 하셔야 했던 작업을 아주 빠르고 쉽게 스마트하게 구성이 가능합니다. TIA Selection Tool은 클라우드 버젼과 설치 버전을 제공해 드립니다. 다운로드는 다음 사이트를 이용하시면 됩니다. 클라우드 버전 : 항상 최신 버전을 유지 한다는 장점이 있는 반면 설치 버전보다는 반응이 ..

[Kotlin] 코틀린 제너릭 Generic

안녕하세요. 훈츠 입니다. 오늘은 제너릭 Generic 에 대해 알아보도록 하겠습니다. 제너릭 클래스를 구현 하는 방법과 제너릭 펑션을 구현 하는 방법에 대해 알아보겠습니다. 제너릭 (Generic) 제너릭은 클래스나 함수에서 사용하는 자료형을 외부에서 지정할수 있는 기능입니다. 제너릭은 함수나 클래스를 선언 할때, 고정적인 자료형 대신 실제 자료형으로 대체되는 '타입 패러미터'를 받아 사용하는 방법입니다. 제너릭을 이용하면, 다형성에서 배운 is, as연산자 없이 타입변경 없이 사용이 가능합니다. 타입 파라미터의 이름은 클래스 이름과 규칙이 같지만 일반적으로 'TYPE' 의 이니셜인 'T' 를 사용하는 것이 관례입니다. 만약 여러개의 제너릭을 사용할 경우 T의 다음 알파벳인 를 추가적으로 사용 하기도 ..

[지멘스 PLC TIA portal Team center] 팀센터 Team center PLM

Team Center PLM Teamcenter® 소프트웨어는 혁신을 위한 디지털 스레드를 통해 기능 사일로 전반에 걸쳐 사람과 프로세스를 연결하는 최신 적응형 PLM(제품 라이프사이클 관리) 시스템입니다. 비할 데 없이 폭넓고 심층적인 Teamcenter 포트폴리오는 매우 성공적인 제품을 개발하는 데 필요한 다수의 어려운 난제를 해결할 수 있음을 의미합니다. 쉽고 직관적인 Teamcenter 사용자 인터페이스를 통해 조직 전체의 사용자가 이전과는 달리 제품 개발 프로세스에 한층 더 쉽게 참여할 수 있습니다. 3D 설계, 전자장치, 임베디드 소프트웨어, 문서, BOM(Bill of Materials)을 비롯한 제품 데이터 및 프로세스를 제어하는 단계부터 Teamcenter를 시작해보십시오. 제조, 품질,..

[Kotlin] 코틀린 다형성의 개념과 사용방법 is, as 연산자

안녕하세요. 훈츠 입니다. 오늘은 다형성의 개념과 Downcasting 할때 사용되는 is와 as 연산자에 대해 알아보도록 하겠습니다. 다형성 (Polymorphism) 클래스를 상속하다보면 하위 클래스에서 상위 클래스와 똑같은 이름의 프로퍼티나 메서드를 지정 할일이 생깁니다. 하위 클래스에서 이름은 같지만 호출 매개변수가 다르거나 전혀 다른 동작의 메서드를 정의할 필요가 있습니다. 이렇게 이름은 같지만 매개변수가 다르거나 다른 동작을 하도록 하는것을 다형성(Polymorphism) 이라고 합니다. 다형성에 대해 클래스로 예를 들어 보겠습니다. Class Animal : super class Class Tiger : sub class (eat 함수를 override 하고, tiger 클래스만의 shout..

[Kotlin] 코틀린 옵저버 패턴 리스너

안녕하세요. 훈츠 입니다. 오늘은 코틀린에서 광범위하게 사용되는 옵저버 패턴을 구현 하는 방법에 대해 설명 드리겠습니다. 옵저버 패턴을 구현하는 방법은 두가지 입니다. 한가지는 인터페이스를 상속하는 방법과, 두번째는 익명 함수를 통해서 익명 클래스를 구현하는 방법입니다. 옵저버 패턴 키의 입력, 터치의 발생 같은 시스템 또는 루틴에 의해 발생되는 동작들을 이벤트라고 부릅니다. 이벤트가 발생 했을때 상호 작용 할수있는 패턴을 옵저버 패턴이라고 합니다. 코틀린에서는 리스너라고 부르기도 합니다. 옵저버 패턴을 구현하는 방법 [class A - - class B ] 인터페이스 구현 두개의 클래스 class A, class B class A : 인터페이스를 속성값으로 받는 펑션 클래스 class B : 인터페이스..

[Kotlin] 코틀린 오브젝트 싱글톤 패턴 object

안녕하세요. 훈츠 입니다. 오늘은 오브젝트 object 에 대해 이야기 해 보겠습니다. 여러 인스턴스를 생성할 필요 없이 하나의 객체만으로 공통적인 속성과 함수를 사용해야 할때는 class 가 아닌 object로 선언하여 사용 할수 있습니다. 오브젝트 Object 클래스 대신 object 라는 키워드를 사용합니다. 생성자는 허용하지 않습니다. 싱글톤 패턴 : Singleton Pattern 싱글톤 패턴 : 클래스의 인스턴스를 단하나만 만들어 사용하도록 하는 코딩 아키텍쳐 패턴 object Calculator{ fun add(a:Int,b:Int) = a + b fun sub(a:Int,b:Int) = a - b fun multiply(a:Int,b:Int) = a * b fun divide(a:Int,b..

[Kotlin] 코틀린 스코프 함수 [apply, also, run, let,]

안녕하세요. 훈츠 입니다. 오늘은 스코프 함수에 대해 이야기 해 보겠습니다. 코틀린에서 함수형 언어의 특징을 좀더 쉽게 사용할수 있도록 제공 하는것입니다. 스코프 함수 .{ 변수 혹은 함수 } (apply 참조연산자 없이 사용/ also "it"을 이용) 처리가 끝나면 인스턴스를 반환 합니다. (run 참조연산자 없이 사용 / let "it"을 이용) 처리가 끝나면 최종값을 반환 합니다. with(a){...} run과 완전 동일하며 함수 사용하는 형식 만 다릅니다. 함수형 언어의 특징을 좀더 쉽게 사용하도록 제공 합니다. 인스턴스의 속성이나 함수를 좀더 깔끔하게 사용 가능합니다. apply / also 처리가 끝나면 인스턴스를 반환, apply 는 참조연산자 없이 also 는 it 연산자 사용 clas..

[Kotlin] 코틀린 고차 함수와 람다 함수

안녕하세요. 훈츠 입니다. 오늘은 고차 함수와 람다 함수에 대해 이야기 해 보겠습니다. 고차 함수 함수를 마치 클래스에서 만들어낸 인스턴스 처럼 취급 하는 방법 입니다. 코틀린에서는 모든 함수를 고차함수로 사용 가능 하여, 함수를 파라메터로 넘겨 줄수도 있고, 결과값으로 반환 받을 수도 있습니다. fun main() { b(::a) //고차함수 출력할때 사용 } fun a(string: String){ println("$string 함수 a") } //고차함수 예시 fun b(fc : (String) -> Unit){ //fun b(function : (자료형) -> 반환형 fc("b 가 호출한") } //출력 b 가 호출한 함수 a 함수의 형식(자료형, 자료형...) -> 함수의 반환형 //반환형이 없..