전체 글
-
Meaning of unsigned keyword in database / unsigned 키워드의 의미Backend/DB 2022. 6. 27. 08:08
요세 쿼리를 짜는 작업을 하다 보니, MariaDB랑 Mysql로 테이블을 생성하는 쿼리를 짜던 도중 'unsiged' 라고 쓰여져 있는 쿼리 들을 자주 볼 수 있었는데요. 아래 처럼요. CREATE TABLE 'NOTICE' ( 'NOTICE_ID' INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, . . ) ID 값 같은 경우 음수가 들어갈 일이 없는데, 이렇게 음수가 들어갈 일이 없는 값의 경우 그 범위를 양수로 특정하고 싶을 때에 사용하는 명령문이라고 합니다. 즉, 해당 필드에 음수 값이 포함되는 경우가 없다면 UNSIGNED 를 사용하셔서 범위를 제한하시면 될 듯 합니다. 감사합니다.
-
IntelliJ의 Data editor를 사용하여 Table 구조 변경하기 / Modify table structure use IntelliJ ideaBackend/DB 2022. 6. 27. 08:04
처음 Database 쿼리로 무언가를 하려고 하시는 분 혹은 꼭 그렇지 않은 분이라고 하시더라도, IntelliJ를 사용하여 Table의 구조를 바꿀 수 있다는 것에 정말 편리해서 해당 방법을 글로 남기려고 합니다. 하지만 수정하는 것에서 끝나지 않고, 어떻게 쿼리로 변환되는지 항상 체크하고, 마우스로 변경할 Database table의 구조를 직접 쿼리로 변경하는 식으로 서서히 적응하면 쿼리로 db 구조를 만지는 것에 대해 부담을 가지시는 분들도 차근차근 적응할 수 있지 않을까 싶어요. 1. 조회된 쿼리 결과에서, 결과 값들의 속성 보기 (1) 조회된 결괏값 중, 아무 record나 무작위로 클릭합니다. (2) Ctrl + F12를 입력합니다. 2. 특정 Table의 structure 보고, 수..
-
How can I dump Mysql/Maria database in intelliJ? / intelliJ에서 Mysql과 MariaDB의 dump를 뜰 수 있을까요?Backend/DB 2022. 6. 27. 07:59
IntelliJ에서 이런 것도 되는구나 싶어서, 신기하기도 하고 정말 편리해서 올려봅니다. 저 같은 경우에는 개발서버에 있는 Database를 그대로 복사해서 로컬에서 환경을 마련해 놓고, 로컬에서 query를 적용시켜본 뒤에 개발, 실제 서버에 반영해보고 싶다는 생각이 들어서 '어떻게 하면 db를 dump 할 수 있을까?'라는 생각을 하게 되었습니다. 결론적으로 제가 하고 싶었던 작업은 1. 개발서버의 mariaDB를 dump 2. 로컬 서버의 mariaDB에 restore (엄밀히 이야기하면 restore이 아니라 sql execute가 될 것입니다.) 우선 이 기능을 사용하시기 위해서는 준비물이 필요합니다. 1. IntelliJ ultimate version (저 같은 경우 2019, 2..
-
Spring에서 날짜 관련 library를 사용하지 않고 unix_timestamp(), current_timestamp()를 이용해서 날짜처리하기Backend/SPRING 2022. 6. 27. 07:27
최근에 날짜/시간과 관련된 개발을 할 일이 생겨 해당 기능들을 다루던 도중 이런 생각을 하게 되었습니다. LocalDate 혹은 JodaTime을 사용하지 않고 날짜를 불러와서 시간을 비교할 수 있으면 얼마나 좋을까라는 생각을요. 그렇게 생각하는 이유는, db에서 날짜를 저장하는 방식에 따라서 날짜를 조회해서 mybatis에서 JavaCode로 끌어오는 과정에서 많은 에러가 발생할 수 있고, 제대로 끌어왔다고 해도 비교를 하려면 제가 원하는 방식대로 바꾸어야 하는데, 그러는 과정에서 팀끼리 동일한 규격을 사용하지 않으면 엄청난 삽질을 할 수 있기 때문입니다. 라이브러리도 다양합니다. Date, Calendar. java.time 등등 .. 전 이거 처리하면서 삽질 엄청 한 것 같습니다. 문제는 삽질을 한..
-
Mybatis에서 #{}와 ${}의 차이점에 대하여Backend/DB 2022. 6. 2. 21:30
Spring에서 Mybatis를 처음 사용할 때에 쿼리를 다 작성하고도, 해당 쿼리를 Mybatis로 옮기는 것이 낯설어서 버벅거리고 있는 중인데요. 동적으로 파라미터를 넘겨줄 일이 생겨서 이 부분에 대해서 어떻게 해결해야 될지 찾아보던 중, #{} 와 ${}에 대해서 알게 되었습니다. 그런데 이 두 개의 차이점이 무엇일까 너무 궁금했습니다. 그래서 포스팅하게 되었습니다. 1. some queries .... WHERE apply_status = 1 AND user_uid = #{userUid} some queries .... 2. some queries .... WHERE apply_status = 1 AND user_uid = ${userUid} some queries .... 1. #{} #..
-
The Pillow package is required to use this functionETC 2022. 6. 2. 21:26
The Pillow package is required to use this function 파이썬으로 이미지 인식관련되서 기능구현을 하려는데 아래와 같은 오류가 발생하였습니다. 정확히는, 스크린샷을 따서 해당 이미지를 저장하려는 기능을 구현하고 있었습니다. pip install Pillow --upgrade 이런 경우, Pillow의 version을 upgrade해주면 됩니다. 도움받은 Stackoverflow 링크 첨부해둘게요. python - pyautogui, screenshot function doesn't recognize installed Pillow module - Stack Overflow pyautogui, screenshot function doesn't recognize in..
-
IntelliJ에서 indent간의 간격에 색을 입혀주는 Plugin(특히 파이썬에서 유용)ETC 2022. 6. 2. 21:24
제가 파이썬을 이용한 개발에 손대기 시작하면서 가장 애를 먹었던 부분은... 1.전역변수에 대한 처리 2.중괄호의 부재 위 두가지 사항인데요. 전역변수에 대한 처리와 관련된 이슈는 다음포스팅에서 다루도록 할게요. 그 전에, 중괄호가 없이 개발하려니 정말 여간 답답한 것이 아니더라구요. 그래서 , 중괄호 대신에 Indent들을 구별하여 제대로 함수의 scope를 파악하고자 했어요. 그래서 발견한게 아래와 같은 Plugin 인데요. 저는 정말 유용하게 사용하고 있어요. Intellij -> Settings -> Plugin -> IndentRainbow 검색 효과는 굉장했습니다...!! 감사합니다.
-
Python에서 임의의 난수 발생시키기ETC 2022. 6. 2. 21:20
python에서는 수를 다루는 무언가를 많이 하는 것 같습니다. 무슨이야기냐면요, python으로 알고리즘을 많이 공부하는데요. python으로 알고리즘 구현을 많이 하다보니까 랜덤의 수를 발생시키고 싶은 일이 많은 것 같아요. 그러다보니 임의의 수를 발생시킬 일이 많은 것 같아서 미래의 저를 위한 포스팅 겸 기록을 남겨놓으려고 해요. * 혹시 무언가 설치하려고 하시는 분들 중에서 pip가 없으신 분들은 아래 명령어를 terminal 창에서 입력해주세요. 이 부분은 검색해도 잘 나오는 부분이니까 간단하게 명령어만 남겨놓을게요. sudo easy_install pip 일단 맨 상단에 random 함수를 import 합니다. import random 1. 0과 1미만의 float 수 발생시키기 rando..
-
Microsoft Edge Version 확인하고 Python Selenium과 Version 맞추기ETC 2022. 6. 2. 21:14
요세 Python으로 여러가지 재미있는 기능들을 구현해보고 있는데요 Selenium을 공부하며 webdriver 와 기본적인 version도 맞추지 않으면 테스트조차 불가능 하더라구요. 해서 해당 정보를 간단하게 남기려고 해요. 1.Microsoft edge version을 확인하는 방법 (1) 본인의 Edge 브라우저 실행 (2) edge://settings/help 2. 본인의 Microsofot edge version과 일치하는, 혹은 python code를 실행시켰을때 발생한 오류에 해당하는 version을 다운받을 수 있는 페이지 https://msedgewebdriverstorage.z22.web.core.windows.net/ Microsoft Edge - Webdriver msedg..
-
Springboot api 통신 중 아무리 찾아보아도 문제가 없어 보이는데 Springboot 로그에서는 405에러만 남발할때Backend/SPRING 2022. 6. 2. 21:11
보통 Spring에서 405 error를 연발할때에는 Mybatis쪽에 문제가 있을 때입니다. 그러니, Mybatis쪽의 문법이 잘못된것이 아닌가 하고 기웃거리게 되죠. (DB는 MariaDB를 사용하고 있습니다) 그런데 아무리찾아보아도 Mybatis쪽에 문제가 없을때 데이터 베이스 테이블의 charset을 지정하지 않아서 SpringBoot에서 405 Error를 뿌려줄 수도 있다는 것이죠. 문제의 테이블을 조회해보시면 한글로 입력되어야 할 문자들이 전부 \xEE\x.... 위와 같이 입력되어있을 거예요. 만약 이런경우에는 아래 명령어를 통해 table의 charset값을 만져주시면 됩니다. ALTER TABLE 테이블_이름 convert to charset utf8; 감사합니다.
-
"No cached version… available for offline mode.”Backend/SPRING 2022. 6. 2. 21:10
얼마전 겪었던 황당한 오류에 대해서 말씀드려 보려고 합니다. 이건 오류가 아니라 제가 버튼클릭을 잘못해서 발생한 해프닝이였는데요. 아무리 gradle을 돌려보아도, spring을 시작해보아도 아래와 같은 에러만 나오는 것입니다. "No cached version… available for offline mode.” 진작 구글링 해보았어야 하는건데, 제가 오기가 생겨서 계속 시간투자하다가 30분이라는 시간을 날려먹었네요. 솔루션은... IntelliJ로 서버단 코드를 작성하시는 분들이라면 gradle 탭이 intelliJ 우측에 있으실 겁니다. 아래 사진과 같이요. 이 gradle 탭이 눌린 상태에서 상단을 보시면 아래 사진과 같은 메뉴가 나옵니다. 이중에서 제가 실수로 공구 옆에있는 아이콘을 잘못..
-
org.flywaydb.core.api.exception.FlywayValidateException: Validate failed: Migrations have failed..Backend/SPRING 2022. 6. 2. 21:03
저는 개인프로젝트도, 회사에서도 flyway를 사용하고 있는데요. 그러다보니 flyway에서 관리하고있는 sql 파일들이 정상 실행되지 않아서 애를 먹은 적이 있습니다. 그런데 어느날 갑자기 project를 pull받은 이후 아래와 같은 에러가 발생하는것이 아닙니까... org.flywaydb.core.api.exception.FlywayValidateException: Validate failed: Migrations have failed.. * 주의 저보다 물론 더 잘 아시는 분들이 검색을 통해 들어오셨겠지만, flyway로 database가 관리되고 있다고 해도 이러한 경우 꼭 local의 database에서 확인 후 작업을 해주셔야 합니다. 현재 명령어를 치고 계신 프롬프트가 로컬 인지, 개발 서..
-
Command line is to long. shorten command line for....카테고리 없음 2022. 6. 2. 21:01
command line is to long. shorten command line for.... 오늘도 어김없이 junit으로 테스트 코드를 열심히 짜던 와중에 위와 같은 에러가 발생하였습니다. 툴 자체의 환경(.idea 파일)을 수정하는 것으로 해결할 수 있었습니다. (프로젝트 내부에서) 1. .idea 폴더 더블클릭 후 workpsace.xml 열기 2. PropertiesComponent 검색 3. 2번에서 검색한 태그 사이에 위 태그를 추가해주시면 됩니다. 위와 같은 방법으로도 해결이 안 될 시 1. 우측 상단의 Edit configure... 선택 바 클릭 2. 개발하고 있는 Junit 클릭 3. shorten command line 옵션 변경 좋은 글을 ..
-
Command line is to long. shorten command line for....Backend/SPRING 2022. 5. 31. 19:16
command line is to long. shorten command line for.... 오늘도 어김없이 junit으로 테스트 코드를 열심히 짜던 와중에 위와 같은 에러가 발생하였습니다. 툴 자체의 환경(.idea 파일)을 수정하는 것으로 해결할 수 있었습니다. (프로젝트 내부에서) 1. .idea 폴더 더블클릭 후 workpsace.xml 열기 2. PropertiesComponent 검색 3. 2번에서 검색한 태그 사이에 위 태그를 추가해주시면 됩니다. 위와 같은 방법으로도 해결이 안 될 시 1. 우측 상단의 Edit configure... 선택 바 클릭 2. 개발하고 있는 Junit 클릭 3. shorten command line 옵션 변경 좋은 글을 ..
-
Caused by: java.sql.SQLSyntaxErrorException: (conn=84) Could not set parameter at position...Backend/SPRING 2022. 5. 31. 19:14
Caused by: java.sql.SQLSyntaxErrorException: (conn=84) Could not set parameter at position... 제가 오늘 너무 황당한 오류를 겪어서 기재해 놓으려고 합니다. 물론 전적으로 휴먼에러이고... 제 잘못인데요, 구글링으로 검색해보면.. https://stackoverflow.com/questions/48070781/exception-java-sql-sqlexception-could-not-set-parameter-at-position-whit Exception java.sql.SQLException: Could not set parameter at position (...). whit mariadb The following code ..