가장 최근의 관심사들을 소개해드릴게요 ! 🤓
-
변수와 자료형, 연산자
안녕하세요 Samuel 입니다. 본 자료는 Do it! 코틀린 프로그래밍 (Kotlin Programming)을 수강하며 모든 내용이 아닌, 새롭게 알게된 내용이나 기억하고자 하는 내용을 정리한 요약본입니다. 공부하려고 결제한 인강인데 아까워서라도 끝까지 봐볼라구요! 😎 변수와 자료형 연산자 코틀린 패키지 패키지 정의 자바 프로젝트처럼 디렉터리와 매치 되어야 하는것은 아니다. import의 이름이 충돌하면 as 키워드로 로컬에서 사용할 이름을 변경해서 충돌을 피할 수 있다. import는 클래스 뿐만 아니라 다른것도 임포트 할 수 있다. 최상위레벨 함수와 프로퍼티, 오브젝트 선언의 함수와 프로퍼티 , 열거형 상수 // import의 이름이 충돌하면 as 키워드로 로컬에서 사용할 이름을 변경해서 충돌을 피..
2022.03.17
-
M1 기반 환경세팅
안녕하세요 Samuel 입니다. 제가 작업하면서 어려웠던 점을 조금 남겨봅니다 ~! 강제가 절대 아니니 참고하시면 좋을 것 같아요 ! 들어가면서 저는 Homebrew를 사용했답니다. : ) Homebrew $ /bin/bash -c "$(curl -fsSL )" SSH 연결에 대한 설정 단계AWS CodeCommitLinux, macOS SSH 연결에 대한 설정 단계AWS CodeCommitLinux, macOS 또는 Unix의 리포지토리 설치 대상 파일 NVM Node v10.15.3 Mysql Redis Java 2-1. Java (Zulu JDK BigSur 대응) mdogan/homebrew-zule 추가하기 $ brew tap mdogan/zulu 설치 가능한 모든 JDK 찾기 $ brew se..
2022.03.05
-
[공식문서 + 구글링] 코틀린 let, with, run, apply, also 차이 비교 정리
안녕하세요 Samuel 입니다. let, with, run, apply, also 코틀린에는 이렇게 생긴 확장함수가 있습니다. 객체를 사용할때 명령문을 블럭 { } 으로 묶어서 간결하게 사용할 수 있게 해주는 함수들입니다. 문제는 서로 비슷비슷해서 뭘 쓰든 어떻게든 동작하는 점이 어려워 이번에 한번 정리를 해보며 그 개념을 다지기로 했습니다. https://kotlinlang.org/docs/scope-functions.html#let let 컨텍스트 객체를 인수(it)로 사용할 수 있습니다. 반환값은 람다 결과입니다. let은 하나 이상의 함수를 호출하는데 사용할 수 있습니다. 예를들어 다음코드를 보게 되면 val numvers = mutableListOF("one", "two", "three", "f..
2022.03.04
-
람다로 프로그래밍(1)
안녕하세요 Samuel 입니다. 람다로 프로그래밍 람다 식과 멤버 참조 람다는 기본적으로 다른 함수에 넘길 수 있는 작은 코드조각을 뜻한다. 람다를 사용하면 쉽게 공통 코드 구조를 라이브러리 함수로 뽑아낼 수 있다. 함수형 프로그래밍은 함수를 값처럼 다루는 접근 방법을 택함으로써 클래스를 선언하고 그 클래스의 인스턴스를 함수에 넘기는 대신 함수형 언어에서는 함수를 직접 다른 함수에 전달할 수 있다. 람다식을 사용하면 코드가 더욱 더 간결해진다. 람다식을 사용하면 함수를 선언할 필요가 없고 코드 블록을 직접 함수의 인자로 전달할 수 있다. 람다와 컬렉션 컬렉션은 Java에서 데이터의 집합, 그룹을 의미하며 JCF( Java Collections Framework)는 이러한 데이터 , 자료구조인 컬렉션과 이..
2022.03.03
-
JAVA와 차이점 그리고 클래스, 객체, 인터페이스
안녕하세요 Samuel 입니다. Java와의 차이점 코틀린 인터페이스에 프로퍼티 선언이 들어갈 수 있습니다. 자바와 달리 코틀린 선언은 기본적으로 final이며 public입니다. 중첩 클래스는 기본적으로 내부 클래스가 아닙니다. 코틀린 중첩 클래스에는 외부 클래스에 대한 참조가 없습니다. 짧은 주 생성자 구문으로도 거의 모든 경우를 잘 처리할 수 있습니다. 번잡스러움을 피하기 위해 유용한 메서드를 자동으로 만들어 줍니다. 클래스를 data로 선언하면 컴파일러가 일부 표준 메서드를 생성해 줍니다. 코틀린 언어가 제공하는 위임(delegation)을 사용하면 위임을 처리하기 위한 준비 메서드를 직접 작성할 필요가 없습니다. 코틀린 인터페이스 interface Clickable{ fun click() } c..
2022.03.02
가장 인기있는 글들을 소개해드릴게요 ! 🤩
-
[공식문서 + 구글링] 코틀린 let, with, run, apply, also 차이 비교 정리
안녕하세요 Samuel 입니다. let, with, run, apply, also 코틀린에는 이렇게 생긴 확장함수가 있습니다. 객체를 사용할때 명령문을 블럭 { } 으로 묶어서 간결하게 사용할 수 있게 해주는 함수들입니다. 문제는 서로 비슷비슷해서 뭘 쓰든 어떻게든 동작하는 점이 어려워 이번에 한번 정리를 해보며 그 개념을 다지기로 했습니다. https://kotlinlang.org/docs/scope-functions.html#let let 컨텍스트 객체를 인수(it)로 사용할 수 있습니다. 반환값은 람다 결과입니다. let은 하나 이상의 함수를 호출하는데 사용할 수 있습니다. 예를들어 다음코드를 보게 되면 val numvers = mutableListOF("one", "two", "three", "f..
2022.03.04
-
Spring Security와 Spring Security의 Filter를 알아보자!
Spring Security Spring Security의 이론이 무엇인가요! 스프링 시큐리티를 이용하면 개발시 피룡한 사용자의 인증, 권한, 보안 처리를 간단하지만 강력하게 구현할 수 있습니다. 일반적인 웹 환경에서 브라우저가 서버에게 요청을 보내게 되면 DispatcherServlet이 요청을 받기 이전에 많은 SevletFilter들을 거치게 됩니다. Spring Security도 서블릿 필터로서 작동하여 인증, 권한과 관련한 처리를 진행하게 됩니다. Spring Filter Chain? Spring Security와 관련한 서블릿 필터도 실제로는 연결된 여러 필터들로 구성되어 있습니다. 이러한 모습 때문에 Chain이라는 표현을 쓰고 있습니다. 해당 필터들의 역할과 흐름을 알고 있어야 필터의 커스..
2021.05.03
-
Guava에 대해서 알아보자!
google guava ! 개발 시 자주 대면하는 유효성 체크, Collection, 날짜, 문자 등등 있다. 이런 걸 좀더 편하게 사용할 수 있게 Google 에서 배포되는 라이브러리이다. 장점 버그 발생률을 현저히 줄일 수 있다. 장황하고 비효율적인 코드를 줄일 수 있다. 직관적이다. 개발표준을 준수하는 코드를 작성할 수 있다. 편하다. 생상성이 증가한다. 대표적인 사용법 CaseFormat: 문자열을 camel style 로 변경하는 함수 System.out.println(CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_CAMEL, "test-data")); // testData Guava는 구글이 작성한 자바 오픈소스 라이브러리입니다. 개발자라면 이전에 한번정도는 스..
2021.04.30
-
Java를 이용한 블록체인 개발 [ Wallet ]
Wallet의 기능 공개키, 개인키의 의미는 트랜잭션의 검증수단 트랜잭션이 생성되고 처리되는 과정에서 개인키로 트랜잭션에 서명하고 공개키로 올바른 서명인지 확인한다. 트랜잭션을 일으키는 지갑이 본인의 개인키로 디지털 서명을 암호화, 공개키로 해당 트랜잭션을 복호화 하여 유효한 트랜잭션인지 확인한다. 보통 이 키 쌍을 가르켜 keyPair라고 한다. 키 쌍을 만드는데에는 타원 곡선 암호(Elliptic-curve cryptography)가 사용된다. Wallet은 블록체인의 가장 밑바탕이 되는 프로그램이다. 지갑 프로그램은 각 클라이언트들이 모두 설치가 되어 있다는 가정에 진행된다. 지갑에서 Transaction을 생성한다. 수신자는 오픈되어 있는 공개키를 알고 있어야 복호화가 가능하다. Wallet의 상..
2021.03.14
-
fork repository 최신화 상태 유지하기
서론 github에서 fork하여 사용하는 이유는 다양하다. 단순히 해당 소스를 본인의 repository로 가져와서 가공 또는 활용해보고싶은 열정! 개인 프로젝트를 진행하며 master repository에서 fork를 하여 프로젝트를 기여하는 방법 오픈소스에 참여하여 해당 오픈소스를 활용 및 가공하여 오픈소스 기여를 하기 위한 방법 이처럼 다양한 방법으로 fork를 하여 본인의 repository로 가져온다. 이 글은 가져온 fork repository를 일회성 Pull Request를 진행하는 일이 아닌 지속적으로 Pull Request를 진행할 경우를 고려하여 작성하였다. 본론 상황을 가정해보자. 하나의 프로젝트를 fork하여 꾸준히 그 프로젝트를 참여한다면 한가지의 문제를 만나게 된다. 한번의 ..
2021.03.06