일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java
- 소켓
- 데이터베이스
- jdbc
- 게시판
- IO
- 네크워크
- mindmap
- 게시판 제작
- workspace
- 파일
- network
- Ecilpse
- 메소드
- 제안서
- 이클립스 설정
- vision document
- analysis
- Database
- srs
- FIle
- Eclipse
- System Requirement Specification
- 클래스
- 자바
- 설정
- sequence diagram
- custom Tag
- js꼬리
- jdk설치
- Today
- Total
목록분류 전체보기 (56)
공적's life
조직변경 2018년부터 통보(?) 연구소장님에게 받았던 조직변경이였다. 팀이 공중분해 되고 다른팀으로 바뀌고 같이 일했던 여러 사람들이 다른팀 혹은 다른 회사를 가면서 매너리즘에 빠져 있었다. 보통 이런경우 새로운일을 하면 극복되지만 현재 상태에서는 딱히 극복되지 않았을거다. 왜냐하면 조직변경된다고 해도 기술스택이 바뀌는것도 아니고 도메인이 크게 변경 되는게 아니기 때문이다. 다만 팀장님과 연구소장님이 나를 인정해주고 있다는 점에서 좋았다. 같이 하는 동료 2018년에 사내에서 미니 프로젝트를 하였다. 그때 인연으로 같이 스터디하고 정서적으로 교류하는 동료가 생겼다. 같이 세미나도 다니고 스터디도 하면서 그때 나자신도 많이 성장한거 같았다. 기술 토론에 대한 갈망이 있었는데 이것으로 많이 해결되기도 하였..
변경 가능성이 없는 객체에 대해서 사용함 만약에 변경 가능성이 있다면 ..immutable을 사용하면 안됨 layer로 다른 객체를 넘길때 해당 객체를 immutable로 넘기면 thread safe하게 넘길수 있음 변경 가능성이 없기 때문에 부작용이 없다.. modelmaaper와 같은 기능을 활용하면 예를 들어 DTO를 immutable로 만들고 Entity로 쉽게 변환도 가능하고 물론 해당 객체에 추가적인 변경이 필요하면 mutable로 넘기자~! Collections.Unmodifiable에 경우 해당 인터페이스를 상속하여 add remove와 메소드가 호출될때 예외를 던져서 처리하도록 구현 되어 있다. 직접 구현하지 말고 Collections.Unmodifiable을 활용하자~! 물론 immut..
리팩토링 - 정의 > 소프트웨어를 보다 쉽게 이해할수 있고, 적은 비용으로 수정할수 있도록 겉으로 보이는 동작의 변화 없이 내부 구조를 변경하는것 - 퍼포먼스 최적화 > 리팩토링과 반대되는 의미로 사용될수도 있다. 최적화를 위해서 코드의 가독성을 희생해야 할수도 있기 때문에 리엔지니어링?에 가까운거 같다. 언제 리팩토링 할까? 틈틈히! - 삼진 규칙 > 중복 된 코드가 3번 보일때 리팩토링 - 기능 추가 할때 > 왜냐면 좋은 디자인으로 작성된 코드는 기능을 추가하기 편하다. 하지만 그렇지 않은 상황에서는??? - 버그를 수정할때 - 코드리뷰를 할때 - 프로그램에 대한 작업을 어렵게 하는 이유는 .. • 읽기 어려운 프로그램은 수정하기 어렵다 • 중복된 로직을 가지고 있는 프로그램 수정하기 어렵다. • 실..
Spring boot에서 Entity를 테스트 하기 위해서는 아래와 같은 설정을 필요로 합니다. @RunWith(SpringRunner.class) @DataJpaTest@RunWith 이건 설명을 생략하고 @DataJpaTest 어노테이션에 대해서 간략히 설명하면 @Transactional @AutoConfigureCache @AutoConfigureDataJpa @AutoConfigureTestDatabase @AutoConfigureTestEntityManager@DataJpaTest은 어노테이션을 가지고 있습니다. AutoConfigure가 붙어 있는 어노테이션은 "META-INF/spring.factories" 에서 클래스를 가져와서 생성됩니다. @AutoConfigureDataJpa 이 어노테..
JPA - Persistence Context org.hibernate.Session API와 javax.persistence.EntityManager API 둘다 persistent data 즉 우리말로 번역하면 매우 어색한 영속성 데이터를 처리하기 위해서 존재한다. 이런 개념을 Persistence Context라고 한다. 해당 Context는 아래와 같은 4가지 상태를 갖는다. transient 비영속 이라고 번역 된다. 방금 인스턴스화되어서 Persistence Context와는 관계가 없고 식별자 또한 없다. managed, or persistent 영속 이라고 번역 된다. 엔티티가 Persistence Context에 저장되고 관리도고 있는 상태이고 식별자도 존재함. 하지만 데이터베이스 물리적..
js꼬리표란? 브라우저는 js를 호출할때 캐쉬를 합니다. URL 기준으로 예를 들어서 /test.js를 호출하면 다음에 같은 URL이 호출되면 서버에서 가져오는것이 아니라 로컬에서 가져오게 됩니다. 그럼 조금더 속도가 빨라지겠네요? 이런 장점도 있는 반면에 단점도 있습니다. 위 js가 내용이 바뀐다면 ?? 바뀐 내용이 아닌 기존 js가 로컬에서 호출 되기 때문에 문제가 생깁니다. 사용자 마다 다르게 동작하는 단점이 생기게 됩니다. 이것을 회피 하기 위해서 test.js?123222 이런식으로 임의이 값을 써주게 됩니다. 이렇게 하면 브라우저는 URL기반으로 캐쉬하기 때문에 캐쉬를 피할수 있습니다. 하지만 수많은 js에 저렇게 많은 임의값을 붙이기 위해서는 노가다가 필요하겠죠? 그래서 생각해낸것이 바로 c..
아무래도 모바일 브라우저 특성상 팝업을 쓰기 굉장히 까다롭습니다. 왜냐하면 마우스와 달리 터치되는 영역이 넓기때문입니다. 그렇기 때문에 브라우저에서 제공하는 팝업이 아닌 이상 레이어팝업을 띄울때 뒷에 부분이 같이 눌리기도 합니다. 실제로 동작하시는 않겠지만 눌리는 것처럼 보일때 간단하게 css를 사용해서 눌리지 않는것 처럼 보일수 있습니다.. -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 이게 그 css이고 동작하지 않게 보이는 영역 밑에 있는 모든 것에 걸어 주시면 됩니다. 예를 들어서서 body 밑에 전부다 body * {-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}이런식으로 사용하시면 됩니다.
gmail에서 파일 다운로드 할때 그냥 드래그앤 드랍 바탕화면에 갖다가 놓으면 자동으로 파일이 다운로드 됩니다. 이것이 신기해서 한번 찾아보았고 이렇게 구현 하면 됩니다. 어려울거 같지만 어렵지도 않습니다. 그럼 첫번째 step var file = document.getElementById("dragout"); file.addEventListener("dragstart",function(evt){ evt.dataTransfer.setData("DownloadURL",fileDetails); },false); 이 예제를 보시면 바로 감이 오실겁니다. 먼저 dom으로 객체를 찾고 그 객체에 이벤트를 줍니다 드래그가 시작 되었을때 다운로드 URL을 주는겁니다. 그다음 Font file 태그는 이런식으로 선언하..
전에 복사한것을 다시 붙여 넣고 싶은데 이미 다른것을 복사해서 지워져서 그것을 다시 찾아서 복사 해야하는 불편함이 있습니다. 이 툴을 사용하면 히스토리가 남기 때문에 그것을 찾아서 복사하면 됩니다. 리스트가 팝업창으로 떠서 그것을 선택하면 바로 붙여넣기를 할수 있죠. 단순한 작업 노가다를 줄여주는 편리한 툴이죠. 여기에서 받으시면 됩니다. 단축키도 맘대로 정할수 있어서 편하게 사용할 수있습니다. http://bluemars.org/clipx/
행정안전부에서 게시한 개발보안 가이드입니다.첨부파일에 C나 JAVA 그리고 안드로이드까지 들어있네요.잘못된 코딩방식과 잘된 코딩방식 두가지가 나와있어서 보기도 편하고 알기도 쉽네요그럼 첨부파일도 첨부해서 올려드리겠습니다. 아래는 게시물 제목: 정보시스템 SW 개발보안(시큐어 코딩) 가이드 행정기관등이 안전한 소프트웨어를 개발하여 각종 사이버위협으로부터 예방∙대응코자 함 정보시스템 개발시 보안성을 고려하고 보안취약점을 사전에 제거하기 위한『정보시스템 소프트웨어 개발보안 가이드』를 게시하오니 적극 활용하시기 바랍니다. ㅇ 가이드 내역 - 정보시스템 소프트웨어 개발보안 가이드(종합) - 언어별 시큐어 코딩 가이드(JAVA, C, 모바일언어 등) ㅇ 활용 : 행정ㆍ공공기관 정보시스템 개발ㆍ운영 담당자, 개발자 ..