- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- c언어
- springboot 재가동
- 터치좌표 view
- 파티션 빠른 삭제
- Activity 전체화면
- rn
- Back 키 클릭 감지
- view 획득
- ffmpeg
- MySQL
- 코드로 서버 재실행
- sql exception
- 시간대 테이블생성
- CentOS
- group by
- 시간대별 통계
- pid 찾아 kill
- mybatis exception
- MariaDB
- 피쉬랜드
- springboot
- vc++
- CSS
- 말줌임 CSS
- kill -9
- 가변영역 스크롤
- 스크롤적용
- SQL
- reactnative
- MFC
목록전체보기 (114)
개발은 하는건가..
SQL 에서 DUAL 명은 실제 존재하는 테이블이 아닌 특정함수 수행이나 연산을 위해 형식적으로 존재하는 dummy 테이블이다.그러므로 데이터를 저장 관리 할수 없고 쿼리의 형식을 맞추기 위해 존재한다고 보면 됨.예를 들어 특정 범위의 값을 가지는 기준 테이블이 필요할 경우 아래와 같이 값을 생성가능하다.SELECT @N := @N +1 AS HOURSFROM collectData, (select @N:=0 from DUAL ) NNLIMIT 24;이렇게 생성된 가상 테이블과 join 하여 원하는 결과를 만드는데 사용한다.
매초 매분 단위로 저장되는 DB 에서 차트 생성을 위한 데이터 추출 시 다음과 같은 형태로 쿼리하여 데이터를 추출한다SELECT DATE(collectTime) AS DT, HOUR(collectTime) AS HH, MAX(DATA1) , MAX(DATA2), MAX(DATA3), MAX(DATA4)FROM collectData WHERE (collectTime BETWEEN '2025-01-06' AND '2025-01-07')GROUP BY DT, HH;각 시간대 별로 차트 표시를 위해 해당 시간대의 최대값들을 추출한다.
출처 : https://dungbeetle.co.kr/mysql-%EB%8C%80%EC%9A%A9%EB%9F%89-partition-lock-%EC%97%86%EC%9D%B4-%EC%82%AD%EC%A0%9C%ED%95%98%EA%B8%B0/ mysql 대용량 partition lock 없이 삭제하기 - 쇠똥구리 DBA's Work and Life Balance간혹 대용량 파티션 데이터의 삭제는 테이블의 성격에 따라선 까다로운 작업이 되기도 한다dungbeetle.co.kr1. 파티션 테이블 스키마를 복사한다.> CREATE TABLE '복제한 임시테이블명' LIKE '원본 테이블명';2. 복제된 임시 테이블의 파티션을 삭제한다.> ALTER TABLE '임시테이블명' REMOVE PARTITIONIN..
# Database 삭제> DROP DATABASE '데이터베이스명';# Database 목록 확인> SHOW DATABASES;# Table 목록 확인> SHOW TABLES;# Table 구조 확인> DESC '테이블명';# 사용자 권한 확인> SHOW GRANTS FOR '사용자계정'@'%';# 사용자에게 권한 부여 및 반영> GRANT ALL PRIVILEGES ON 데이터베이스명.* TO '사용자계정'@'%';> FLUSH PRIVILEGES;# 특정 테이블/뷰에만 읽기 권한 부여# 호스트 - % 로 설정할 경우 모든 ip 를 허용, ip 값을 입력할 경우 해당 ip 로부터 접근만 허용> GRANT SELECT ON DB명.(테이블/뷰테이블) TO '아이디'@'호스트';# 사용자의 권한 삭제>..
# MySql 에 접속한 후 아래 명령으로 실행한다.mysql > source /usr/db.sql;# 위 방식은 mySQL 원격 접속 시에는 파일을 못찾을 수 있으므로 아래와 같이 처리> mysql -h hostname -u user database # sql 파일은 utf 형식의 텍스트 파일이여야 문제 없이 동작이 된다.
# 서비스 조회systemctl list-unit-files | grep '검색할 서비스명'# 서비스 시작systemctl start 서비스명.service# 서비스 중지systemctl stop 서비스명.service# 서비스 재시작systemctl restart 서비스명.service# 서비스 enable (부팅 시 자동 구동 설정)systemctl enable 서비스명.service# 서비스 disable (부팅 시 자동 구동 해제)systemctl disable 서비스명.service
부모 div 가 아래와 같이 스타일이 적용되어 있어 브라우져 크기에 맞게 채워지는 가변 형태일때style="display:flex; flex-direction:column; height:100%;"스크롤 처리할 div 를 position:relative 로 감싼 후 그 안에 스크롤될 내용 영역 div 를 추가하여 내용을 작성하면 가변 크기의 div 임에도 내용이 영역을 초과할 경우 스크롤이 적용된다. 스크롤될 내용1 스크롤될 내용2 스크롤될 내용3 스크롤될 내용4 ...
테무 피쉬랜드 0.07 만 채우면 무료 상품을 받을 수 있다.여기까지 1주일 걸렸다..물고기 한마리 잡을때 0.2% 가 오르는데 물고기에게 120번은 밥을 줘야 한마리 잡을 수 있을 거 같다. 이건 터무니 없는 거라 포기해야한다.8일째 되는날 99.93% 에서 0.02% 올리기 위해서는 10일정도 걸릴거 같다.다른 경험 후기를 찾아보니 99.95% 부터는 현재보다 2배 정도 더 난이도가 높아지고 0.01 % 오른다하니20일 * 5 + a 의 시간이 필요해 보임. 제한 기간이 170일 남았는데 빡시게 계속할 경우 아슬아슬하게 완료하거나시간만 낭비하고 실패 할듯... 혹시 하고 계신분이 있다면 그냥 포기하심이...
각 뷰 컨트롤 마다 개별적으로 Listener 를 설정하지 않고 화면에서 특정 위치를 터치 시해당 위치에 존재하는 View 를 얻어야 할 경우 아래 코드를 이용하여 얻을 수 있다. private Rect mViewRect = new Rect(); public View getViewOfPointer(ViewGroup rootView, final int x, final int y) { for (int i = 0; i 엑티비티의 dispatchTouchEvent(MotionEvent ev) 를 오버라이드 하여 터치 좌표를 획득하여 getViewPointer 를 통해 View 를 획득한다.아래 코드는 터치한 위치의 View 가 EditText 가 아닐 경우 자판을 숨기도록 하는 코드이다.@O..
Activity onCreate() 시 아래와 같이 코드를 추가한다. back 키에 대한 콜백을 생성하고 getOnBackPressedDispatcher().addCallback() 를 통해 해당 콜백을 추가하면 back 키를 누르게되면 handleOnBackPress() 콜백이 호출된다. OnBackPressedCallback callback = new OnBackPressedCallback(true) { @Override public void handleOnBackPressed() { onAppExit(); } }; getOnBackPressedDispatcher().addCallback(this, callback);
Activity 또는 Dialog 클래스의 onCreate() 에서 아래 코드를 추가하여 Back, Home UI 버튼 및 Indicator 영역을 모두 채우는 Activity 를 생성한다. Back, Home 버튼 UI 가 아예 없어지는 것은 아니고 하단 쓸어 올리기 제스처를 통해 올라오게 된다. requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //enable full screen // 시스템 바 숨기기 getWindow().getDecorView().setSystemUiV..
springboot 에서 다른 서버로 http 요청이 필요할 때 RestTemplate 을 이용해서 간단하게 요청 및 응답 수신이 가능하다. 구현 함수 예) public ResponseEntity sendHttpPostMessage(String url, MultiValueMap param, Class tClass) { HttpHeaders httpHeaders = new HttpHeaders(); // 필요한 헤더 항목을 추가 httpHeaders.add("", ""); HttpEntity entity = new HttpEntity(param, httpHeaders); RestTemplate restTemplate = new RestTemplate(); return restTemplate.exchange..
테이블 에 onClick 이벤트와 안에 특정 버튼 element 에 onClick 이벤트가 설정되어 있을 때 버튼을 클릭하여 버튼의 onClick 핸들러가 실행되고 나서 또 의 onClick 이벤트 핸들러가 이중으로 실행된다. 이 때 아래와 같은 방법으로 버튼의 이벤트 핸들러에 코드를 추가하여 이벤트 중첩을 방지 할 수 있다. function onClickButton(evt) { evt = evnt || window.event; // 방법1 evt.stopPropagation(); // 방법2 evt.preventDefault(); evt.cancelBubble = true; // 대상 버튼에 에니메이션이나 툴팁 같은 효과가 적용됐을 경우 // 해당 UI 처리 관련 이벤트로 모두 중단되어 UI 상태가 이..
collectData 에는 200만건의 데이터 abnormalLog 에는 70건의 데이터가 존재 abnormalLog 의 meterStatus = -1 인 데이터는 30건이며 이 데이터에 해당하는 dataFKey 필드는 collectData .pKey 에 해당하며 collectData 에 이 데이터들을 업데이트할려고 할때 아래와 같이 했더니 40초 가까이 소요됨. SELECT * FROM collectData WHERE pKey IN (SELECT dataFKey FROM abnormalLog WHERE meterStatus = -1); --> 16ms 소요 UPDATE collectData SET meterValue = -1; WHERE pKey IN (SELECT dataFKey FROM abnorm..