
매번 프로젝트를 할 때마다 느끼는건데, '과연 이걸 구현할 수 있을까?', '못하면 어떡하지?' 싶은 기능들을 어찌저찌 잘 구현해가고 있다. 오늘은 프로젝트를 하면서 구글링을 했었지만 만족할만한 결과가 없어서 혼자 이 코드 저 코드 봐가며 완성한 기능을 정리하려고 한다. 혹시 비슷한 기능을 만들 누군가에게 도움이 되기를. (제 방법이 제일 효율적이라거나 그런 것은 아닙니다. 저는 이렇게 구현했고, 혹시 다른 더 좋은 방법이 있다면 알려주시면 감사하겠습니다.) 우선 상황을 설명하자면 이랬다. 위 화면은 숙소정보 상세조회화면이다. 아래의 리스트는 리뷰리스트인데, 저 리스트의 제목을 누르면 그 리스트의 내용이 보여야 한다. 보여야 하는 내용에는 리뷰의 이미지들도 포함되어 있는데, 테이블구조상 리뷰와 리뷰이미지..
오늘 플젝하다가 ajax로 jsp에서 json형태로 데이터를 보내고, 그 데이터를 자바에서 받아서 비즈니스 로직을 실행한 결과를 다시 json형태로 jsp에 넘겨줘야하는 일이 있었다. 자바단에서는 json으로 보내기 위해 HashMap에 보낼 데이터를 넣어놓은 상태였는데, 이걸 어떻게 json으로 바꿔서 보내줘야하나 하는 문제가 있었다. 그래서 막 구글링하다가 Gson을 이용하는 방법이 있길래 그걸로 구현했는데, Gson이 정확하게 뭔지 몰라서 정리한다. github.com/google/gson google/gson A Java serialization/deserialization library to convert Java Objects into JSON and back - google/gson gith..
우선... fungible이 무슨 뜻인지 찾아봤다. 파파고에 검색해보니 "대체 가능의, 대신할 수 있는" 이라고 한다. 직역해보자면 Non-fungible token은 대체불가능한 토큰이다. 아래의 기사에 따르면 NFT는 토큰화된 디지털 자산이고, 토큰 1개당 가치가 모두 다르기 때문에 유명인의 사인이나 예술 작품, 게임 내 한정판 아이템, 가상공간 내 캐릭터 등 희소성 있는 상품을 블록체인상에서 토큰화할 때 NFT가 사용된다고 한다. www.munhwa.com/news/view.html?no=2021031601031639274001 ‘제2의 비트코인’ NFT의 모든것 예술작품·게임 아이템 등 가치매겨 토큰화… 대부분 이더리움으로 결제메타데이터 통해 고유 문자열로…디지.. www.munhwa.com
요즘 팀플젝을 깃허브로 하고 있는데, 저 두 파일이 자꾸 떠서 신경쓰여서 찾아봤다. pom.properties 응용프로그램의 구성 가능한 파라미터들을 저장하기 위해 자바 관련 기술을 주로 사용하는 파일들을 위한 파일 확장자라고 나와있다. ko.wikipedia.org/wiki/.properties .properties 위키백과, 우리 모두의 백과사전. .properties는 응용 프로그램의 구성 가능한 파라미터들을 저장하기 위해 자바 관련 기술을 주로 사용하는 파일들을 위한 파일 확장자이다. 국제화와 지역화를 위 ko.wikipedia.org MANIFEST.MF ko.wikipedia.org/wiki/%EB%A7%A4%EB%8B%88%ED%8E%98%EC%8A%A4%ED%8A%B8_%ED%8C%8C%E..
꾸역꾸역 프로젝트를 진행하고 있었는데... 열심히 해서 진도를 빼놓고 다른 기능 추가하고 있는데 갑자기 400이 떴다. 콘솔에도 아무 것도 안 찍히고, 400만 뜨니 답답해죽을 지경이었는데... form에서 전송방식을 (원래는 POST였다.) GET으로 바꾸는 아주 간단한 방법으로 다음 페이지로 전달되는 변수들을 확인했더니 한 놈이 제대로 안 가고 있었다... 그래서 수정하다가 혹시 까먹을까봐, 그리고 누군가에게 도움이 될까해서 글로 써둔다. 400이 뜨면 주소창을 통해 데이터가 제대로 가고 있는지 확인하자... 값이 맞다면 데이터 타입을 의심해보는 게 좋을듯하다.
요즘은 스프링을 공부하고 있는데 좀 더 깊게 알고 싶은 마음에 낮에는 학원에서 공부하고 밤에는 추가적으로 스프링 인터넷강의를 듣고 있다. 그러다보니 학원에서는 A를 알려주는데, 인터넷강의에서는 B를 알려주는 경우가 있다. 오늘이 그랬다. 학원에서는 Bean을 설정할 때 xml파일을 통해 의존관계 주입 설정하고 아래와 같은 코드를 사용했다. ApplicationContext context = new ClassPathXmlApplicationContext("config.xml"); 그런데 오늘 스프링 인터넷강의를 듣다보니 자바로 config클래스파일(Config)을 만들고 아래와 같은 코드를 사용했다. ApplicationContext applicationContext=new AnnotationConfigA..
요약에 들어가기 전에 에서 말하는 객체와 자료구조의 의미 차이를 정리해둘 필요가 있어서 여기에 정리해둔다. 실제 현업에서도 이런 것을 자료구조라고 하는지는 모르겠지만. 객체란 자료를 숨기고 공개한 함수로 그 숨긴 자료를 다루는 것이고, 자료구조는 자료는 공개하되 아무 메서드도 제공하지 않는 것을 말한다. 객체라고 하면 private으로 인스턴스 변수를 선언하고 그 외의 메서드들을 가지고 있지만, 자료구조는 멤버변수만을 가지고 있는 것이다. 이 책에서는 객체가 포함하는 자료를 표현할 가장 좋은 방법을 심각하게 고민해야 한다고, 아무 생각없이 getter/setter 메서드를 만드는 것이 제일 나쁘다고 한다. 객체(객체지향기법)와 자료구조(절차적인 코드)는 요약 전에 설명한 것 같은 차이가 있기 때문에 서로..
ko.wikipedia.org/wiki/휴리스틱_이론 휴리스틱 이론 위키백과, 우리 모두의 백과사전. 휴리스틱(heuristics) 또는 발견법(發見法)이란 불충분한 시간이나 정보로 인하여 합리적인 판단을 할 수 없거나, 체계적이면서 합리적인 판단이 굳이 필요하지 ko.wikipedia.org 클린코드를 읽다가 휴리스틱이라는 말이 나와서 찾아봤다. 복잡한 문제를 단순화시킬 때 사용한다는듯. '어떤 문제를 해결하거나 제어하기 위해 필요한 정보를 느슨하게 적용시키는 접근을 시도하는 전략'이 제일 맞는듯하다.