Monthly Archives: October 2017

스파크 – 새로운 자바 웹 프레임워크

http://sparkjava.com/

스프링의 어노테이션 범벅 구조에 좀 질려있는 상황에서

간단히 메서드 체인 형태로 구성할 수 있는 프레임워크가 나와서 조금 반갑다.

그레일즈와 비슷한 구조?

다른건 제대로 써본게 없어서 정확히 비교를 못 하겠다.

아직은 초기라서 많은 기능지원이 없을 것 같다. 직접구현해도 나쁠것은 없지만….

회사일을 하다보면 그게 쉽지 않으니

추가적인 것은 나중에 확인.

DevOps – CI/CD 시스템 구축

시스템 구성

  • 빌드, 컴파일, 유닛테스트
  • 배포 – 테스트환경 – 버전별로 분기해서 동작
    ex) ver 20171021, ver 20171106

두 버전이 동시에 돌아갈 수 있음.

latest사용 또는 특정버전 사용

  • health check

시나리오 테스트

Real서버배포 – aws, gcp 등 cloud환경 배포시 배포 완료 후 ssh daemon 종료. 접속불가. immutable. 삭제만 가능.

 

참고글

https://cloud.google.com/container-registry/

https://cloud.google.com/container-registry/docs/continuous-delivery

https://cloud.google.com/solutions/spinnaker-on-compute-engine

https://martinfowler.com/articles/continuousIntegration.html
https://martinfowler.com/bliki/ContinuousDelivery.html

요약정리는 읽어본 후

추가 다른글
https://trello.com/c/rOmLEI0u/9-%EB%A7%88%ED%8B%B4-%ED%8C%8C%EC%9A%B8%EB%9F%AC%EC%9D%98-is-design-dead

http://blog.naver.com/j6040148/120015111138

https://martinfowler.com/articles/designDead.html

https://www.gocd.org/2017/07/10/gocd-vs-spinnaker/

실리콘밸리 기업문화

인터넷 어디서 봤던거 메모

Facebook.
Eating your own dog food.

Apple.
“We can see around corner.” = 미래는 우리가 만들어서 보여주는 거지 묻는게 고객이나 사용자에게 질문하는 게 아니다.
Steve wants… Steve said…
극도의 장인정신을 가지고 제품과 서비스를 만들어서 이를 많은 사람들에게 제공함
실제 Apple 에서는 고객이 새로 제품을 받아서 처음으로 Unboxing 하는 경험을 굉장히 중요하게 여겨서 패키지의 재질과 박스를 여는 Task만을 하는 잡도 있다고 함

PIP(Perfomance Improvement Plan)라고 해서 3개월동안 구체적인 목표를 수치화해서 이를 달성하지 못하면 해고시킴

Babun – 윈도우10 터미널 작업 지원 툴

http://babun.github.io/

 

윈도우 7이나 이하버전에서도 가능한지는 모르겠다.

윈도우10에서 지원하는 우분투 설치기능같은거 그걸 이용하는건지 별도로 가상환경을 구성하는건지도 지금 모르겠다. 확인필요

cygwin인가를 사용하는 것 같기도 하고… 스쳐지나가며 본 것 같다

 

윈도우에서 git, ssh, scp 등등의 명령어를 쓰고싶을 때가 있다.

윈도우 커맨드라인의 도스명령은 성능이 떨어지기도 하고… 오래되서 잘 생각도 안나고

파워쉘 명령은 하나도 모르겠고

그럴 때 리눅스명령으로 터미널 작업을 할 수 있다는 점은 매력적이다.

 

윈도우와의 완벽한 호환성을 제공하진 못하지만 /c/Users/username/~~ 와 같은 형태로 접근도 가능하고

Users디렉토리는 윈도우즈의 User디렉토리와 별도의 경로를 사용한다.

 

쓰면서 좀 더 확인해보고 수정.

Error: WordPress pre 태그 오류

이 코드를 pre태그에 넣으면 오류발생

link=expr "$ls" : '.*-> \(.*\)$'

정확히 어느 부분이 오류포인트인지 정확히 모르겠는데 워드프레스에서 일부 코드가 escape되서 문자열을 실행코드로 인식하는게 아닌가 싶다.

퍼블릭 글쓰기 권한이 있는 워드프레스에서 해당코드를 활용하면 서버단의 php를 실행시키는 공격이 가능하지 않을까

Ubuntu 사용자 추가삭제

 

가끔 생각이 안날때가 있어서

 

Error : No thread-bound request found

 

DTO나 Static 메서드에서 파라미터로 받아오지 않는

쓰레드세이프하지 않게 만들어놓으면 발생하는 문제

(리퀘스트 홀더나 세션에 리퀘스트 관련 정보가 저장되어 있다거나)

HttpRequest에서 들어오는 파라미터 등은 쓰레드세이프하게 사용.

 

이번 오류는 DTO에 RequestContextHolder.currentRequestAttributes() 가 들어있어서 발생.

Mybatis로 DB의 값을 받아올 때 사용하는 DTO인데 RequestContextHolder를 사용한다.

일반적인 상황에서는문제가 없지만 Request가 생성되기 전에 Security 에서 DB를 호출하는 경우 문제가 생길 수 있다.

Filter의 앞단에서 아래같은걸 해주거나…

https://stackoverflow.com/questions/43404300/no-thread-bound-request-found

근데 뭐가 됐건 DTO에다가 Static 호출을 넣으면 안된다.

 

Error : SpringBoot Hibernate 버전충돌

SpringBoot 1.5.7에서 Hibernate 5.0.12 버전을 쓰는데

나는 Hibernate 버전 5.2.11을 사용

SpringBoot플러그인이 의존성을 지맘대로 들고와서 충돌을 일으킨다.

SpringBoot의 ext를 오버라이딩 해 줘야한다.

 

난 버전표시를 이렇게 쓰고 있는데

hibernate_version=5.2.11

스프링부트는 이렇게 쓰고 있다.

이걸 오버라이딩해야되니 한개 더 써준다.

hibernate.version=5.2.11