본문 바로가기

분류 전체보기

(175)
MOBOOK 1.1 배포 IIS 서버에 jar파일을 window 서비스에 등록해서 실행하고 있다. 이 과정을 다시하려다보니까 기억이 안나서 이렇게 게시물로 남긴다. 0.새로운 버전의 프로젝트를 파일질라 FTP통신을 통해 IIS 서버로 전송 (jar 파일, 리액트 빌드 파일) 1. nssm을 통해서 window 서비스로 jar 파일 등록 -> 서비스에 등록되서 시작프로그램 처럼 자동으로 실행됨 **SSL 인증서 -> 다른 사이트에서 링크를 걸어주는 경우 https 로 들어오는 경우가 있어서 인증서 필요성 느낌 이 게시물은 추후에 다듬어서 수정 예정
MOBOOK1.0 회고 1. MOBOOK1.0을 만든 이유 회사 인턴기간이 끝날 쯤, 이사님께서 툭 던진 말이 있다. 회사에 있는 책들이 많아지면서 엑셀로 관리하기가 힘들었다. 그리고 책을 빌릴 때는 구두로, 또는 개인 채팅으로 말해야 했기 때문에 휴먼에러나 의사소통 에러로 정리가 잘 되지 않고있었다. 그래서 만들었다. 2. 사용 기술 Language : Java 사실 Kotlin을 쓰고 싶었지만 아직 잘 알지도 못하고(사실 아직 java도 잘 알지 못한다.) 프로젝트를 진행하기에 미흡한 부분이 많아서 일단 Java를 쓰기로 했다. 그리고 추후에 Kotlin으로 리팩토링해야겠다는 생각을 했다. (MOBOOK2.0) Back-end : Spring Boot 프레임워크는 SpringBoot로 정했다. 사용해본 경험도 있고, 지금 ..
AtomicKotlin _ 5(42 ~ 49) 함수형 프로그래밍 break와 continue 루프 안에서만 break나 continue를 사용할 수 있다. continue는 루프의 시작 위치로만 점프할 수 있다. break는 루프의 끝으로만 점프할 수 있다. 단순한 break와 continue는 자신이 속한 루프의 범위보다 더 밖으로 점프할 수 없다. 레이블을 사용하면 맨 안쪽 루프의 영역에 제한되지 않고 점프할 수 있다. ‘레이블@’ 형태로 사용 가능 람다 람다는 이름이 없고, 함수 생성에 필요한 최소한의 코드만 필요, 다른 코드에 람다를 직접 삽입 가능 파라미터가 하나인 경우 코틀린은 자동으로 파라미터 이름을 it으로 만들어 줌 람다가 특정 인자를 사용하지 않는 경우 밑줄(_)을 사용하면 컴파일러 경고를 무시할 수 있다. 람다의 중요성 filter()의 술어를 람..
AtomicKotlin _ 4(30 ~ 41) 사용성 확장함수 확장함수(extension function)는 기존 클래스에 멤버 함수를 추가하는 것과 같은 효과 확장할 대상타입은 수신 객체 타입이라고 함 (receiver type) fun 수신타입.확장함수() {..} : ex) fun String.singleQuote() = “’$this’” 이름 붙은 인자와 디폴트 인자 이름 붙은 인자를 사용하면 코드 가독성이 좋아진다. 모든 인자의 의미가 명확하다 디폴트 인자와 결합하면 더 유용하다. 객체 인스턴스를 디폴트 인자로 전달하는 경우 호출할 때 마다 같은 인스턴스가 반복해서 전달된다. 디폴트 인자로 함수 호출이나 생성자 호출등을 사용하는 경우 호출할 때 마다 새 인스턴스가 생긴다. 오버로딩 함수의 시그니처: 함수 이름, 파라미터 목록, 반환 타입 함수를 오..
AtomicKotlin _ 3(24 ~ 29) 객체 소개 컬렉션(Collection) listOf() list는 컬렉션(컨테이너), 다른 객체를 담는 객체이다. list의 마지막 원소의 인덱스보다 더 큰 인덱스를 사용하면 ArrayIndexOutOfBoundException을 던진다. List : 은 타입 파라미터를 표시한다. 뜻 : 이 컨테이너는 ‘파라미터’ 타입의 객체를 담는다 기본적으로 읽기 전용 : listOf() 가변 List는 mutableListOf() : 변경 가능 var list = listOf('A') 에다가 list += 'B' 하면은 list : [A,B] 가 된다. 6번의 현상은 val newList = list + 'B'; list = newList 와 같다. 이렇게 혼동하지 않기 위해서 읽기전용 list는 val로 설정해준다. var..
AtomicKotlin _ 2(16 ~ 23) 객체 소개 2부를 공부하면서 list, set, map에 대해서 한번 더 생각해볼 수 있었다. 실무에서 list, set, map 모두 굉장히 많이 쓴다. 특히 list와 map은 항상 쓰이는데 2부를 공부하면서 몰랐던 사실들도 많이 알게되었다.(ex : 읽기전용은 왜 val 객체를 생성해야하는지!) 그 외에도 기본적인 용어들의 뜻을 한번 더 새길 수 있었고 var와 val의 힘을 느낄 수 있었다. 객체 지향 프로그래밍 언어에서 해결하려는 문제의 '명사'를 찾아내고 이 명사를 개체로 변환한다. 객체는 데이터를 저장하고 동작을 수행한다. 즉, 객체 지향 언어는 객체를 만들고 사용하는 언어다. 코틀린은 함수형 언어이기도 하다. 함수형 언어는 수행할 동작('동작')에 초점을 맞춘다. 코틀린은 객체 지향과 함수형을 혼합한..
AtomicKotlin _ 1.프로그래밍 기초 최근에 많은 생각을 했다. 결론은 나는 이제 Kotlin을 공부해서 Kotlin개발자가 될 계획이다. Java를 배우고 들어와서 나는 Java개발자야! 라는 선입견이 계속 있었다. 그래서 회사에서 Kotlin을 사용하는데도 불구하고, Kotlin공부보다 Java와 관련된 공부를 계속했다. 문득 그런생각이 들었다. Kotlin을 공부하면 회사에서도 업무를 하면서 공부가 되고, 회사에는 Kotlin고수가 많기 때문에 멘토까지 생기는데 왜 Kotlin공부를 따로 안하지? 오늘부터 Atomic Kotlin을 통해 제대로 Kotlin에 대해서 공부하겠다. 이 책을 고른 이유 1. 기초부터 설명해준다. (코틀린 완벽가이드보다 쉬워보인다.) 2. 각 장(아톰)끼리의 의존성이 낮아 필요한 내용을 찾아서 공부할 수 있다..
땅콩친구들 - 3 : ERD 설계 두번째 단계인 ERD 설계다. 부트캠프에서 팀 프로젝트를 할 때 ERD 설계를 해본 경험이 있다. 하지만 처음이었고 왜 하는지, 어떻게 해야하는 지도 몰랐다. 수료 후에 토이프로젝트를 할 때는 나 혼자 하는 프로젝트라 ERD를 작성하지 않고, 필요할 때마다 추가하고, 삭제하는 방식을 진행했었다. ERD 설계를 하는 이유 만들고자 하는 바를 명확하게 알 수 있다. entity를 만들 때 일관성 있는 기준이 된다. 시각화되어 이해하기 수월하다. 지금 다니고 있는 회사에서도 모든 의사소통이 ERD 기반으로 된다. 기획팀, 개발팀이 의사소통할 때, 가장 힘이 세고 중요시 된다. ERD를 설계하지 않고 필요할 때마다 수정하는 방식으로 개발하면 추후에 언젠가 테이블 사이의 관계가 꼬인다. 혼자 설계해보는 것도 처음..