400 에러 일단 정의는 400 Bad Request HyperText Transfer Protocol (HTTP) 400 Bad Request 응답 상태 코드는 서버가 클라이언트 오류(예: 잘못된 요청 구문, 유효하지 않은 요청 메시지 프레이밍, 또는 변조된 요청 라우팅) 를 감지해 요청을 처리할 수 없거나, 하지 않는다는 것을 의미합니다. 400 Bad Request 일단 사전적 의미는 위와 같고.. 흔희 발생하는 상황은 개발에서는 잘 됐는데 운영가서 안되는 경우가 있을 수 있다. 모든게 다 동일한데.. 소스도 동일하고.. 이상하다.. 그러면 소스 문제가 아니고 다른 문제 이다. 그럼 다른 문제가 뭘까? 일단 API 체크하는 룰셋에서 허용하는 ip 대역이 아닐 경우 400 에러를 뱉을 수 있다. 때문..
자바 1.8 이전 버전의 날짜 계산은 피곤하였다. 그래서 자바 1.8 버전 부터 새로 생긴 날짜 관련 클래스를 적극적으로 쓰려고 한다. 날짜(년월)를 파라미터로 받아서 그 날짜보다 이전 달(년월)을 구하려고 한다. 막상하려고 하니 어떻게 하는지 모르겠다 ㅎㅎ 구글링해서 감을 잡았고 나름 메소드로 만들어서 사용해보려고 한다. LocalDate.of 를 사용하더라.. 그럼 함께 살펴보자. package test; import java.time.LocalDate; import java.time.format.DateTimeFormatter; /** * [자바] 파라미터로 날짜(년월)을 받아 이전달(년월)를 리턴 localdate * */ public class MinusOneMonthByPara { public..
파싱, 스크래핑시 html 파일로 작업을 할 때 http:// 가 있으면 오래걸리고 등 하니 없애버리고 싶을 때가 있다. 불필요하니.. 그래서 어떻게 할까.. 생각하다가 노트패드 ++ 에서 Ctrl+f 하면 Find 탭이 기본적으로 뜨니 그 옆에 Replace 탭으로 가서 아님 바로 Ctrl+h 해도 된다. 대화상자가 뜨고 좌측 하단에 Search Mode 박스에서 Regular expression 선택 Find what: 에 http(.*)" Replace with: 에 " 하고 Replace All 을 하면 http:// 로 되어 있는 부분이 다 없어진다. 즉 href="" 이렇게 된다.
라이믹스나 xe 게시판을 파싱할 경우 로그인 한 사용자만 볼 수 있게 권한을 설정한 경우가 있다. 그럴경우 파싱하는 방법을 알아본다. 또한 게시판에 자동 글 쓰기 하는 방법도 알아본다. 마찬가지로 글 쓰기도 로그인 한 사용자로 관리자가 권한 설정을 해 놓았을 때도 글 쓰기가 가능하다. 쎌레니움으로도 해보았지만 그냥 코드로 하는게 브라우저 띄우지 않아도 되서 편한것 같다. package rxwrite; import java.io.IOException; import java.util.HashMap; import java.util.Map; import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; /** * noti..
웹 브라우저에서 소스보기 한 후 복사 붙여넣기를 에디터에서 하면 정렬이 잘 안되는 경우가 있다. 노트패드 플러스 플러스 에서 있겠지.. 했는데 무슨 플러그인을 깔라고 한다. 노트패드 플러스 플러스는 다 좋은데 기본기능이 많이 빠져있고 플러그인 으로 해야 되서 번거롭다. 그래서 바로 할 수 있는게 뭐 없을까.. 찾아보니 비주얼 스튜디오 코드 에서는 바로 할 수 있었다. 우선 비주얼 스튜디오 코드 새파일에 붙여넣기 하고 파일명을 확장자 json으로 저장한다. 그런다음 Ctrl+k > Ctrl+f 하면 된다. 아님 자바 Jsoup 에서 get 해서 Document 를 가져온 다음 출력하면 나름 정렬이 잘 되서 출력해준다. 그런데 그럴려면 프로그래밍을 조금 해줘야 하니 번거로울 수 있다. 그래서 비쥬얼 스튜디오..
자바 언어와 Jsoup API를 사용해서 네이버 뉴스를 파싱해 본다. 원래 인터넷에 붙어서 하는게 맞는데 html을 파일로 만들어 해봤다. 마치 수더 코드라고 생각해도 될듯. 이해하는데는 무리가 없을 듯. 메소드 내용에 핵심적인것은 다 있으니.. 예전에는 네이버 뉴스가 각 해당 언론사 링크로 이동된것 같았다. 그래서 뉴스 파싱을 하려면 각 언론사 구조를 모르니 할수가 아니 하는데 한계가 있었다. 그런데 지금 보니 네이버에서 데이터를 가져와 네이버 플랫폼에서 보여지는듯 하다. 그래서 형태가 동일해서 하기가 쉬웠다. package naver_news; import java.io.File; import java.io.IOException; import org.jsoup.Jsoup; import org.jsou..
특정 화면이 30초 이상 느리게 나왔다. 왜 그러지.. 삽질 시작! 일단 가장 의심이 되는게 쿼리다. 머 대부분 그런듯.. 느릴때 당황하지말고.. 당황하면 궤변만 늘어놓기 때문에.. 서로 시간 낭비다. 당황스럽겠지만 당황하지말고 원인을 찾고 해결하면 된다. 사실 원인만 찾으면 해결은 쉽게 되는 편이다. 무슨일이든 그렇듯.. 특정 화면만 들어가면 CPU도 100% 가까이 친다. 쿼리만 뽑아서 실행해봤더니.. 역시나 느리다. 증상이 재현되니 그나마 다행. 로컬에서 재현되는게 가장 좋다. 그럴려면 구성을 잘해야 하고 동기화도 항상 해놔야 된다. 자 그럼 실행계획으로 원인을 잡아본다. 실행계획이 어려운지 알았는데 그냥 explain 만 쿼리 상단에 붙여주면 된다. analyze 를 붙여주는 방법도 있다. exp..

자바 json-simple-1.1.1.jar 파일을 import 하여 JSONParser jsonParser = new JSONParser(); 하려고 하는데 아래와 같은 에러가 발생하였다. Exception in thread "main" java.lang.NoClassDefFoundError: org/json/simple/parser/JSONParser 이상하네.. 다른 프로젝트에서 잘 썼던 건데.. 구글링 하고 삽질을 하다보니 원인을 찾았다. 이클립스 > 프로젝트 > (마우스 우클릭) Properties > Java Build Path 로 가서 Add JARs 를 하였다. 그러니 JSON 부분에 빨간줄이 없어져서 음.. 잘되었네 했는데.. 잘 된게 아니였다. 흠.. 제대로 안될거면서 빨간줄은 왜 없어..
리눅스를 쓰다 보면 용량을 신경써야 할 때가 온다. 그럴땐 어디서에 많이 용량을 잡아먹고 있는지 알아야 한다. 그래서.. 알고자 하는 곳으로 가서 du -sh * 하면 된다. 그럼 디렉토리 별로 현재 사용하고 있는 정보들이 나온다. 1G a 2G b 200M c 이런식으로.. 그러면 정렬해서 보고 싶을 것이다. du -sh * | sort 하면 정렬이 된다. du -sh * | sort -n 해도 위와 동일하다. 그러면 역순으로 정렬하고 싶다면 du -sh * | sort -r 하면 된다.

pdf 문서가 있는데 내용을 복사 붙여넣기 하고 싶은데 복사가 안되는 것이였다.. ㅜㅜ 텍스트처럼 블럭 지정은 되는데 복사가 안되었다. pdf 만들때 아마 복사 안되게 해놓은듯 하다. 흠.. 이를 어쩌나.. 복사 해야 하는데.. 양이 많아서 쌩 노가다로 다 칠수는 없고.. 구글링 해보니.. 구글 드라이브에 업로드 후 열면 된다고 하였다. 해보니 되었다.. 흠.. 그런데 양이 많아서 전체 복사하려면 블럭지정하는데 한참 걸렸다.. 흠.. 더 편한 방법 없을까.. 하는 찰나에 크롬에서 열었는데 친절하게도 워드 아니 Google 문서(으)로 열기나 나왔다. 문서로 열면 쉽게 복사가 가능하겠지.. 하고 문서로 열었더니 정말 텍스트화되서 어떤 텍스트든지 쉽게 복사가 되었다. 구글 드라이브 > 크롬에서 열기 > 하면..
- Total
- Today
- Yesterday
- ocjap
- ocajp
- 문자열
- XE3
- C언어
- MySQL
- KG
- 이클립스
- 자바 smtp
- xe애드온
- 스크래핑
- Python
- C
- 플러터
- 자바
- xe addon
- EC
- php
- 라이믹스
- 파싱
- 오라클
- XE
- webix
- proc
- 포인터
- 프로씨
- JDBC
- 파이썬
- esql
- 인포믹스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |