반응형

 

첨엔 근대 로맨스 소설인가 했는데... 아니었고..

그럼 독립운동을 배경으로 하는 소설인가 했는데 아니었고...

머랄까 근대를 살아가는 한 여성의 삶의 서사와 투쟁기라고 보면 될까 ..

 

배움이 길지는 못하였으나 자신의 삶을 스스로 결정하고자 싶어하고, 

일제강점기가 무엇인지 알지 못하였으나 독립하고자 하는 마음을 느꼈으며,

고무공장에서 직접 일하며 불평등이 무엇인지 온몸으로 느끼고

대의가 있지는 않았으나 자신과 자신이 사랑하는 사람들의 더 나은 삶을 위해 투쟁하였다.

 

뒤에 사진이랑 기사같은 것이 나오는 걸 보니

아마 실화를 바탕으로 한 소설인 것 같다. 

삶의 희노애락이 담겨있으며 전개가 속도감 있고 사투리와 옛날 말씨가 매우 실감나서 정말 흥미롭게 읽었다.


 

가만 보니 문창호에 손가락 둘레만한 구멍이 대여섯 개 나 있다. 
그리 들어온 햇빛 한 줄기가 전빈의 눈을 겨누고 있는 것이다.

주룡은 손 하나를 뻗어 전빈의 얼굴에 그늘을 만들어준다. 
눈을 감은 채 깊은숨을 내쉬는 전빈을 주룡을 오래도록 바라본다.

뜬금없이 어머니에게 들은 실없는 물음이 그 얼굴을 보는 사이 떠오른다.

통화현에서 곱기로 으뜸가는 것이 무엇인지 나 알았소.
그것은 내 서방. 이 생각에 주룡은 의기양양해진다.

서방만 한 게 없다.

 

 

당신이 좋아서 당신이 독립된 국가에 살기를 바랍니다.

 

 


임자가 이런 사람이어서 나는 좋았에요.

주룡은 바로 답하지 못한다. 그런 말 말지.
이미 한 번 버린 아내에게, 이제는 아주 두고 떠날 사람에게 그리 다정한 말은 말지.
데리고 떠나지 말지. 정 주지를 말지. 첫날밤에 소박을 맞히지. 이럴 바에는.
주룡은 손을 내밀어 전빈의 얼굴을 감싼다.

 

 

부모를 따라서 이주하고, 시집을 가래서 가고, 서방이 독립군을 한대서 따라가고,
그런식으로 살아온 주룡에게는 자기가 무엇이 될 것인지를 저 자신이 정하는 경험이 그토록 귀중한 것이다.

 

 

주룡이 말할 때는 미심쩍고 불쾌한 기색을 숨기지 못하던 회원들이 달헌의 말에는 고개를 끄덕인다.
이에 슬그머니 짜증이 나려 하는 것을 꾹 참으며 주룡도 달헌에게 박수를 보낸다.

 

 

"시방까지 배운 바론 노동자가 으뜸이구 근본 되는 계급인데 
실지로는 에리뜨들이 계도와 계몽의 대상으로 보구 있다. 이거이 최근 나의 불만입네다."

 


우습지 않습니다. 내가 이겼다고 생각하지도 않습니다. 당신 아주 탁월한 사람입니다. 싸우려고 태어난 사람같습니다. 본때를 보여주시오. 나 따위 것 우습게 여겨버리시오. 알겠소?

주룡 씨 이미 잘하고 있다고 들었습니다. 내가 부재중인 동안에도 모임에 빠짐없이 출석하고 토론에도 적극적으로 임하고 있다고. 기만적인 말처럼 들리겠으나 나는 아무리 하고 싶어도 주룡 씨처럼은 할 수 없습니다.
여성 고무 직공의 당사자성을 흉내 내거나 빼앗을 수 없습니다. 하지만 주룡 씨는 얼마든지 나의 몫을 가져갈 수 있지요. 사상이니 이론이니 하는 것은 배워가면 되는 것이니까.

반응형

'' 카테고리의 다른 글

포르노랜드 - 게일 다인스  (0) 2021.10.14
네 눈동자 안의 지옥 - 캐서린 조  (0) 2021.08.21
천 개의 파랑 - 천선란  (0) 2021.07.06
날씨가 좋으면 찾아가겠어요 - 이도우  (0) 2021.05.29
김한민 - 아무튼, 비건  (0) 2021.04.28
반응형

 

//파일 쓰기
BufferedWriter bw = new BufferedWriter(new FileWriter("C:\Users\Owner\Desktop\newtext.txt",true));
bw.write("파일 쓰기");
bw.flush();


//파일 읽기
BufferedReader br = new BufferedReader(new FileReader("C:\Users\Owner\Desktop\oldtext.txt");
String line ="";
//한 줄 씩 읽은 내용 쓰기 
while( (line=br.readLine()) !=null ) {
	bw.newLine();
	bw.write(line);
	bw.flush();
}
반응형
반응형
반응형
반응형

 

나는 세상을 처음 마주쳤을 때 천 개의 단어를 알고 있었다.
그리고 천 개의 단어로 다 표현하지 못할, 천개의 단어보다 더 무겁고 커다란 몇 사람의 이름을 알았다.

 

정말 오랜만의 감동적이고 감성적인 소설이었다.

경마장에서 말을 타기 위해 만들어진 기수 로봇 콜리,

경주마로서의 수명을 다해 곧 죽을날만 기다리는 말 투데이,

로봇을 좋아하지만 친구 사귀기는 서툴고 언니와 엄마에 대한 부채감을 지고 살아가는 연재,

다리가 불편해 휠체어를 이끌고 매번 경마장에 가는 은혜,

죽을 위기를 이겨냈지만 사랑하는 사람을 잃고 꿈을 포기한 채 두 딸을 키우며 버티는 보경.

등장인물들을 보면 알겠지만 저마다의 사연이 다양하다. 그만큼 다루고 있는 이야기들도 다양하다.

감정을 느끼고 상처를 치유한다는 것 등 오로지 감정적인 면 뿐만 아니라 장애인의 인권이라든가, 동물 복지에 대한 생각과 같은 사회 문제 또한 반영되어 주인공들이 겪는 일에 현실성과 공감성을 부여한다.

사람은 다 비슷하다지만
너무나도 다른 입장에서 살고있는 인물들에서
보편적인 감정을 뽑아내어
어루만져주는 소설이라고 생각한다.

정말정말 감동받았다~!


다양한 하늘이 존재했지만 콜리는 그중에서도 구름이 선명한 날을 좋아했다.
여기서 '좋아했다'는 더 자주, 더 오래도록 하늘을 바라봤다는 뜻이다.

 

 

 

세상이 조금만 더 자신을 남들처럼만 대해준다면 은혜는 사이보그따위 되지 않아도 된다고 생각했다.
몇 천만 원을 웃도는 기계 다리 부착 수술보다 더 필요했던 건
인도에 오를 수 있는 완만한 경사로와 가게로 들어갈 수 있는 리프트,
횡단보도의 여유로운 보행자 신호,
버스와 지하철을 누구의 도움 없이도 탈 수 있는 안전함이었다.

 

 

 

세상은 연재와는 상관없이 빠른 속도로 많은 것을 탄생시켰다.
그제야 삶의 격차가 어느 틈을 비집고 생겼는지 이해되기 시작했다.
그건 연재의 균열이라기보다 부모님, 그리고 그 부모님보다 더 먼 부모님의 삶 어디에선가부터
천천히 시작된 균열일 것이다. 연재가 스스로 절대 여밀 수 없는 크기로 말이다.

 

 

 

"그리움이 어떤 건지 설명을 부탁해도 될까요?"
"기억을 하나씩 포기하는 거야."

"문득문득 생각나지만 그때마다 절대로 다시 돌아갈 수 없다는 걸 인정하는 거야.
그래서 마음에 가지고 있는 덩어리를 하나씩 떼어내는 거지.
다 사라질 때까지."

"마음을 떼어낸다는 게 가능한가요?"

"응. 이러다 나도 죽겠지, 죽으면 다 그만이지, 하면서 사는거지."

 

 

 

한 해 1만여 마리 정도의 동물이 자신의 의지와 상관없이 눈을 감았다.
인간도 살기 비좁은 땅이라는 이유로 동물들이 사라져야 했다.
이런 비정상적인 생태계를 이상하게 생각하지 않는 인간은 없다.
모두가 입을 모아 동물의 생존권을 지켜야 한다고 말한다.
하지만 그중 대부분의 인간들이 여전히 개 공장에서 태어나 펫숍으로 팔려 온 강아지를 구매했고
쓰레기통을 뒤지는 고양이를 발로 찼다. 털이 뭉친 노견은 너무 못생겼다 느꼈으며
갓 태어나 젖도 떼지 못한 개만이 가족이 될 수 있는 조건을 갖췄다고 생각했다.
고양이에 대한 최소한의 상식없이 집에 들였다가 털이 너무 많이 빠지거나 아이가 생겼다는 이유로 유기했고
같은 케이지 안에 넣어 서로 죽이는 햄스터를 징그럽다는 눈으로 바라보았으며
수온과 염분을 맞추지 못해 떼죽음당한 열대어를 변기통에 흘려보냈다.
새를 위해 새장을 하늘이 보이는 베란다에 놓았고
그 해에 유행했던 동물들은 반짝 개체수를 늘렸다가 소리 소문없이 사라졌다.
가축이 된 짐승과 인간과 친한 몇몇의 동물들 빼고 모든 동물들은 몇 세기 안에 사라질 것이다. 소리 소문 없이.인간이 필요로 하지 않으면 죽었다. 복희가 말했던 이 행성에서의 동물들의 위치였다.

 

 

 

콜리는 공감을 느낄 수 없는 개체였지만 공감하는 척 움직이게 만들어졌다.
어차피 사람도 제대로 하지 못 하는 게 공감이었다.
보경은 콜리를 앉혀놓고 몇 번 대화를 한 후에야 진정으로 필요했던 건
들을 수 있는 귀와 끄덕일 수 있는 고개였다는 것을 깨달았다.

 

 

 

행복만이 그리움을 이길 수 있다고 했잖아요.
아주 느리게 하루의 행복을 쌓아가다 보면 현재의 시간이, 언젠가 멈춘 시간을 아주 천천히 흐르게 할 거예요.

 

 

 

 

바다에 빠지면 누구를 가장 먼저 구할거냐는 질문이 나왔어요.
그게 소중한 사람의 순위를 매길 때 사용되던데. 그런데 참 이상한 비유예요.
왜 꼭 절망의 상황에서 마음을 확인할 수 있다고 믿는 걸까요?
가장 좋아하는 케이크를 누구에게 먼저 줄 거냐는 비유도 할 수 있을 텐데요.

 

 

 

 

아쉽다. 아쉬움이라는 단어를 꺼내지 않은 지 오래돼서 완전히 잊은 줄 알았는데 아니었다.
아쉬움에는 약간의 설움이 섞여있었다.
실로 오랜만에 아쉽다는 단어를 꺼내면서, 아쉬움에 면역되지 않은 마음이 설움에 정복당하는 듯했다.
눈물이 날 것 같았지만 울었다가는 지수에게 평생 놀림을 받을 것 같았으므로 연재는 꾸역꾸역 참았다.

 

 

 

 

연재는 볼 때마다 새로운 부분을 발견했다.
인간의 눈이란 같은 것을 바라보고 있어도 각자가 다른것을 볼 수 있었다.
콜리는 인간의 구조가 참으로 희한하다고 생각했다.
함께 있지만 시간이 같이 흐르지 않으며 같은 곳을 보지만 서로 다른 것을 기억하고,
말하지 않으면 속마음을 알 수 없다. 때때로 생각과 말을 다르게 할 수도 있었다.
끊임없이 자신을 숨기다가 모든 연료를 다 소진할 것 같았다. 

그럼에도 불구하고 이따금씩 말하지 않아도 서로의 마음을 알아차렸고,
다른 것을 보고 있어도 같은 방향을 향해 있었으며 떨어져 있어도 함께 있는 것처럼 시간이 맞았다.
어렵고 복잡했다. 하지만 즐거울 것 같기도 했다. 콜리가 감정을 느낄 수 있었다면 모든 상황이 즐거웠으리라. 삶 자체가 연속되는 퀴즈처럼 느껴졌을 것이다.

 


어흐흑

따흐흑

반응형

'' 카테고리의 다른 글

네 눈동자 안의 지옥 - 캐서린 조  (0) 2021.08.21
체공녀 강주룡 - 박서련  (0) 2021.07.13
날씨가 좋으면 찾아가겠어요 - 이도우  (0) 2021.05.29
김한민 - 아무튼, 비건  (0) 2021.04.28
페인트 이희영  (0) 2021.03.10
반응형

LocalDateTime 기본으로 적용되는 날짜표시 포맷

2021-07-06T14:32:27.002333

저 T는 날짜 뒤에 시간이 온다는 것을 알려주는 ISO 날짜 형식이라고 함..

저 T를 포함한.. 밀리세컨드등이 너무 거슬려서... LocalDateTime format을 바꾸려고 함..

 


LocalDateTime의 format을 지정해주는 기본 형식

String dateTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"));

 


  • BaseTimeEntity 원래 코드
import lombok.Getter;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.EntityListeners;
import javax.persistence.MappedSuperclass;
import java.time.LocalDateTime;

@Getter
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public class BaseTimeEntity {

    @CreatedDate
    private LocalDateTime createdDate;

    @LastModifiedDate
    private LocalDateTime modifiedDate;
}
  • DB 컬럼 Data Type : DATETIME

 

 

변수에 바로 대입해봤는데..

@CreatedDate
private String createdDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"));

@LastModifiedDate
private String modifiedDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"));
  • DB 컬럼 Data Type : VARCHAR 으로 변경

 

기존에 나오던 거랑은 다른데 내가 넣은 형식이 적용이 안 되고 

마음대로 이렇게 나와버려.. 정말웃겨 ...

21. 7. 6. 오후 4:08

 


Entity Listen을 이용한 BaseTimeEntity 코드

아래와 같이 Entity Listener를  사용하니 원하는 날짜값이 원하는 형식대로 적용되었다.

  • DB 컬럼 Data Type : VARCHAR
@Getter
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public class BaseTimeEntity {


    @CreatedDate
    private String createdDate;

    @LastModifiedDate
    private String modifiedDate;

    @PrePersist
    public void onPrePersist(){
        this.createdDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"));
        this.modifiedDate = this.createdDate;
    }

    @PreUpdate
    public void onPreUpdate(){
    this.modifiedDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"));
    }

}

 

  • @PrePersist : 엔티티 insert 이전 실행
  • @PreUpdate : 엔티티 update 이전 실행

 


ISO 날짜 형식 참고

 

[ISO] ISO 8601 개념

ISO 날짜 형식이란? 정식 명칭 Date elements and interchange formats - Information interchange - Representation of dates and times 미쳤다.. 현재 제일 최신 버전 ISO 8601 구버전 IS..

java119.tistory.com

 

format 변경 참고

 

JPA 생성 일시 , 변경 일시 format 변경 하는 부분 정리

Auditing을 이용해서 공통으로 등록일과 수정일을 가져와 사용하는 형태로 만들면서 DB 쪽 설계가 char(14) 형태로 나왔다. 이 부분에 대해 얘기를 하였으나 기존 시스템과의 연계 때문에 어쩔수 없

kimseungjae.tistory.com

 

Entity Listener 참고

 

데이터 변경 알림 - @EntityListeners

spring 의 data-jpa 사용시 데이터 변경시 알림을 받는 방법이 있다. EntityListener 클래스를 만들고 public class DataDtoListener { @PostLoad public void postLoad(DataDto dto) { log.info("post load: {}",..

erim1005.tistory.com

 

반응형
반응형

Driver org.mariadb.jdbc.Driver claims to not accept jdbcUrl 에러 자꾸 뜸

근데 뒤에 url 이름이 내가 설정한 maria db url이 아님

 

  • 내가 사용하는 profile : real
  • application-real-db-properties에 database url 명시되어있음

 

  • build.gradle에서 mariadb 드라이버 추가되어있음

 

 

application.properties에 명시된 이 hikarl.jdbc-url 때문이었음.

application.properties가 공통 속성 설정이라 이 url을 사용해서 그런거였음

 

주석처리하니 잘 됨.

반응형
반응형

2021.1.2 Community Edition 사용


1. 오른쪽 상단 Application > Edit Configurations

 

2. Modify options > Add VM options

 

3. VM options란이 생성되면 

-Dspring.profiles.active='profile이름' 입력

 

Apply하고 OK, start 하면 로그에 적용된 profile이 보인당

반응형
반응형

yum 으로 패키지 설치 시 

packages excluded due to repository priority protections  에러

 

priorities plugin 때문이라는데..

/etc/yum/pluginconf.d/priorities.conf 파일의 내용을

enabled = 0 으로 수정해주면 된다. 

반응형
반응형

fetch 사용해보기


fetch() 기본

//fetch를 호출하면 브라우저는 네트워크 요청을 보내고 promise를 반환한다.
let promise = fetch(url, {options})
fetch(url, options)
	//api호출 성공 시 응답(response) 반환
  .then((response) => console.log("response:", response))
	//실패시 error 반환
  .catch((error) => console.log("error:", error));

 

fetch  사용 예시

    fetch("https://localhost:8080/urlurl", {
        method: 'POST',
        mode: 'cors',
        cache: 'no-cache', 
        credentials: 'same-origin',
        headers: {
            'Content-Type': 'application/json',
        },
        redirect: 'follow', 
        referrer: 'no-referrer',
        body: JSON.stringify(obj),
    })//fetch 실행이 끝나면 then의 내용 실행
    //응답을 JSON 형태로 파싱한다
    .then(response => response.json()) 
    .then(function (res){
    
    })

 

응답을 처리할 때 사용하는 메서드

response.text() 응답을 읽고 텍스트를 반환
response.json() 응답을 JSON 형태로 파싱
response.formData() 응답을 FormData 객체 형태로 반환
response.blob() 응답을 Blob(타입이 있는 바이너리 데이터) 형태로 반환
response.arrayBuffer() 응답을 ArrayBuffer(바이너리 데이터를 로우 레벨 형식으로 표현한 것) 형태로 반환

* 본문을 읽을 때 사용되는 메서드는 딱 하나만 사용할 수 있다.

let text = await response.text(); // 응답 본문을 읽고 test를 반환
let parsed = await response.json(); // 실패
반응형
반응형

1. 날짜 구하기

//오늘날짜 구하기
var date = new Date(); 

//년도 구하기.. ex)2022
var year = date.getFullYear(); 

//월 구하기.. 0~11이므로 1을 더해주고 한자리수면 앞에 0을 붙여줌 ex)08
var month = date.getMonth()+1 < 10? "0".concat(date.getMonth()+1) : date.getMonth()+1;

//일 구하기.. ex)11
var day = date.getDate(); 

//결과 : 2022-08-11
$('date').value = year+'-'+month+'-'+day;

 

2. 날짜 계산

var sdate = new Date();
sdate.setDate(sdate.getDate()-31);	
sdate.setMonth(sdate.getMonth()+2);
sdate.setYear(sdate.getYear()-1);

 

 

3. 날짜값 반환하는 함수

Date.prototype 으로 Date함수의 값을 커스텀해서 반환한다.

Date.prototype.myCustom = function () {
  var yyyy = this.getFullYear().toString();
  var mm = (this.getMonth() + 1).toString();
  var dd = this.getDate().toString();
  var hh = this.getHours().toString();
  var ii = this.getMinutes().toString();
  return (
    yyyy +
    "-" +
    (mm[1] ? mm : "0" + mm[0]) +
    "-" +
    (dd[1] ? dd : "0" + dd[0]) +
    "  " +
    (hh[1] ? hh : "0" + hh[0]) +
    ":" +
    (ii[1] ? ii : "0" + ii[0])
  );
};


//함수 사용하기 
let updateTime = new Date().myCustom();

변수를 출력하면 내가 지정한 형식의 날짜가 표시된다.

 

반응형

+ Recent posts