반응형

전체 글 128

[도서 리뷰] 생각중독 - 불안한 삶을 살고 있는 나에게

생각 중독 독립출판물로 출간된 후 독자들의 폭발적 지지와 입소문만으로 아마존 종합 베스트셀러에 오른 후 전 세계 36개국에 판권 수출된 글로벌 화제작 『생각 중독』이 드디어 한국에 출간됐다. 저자는 ‘생각 과잉’을 우리도 모르는 사이 삶을 서서히 망가뜨리는 현대 사회의 문제적 유행병으로 규정하며, 그 심각성을 인식하고 당장 생각의 패턴을 바꿈으로써 그 독성에서 벗어날 것을 촉구한다. 과거를 되새김질하며 끝없이 후회하는 사람, 아주 작은 일에도 거대한 걱정으로 내닫는 사람, 밀려드는 업무에 압도돼 정작 미루기만 하는 사람, 자기 말 한마디가 관계를 해칠까 두려워하는 사람…. 모두 ‘생각 감옥’에 갇힌 사람들이다. 이곳에 갇힌 사람들은 불안감에 시달리다 부정적 사고 패턴으로 현실을 잘못 인식하고 결국 지독한..

일상/리뷰 2024.03.29

Spring Data JPA - Specification이란?

JPA를 이용해서 개발을 하다보면, 복잡한 검색조건, 단순히 검색조건이 한 두개만 늘어나도 상당히 코드의 가독성이 확 떨어지는 경우가 생깁니다. 그런 상황에서 동적쿼리라는 말이 들리고, Specification이라는 인터페이스도 들리게 됩니다. Specification이란 무엇인지 한 번 알아보도록 하겠습니다. Specification이란, Spring Data JPA에서 제공하는 API중에 하나입니다. 복잡한 검색 조건, 다양한 조합의 필터링 로직을 쉽게 구현할 수 있는 API입니다. 특히 검색이나 필터링 조건이 많은 REST API를 개발할 때 매우 유용한 API입니다. 왜 써야 하는가? 테이블에서 필드에서 조건이 맞는 데이터를 가져온다고 생각해봅시다. 그럼 JPA로 간단하게 인터페이스의 method..

IT Tech/Java 2024.03.25

이진 파일(Binary File)이란 무엇일까

이진 파일(Binary File)이란 컴퓨터에서 사용하는 데이터 파일 중 하나로, 텍스트 파일과 대비되는 형태입니다. 텍스트 파일이 사람이 읽고 이해할 수 있는 문자들로만 구성된 파일이라면, 이진 파일은 컴퓨터가 처리할 수 있는 이진 데이터로 구성되어 있습니다. 이러한 이진 데이터는 텍스트 데이터뿐만 아니라 이미지, 오디오, 비디오 등과 같은 다양한 형태의 멀티미디어 데이터를 포함할 수 있습니다. 이진 파일의 특징 다양한 데이터 저장 : 이진 파일은 문자 정보 뿐만 아니라, 이미지, 동영상, 프로그램 실행 파일 등 다양한 형태의 데이터를 저장할 수 있습니다. 이는 이진 파일이 데이터를 0과 1의 이진 코드로 표현하기 때문에 가능한 일입니다. 효율적인 데이터 관리 : 이진 파일은 텍스트 파일에 비해 데이터..

Vue.js 3에서 이미지 파일 Post 요청

데이터 전송에 있어서 HTTP 프로토콜을 사용한다면, 전송하는 데이터의 종류에 따라 적절한 인코딩 방식을 선택해서 사용하게 됩니다. 일반적으로 문자열이나 객체와 같은 구조화된 데이터를 전송하는 경우, JSON 인코딩을 사용하는 것이 일반적입니다. JSON은 데이터를 효율적으로 표현하고, 다양한 플랫폼 간 데이터를 쉽게 주고받을 수 있는 형식을 제공하기 때문에 널리 사용되는 방식입니다. 예를 들어, 서버에 사용자 정보를 전송하는 경우 다음과 같은 JSON 사용될 수 있습니다. { "userName": "KIM JUNSU" "age": 36 "email": "zzansu01@gmail.com" } 이미지 파일이나 비디오 파일 같은 이진 데이터를 전송할 때는 JSON 인코딩이 적합하지 않은데요. 이진 데이터는..

IT Tech/vue.js 2024.03.06

vue3 의 로그인 상태 관리, reactive - watchEffect

vue3를 사용해서 Admin 사용자의 관리 어플리케이션을 구현을 하고 있습니다. 기존에 사용하던 어플리케이션의 로그인 방식을 카카오 로그인과 구글 로그인 등 api를 통해서 구현했기 때문에 관리 어플리케이션도 동일하게 카카오 로그인등의 외부 인증 api를 통해서 로그인을 구현했습니다. 로그인을 성공한 후 전달받은 유저의 정보를 백엔드 api 어플리케이션으로 전달해서 해당 유저의 role을 전달받아서 관리 어플리케이션에서 관리자 이상의 등급을 가진 유저만 관리 어플리케이션에 접속 할 수 있게 하려고 합니다. 그러면 당연히 전달받은 유저의 role 값을 vue3 어플리케이션에서 유지하며, Router Guard를 통해서 role 검증을 한 후 이동 할 수 있게 해야합니다. 여기서 사용가능한 것이 react..

IT Tech/vue.js 2024.03.05

[미니 프로젝트] 미군 근처 카페에서 사용할 메뉴 한화 달러 자동 계산기(1)

지인이 미군 근처의 카페에서 일하게 됐다고 한다. 그 카페는 당연히 미군들이 많이 와서 달러로 메뉴가 되어있고, 달러를 받는다. 그런데 한국이니 한화도 사용할 수 있다. 여기서 문제가 생긴다. 하루하루 환율에 따라서 메뉴의 가격이 변동된다는 것이다. 그러니 한화 계산은 계산기로 매번 환율을 적어가며 계산하는 노동이 생긴다는 것이다. 그 이야기를 듣다가 아무 생각없이 말했다. "자동 계산하는 프로그램 만들어줄까?" 아... 사실 진짜 만들기 전까지는 그냥 뚝딱 하면 만들어질 줄 알았다. 뚝딱 만들기는 했다. 디자인은 안건들어서.. 그런데 뚜~~~~~~~~~~~~~~욱 다~~~~~~~~~~~~~~~~~~~~~~악 만들었다. 굉장히 길고 험난한 여정이었다. 다시는 함부로 이야기 하면 안되겠다는 생각을 하기도 ..

Docker란 무엇인가? 사용하면 어떤 좋은 점이 있을까?

Docker의 존재를 알고는 있었는데, 지금 당장 중요한 건 다른 것이라는 판단으로 다른 것들을 조금 더 공부하고 있었습니다. 당연히 다른 공부를 하면서 배포를 하는 상황도 많았고, 그런 상황들마다 배포하는데 굉장히 많은 고생을 하기도 했습니다. 특히 서버에 설치 되어있는 언어나 라이브러리들이 아주 오래전에 설치되어있던 것들이라면 정말 고생해서 서버에 배포했었습니다. 그러던 중 Docker라는 걸 쓰면 배포하는데 조금 더 쉽게 할 수 있다는 이야기를 듣고, 너무 흥미로워서 공부를 하고, Docker를 통해 배포를 하는 방법에 대해서 공부해봤는데, 정말 편합니다! 물론 시스템의 자원을 그냥 쌩으로 배포할 때보다 조금 더 먹는 건 사실입니다. 그런데 내가 개발한 환경 그대로 서버의 설정 없이 그냥 배포할 수..

IT Tech/docker 2024.02.25

[2024.02.21] 버전관리의 중요성을 또 체감하다.

회사에서 배포를 하면서 처음 느꼈고, 교육원에서 선생님들이 그렇게도 이 부분에 대해서 예민하셨던 버전관리. 정말 매번 서버에 배포할 때마다 느끼는 것 같다. PHP 같은 경우는 공부를 아직 제대로 하지 않아서 언어도 잘 모르는데 버전 오류로 실행이 안될때면 정말 난감한 것 같다. 그래도 이렇게 뭔가를 하나하나 해결해 나가면서 문제 해결 능력이 조금 향상되는 것 같은 느낌이 들기도? PHP를 모르기 때문에 더 힘든 것 이라 생각이 들기도 했지만, 저번에 자바 버전 문제로 고생을 한 적도 있어서 이제는 그냥 버전이 안 맞으면 고생하는구나 옛날 버전 코드로 작성된 프로젝트를 다른 서버에 배포하는 것 자체가 엄청난 일이구나라는 것을 깨닳게 되는 것 같다. 그래도 처음보다는 쉽게 문제 해결을 하고, 서버에 배포를..

Ubuntu(우분투)에 PHP 7.2버전 설치하기

웹 어플리케이션 개발 언어의 버전을 서버에서 맞추는 것은 굉장히 까다롭습니다. 최신 버전으로 설치해도 된다면 별로 까다롭지 않지만, 그게 아니라 예전에 만든 웹 어플리케이션을 서버에 배포하는 것이라면, 당연히 개발할 때 사용했던 버전으로 서버에 설치해서 배포하는 것이 가장 좋은 방법입니다. 이전에 회사에서 개발할 때 7.2버전을 사용해서 개발했고, 현재 PHP 버전은 8버전이고, 현재 PHP버전에서는 사용하지 않는 함수를 사용해서 개발한 웹 어플리케이션이라서 현재 버전으로는 실행이 되지 않습니다. 어쩔 수 없이 서버에 PHP 7.2버전을 새로 설치해줘야하는 상황이 왔습니다. 그래서 설치하는 과정을 살펴보도록 하겠습니다. 1단계 : Ondřej Surý의 PHP PPA 추가 Ondřej Surý의 PPA는..

IT Tech/linux 2024.02.21

2024.02.20 개발일기 작성 첫 날.

글을 쓴다는 것은 참으로 어려운 일 같다. 매일 매일 블로그를 작성하려고 해도 블로그를 작성할 주제를 선정하는 것, 그리고 그 주제를 그래도 잘 정리되게 보이게 하기 위해서 글을 쓰는 것. 이렇게 하다보면 하루 중 많은 시간을 블로그 작성에 쓸 수 밖에 없다. 물론 하다보면 글을 작성하는 시간도 줄어들 것이고, 작성하면서 나에게 남는 것도 있겠지만, 작성하는게 쉬운 일이 아니라는 것은 분명하다. 그렇다고 그냥 블로그를 작성해야 할 주제가 생겼을 때만 작성하자고 해도, 블로그를 작성하지 않다보면, 블로그라는 것이 존재한다는 것을 까먹어버린다. 지금 내 상황이다. 블로그 쓸 주제가 생겼을 때 작성하자 했더니 아예 블로그를 쳐다보지도 않는 날이 블로그에 접속한 날보다 많아지고 있는 상황이 됐다. 그래서 일기 ..

728x90
반응형