개요 스택은 LIFO형의 자료구조 입니다. 나중에 들어간게 먼저 나오는 티슈같은 형태 입니다. 자바는 스택을 따로 구현하지 않아도 스택을 구현 해놓은 클래스가 있습니다. 사용법을 알아보겠습니다. import java.util.Stack; public class StackTest { public static void main(String[] args) { Stack st = new Stack(); st.push("14"); st.push("+"); System.out.println(st.peek()); System.out.println(st); System.out.println(st.pop()); System.out.println(st); } } 결과 + [14, +] + [14] .peek()을 하면 가..
spring boot dataSource or dataSourceClassName or jdbcUrl is required. 이 에러 나는 경우 Caused by: java.lang.IllegalArgumentException: dataSource or dataSourceClassName or jdbcUrl is required.at com.zaxxer.hikari.HikariConfig.validate(HikariConfig.java:1063)at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:109)at net.sf.log4jdbc.sql.jdbcapi.DataSourceSpy.getConnection(DataSource..
자바 스트링 빌더 java string builder public class StringBuilderTest { @Test public void name() { String name = "kyeongork"; String hello = new StringBuilder(" hello").append(name).toString(); System.out.println(hello); } } 결과 kyeongrok hello 자바로 string을 연결해서 쓰려면 " " + " name:" + 이런식으로 +를 자꾸 써야하고 몇개 연결하면 길게 썼을 경우 가독성이 떨어질 수 있습니다. node나 python처럼 이쁘게 쓸 수 있는 방법은 아직 자바에는 없지만 그나마 덜 헷갈리게 만들 수는 있습니다. 1~2개는 그냥..
users 테이블 생성 public void createTable() throws SQLException, ClassNotFoundException { Connection c = connectionMaker.getConnection(); Statement stmt = c.createStatement(); String sql = "CREATE TABLE IF NOT EXISTS users (\n" + " id VARCHAR(45) NOT NULL,\n" + " name VARCHAR(45) NOT NULL,\n" + " password VARCHAR(45)\n" + ");"; stmt.execute(sql); } JdbcTemplate을 이용해 Table생성하기 public int createTable()..
java Cache Algorithm(캐시 알고리즘) 캐싱은 데이터를 메모리 등 저장 해놓았다가 빼서 쓰는게 캐싱이다.주로 select를 많이 해야 하는 경우, 많이 타는 로직에서 캐싱을 쓴다.자바 코드에서 캐싱 로직을 둔다고 하면 Map에 넣을 수도 있고 List에 넣을 수 있을 것이다. 미국에서는 캐시 대체 알고리즘(cache replacement algorithms) 또는 캐시 대체 정책(cache replacement policies) 등으로 부른다. 캐싱 알고리즘을 어떤 것을 쓰는지에 따라서 성능이 천차만별이고 상황에 따라서 써야 하는게 다르다.일단은 캐싱의 종류에 대해서 알아보자.1.Bélády's algorithm2.First in first out (FIFO)3.Last in first o..
1.JsonNode로 만들기1234String rawJson = new String(byteBuffer.array(), "UTF-8");ObjectMapper objectMapper = new ObjectMapper(); JsonNode node = objectMapper.readTree(rawJson);cs ObjectMapper의 .readTree()를 사용한다. 2.java jackson을 이용해 json을 pojo로 바꾸기 123456789101112131415161718192021import com.fasterxml.jackson.core.JsonParser;import com.fasterxml.jackson.databind.DeserializationFeature;import com.faste..
Java8 Optional이란? 많은 존재 이유가 있지만 if(obj == null){}else{} 이 코드를 한줄로 깔끔하게 처리하기 위해 존재한다. 이걸 깔끔하게 처리 했을 때 functional programming에서 코드를 이쁘게 짤 수 있다. Optional optHello = Optional.ofNullable("hello"); System.out.println(optHello); Optional optNull = Optional.ofNullable(null); System.out.println(optNull);결과 Optional[hello] Optional.empty코드1 @Test public void optionalTest() { Optional opt = Optional.empty(..
파일에서 String읽어오기, String[]으로 읽어오기1234567891011121314public class FileStringGetter { public String getString(String location) throws IOException { byte[] data = Files.readAllBytes(Paths.get(location)); String dataString = new String(data); return dataString; } public String[] getLines(String location) throws IOException { String str = getString(location); String[] lines = str.split(System.getPrope..
12for (int i = 0; i
구아바의 Concurrency중에 AbstractService라는게 있는데 일단 Concurrency(컨커런시)는 뭔가 계속 떠있는 것을 의미한 스프링 앱을 만들어서 서버에 올린다는 것은 올린 스프링앱이 죽지않고 서버에 계속 떠있으면서 24/7로 죽지 않고 뭔가를 계속 하도록 만들기 위해서이다.이를테면 사용자의 api request를 받는다던지, 1초에 한번씩 db에 select를 날려서 변경을 감지한다던지 등 주로 이런 작업이다. 그럴려면 뭔가 띄워야 하는데 대체로 자바에서는 Thread를 띄운다. 그런데 이 Thread를 좀 더 관리하기 쉽게 띄울려면 구아바의 AbstractService를 사용한다. 컨커런시(Concurrency)는 구글에 찾아보면 패러럴(Paraller)하고 비교하는게 나오는데 아..
- Total
- Today
- Yesterday
- 도커각티슈박스
- 개발자
- docker container whale
- shellscript
- 싱가폴
- 도커티슈박스
- 2017 티스토리 결산
- Linux
- 도커컨테이너
- docker container case
- Sh
- docker container tissue
- 도커티슈케이스
- vim
- 도커각티슈케이스
- 이직
- docker container tissue box
- docker container
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |