본문 바로가기

분류 전체보기28

[CSS] 게시판 만들기 - footer와 dynamic contents에 대하여... 게시판을 얼추 다 만들고 보는데, 게시글의 내용이 얼마 없으면, footer가 위로 올라와서 다듬어진 홈페이지의 느낌이 없는것이였다. 그래서 footer를 고정하는 방법을 찾았는데, footer를 고정을하니, contents가 길어졌을때(scroll이 될 때), 컨텐츠가 위로 올라가면서 footer는 밑으로 내려가지가 않았다.(해당위치에 고정) 어떻게 해야할까 고민을하다가(하드코딩으로 height : ??px값을 주면 모니터 사이즈에 따라서 안 되는 것도 있으니) 자바스크립트의 해당 브라우저 창의 길이를 구하는 자바스크립트의 window 기능이 있다는 걸 알고, 적용하기로 했다. window.innerWidth : 브라우저 화면의 너비 window.innerHeight : 브라우저 화면의 높이 windo.. 2022. 11. 7.
게시판 이미지에 대한 고찰? 최근에 다시 게시판을 만들던 중에 이런 생각이 들었다. 붙힘파일 이나 대표사진 같은건 create시에 파일을 저장하면 되는데, 본문에 저장되는 파일 같은 경우에는 어떻게 처리 할까 라는 고찰이였다. 티스토리를 확인해보니, 본문에 이미지를 올리면 서버에 올라가는것 같았다.(나도 여기까지는 했다.) 이후 처리가 궁금한데, 만약 저장하지 않고 넘어가면, 해당 파일이 어떻게 사라지냐는 것이였다. 내가 생각한 방법은, 1. 처음에는 서버에 저장하지 말고, 브라우저의 로컬 스토리지에 먼저 저장 위 사진과 같은 공간에 base64로 파일을 저장하면 된다고 한다. 해당한곳에 저장하는것 까진 성공했는데, 불러오기가 잘 안되서 관뒀는데, 생각해보니 모든 사용자가 브라우저의 로컬 스토리지를 사용할 수 있는 브라우저를 쓰는지.. 2022. 11. 2.
[JAVA] Jasypt 관련... 운영체제(window/mac,linux)에 따른 암호화(encrypt) / 복호화(decrypt) 문제 jasypt 라는 라이브러리가 있는데 이는 프로젝트내에 프로퍼티(application.yml ~.properties 등)를 암호화하는 라이브러리 중에 하나이다. 회사 컴퓨터는 window환경에서 코딩하고, 집에서는 맥북을 사용하는데, 회사에서 jasypt관련 class들을 짠 뒤에, 암호화키를 따로 텍스트에 저장해서 읽어오는 기능까지 만든 후에 잘 동작하는걸 확인하고, 주말에 집에 있는 맥북에다가 git pull 을 해서 사용하려고 하니, jasypt 관련 에러 때문에 프로퍼티들이 읽히지 않았다... "뭐가 문제지?" 하면서 처음에는 해당 글자(윈도우에서 암호화된 문자)들을 복호화했는데, EncryptionOperationNotPossibleException 위와같은 에러가 나면서 안 되는 것이였다. 그.. 2022. 10. 31.
외부에서 API SERVER 접근 가능한가? 원래 글을 어제 쓰고 싶었는데, 티스토리가 폭파되는 바람에 오늘로 미뤄졌다. ㅋㅋ CRUD method를 작성중에 WEB SERVER는 Spring Security로 적용이 되어 있는데, API SERVER는 Spring Security 적용이 안 되어 있으면서 OAuth로 같이 묶여있지 않았을때, API SERVER를 PostMan 같은 Tool로 해당 URL을 접근하면 권한이 필요한 delete query나 create query가 작동되지 않을까라는 고민을 하였다. 그래서 흠.. 그러면 어떡하지 하는 생각을 하다보니, 일단 PostMan의 Localhost call은 WAS서버가 작동하고있는 PC에 설치를 해야만 지원이 될테고, API서버의 포트를 바꿔서 톰켓으로 올려놓으면, 접근이 불가능 할거라고.. 2022. 10. 20.
[JAVA] optional<String> 관련 후... API 서버로 get 메세지로 리턴값을 optional으로 받고나서 나중에 set을 할때에 .orElse를 썼더니 null값이 String으로 저장되는 경우가 있었다. 그 다음 로직이 null을 체크하는 로직이였는데, 왜 여기를 안 탈까 계속 찾아보다가 (에러는 JPA specification관련 에러를 계속 뿜고 있었다. 그래서 3시간 동안 뻘짓하다가.) 소스코드 변경되는 부분에다가 한줄씩 sysout 을 사용해서 디버깅을 해보니, String으로 null을 받고 있어서 if ( ==null) 코드를 뛰어넘고 에러를 뿜고 있었던거다. (JPA관련 에러는 else문이였는데, 처리하다가만 코드여서 error가 나고 있었던거 같다.) 째든 ==null을 .equals("null")로 바꾸니 아주 손.. 2022. 10. 12.
[JPA] @Qurey tag를 사용할 때 is not mapped 에러 관련 @Query("SELECT b FROM Board b WHERE b.title LIKE %?1% AND b.contents LIKE %?2%") 이렇게 Repository에서 Query annotation을 사용할때 is not mapped라는 에러가 나올 때가 있다. 분명히 본인은 저 쿼리의 FROM 뒤의 테이블명을 db의 테이블명이랑 잘 맞췄는데도 말이다. 그럴땐 당황하지말고, Model의 클래스 명으로 대소문자를 구분해서 맞춰주면 해결된다. 아 Model class에 @Table이 잘 맵핑되어 있다는 가정하에 해야한다. 2022. 10. 7.
[VSCODE] f12 정의로 이동(go to definition) 안 될때 vscode로 개발중에 보니까 정의로 이동이 안 되서 불편해진 적이 있다. 그래서 찾아보니, 확장프로그램 탭으로 가서 탭의 오른쪽위에 점점점을 누르면 설치된 모든 확장 사용 안함이 있는데, 그걸 누르고, vscode를 다시 재시작후에 모든확장 사용함을 누르니 잘 되었다. 2022. 10. 5.
[VSCODE] 폴더/파일 만들기 short cut 설정 at 탐색기(explorer) vscode는 탐색기에 포커싱이 갔을때도 ctrl + n 이나 ctrl + shift + n을 누르면 새로운 파일이 생성되거나 새로운 워크스페이스를 불러내고 있다. 나는 폴더 혹은 파일을 만들고 싶은데 말이다. 이럴때는 VSCODE의 설정으로 들어가서 ctrl + shift + p를 눌러서 Preferences: Open Keyboard Shortcuts를 들어가면(json)으로 들어가야 한다. [ { "key": "ctrl+n", "command": "explorer.newFile", "when": "!editorFocus" }, { "key": "ctrl+shift+n", "command": "explorer.newFolder", "when": "!editorFocus" } ] 위와 같은 내용을 입력.. 2022. 10. 5.
[AWS] AWS free tier 과금?! 갑자기 한 통의 이메일이 날라왔다. 현재 서버가 아마존 프리티어에 올려서 돌리고 있는데, 26GB나 썼다는거다. 그래서 응? 뭐지 30기가 받은 것 중에 26기가를 썼다고? 서버에다가? 라고 생각하면서 서버 사이즈를 보니 3.3기가 밖에 안 썼는데, 26GB나 썻다고? 라고 생각 될 수 밖에 없다. 뭐 https 설정 하면서, 이것 저것 설정 해놓긴 했는데 Route 53에서 나가는 Hosted Zones 설정에 $0.5를 제외하곤 돈이 나갈 거라고 생각하지 않았는데, 갑자기 왜 날라 왔을까 고민을 하고 있었다. 그래서 열심히 구글링 해 본 결과... 저 용량이랑 EBS(Elastic Block Storage)는 상관이 없는 것이다. 저 용량은 애초에 object storage에 대한 용량이고 EBS는 .. 2022. 9. 28.