삼프로 참조

 

epam - software
bac - 은행
nvda - gpu
ihi - 의료기기
driv - 자율주행, 전기차 etf

'일상 > 자산관리' 카테고리의 다른 글

달러를 이용한 자산관리(홍춘욱)  (0) 2021.07.29
Posted by 커다란꼬꼬마

1. 무주택 현금 보유중인 분들에게 달러예금 추천 
2. 달러 환율 지난 13년동안 1년에 200원 이상 올랐던적이 평균 5번 (환차익20%)
3. 예측은 힘들다(현재 저점은 아님) 떨어질 수 도 있음 그래서 적립식으로 해라_환율 1200원 밑이면 감사합니다 하고 사도 된다 (홍박사)
4. 쫄보들이여 경매를 해라
5. 쫄아서 경매는? 안하고 미분양 아파트 샀음 (홍박사)
6. 환율이 오르면 제일 싼거 하나 잡아서 사자 (자산)
7. 안될 부류는 뭘해도 안된다 
8. 환율이 올라가면 수출기업은 호황 
9. 불황이 왔을 때 사야할 주식이 뭘까 고민하고 미리 계획 해야함 
10. 예금하고, 전세살고 대출 갚는 분들은 인플레를 견디기 힘들기 때문에 하면 안된다

'일상 > 자산관리' 카테고리의 다른 글

2021년 하반기 미국주식  (0) 2021.07.29
Posted by 커다란꼬꼬마

나무와 숲을 모두 보는 것이 중요하다.

나의 개발 스승님께서 말씀하시길, 개발자는 모든걸 잘해야한다.

문서도 잘써야하고

개발도 잘해야하고

쿼리도 잘짜야하고

회사생활도 잘해야한다.

 

개발을 잘하기위해서는 해당 시스템이 어떻게 구성되었는지 파악을 해야한다.

우리가 개발하는 시스템이 어떤 아키텍처를 가지고 있고, 고객이 보는 화면을 어떻게 나오고 캐쉬는 어떤 시스템을 이용하고 back-.end 시스템은 어떻게 구성되어있고, 다른 시스템과 통신할때는 어떤 통신규약을 사용하고, 메시지를 전달할때 메시지큐는 어떤걸 사용하고, 서로간의 통신에 병목지점이 있으면 고객의 요청에 빠른 응답을 주기위해서 어떤 전략을 가져가야하는지 등등을 알아야한다.

 

또한, 메시지큐중에서도 카프카를 예로 들면 몇건의 데이터를 처리하기위해서는 카프카를 클러스터링 구조로 가져가고 DB구조는 어떻게 가져가면서도 하나의 DB가 죽으면 다른 DB로 빨리 회복하여 전체 비즈니스가 원할하게 적용되는지 등등을 알아야한다.

 

이러한 시스템을 잘 알고있을때, 선착순이벤트처럼 고객의 유입이 순간적으로 폭증할것으로 예상될때, 클라우드 기술을 활용하여 오토스케일링을 하여 고객의 서비스를 잘 받고, 이벤트이후에는 다시 ec2를 반환하여 고객의 서비스도 원할하게하지만, 비용적으로도 save할수있는 이런 시스템을 이해하고 구축하거나 구축되어있는 시스템을 가지고 놀고싶다.

 

위와 같은 목표에 도움이 될까싶어서, 최근에 나온 https://book.naver.com/bookdb/price.nhn?bid=20568444 

 

개발자에서 아키텍트로

개발자에서 아키텍트로 거듭나기! 초보 아키텍트를 위한 실전 입문서이 책은 개발자에서 아키텍트로, 변화의 첫걸음을 내딛는 이를 위한 실전 입문서다. 설계를 위한 필수 지식, 아키텍처 패턴,

book.naver.com

책을 구매해서 읽기 시작하였다. 아직은 조금밖에 안읽었지만, 이전에 나프다에서 가끔나오신 전 바풀CTO님이 번역을 잘 해주셔서 글이 잘 읽힌다. 새로운 영역이지만, 꾸준히 반복해서 읽다보면 조금이나마 성장할 수 있을거다.

 

Posted by 커다란꼬꼬마

https://woowacourse.github.io/javable/post/2020-07-17-Functional-Interface/

 

Functional Interface란

Java8부터 함수형 프로그래밍을 지원한다. 함수를 일급객체처럼 다룰 수 있게 제공하는 Functional Interface에 대해 알아볼 것이다. Functional Interface란? 단 하나의 추상 메서드를 가지는 인터페이스. - J

woowacourse.github.io

https://codechacha.com/ko/java8-functional-interface/

 

Java8 - 함수형 인터페이스(Functional Interface) 이해하기

함수형 인터페이스는 1개의 추상 메소드를 갖고 있는 인터페이스를 말합니다. Single Abstract Method(SAM)라고 불리기도 합니다. 함수형 인터페이스를 사용하는 이유는 자바의 람다식은 함수형 인터페

codechacha.com

 

https://javaplant.tistory.com/32

 

JAVA8 Lambda 람다는 @FunctionalInterface의 구현체이다.

JAVA8 Lambda람다는 @FunctionalInterface의 구현체이다. JAVA7이 나온지 약 10년만에 JAVA8이 나왔다. JAVA8에서의 다양한 변화중 가장큰 변화는 Lambda표현식을 통한 Funtional Programming (함수형 프로그래밍..

javaplant.tistory.com

 

 

'개발 > Java8' 카테고리의 다른 글

#3 Optional  (0) 2021.06.08
#2 final, 람다  (0) 2021.05.31
#1 Java8을 학습하는 이유  (0) 2021.05.24
Posted by 커다란꼬꼬마

2021. 6. 8. 01:29 개발/Java8

#3 Optional

https://daddyprogrammer.org/post/1988/java-optional/

 

Java Optional 사용법 - 아빠프로그래머의 좌충우돌 개발하기!

Java8에서 도입된 Optional에 대하여 살펴보겠습니다. Optional class의 목적은 null 참조 대신 Optional value로 표현되는 형식의 솔루션을 제공하는 것입니다. 즉 이전 버전까지의 Java의 고질적인 문제였던

daddyprogrammer.org

 

http://homoefficio.github.io/2019/10/03/Java-Optional-%EB%B0%94%EB%A5%B4%EA%B2%8C-%EC%93%B0%EA%B8%B0/

 

Java Optional 바르게 쓰기

Java Optional 바르게 쓰기Brian Goetz는 스택오버플로우에서 Optional을 만든 의도에 대해 다음과 같이 말했다. … it was not to be a general purpose Maybe type, as much as many people would have liked us to do so. Our intention w

homoefficio.github.io

 

https://sungminhong.github.io/java/optional/

 

[JAVA] Optional을 필드에서 몰아내자!

글을 쓰게 된 이유 회사에서 코드리뷰를 하면서 Optional 사용법에 관한 논의가 있었습니다. :flushed: 기록을 위해 쓰면서도 혹시 도움이 되실 분이 있을까 해서 공개로 포스팅했습니다.

sungminhong.github.io

 

 

'개발 > Java8' 카테고리의 다른 글

#4 FunctionalInterface  (0) 2021.06.08
#2 final, 람다  (0) 2021.05.31
#1 Java8을 학습하는 이유  (0) 2021.05.24
Posted by 커다란꼬꼬마

2021. 6. 6. 20:00 개발/Kotlin

#1 참고

https://www.youtube.com/watch?v=bhI1hMOcT-4

Posted by 커다란꼬꼬마

2021. 6. 6. 19:58 개발/JVM

#1 참고

서블릿 리스너

  •  웹 어플리케이션에서 발생하는 주요 이벤트를 감지하고 각 이벤트에 특별한 작업이 필요한 경우에 사용할수 있다.

      - 서블릿 컨텍스트 수준의 이벤트

         - 컨텍스트 라이프사이클 이벤트

         - 컨텍스트 애트리뷰트 변경 이벤트

      - 세션 수준의 이벤트

         - 세션 라이프사이클 이벤트

         - 세션 애트리뷰트 변경 이벤트

 

서블릿 필터

- 들어온 요청을 서블릿으로 보내고, 또 서블릿이 작성한 응답을 클라이언트로 보내기 전에 특별한 처리가 필요한 경우에 사용할 수 있다.

- 체인 형태의 구조

시나리오.

1. tomcat start

2. localhost:8080

3. localhost:8080/hello

4. localhost:8080/hello -> init 없이 바로 doGet 호출됨

5. tomcat stop

5. Listener init -> Filter init -> Servelet init -> Servelet destory -> Filter destory -> Listener destory 확인

 

1
2
3
4
5
6
7
8
9
10
11
12
13
Connected to server
Context Initialized
Filter init
Servlet init
Filter
doGet
Filter
doGet
Servlet destroy
Filter Destroy
context destroyed
Disconnected from server
 
cs

 

느낀점

대학생때 

https://book.naver.com/bookdb/book_detail.nhn?bid=7082715 

 

쉽게 따라하는 자바웹개발

자바 웹 개발에 처음 뛰어들어 어려움을 느끼는 개발자가 쉽게 학습할 수 있도록 직접 만든 프로젝트로 설명을 한다. 이를 분석하고, 여러 기능을 추가하면서 이클립스, 메이븐, 스프링, 아이바

book.naver.com

이 책을 본적이 있었다.  Servlet이 이때는 무엇인지 모르고 그냥 책에 나온대로 따라했는데, 저런 과정을 쉽게해주는 Spring 프레임워크를 알게되었고, 정확하게 Servlet이 어떤거고, Servlet 컨테이너인 톰캣의 개념을 좀더 명확하게 알게되었다. xml의 설정들을 보고있으니, Spring Boot의 yml이나 properties의 편리함을 느꼈고, @Configure 를 통해서 java에서도 해당 설정들을 할수있는 세상에서 개발을 하는 환경에 감사함을 느꼈다.

 

Servlet쪽을 보니, 그럼 톰캣에서는 어떤 방식으로 해당 작업들을 처리하는지 내부가 궁금해졌고, 

https://book.naver.com/bookdb/book_detail.nhn?bid=1510071 

 

톰캣 최종분석

톰캣의 사용방법만을 간단히 설명한 여느 책들과는 달리, 톰캣의 작동원리를 체계적으로 설명하는 책이다. 서블릿/JSP 규약의 사실상의 표준 참조 구현체이자 오픈소스 제품인 톰캣 자체를 교재

book.naver.com

이 책에 대해서 사놓고 앞에만 조금 봤는데, 학습에 대해서 동기부여가 생겼다.

 

이전에는 그냥 따라하면서 강의를 보았는데, 개발에도 메타인지(안다와 알지 못한다)가 생겨, 하나둘씩 찾아보면서 다시 강의를 보니 기초강의라고 생각했던 강의가 사실 기본강의였다. 기본은 항상 중요하다.

 

위에 배운 filter, listner, servlet을 통해서 뷰로 뿌려줄때 어떤 뷰를 어떻게 찾아가서 보여줄것인가? 서버가 뜰때 db와의 연결을 언제맺고 언제 끊을 것인가?, 세션관리는 어떻게 할것인가? i18n의 원리는 무엇인가? 단순히 controller가 클라이언트의 요청을 받아서 db조회해서 view로 뿌려주는게 아닌 내부의 원리를 공부하니 재미있다.

 

수학을 공부하면서도 많이느꼈지만, 현재에는 상식 혹은 간단하다고 생각하는 사실들이 수많은 위인들이 삽질한 결과이고 우리는 이것을 당연하게 받아서 쓰지만, 십몇년 사이에 발전하는 속도를 보면 그루분들이 대단하다고 느꼈다.

 

https://github.com/JKKorea/jkStudy/tree/master/java-servlet-demo

 

JKKorea/jkStudy

Contribute to JKKorea/jkStudy development by creating an account on GitHub.

github.com

 

참조

백기선님의 inflearn 강의(https://www.inflearn.com/course/%EC%9B%B9-mvc)

Posted by 커다란꼬꼬마

2021. 5. 31. 00:52 개발/Java8

#2 final, 람다

람다 표현식에서 변수를 변경하는 작업은 스레드에 안전하지 않다.

 

final을 쓰면 side effect를 줄일수 있다.변경되지 않기때문에?

 

P. 107람다에서 참고하는 지역변수는 final로 선언되거나 실질적으로 final처럼 취급되어야한다.

 

해당 내용을 찾아보다가, 아래의 글을 보게 되었다.https://www.slipp.net/questions/278

 

anonymous inner class는 final 변수에만 접근해야 하는 이유는?

오늘 자바 8에 추가된 람다와 관련한 내용을 읽다가 다음과 같이 내용이 있어 궁금증이 생겼다. 람다 표현식에서 변수를 변경하는 작업은 스레드에 안전하지 않다. - 가장 빨리 만나는 자바8 28페

www.slipp.net

2014년에 나온 이야기인데, 토비님도 이야기를 하고있어서 신기했고, 단순하다고 생각했던 final 키워드에 대해서 여러가지 의미가 있음을 알게 되었다.

 

위의 글에 이해가 안되었던 부분은

디컴파일러를 이용해서 람다, final이 어떤 방식으로 구현되었는지 역추적하는 부분이었다.

 

나의 이해 정리

final 변수 -> 변경되지 않는다.

멀티 쓰레딩 환경에서 여러 쓰레드가 처리를 할때 변경되지 않는 값이라 안전하게 사용할수 있다.

side effect가 없다. (없다? 적다?)

 

실무에서 if문 대신 filter를 사용하자.

 

https://www.popit.kr/java8-stream%EC%9D%80-loop%EA%B0%80-%EC%95%84%EB%8B%88%EB%8B%A4/

 

Stream API 덕분에 데이터 처리 과정을 병렬화하면서 스레드와 락을 걱정할 필요가 없다.

 

부족함을 느껴서 재미있다.

 

'개발 > Java8' 카테고리의 다른 글

#4 FunctionalInterface  (0) 2021.06.08
#3 Optional  (0) 2021.06.08
#1 Java8을 학습하는 이유  (0) 2021.05.24
Posted by 커다란꼬꼬마

일을 하면서 stream을 사용하였고, 절차지향적인 언어를 stream을 사용해서 한줄로 작성된 코드를 읽기가 어색했다.

 

함수형 프로그래밍을 처음본것은 2017년쯤 Hadoop에서 데이터를 가져와서 spark, scala를 통해서 데이터를 가지고 놀때였던것 같다. 회사일에 대한 공부는 했지만, map, reduce를 써서, 데이터를 나눠서 동시에 처리하여 데이터 분석을 하였다. 그때는 http://www.postechx.kr/ko 에서 가입하여 강의도 듣고 그랬는데, 현재 들어가보니, 없어진것 같기도하고 MOOC로 변경된것 같기도 하다.

 

Java8을 이유는 회사일을 하면서 동시성을 제어해야하는 이슈가 있었다. 하나의 자원을 여러곳에서 사용하면서도 효율적으로 사용하는 것. Spring Boot와 Akka 라이브러리를 사용하여, Atomic 단위로 lock을 걸어 사용하는 부분도 있지만, 언어차원에서 해당 내용을 컨트롤 할수있다.(Akka에서 사용하는 동시성 제어와 Java8에서 사용하는 동시성 제어가 어느 레이어에서 차이점이 있고, 아니면 같은 역할을 하는지 좀더 공부후에 추후에 다뤄야겠다.)

 

또한, filter를 통해 if의 사용을 줄이려는 의도도 있다.

 

 

https://engineering.linecorp.com/ko/blog/functional-programing-language-and-line-game-cloud/

 

함수형 프로그래밍 언어에 대한 고찰 - LINE ENGINEERING

안녕하세요, LINE에서 게임 플랫폼을 개발하는 주니어 개발자 김부성, 이재호입니다. 저희는 LINE Game Cloud가 함수형 프로그래밍 언어 중 하나인 Clojure로 구현되어 있는 것을 보고 함수형 프로그래

engineering.linecorp.com

https://github.com/JKKorea/jkStudy/tree/master/java-8-study

 

JKKorea/jkStudy

Contribute to JKKorea/jkStudy development by creating an account on GitHub.

github.com

 

 

 

https://download.hanbit.co.kr/exam/2179/

'개발 > Java8' 카테고리의 다른 글

#4 FunctionalInterface  (0) 2021.06.08
#3 Optional  (0) 2021.06.08
#2 final, 람다  (0) 2021.05.31
Posted by 커다란꼬꼬마
이전버튼 1 2 3 4 5 이전버튼

블로그 이미지
커다란꼬꼬마

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

글 보관함