전체 글 552

flutter json -> object 로 변경 jsonDecode 사용

Flutter에서 JSON 데이터를 디코딩하는 방법은 dart:convert 라이브러리의 jsonDecode() 함수를 사용하는 것입니다. jsonDecode() 함수는 JSON 문자열을 Dart 객체로 변환해줍니다. 아래는 Flutter에서 JSON 디코딩을 수행하는 간단한 예제 코드입니다: import 'dart:convert'; void main() { // 예제로 사용할 JSON 문자열 String jsonString = '{"name": "John", "age": 30, "isMarried": false}'; // JSON 문자열을 디코딩하여 Dart Map으로 변환 Map parsedJson = jsonDecode(jsonString); // 디코딩된 데이터 사용 String name = pa..

service httpd restart 구성내용

centos 7 (레드햇7) $ cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [root@localhost system]# vi httpd.service [root@localhost system]# pwd /usr/lib/systemd/system [root@localhost system]# pwd /usr/lib/systemd/system [root@localhost system]# $ service httpd start : 아파치 스타트 httpd 는 httpd.service 파일명이 /usr/lib/systemd/system/ 디렉토리에 있다. httpd.service 구동하는 명령어는 $ service httpd start $ vi h..

인프라 2023.08.02

[java] 인텔리제이 스프링부트 + 웹소켓 연결방법

Lombok 추가 프로젝트구조 build.gradle 스프링부트 버전을 2.6.1 로 해준다. sourceCompatibility 을 11 로 해준다. plugins { id 'java' id 'war' id 'org.springframework.boot' version '2.6.1' id 'io.spring.dependency-management' version '1.1.2' } group = 'com.example' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '11' } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boo..

[보안취약점] 웹서비스 메소드 설정 및 조치 방안 (GET POST PUT PATCH...)

http method 웹 메소드명 특징 GET 요청하는 내용이 URL에 노출되는 형태이며, Request-URI 뒤에 붙는 query string에는 길이 제한이 있다. 요청을 보내고 응답을 받는 형태로 검색 등에 사용된다. HEAD GET과 유사하지만, Response로 BODY를 반환하지 않고 응답코드만 있다. 응답내용이 필요없이 정상 호출 여부를 확인할 때 사용하는 Health-Check 페이지 등에 사용한다. POST Request body 내용에 데이터를 담아 전송하는데 사용하며, 생성이나 수정 용도로 사용된다. PUT POST 방식과 유사하게 데이터를 전송하는 용도이지만, Update의 성격이 더 강하다. DELETE 요청하는 대상에 대해 삭제하도록 하는 메소드 이름만 봐도 느껴지지만 안전상의..

인프라 2023.07.25

[가마] 센서 데이터를 java 로 받을때 문제점 빅엔디안/리틀엔디안

Bit 컴퓨터가 데이터를 처리하기 위해 사용하는 데이터의 최소 단위입니다. 이러한 비트에는 2진수의 값(0과 1)을 단 하나만 저장할 수 있습니다. Byte 위와 같은 비트가 8개 모여서 구성되며, 한 문자를 표현할 수 있는 최소 단위입니다. 바이트 저장 순서(byte order) 컴퓨터는 데이터를 메모리에 저장할 때 바이트(byte) 단위로 나눠서 저장합니다. 하지만 컴퓨터가 저장하는 데이터는 대게 32비트(4바이트)나 64비트(8바이트)로 구성됩니다. 따라서 이렇게 연속되는 바이트를 순서대로 저장해야 하는데, 이것을 바이트 저장 순서(byte order)라고 합니다. 이때 바이트가 저장되는 순서에 따라 다음과 같이 두 가지 방식으로 나눌 수 있습니다. 빅 엔디안(big endian) 리틀 엔디안(li..

인프라 2023.07.14

vite vue3 오프라인에서 작업시 OS 플랫폼 별로 build 되는 현상

오프라인 PC 에서는 npm install 안된다. node_modules 압축해서 사용해야 한다. 그런데 OS 플랫폼에 따라 node_modules/@esbuild 실행파일이 달라진다. 실행파일은 플랫폼마다 다르다. 윈도우 : @esbuild/win32-x64/esbuild.exe 리눅스 : @esbuild/linux-x64/bin/ mac : @esbuild/darwin-arm64/bin/esbuild 그래서 플랫폼별로 npm install 한후 전체를 압축해 둔후 오프라인 PC 에 복사하여 사용한다. 윈도우용은 개발PC 에서 사용하고 리눅스는 gitlab 으로 배포하면 CI/CD 에 의해서 자동 배포에 사용한다.

프로그래밍/Js 2023.07.13

vite 와 vue3 빌드후 dist/assets/*.js 많이 나오는것을 필요한 js 만 나오게

Vite에서 dist/assets/ 폴더의 모든 .js 파일을 한 개의 파일로 묶기 위해 다른 접근 방법을 시도해 보겠습니다. 아래의 방법을 따라해 보세요: npm install concat-cli 명령을 사용하여 concat-cli 패키지를 설치합니다. package.json 파일을 열고, "scripts" 섹션에 다음을 추가합니다: jsonCopy code "scripts": { "build": "vite build && concat-cli -f ./dist/assets/*.js -o ./dist/assets/all.js" } 터미널에서 npm run build 명령을 실행합니다. 이 명령은 vite build를 실행하고, 그 후에 concat-cli를 사용하여 dist/assets/ 폴더의 모든 ...

프로그래밍/Js 2023.07.10

[vite] 번들러 vite 사용시 터미널에서 build 방법

vscode 에서 vite 번들러 사용시 아래와 같이 사용하고 있다. "scripts": { "dev": "vite --host", "build": "vite build ", "preview": "vite preview" 당연히 vscode 에서 build 또는 dev 시작 버튼만 클릭하면 되는데 CI/CD 할때 터미널에서 build 를 해야 된다. 터미널에서는 아래와 같이 사용한다. $ npm run build 그런데 도커에서 실행시 bash: npm: 명령어를 찾을 수 없음 메세지가 나온다. 도커에서 npm 설치하는 방법을 알아본다. 1. 우분투 node.js 설치 # curl -fsSL https://deb.nodesource.com/setup_19.x | sudo -E bash - # sudo a..

프로그래밍/Js 2023.07.07