일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- bytecode
- 개발
- 스프링
- BCI
- 데이터베이스
- java
- JPA
- 안드로이드
- 스프링부트
- 장고
- 스프링 부트
- HTTP
- node.js
- Spring
- 보안
- 파이썬3
- 파이썬
- 디자인 패턴
- ORM
- 자료구조
- rabbitmq
- db
- 웹 개발
- 자바
- python3
- 웹
- mysql
- Python
- Spring Boot
- django
- Today
- Total
목록자바 (23)
semtax의 개발 일지
도형 내부에 포함된 점을 찾는 알고리즘에 대한 내용입니다.
웹소켓 프로토콜 에 대해 공부한 내용 + 웹소켓 Handshake 과정을 직접 구현 해본 내용을 공유해봅니다.
개요 이번 포스팅에서는 JPA에서 @GeneratedValue 를 사용할때 주의할 점에 대해서 설명하도록 하겠다. 특히, 이번시간에는 주의할 점 중에서도 Batch Insert와 관련된 내용을 다루려고 한다. @GeneratedValue 값 생성 전략 @GenerateValue 는 일반적으로, PRIMARY 키의 기본값을 자동으로 생성할때 사용한다. 대략적으로, 아래와 같은 생성전략이 존재한다. 생성 전략 설명 GenerationType.IDENTITY 데이터베이스에 키 생성방법을 위임 GenerationType.AUTO 각 데이터베이스 방언에 따라 자동으로 지정(기본 값) GenerationType.TABLE GenerationType.SEQUENCE 데이터베이스의 시퀸스를 이..
개요 이번 포스팅에서는, javax.xml.Parsers.DocumentBuilder 에서 UTF-8로 인코딩된 XML 파일을 파싱하는 법에 대해 알아보도록 하겠습니다. 일단 그냥 파싱해보자 먼저 DocumentBuilder 를 이용해서 UTF-8로 인코딩 된 XML 파일을 파싱 해봅시다. String path = "./example1.xml" File xmlFile = new File(path); DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); Document do..
개요 이번에는, 아키텍처 패턴 중 하나인 브로커 패턴에 대해서 알아보도록 하겠습니다. 왜 나오게 됬는가? 브로커 패턴은, 서로 다른 기종의 머신에 분산되어있는 서비스(객체 혹은 컴포넌트)간에 어떻게 협력을 잘 할지 고민하다 나온 패턴입니다. 따라서, 분산 시스템이나 RPC를 구현할때 사용되는 패턴에 많이 사용됩니다. 문제 상황 먼저 한가지 상황을 가정 해봅시다. 당신이 만약에, 대기업에서 IoT 기반의 스마트 홈 네트워크 시스템을 구축한다고 가정합시다. 그런데, 같이 참여하는 업체가 10개가 넘어가는데다, 임베디드 장비들이 전부 CPU 기종이 다르고 프로토콜도 제멋대로인 상황에 처하였습니다. 더 황당한것은, 임베디드 장비들이 교체되는 일도 빈번하고, 그에 따라 연결되는..
개요 이번에는, 생성 패턴 중 하나인 싱글톤 패턴에 대해서 알아보도록 하겠습니다. 왜 나오게 됬는가? 싱글톤 패턴은, 여러 객체에서 데이터를 공유해서 써야하는데 단 1개만 생성해서 써야할때 어떻게 해야할까 라는 고민에서 나오게 된 패턴입니다. (OOP의 전역변수 라는 느낌으로 생각하시면 됩니다.) 주로, 여러곳에서 쓰이는 설정 정보나, 다른곳에서도 공통적으로 쓰이는 데이터베이스 설정 객체와 같은 정보들을 공유할 때 사용되게 됩니다. 문제 상황 먼저 아래의 상황을 한번 가정 해봅시다. 당신이 앱을 개발한다고 가정을 해봅시다. 그런데, 앱에 있는 여러 클래스에서 앱에서 전역으로 쓰이는 설정정보를 읽고 써야하는 상황이 닥쳤습니다. 이럴때 당신은 어떻게 하겠습니까? 위와 같은..
개요 이번 포스팅에서는, 생성 패턴 중에 하나인 빌더패턴에 대해 알아보도록 하겠습니다. 왜 나오게 됬는가? 이 패턴같은 경우, 복잡한 객체를 생성할때 초기화를 단계별(step-by-step)로 해야 할 때, 어떻게 깔끔하게 코드를 작성할 수 있을까를 고민하다 나온 패턴입니다. 대표적인 예로 자동차 조립, 피자 만들기가 있습니다. 이제 실제 예제로 어떤 문제가 있는지 알아보도록 합시다. 문제 상황 먼저 피자 라는 객체를 만든다고 가정을 해봅시다. 피자에는, 올리브 토핑도 들어 갈 수 있고, 페퍼로니 토핑도 들어 갈 수 있고, 피망, 채소도 들어갈 수 있고 고기도 들어갈 수 있습니다. 하지만, 저 재료들을 무조건 넣어야 되는게 아니고, 선택적으로 넣을 수 있습니다. ..
개요 이번 포스팅에서는, 안드로이드에서 String.format을 쓸 때, 발생했던 문제점을 정리해보고자 한다. 문제점 보통, 특정 서식으로 이루어진 문자열을 만들때, 자바와 같은 경우 String.format 메서드를 써서 포매팅을 수행하게 된다. 하지만, 안드로이드에서는, String.format를 이용해서 부동소수점을 문자열 포맷팅 할때, 일부 디바이스에서 문제가 발생하게 된다. 대략적으로 아래와 같은 예외가 발생하게 된다. Fatal Exception: java.lang.NullPointerException Attempt to get length of null array java.util.Formatter$FormatSpecifier.addZeros (Formatter.java:3505) java..