JSONObject 형식의 String 값을 JSONObject에 넣으면 `"` 기호 앞에 `\` 기호가 붙게 되는데, 한동안 이것을 제거하는 방법을 몰라서 그대로 남겼는데..

 

이제야?? 아니면 알고 있으면서도 잊어버린 것을 머리의 기억을 더 이상 믿지 못하여 기록을 남겨야겠다

JSONObject jso = new JSONObject();

JSONParser jsp = new JSONParser();

String strJSONObject = "{\"key\":\"value\"}";

jso.put("original", strJSONObject);

jso.put("parse", jsp.parse(strJSONObject));

print:

original => \"{\\"key\\":\\"value\\"}\"

parse => {"key":"value"}

'개발 > Java' 카테고리의 다른 글

javacore 파일 분석  (0) 2021.06.10
Java 파서 중 외부 DTD 참조 방지 설정  (0) 2021.01.15
Posted by 테리
:

해결: Server 키보드의 Scroll Lock을 해제

원인: Server 키보드의 Scroll Lock이 언제가 부터 켜저 있음

 

1 Barrier 툴을 띄운 후 F2를 클릭하면 로그창이 뜨는데, 이때 Client와 연결이 되었다는 로그까지 확인이 되었는데

2 마우스가 macbook으로 넘어가지 않는 현상

3 혹시나 싶어, 방화벽도 다 풀어보았으나 해결이 되지 않음

4 걸색해 보니, F4(설정)의 `Networking => Enable SSL`을 체크 해지를 하면 된다고 하였으나, 해결이 되지 않음

4 검색을 해 보니 Scroll Lock이 걸릴 경우 마우스가 넘어가지 못하는 현상이 있다는 사실

5 암튼 살짝, 황당했다능...

 

https://askubuntu.com/questions/1409533/barrier-does-not-work-for-linux-to-windows-connection

Posted by 테리
:

1 클래스의 메소드 팝업(content) 배경색 변경

1.2 Window > Preferences > General > Appearance > Colors and Fonts > Basic > Content Assist background color를 클릭하고 Edit 버튼 클릭

1.2.1 색을 변경하여 확인 > Apply > Apply and Close 

1.3 변경된 클래스의 메소드 팝업(content) 배경색

 

Posted by 테리
:

1 Vrapper: 이클립스 에디트 입력 방식을 linux의 vim 입력 방식으로 사용

 

2 DevStyle: 요즘 추세인 어두운 테마

 

3 quick search for eclipse: 기존의 Ctrl+H로 전체 검색 기능을 사용하였다면, 이것은 Ctrl+Shift+L로 검색

 

4 editbox: 

 

5 grep console:

Posted by 테리
:

1 현상

1.1 이클립스를 띄우거나, 코드 수정 등등 각종 액션이 된 후

1.2 갑자기 마우스 클릭이 안되고, 다시금 마우스 클릭시 하아얀 모달 화면이 뜸

1.3 이클립스 우측 하단에 "remote system explorer operation"이라는 메시지가 나타다고 백그라운드 프로그래바가 동작

 

- 바쁠 때 참으로 속이 답답해지는 이클립스 현상

- 버릴 수도 없고, 대체 가능한 툴도 못 찾고

- 이럴 때 다음과 같은 설정을 해 보자

Window > Preferences > General > Startup and Shutdown: RES UI > Uncheck

 

 

 

 

Window > Preferences > Remote Systems : Re-open Remote Systems view to previous state > Uncheck

Posted by 테리
:

- 탭 사이즈 (Tab size) 변경

Ctrl + Shift + P 액션에 나온 입력창에서 "user settings" 입력 후 클릭 또는 엔터

 

"detect indentation"를 검색하여 체크된 값을 해제

 

다시, "editor insert space"를 검색하여 "Editor: Insert Spaces"의 체크된 값을 해제

 

결과물은 다음 화면가 같아지네요

Posted by 테리
:

Barrier https://github.com/debauchee/barrier

 

GitHub - debauchee/barrier: Open-source KVM software

Open-source KVM software. Contribute to debauchee/barrier development by creating an account on GitHub.

github.com

설치 방법은 검색된 페이지로 대체하고,

 

본인은 Server는 사무실 윈도우 10, Client는 맥북으로 설정하였다

현재(2024-04-15) 기준으로 barrier의 버전은 2.4.0-release 이며,

이 버전으로 윈도우와 맥북을 연결시 각가의 log에 "ssl certificate doesn't exist: ..." 문구와 같은 에러가 발생한다

이때, 해결 방법은 barrier의 버전 2.3.2를 각각의 os에서 설치하여 log에 에러 문구가 사라지면,

그때 다시 2.4.0 버전을 설치하면 정상적으로 동작이 된다

참고 사이트는 다음과 같다

https://github.com/debauchee/barrier/issues/1377

 

No ssl certificate on Windows 10 (v2.4) · Issue #1377 · debauchee/barrier

What happened? When installing freshly Barrier on Windows 10, the ssl key is not created. Version v2.4 Git commit hash (if applicable) No response If applicable, where did you install Barrier from?...

github.com

 

버전 2.3.2를 먼저 설치한 후에 2.4.0으로 업그레이드 방법

Posted by 테리
:

사전 조건: curl 명령어로 전송

curl -s -X POST -F "json={"key":"value"}" -F "file=@/var/temp/20240320144142208137262.zip" http://192.168.0.1/controller/1
@Controller
@RequestMapping(value = "/controller")
public class Controller extends InterfaceController {
	@SuppressWarnings({ "unchecked" })
	@RequestMapping(value = "/sample", method = RequestMethod.POST)
	public ResponseEntity<String> sample(MultipartHttpServletRequest request) {
		ResponseEntity<String> retRE = new ResponseEntity<String>();
        JSONObject jso = null;
		Iterator<String> fileNames = null;
        String fileName = null;
    	MultipartFile file = null;
        String srcOrgFileName = "";
        
    	// JSON 데이터 추출
		jso = (JSONObject) parser.parse(request.getParameter("json"));
		
	    try {
    		// 멀티파트 요청에서 파일 추출
			fileNames = request.getFileNames();
			
			if(fileNames.hasNext()) {
				fileName = fileNames.next();
				file = request.getFile(fileName);
				srcOrgFileName = file.getOriginalFilename();
				
                // 파일 업로드 로직 구현
                // ...
			}
	    } catch(Exception e) {
    	}
    	
    	return retRE;
	}
}
Posted by 테리
:

 

 

 

 

 

 

 

 

Posted by 테리
:

1 gitlab plugin install

1.1 Dashboard > Jenkins 관리 메뉴 클릭

Jenkins 관리

1.2 System Configuration의 Plugins 메뉴 클릭

Plugins

1.3 Available plugins 메뉴 클릭

Avilable plugins

1.4 gitlab 검색어로  GitLab Plugin 체크 후 하단에 있는 Install without restart 버튼 클릭 후 설치가 끝나면 자동으로 Jenkins를 재시작한다

Plugins 설치

2 Item 등록

2.1 Dashboard > 새로운 Item 메뉴 클릭

새로운 Item

2.2 Item 이름 입력하고 Freestyle project 클릭 후, 하단의 OK 버튼 클릭

Item  이름 및 프로젝트 환경  선택

2.3 Dashboard > 프로젝트 이름 > Configuration > 소스 코드 관리 메뉴 클릭 후 Git 라디오 버튼 클릭

소스 코드 관리 선택

2.4 GitLab 프로젝트에서 Clone 버튼 클릭 후 Clone with HTTP의 우측에 위치한 주소 복사 버튼 클릭

GitLab 프로젝트 HTTP 주소 복사

2.5 Repositories URL 입력 필드 `2.4`에서 복사한 HTTP 주소를 붙여넣기한 후 Credentials 콤보 박스를 열어서 이미 설정한 GitLab의 ID를 클릭

GitLab 프로젝트의 HTTP 주소 및 ID 클릭

2.6 빌드 유발에서 `Build when a change is pushed to GitLab. GitLab webhook URL:` 체크 박스를 클릭하고, `Push Events`와 `Opened Merge Request Events` 체크 박스가 클릭이 되어 있는지 확인

빌드 유발 환경 설정

2.7 Build Steps에서 `Add build step` 콤보 박스를 클릭하여 `Execute shell` 항목을 클릭

Build Steps

2.8 빌드가 진행될 듯 표시되는 메시지를 입력한 후 저장 버튼 클릭

빌드 진행 시 표시되는 메시지

 

'개발 > Jenkins' 카테고리의 다른 글

Jenkins email 통보 설정  (0) 2024.04.05
Posted by 테리
: