달력

92018  이전 다음

  • 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

리눅스 서버에 시간이 안맞으면, DB의 등록시간도 달라진다.

 

그렇기 위해 동기화 또는 직접 설정이 필요하다.

 

 

리눅스 서버시간 확인하기

 

# date

 

 

리눅스 서버시간 동기화 (time.bora.net 사이트의 있는 시간으로 동기화한다.)

 

#rdate -s time.bora.net

 

 

임의로 시간변경 (인터넷이 안되는 상황이라면 동기화가 불가능하므로 직접 입력할 수 있다.)

 

#date -s hh:mm:cc  (시:분:초)

ex) date -s 09:30:24

[오전 9시30분24초]

Posted by 푸른길땡
|

리눅스에 설치된 오라클 접속하기 및 버전 리스너 올리기

 

sysdba를 접속해 데이터베이스 시작하기

 

[root@localhost /]$ su - oracle

[root@localhost:ora11g:/home/oracle]$ sqlplus /nolog

SQL> connect / as sysdba

SQL> startup   

 

 

 

데이터베이스를 종료하려면

SQL> shutdown

 

 

 

다른방법 접속방법(추천)

[root@localhost /]$ su - oracle

[root@localhost:ora11g:/home/oracle]$ sqlplus "/as sysdba"

SQL> startup

 

 

마찬가지로 데이터베이스를 종료하려면

SQL> shutdown

 

 

 

SQL문을 이용한 오라클버전 확인하기

 

오라클 버전을 알아내는 쿼리문을 보내봅니다.

 

SQL> SELCT * FROM v$version;

 

 

 

 

오라클 사용자로 접속하기

 

사용자가 아래와같은경우 접속하는 방법

 

USER : GILDDAENG

PASS : testpass

SID(Service NAme) : orcl 

 

[root@localhost:ora11g:/home/oracle]$ sqlplus /nolog

SQL> connect GILDDAENG/testpass@orcl

 

다른방법은

 

[root@localhost:ora11g:/home/oracle]$ sqlplus GILDDAENG/testpass@orcl

 

접속이 되었으면 테이블을 보는 쿼리문을 날려봅니다.

 

SQL> select * from tab;

 

 

오라클 리스너 올리기

 

외부에서 접속하려면 리스너를 올려야하는데 그 방법은 아래와 같습니다.

 

[root@localhost /]$ su - oracle

[root@localhost:ora11g:/home/oracle]$ lsnrctl start

 

 

반대로 리스너를 중지하려면

 

[root@localhost /]$ su - oracle

[root@localhost:ora11g:/home/oracle]$ lsnrctl stop

 

 

 

 

Posted by 푸른길땡
|

19일차 - 쌀식빵, 브리오슈

 

 

 

쌀식빵 배합표

 

①반죽

 

 재료

무게(g) 

 1

 강력분

 910

 2

 쌀가루

 390

 3

 물

 818

 4

 생이스트

 52

 5

 소금

 22

 6

 설탕

 90

 7

 쇼트닝

 64

 8

 탈지분유

 52

 9

 제빵개량제

 26 

윗불/아랫불/시간 : 170/180/30

 

'일상 > 제빵' 카테고리의 다른 글

제빵학원(18.08.28) - 밤식빵  (0) 2018.08.29
Posted by 푸른길땡
|

쿼리문에서 sort로 정렬됐음에도 불구하고 LIST 맵에 담았을때 순서가 뒤죽박죽일 경우가 있다.

Map에는 순서가 없어 뒤죽박죽으로 나오는경우가 생긴다고 한다.

여기에서 한가지 알아둬야 하는것은 Treemap으로 정렬은 key값으로만 자동정렬 가능하다.

즉, Value(값)으로는 정렬이 안된다.


​Value값으로 정렬은 Collections.sort 를 이용해 비교하여 정렬해봤다.

아래 부분이 쿼리에서는 sort가 정확히 되어지지만 map에 담았을 경우에는 순서가 뒤죽박죽이 되었다.

List<Map<String, Object>> articleList = articleService.list(params);

그래서 정렬하기 위한 Collections.sort 를 하였다.

//쿼리에서 가져온 articleList의 값을 다시 정렬

Collections.sort(articleList, orderSort);

//정렬하기 위한 orderSort 부분

private final static Comparator<Map<String,Object>> orderSort = new Comparator<Map<String,Object>>() {
        private final Collator collator = Collator.getInstance();
        @Override
        public int compare(Map<String, Object> values1, Map<String, Object> values2) {
       return collator.compare(String.valueOf(values1.get("num")),  String.valueOf(values2.get("num")));
        }
    };

위와같이 저렇게 하면 비교가 된다.

하지만, ​

Collections.sort 는 String값만 비교할 수 있으므로,

num끼리 비교할때 문제가 생기게 되었다.

​1부터 15의 num 순서를 정렬해야 한다면

String으로 비교하니 순서가

​1,10,11,12,13,14,15,2,3,4,5,6,7,8,9

이렇게 나오게 되었다.

내가 정렬하고 싶었던건 num의 값이 1부터 15까지 순서대로 나오는거였는데...

그래서 고민결과,

String인 값 앞부분에  "0"을 붙여주기로 하였다.


01,02,03,04,05,06,07,08,09,010,011,012,013,014,015 로 비교하면 제대로 나올테니..

String 숫자비교때문에 수정한 소스 내용

//정렬하기 위한 orderSort 부분

private final static Comparator<Map<String,Object>> orderSort = new Comparator<Map<String,Object>>() {
        private final Collator collator = Collator.getInstance();
        @Override
        public int compare(Map<String, Object> values1, Map<String, Object> values2) {
       String str = String.format("%03d", Integer.parseInt(String.valueOf(values1.get("num"))));
       String str1 = String.format("%03d", Integer.parseInt(String.valueOf(values2.get("num"))));
            return collator.compare(str,  str1);
        }
    };

포맷팅에서 %3d는 3자리, %2d 2자리 라고 한다. 난 3자리로 만들꺼니까 %3d로 변경해서 서로 비교하니

값이 제대로 1부터 15까지 정렬되서 잘 나왔다.

해당부분은 검색하면 사람들이 올려놓은 블로그에 잘 나왔는데, 혹여나 게시판을 만들다 저와같은 상황이 나타날수도 있는 분들을 위해 다시 정리해봤다.

 

Posted by 푸른길땡
|

잘되던 프로그램이 갑자기 안되어서 로그를 확인해보니

 

org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [72000]; error code [1653]; ORA-01653: GW5_OFFICE.ZT_MAIL_SEND_RECIPIENT 테이블을 128(으)로 GW5_DATA 테이블스페이스에서 확장할 수 없습니다
; nested exception is java.sql.BatchUpdateException: ORA-01653: GW5_OFFICE.ZT_MAIL_SEND_RECIPIENT 테이블을 128(으)로 GW5_DATA 테이블스페이스에서 확장할 수 없습니다

위의 로그가 보였다.

테이블 스페이스에서 확장할 수 없습니다.

우선 테이블스페이스 용량을 확인하는 쿼리를 실행했다.

테이블 스페이스 확인법

select * from DBA_DATA_FILES;

확인쿼리

SELECT
df.file_name "파일명",
df.tablespace_name "테이블 스페이스명",
TO_CHAR( (df.bytes / 1024),'999,990,999') "총 (Kb)",
TO_CHAR( (((df.bytes - Sum ( Nvl(fs.bytes,0)))) / 1024),'999,990,999') "사용(Kb)",
TO_CHAR( (( sum( Nvl(fs.bytes,0))) / 1024),'999,990,999') "가용(Kb)",
TRUNC( ((Sum (Nvl(fs.bytes,0)) / (df.bytes)) * 100),2) "가용 %"
FROM DBA_FREE_SPACE fs, DBA_DATA_FILES df
WHERE fs.file_id(+) = df.file_id
GROUP BY df.tablespace_name, df.file_name, df.bytes
ORDER BY df.tablespace_name;

확인결과,

가용%가 0%가 되어있었다.​

테이블 스페이스용량 늘리기! 자동으로 늘어나게끔!!

용량 늘리기쿼리문

ALTER DATABASE DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\GW5\GW_DATA_01.DBF' AUTOEXTEND ON MAXSIZE UNLIMITED;

​이런 현상이 생기는 이유는,

테이블스페이스를 만들때 MAXSIZE를 지정해놔서 그렇다.

테이블스페이스 ADD하기

alter TABLESPACE TABLESPACE_OFFICE6 add datafile '경로' size 1000M AUTOEXTEND ON MAXSIZE UNLIMITED; ​

 

 

Posted by 푸른길땡
|
생일에 에어팟을 선물 받았다.

아이폰X , 애플워치를 가지고 있었음에도 에어팟은 그리 땡기지 않았었다.

그런데 선물을 받고 사용해보니, 편안함 그 자체...

 

선물받은 에어팟

 

 

 

그런데 비주얼이 영.... 흔히들 말하는 치실케이스에 살짝만 스쳐도 기스날꺼같은....뭔가 빈약해보인다.

그리하여..케이스를 찾기위한 인터넷정보국으로 출발하였다..

여러가지의 케이스들이 있었지만, 그중에 마음에 들었던 엘라고케이스!!

심플하기도 하고 무엇보다 마음에 들었던건 고리고리!!

 

 

 

케이스를 해놓고보니 무언가 심플하면서도 이쁘고 안정적인 생각이 든다.
주머니에 넣어도 먼지도 안묻고 촉감도 엄청 좋다.
아무대나 툭 던져놔도 어울릴듯한 심플함

하지만, 단점이 금방 질릴수도 있는 그러한 색상.. 그리하여...
이번에 나온 엘라고 듀오케이스를 씌어봤다.

 

 

엘라고듀오케이스

 

 

 

듀오케이스란,? 색상이 한가지 색상이 아닌 아랫쪽과 윗쪽을 바꿔낌으로 단점이었던 지루하지 않고 때에 따라 상황에 맞게끔 디자인 할 수 있다는 단점을 보안한 제품!!!
고리형이 아닌 제품은 파우치나 가방을 가지고 다니시는분에게는 안성 맞춤형!

하지만 나는...가방을 열고닫는것도 귀찮아 가방에 밖에 걸어두고 바로바로

사용할수 있는 고리케이스가 더 좋다.

 

 

이번에 엘라고에서 새로나온 듀오케이스인데 더 놀라운건 저 하얀부분이 야광..ㅋㅋㅋ
에어팟끼고 음악듣다가 불을 끄면 케이스가 어디있는지 찾지 않아도 되는 절묘함ㅋㅋ

색상도 윗부분을 바꿔끼면 되는지라 질리지도 않고 가끔 만나는 사람이면 케이스 또 샀냐고 그럴듯

전과 달라진게 있다면, 하나로 연결되어져 있던 부분이 두개로 나눠진 부분
아래 사진처럼 기존버전은 몸통과 머리부분이 연결되어져 있지만, 이번에 나온 케이스는 따로따로 분리되어 나왔다. 뚜껑의 색을 자주 바꾸는데 아랫부분까지 바꿔끼면 비효율적이라서 분리 시켜놓은거 같음

 

 

두가지가 한제품!! 하나를 샀는데 케이스 두개를 산것 같은 기분 역시 심플하면서 이쁘다.
허전한 치실케이스를 없애주는 기분

 

 

 

 

고리가 달려있고! 하얀부분이 야광.. 이제품도 하나를 샀는데 두개룰 주는 기분
1+1기분 이쁘다.. 뭔가 뚜껑부분을 바꿔낄때마다 새로케이스를 산기분이고
케이스를 벗겻다 씌웠다 하는부분에 생각보다 잘 들어간다..

물론 잘들어가면 헐거워지는거 아니냐는 물음에 노!! ㅋㅋ 절대 안벗겨짐

 

 

 

 

제품 구성은 하나의 몸통부분에 색상이 다른거 2개씩

 

 

 

 

고리가 있으면 좋은점이 걸수 있는 어디든지 툭툭 걸어놓아도 된다는 장점!
사무실 책상에 올려두면 나도 모르게 떨어뜨릴수 있지만 이렇게 걸어두면 장식도 되고 관리하기 편하다는 장점 그래서 내가 고리케이스를 좋아하나봄

 

 

 

 

그런데 생각해보니.. 뚜껑을...몸통에 번갈아 끼워보면???? 두가지 제품을 샀을뿐인데...

8가지의 제품을 사용하는것의 느낌적인 느낌??? 와 대박템이다...

곧 나올 에어팟2에도 뭔가 크게 바뀌지 않으면 같이 사용할 수 있을꺼같다.

 

 

 

마지막으로, 케이스뿐만 아니라 엘라고에선 여러가지 용품도 팔고있다. 운동을 할때에는 케이스를 가져갈 수 없으므로, 보관이 용이한 애플워치에 안착..!! 거기다가 격한 운동을 하다보면 귀에서 빠질것을 염려해 메뚜기같이 생긴...에어팟귀걸이도 구입했다.
한가지 아쉬운점은 에어팟귀걸이를 끼고는 충전이 안된다는거.. 뺏다꼈다의 번거로움이...ㅜㅜ

 

 

듀오 케이스 제품정보는 아래 사이트에서 확인할 수 있다.

http://www.elago.co.kr/product/detail.html?product_no=1613&cate_no=545&display_group=1

 

 

 

 

 

'일상 > 제품리뷰' 카테고리의 다른 글

[카드큐]이용후기  (0) 2019.01.21
[카드큐] 청첩장 무료샘플 신청  (0) 2019.01.10
에어팟 배터리 위젯 케이스잔량  (1) 2018.10.04
Posted by 푸른길땡
|