-
babel 이란 무엇인가?
들어가며 최근에 react 프로젝트와 typescript 프로젝트를 거치면서 webpack 을 자주 써보고 세팅해보게 되었습니다. 처음에는 동작의 원리보다 요즘 잘나가는 프론트엔드 개발 환경 만들기라는 목표로 세팅 하였으나 점점 처음부터 차근 차근 만지면서, 내가 이걸 몰랐구나 이게 이런 뜻이었구나 새삼 느끼게 되었습니다. webpack 에 대한 설명은 이미 많이 있으니 이번에는 babel 에 대해서 글을 적어보도록 하겠습니다. babel 이란? 먼저 공식 사이트 소개를 가져오자면 아래와 같습니다. Babel is a JavaScript compiler. 그렇습니다. 바로 자바스크립트 컴파일러 입니다. 왜 인터프리터 언어에...
-
java serializable
직렬화란? 직렬화 : JVM의 메모리에 상주되어 있는 객체 데이터를 바이트 형태로 변환하는 기술 (자바 내부에서 사용되는 객체/데이터를 외부 자바 시스템에서도 사용할 수 있도록 함) 역직렬화 : 직렬화 된 바이트 형태의 데이터를 JVM 에서 사용 하도록 다시 객체로 변환하는 기술 [출처] https://ktko.tistory.com 어떤 조건이 필요한가? 직렬화 : “java.io.Serializable” 인터페이스를 상속받은 객체 기본형 타입(int, char, String, short, double, long, byte 등등)은 직렬화가 가능 transient가 사용된 멤버는 전송되지 않는다 생성자나 메소드는 직렬화 대상에 속하지 않는다 역직렬화 : 직렬화...
-
자바스크립트 콜백지옥 탈출기 - 3.async/await
async/await 지금까지 콜백지옥을 탈출하기 위해 Promise를 사용하여 적극적으로 해결해 보았습니다. 지난시간에는 제가 마주했던 트위치 API를 사용한 팔로우/언팔로우 기능을 Promise를 이용해 구현했는데요 마지막에 우리는 한가지 의문을 갖게 되었습니다. 바로 아래와 같은 코드로 마치 동기처리를 하듯이 비동기처리를 순차처리할 수 없을까? 하는 것입니다. const userId = getUserId(); const isFollowing = getIsFolowing(userId); toggleFollow(isFollowing); const msg = isFollowing ? "언팔로우 성공" : "팔로우 성공"; console.log(msg); 그러나 아시다시피 getUserId 라는 함수는 내부적으로 트위치 API서버와 비동기 통신을 하고 있고, getIsFollowing과 toggleFollow 역시...
-
처음 해본 Kotlin
처음 해본 Kotlin 2019년말 처음으로 실무에 Kotlin 개발을 진행 해보았고 좋았던 점들을 포함 Kotlin에 대한 소개를 진행 하고자 합니다. 기본 적은 내용은 Android 개발을 수주해서 Kotlin을 제대로 써봤더니 최고였다! 포스팅 내용을 참고 하였으며 필자에 주관적인 견해가 많이 있으며, 시대가 지남에 따라 사실과 다를수 있습니다. Kotlin 언어 주변 환경 취미로 개발하는 것과는 달리 실무 개발의 경우 유명하지 않은 언어는 개발이 중단되거나 나중에 언어가 없어지는 위험 부담이 있습니다. Kotlin은 아직 까지 C, Java 등등 메이져 프로그램 언어에...
-
Java Code Convention
본 code convention 은 Oracle Code Convention을 참고로 하되 약간 변형된 부분이 있음을 알려드립니다. 예) 한 줄 주석과 꼬리주석의 사용법 WHY Code Conventions(코딩 규약)? 1인 개발보다는 여러 명이서 협력하는 경우가 더 많다. 소프트웨어를 직접 개발한 개발자가 해당 소프트웨어의 서비스가 종료될때까지 유지보수를 담당하는 경우는 드물다. 코딩 규약을 지키면 다른 개발자가 소스 코드를 보았을 때 더 빠른 시간안에 이해할 수 있도록 도와준다. 1. 들여쓰기 한 줄의 길이 줄 나누기 2. 주석 블록 주석 한 줄 주석 꼬리...