# serialize

26개의 포스트

0807

File Upload Conspectus http://www.servlets.com/cos/ 에서 cos~ 에 관한 파일을 다운받은후 압축을 풀고 cos.jar 파일을 WEB-INF 의 lib 폴더에 넣는다 폼을 만드는데 반드시 폼 타입을 method="post" enctype="multipart/form-data" 로 줘야한다(반드시) 파일이 저장되는 실제 경로 구하기 ServletContext context=getServletContext(); String realFolder=context.getRealPath("/upload"); System.out.println("업로드경로:"+realFolder);  //콘솔로 경로확인 4. MultipartRequest 라는 클래스를 사용 생성자 (request,fileDirectory(업로드할 경로),1024*5(업로드할 파일의 크기), "euc-kr"(한

2023년 8월 7일
·
0개의 댓글
·

AJAX - eclipse/oracle

form - XML XML - 데이터 보내기 방법 1 폼태그에 데이터 입력 후 jsp로 보내기 입력한 값들 읽기 방법 1 & 연결 연산자로 이어줘야한다/ajax구문에서 data로 받아올 것이기 때문 ajax구문 ajax함수를 통해서 백엔드로 데이터를 보낸다 get post 방식이라면 encoding해야하지만 get방식은 한글깨짐이 없어서 안써도됨 return할 것이 없을때는 html/서버에 저장할 것이기 때문에 정의내린 data가져와도 되고(data:data) 직접 써도 가능(data:{"name":name,"hp":hp},) data:data XML - 데이터 보내기 방법 2 입력한 값 읽기 방법2 ajax함수 통해서 백엔드로 데이터를 보낸다 방법1 - read request.getParameter btn1에서 var name=$("#name").val();을 가져온것 콘솔창 확

2023년 8월 7일
·
0개의 댓글
·
post-thumbnail

[Spring] Jackson

Jackson 라이브러리 JSON 데이터 구조를 처리해주는 Spring 라이브러리 하는 일 Object를 JSON 타입의 String으로 변환 JSON 타입의 String을 Object로 변환 Spring은 3.0버전 이후로 Jacskon과 관련된 API를 제공함으로써, 우리가 직접 소스 코드를 작성하여 JSON 데이터를 처리하지 않아도 자동으로 처리해줌 따라서 SpringBoot의 starter-web에서는 default로 Jackson 관련 라이브러리들을 제공 직접 JSON 데이터를 처리해야할 때는 Jackson 라이브러리의 ObjectMapper를 사용할 수 있음

2023년 6월 24일
·
0개의 댓글
·

[에러 해결] JAVA 8 LocalDateTime 직렬화/역직렬화 문제 해결

Spring boot에서 RabbitMQ로 데이터를 보내는 도중 에러가 발생하였습니다. 해석하자면 java.time.LocalDateTime을 직렬화 하려면 com.fasterxml.jackson.datatype:jackson-datatype-jsr310 디펜던시를 추가해라 ~ 라는 내용입니다. 문제가 발생한 코드입니다. rabbitTemplate는 내부적으로 Objec

2023년 5월 10일
·
0개의 댓글
·
post-thumbnail

Serialization은 먹는 게 아닙니다 - 직렬화 개념과 NestJS에서의 직렬화

다른 분들은 어떻게 느끼셨는지 모르지만, 저한테는 ‘직렬화’라는 단어가 딱딱하고 어렵게 느껴져서 직렬화 개념을 한번 정리해보는 시간을 가지고 싶었습니다! 차라리 먹는 거면 좋았을텐데 말이죠ㅠㅠ 우선, 직렬화에 대해 알아봅시다! 직렬화란? 직렬화에 대한 개념적 정의는 아래와 같습니다. > 직렬화는 시스템 내부에서 사용하는 데이터 또는 객체를 바이트로 변환해 외부 시스템에서도 사용할 수 있도록 변환하는 과정입니다. 조금 더 쉽게 설명하자면, dumb이라는 클래스가 있다고 가정했을 때 이 dumb 클래스의 객체를 JSON 형식으로 받게 만드는 과정이 직렬화입니다. 그리고 이 과정의 반대(외부의 데이터를 내부 시스템에서 객체 또는 데이터로 변환하는 과정)를 ‘역직렬화’라고 합니다! 음.. 그래도 직렬화가 필요한 이유에 대해서 한번 정리해보면 좋겠죠? 직렬화가 필요한 이유에 대해서 알아봅시다! 직렬화가 왜 필요한가요? 직렬화는 아래와 같은 이유로 사용

2023년 2월 22일
·
0개의 댓글
·

checkbox serialize() x , serializeArray() o

어김없이 찾아온 null ^^... Ajax 사용해서 form 값을 넘기려고 했는데, 자꾸 checkbox 값을 가져가지 못 해서 에러가 났다. 열심히 구글링 해보니 checkbox는 serialize()로는 값을 못 가져 간다고...(대체 왜?ㅠㅠ) > 그래서 checkbox 값은 따로 처리를 해줘야 한단다. serializeArray()로! 요런 체크박스 소스가 있다면 자바스크립트는 요렇게 써주면 되겠다.(id로 했을 경우) 그 다음 Ajax data에 postData를 써주면 끝!

2023년 1월 5일
·
0개의 댓글
·
post-thumbnail

[DRF]Serialize&Deserialize

✅ 기본 DRF 처리 과정 DB로부터 데이터를 가져온다. serialize 한다. client한테 response 한다. ✅ Serialize(직렬화) 인스턴스(레코드 객체)를 serialize를 통해서 딕셔너리로 변환한다. c0 = Comment.objects.all()[0] sr = CommentSerializer(instance=c0) sr.data ➝ 직렬화 type(sr.data): dict byte string으로 변환한다(json data). JSONRenderer().render(data0) client한테 response 한다. ✅ Deserialize(역직렬화) ![](https://velog.

2022년 9월 26일
·
0개의 댓글
·

JQuery serialize()

serialize은 직렬화를 뜻한다. .serialize()는 form을 대상으로 폼의 객체들을 한 번에 받아들일 수 있는 메소드이다. form에 있는 value들이 직렬화가 되어, 나열된다. 결과 예시 --> single=Single&multiple=Multiple&multiple=Multiple3&check=check2&radio=radio2 ajax에서 data 값을 세팅할 때 사용하면, 해당 form의 모든 값을 쉽게 호출할 수 있다. 실무에서 실제로 검색할때 사용한, ajax를 통해 검색한 value를 호출할때 사용했던 코드다. 해당 코드는 grid가 가지고 있는 데이터 cell을 검색할때, form에 있는 value값을 토대로 가져온다.(serialize) 소스코드

2022년 8월 28일
·
0개의 댓글
·
post-thumbnail

[개념] 안드로이드 Serializable

1. Serializable이란? Serializable은 Java의 표준 인터페이스 입니다. 이 기법의 장점은 Marker Interface로서 단순히 implement하는 것만으로도 JVM에게 직렬화가 가능하다는 것을 알려주기 때문에 구현이 간편하다는점이 있습니다. 자바 직렬화란 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록 바이트(byte) 형태로 데이터 변환하는 기술과 바이트로 변환된 데이터를 다시 객체로 변환하는 기술(역직렬화)을 아울러서 이야기합니다. 2. Serializable 적용 1. Data.kt Serializable를 적용할 Data 클래스를 만들어 줍니다. 2. SendActivity.kt name과 age를 가지는 데이터클래스 Data를 SendActivity에 정의 했습니다. 데이터클래스를 전달하기 위해서는 Serializable 혹은 Parcelable 과정을 거쳐

2022년 6월 1일
·
0개의 댓글
·

Likes.js

await persistCache({ cache, storage: new ~ import { gql, useQuery } from '@apollo/client' import React, { useState } from 'react' import { FlatList, Text, View } from 'react-native' import ScreenLayout from '../components/ScreenLayout' import UserRow from '../components/UseRow' const LIKES_QUERY = gql` ///photo에 like를 누른 사람들을 보는 Query query seePhotoLikes($id: Int!) { seePhotoLikes(id: $id) { id username avatar isFollowing isMe } } ` export de

2022년 5월 31일
·
0개의 댓글
·
post-thumbnail

Serialize란?

Sierialize = 직렬화 직렬화 란? 빅맥을 생각해보자 참깨빵 → 패티 → 소스 → 양상추 → 치즈 → 피클 → 양파 순서로 재료가 올라가고 맨위에는 빵을 덮어서 마무리가 되어있을 것 이다. 만약 이 빵을 바로 앞이 아닌 멀리 컨베이어 벨트에 올려서 전달해야하는데 레일 중간에 통로가 너무 낮아서 재료를 분해해서 한줄로 올려야한다면 받는 쪽에서는 분리되어서 온 재료를 다시 조합해 완성된 햄버거를 만든다. 다소 억지스럽긴 하지만, 이것이 바로 직렬화 (및 역직렬화)다. 햄버거를 객체라고 생각하면 우선 이 객체를 어디론가 전달하기 위해 그 구성요소들을 한 줄의 바이트로 줄세운다(직렬화, 인코딩) 줄 세운 데이터를 스트림(파일이나 네트워크)을 통해 전달 스트림을 통해 전달받은 쪽에서는 바이트화된 객체를 다시 원래의 형태로 되돌린다(역직렬화, 디코딩) 조금 더 공학적으로 생각해보면 파일이나 네트워크를 통해 데이터가 왔다갔다하는 길(스트림)

2022년 5월 26일
·
0개의 댓글
·
post-thumbnail

[개념] Parcelable 란?

안드로이드 컴포넌트(Activity 등등)나 Fragment간에 클래스로 데이터를 주고 받을 때 Serializable, Parcelable을 구현해야 합니다. 1. Parcelable 란? Parcelable은 Java가 아닌 Android SDK의 인터페이스입니다. 이 기법은 Serializable보다 빠르고 Android에서 사용하기를 권장됩니다. Serializable과는 다르게 reflection을 사용하지 않고 직렬화/역직렬화를 하는 과정을 개발자가 모두 구현해주어야 합니다. 그렇게 구현된 코드가 미리 컴파일되어 런타임에 빠르게 처리됩니다. 런타임에 따로 객체를 여러개 생성하지 않으며 GC의 부담은 덜게되니 확실히 Serializable보다 나은 방법입니다. 하지만 이 Parcelable의 단점을 꼽는다면 구현을 위한 보일러플레이트 코드가 늘어난다는 점입니다. 위의 Serializable과는 달리 늘어난 코드를 보실 수 있습니다. 직렬화를 위해 wr

2022년 5월 25일
·
0개의 댓글
·
post-thumbnail

직렬화(Serializable)란?

1. 자바 직렬화(Serializable)란? 자바 직렬화란 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록 바이트(byte) 형태로 데이터 변환하는 기술과 바이트로 변환된 데이터를 다시 객체로 변환하는 기술(역직렬화)을 아울러서 이야기합니다. 시스템적으로 이야기하자면 JVM(Java Virtual Machine 이하 JVM)의 메모리에 상주(힙 또는 스택)되어 있는 객체 데이터를 바이트 형태로 변환하는 기술과 직렬화된 바이트 형태의 데이터를 객체로 변환해서 JVM으로 상주시키는 형태를 같이 이야기합니다. 2. 자바 직렬화 적용 1. Member.java 자바 기본(primitive) 타입과 java.io.Serializable 인터페이스를 상속받은 객체는 직렬화 할 수 있는 기본 조건을 가집니다. 2. Main.java 자바 직렬화는 java.io.ObjectOutputStream 객체를 이용합니다

2022년 5월 22일
·
0개의 댓글
·
post-thumbnail

[Test][error]serializes to the same string

Unit Test를 진행하던 중 오류가 발생했다. 이 상태로 테스트를 진행했더니, serializes to the same string이라는 에러가 떴다. 무슨 말일까? Jest 공식 깃허브의 issue 탭을 확인해보았다. 그 중 한 답변을 참고했다. >toBe does physical comparison (referential identity, ie. that they are the same, not just look the same) on comp

2022년 1월 26일
·
0개의 댓글
·

직렬화(Serialize)와 역직렬화(Deserialize)

얕은 지식으로 객체의 등장은 수직으로 내려가던 일방향성에서, 수직으로 하나의 방향을 추가한 것이다. 즉, 2차원이 되었지만, 단 하나의 개체만 추가되었다. 이에 대해서도 깊은 고찰이 필요하다. 최소한의 복잡성을 주고, 그에 대한 효율성을 가져온 것이다. 객체가 key, value만 존재하는 데는 이유가 있다. 그 이상의 복잡성은 처리가 어려울 뿐 더러 효율 또한 좋지 않다고 생각한다 직렬화라고 하는 것은 방향성을 없애는 것 변인을 통제하는 것, 계를 설정하는 것 일맥상통하는 말이라고 생각한다. 비교를 해야하는 점에서 트리구조, 데이터 파악에 어려움을 느끼지 않았는가? 복잡성을 제거해준다. 그 이후에 처리는 본인 재량이다 짬바가 나오는 순간이랄까

2022년 1월 17일
·
0개의 댓글
·
post-thumbnail

Python BackEnd: 클론 코딩(2)

follow 및 unfollow 엔드포인트 구현 follow 혹은 unfollow하고 싶은 사용자의 id를 HTTP요청으로 전송 해당 API에서 요청 처리 follow 엔드포인트에 전송할 내용? *JSON 데이터를 전송할 것이며 다음과 같다. "id" 필드는 사용자의 id이다. "follow" 필드는 사용자가 follow할 대상자의 id이다. unfollow 엔드포인트에 전송할 내용? 마찬가지로 *JSON 데이터를 전송할 것이며 다음과 같다. "id" 필드는 사용자의 id이다. "follow" 필드는 사용자가 unfollow할 대상자의 id이다. 위의 내용을 코드로 구성해야 한다. '앞과 비슷하니 스스로 생각하여 구현해본 후 제시된 예제와 비교해보자'라고 적혀 있다. 구현해본다. 모르겠다. 그냥 제시된 예제를 볼 거임. follow를 구현하는 예제 코드 전의 포스트에서 계속 이어지기 때문에 이전에 쓰던 변수를 기억하는

2021년 11월 26일
·
0개의 댓글
·
post-thumbnail

[Java] Transient

스프링 프로젝트에서 Entity에서 변수 선언중에 transient 키워드를 사용하는 것을 발견했다. transient키워드는 쉽게 말해 객체 직렬화 중 사용자 지정 field를 무시하려고 사용하는 키워드라고 하는데, Entity에서 사용하는 @Transient 어노테이션과의 차이도 존재한다. 💡 transient란 Serialize하는 과정을 제외하고 싶은 경우 선언하는 키워드 Why? 패스워드 같은 보안정보가 직렬화(Serialize) 과정에서 제외하고 싶은 경우에 적용 여러 이유로 데이터를 전송하고 싶지 않을 때 선언 Result 변수 field는 유지되지만, null값이 대입되는 것을 확인 할 수 있다. 📗 Transient VS @Transien

2021년 10월 19일
·
0개의 댓글
·
post-thumbnail

Java의 직렬화(Serialize)란?

들어가며 > 예전에 네트워크 통신을 할때 Serialize에 대해 공부를 한 경험이 있지만 지식의 부족함을 느끼고 조사하여 결과를 정리합니다. > 직렬화(Serialize)란? 직렬화(Serialize) 자바 시스템 내부에서 사용되는 Object 또는 Data를 외부의 자바 시스템에서도 사용할 수 있도록 byte 형태로 데이터를 변환하는 기술. JVM(Java Virtual Machine 이하 JVM)의 메모리에 상주(힙 또는 스택)되어 있는 객체 데이터를 바이트 형태로 변환하는 기 역직렬화(Deserialize) byte로 변환된 Data를 원래대로 Object나 Data로 변환하는 기술을 역직렬화(Deserialize)라고 부릅니다. 직렬

2021년 10월 9일
·
0개의 댓글
·

JSON

1.JSON JSON은 JavaScript Object Notation의 줄임말로, 데이터 교환을 위해 만들어진 객체형태의 포맷이다. 다만 객체와는 다르게, JSON은 모든 내용을 문자열로 변환시킨다. 이 변환된 문자열 덕분에 메시지 객체를 전송하며 데이터 교환이 가능한 것이다. 객체의 '키'에는 따옴표를 쓸수 없지만, JSON형태에서의 '키'는 문자열을 사용해야하므로 반드시 따옴표를 써야한다. 객체의 '값'은 어떠한 형태가 와도 상관없지만, JSON형태에서의 '값'도 키처러 반드시 따옴표를 써야한다. 또한 JSON은 키와 값사이, 그리고 키-값 쌍 사이에 공백이 있어서는 안된다. JavaScript에서 을 쓰면 되지 않을까 하는 의구심이 들 수 있다. 하지만 method로 객체를 변환하려고 하면 라는 결과를 리턴하게 된다. 1-1. JSON형태로 변환하기 이 과정을 직렬화(serialize)라고 한다. 1-2. JSON형태에서 O

2021년 10월 7일
·
0개의 댓글
·
post-thumbnail

zonedDateTime 직렬화 이슈(spring boot 1.x 버전)

배경 업무 도메인 상 "시간"이란 개념을 다양하게 풀어내고 있음 spring boot 1.5.12 버전, jackson-datatype-jsr310 의존성이 추가된 상태 미리 말하자면, 2.x 버전에서는 아래 문제 상관없음 문제 상황 api 서버를 만드는데, 클라이언트쪽으로 zonedDateTime 타입의 value가 굉장히 복잡하게 넘어옴. (뷰 뿌려줄 필요없으니 json 데이터만 넘겨줌) 예를들어 서버에선 이런 친구가..... 이렇게 직렬화가 되어 클라이언트로 넘어옴...,, ![](http

2021년 6월 7일
·
0개의 댓글
·