본문 바로가기
반응형

분류 전체보기86

mysql engine, innoDB와 MyISAM차이점 MariaDB또는 MySql을 사용할 때 고려해봐야 할 사항이다. 나는 innoDB에서 primary Key를 두개의 컬럼을 지정하려고 했고, 그 중 하나에 auto Increment를 지정하려고 했다. 하지만, innoDB에서는 auto Increment를 지정한 컬럼만 primary Key로 지정할 수 있다고 한다. 그런데 엔진을 MyISAM으로 바꾸기만 해도 이것이 가능하다고 하는데, 왜 그럴까? innoDB는 대용량 데이터의 수정이 잦은 곳에서 사용하기 좋은 엔진이고, MyISAM은 데이터를 자주 읽는 경우에 사용하는 것이 좋다고 한다. 내가 변경하고자 했던 테이블은 다행히도, 읽기를 자주하는 테이블이라서 원하는대로 설정할 수 있었다. https://stackoverflow.com/question.. 2023. 1. 4.
[springBoot] mybatis 상수 사용하기 (application.properties) 개발환경 springboot 3.0.0 (spring boot starter를 사용하였습니다.) SpringBoot로 웹사이트를 개발중인데, 날짜를 조회하는 모든 곳에서, 동일한 형태로 조회하고 조회된 날짜를 javascript로 변환하여 사용하고 싶었습니다. 그러기 위해서는, 날짜 형식을 한 곳에다가 설정해두면 좋겠다고 생각했습니다. SELECT REG_DATE, DATE_FORMAT(REG_DATE, '%Y-%m-%d %H:%i:%s') FROM STUDENT; 예를들어보자면, 위와같은 쿼리가 있는데, REG_DATE를 조회하는 부분에서 '%Y-%m-%d %H:%i:%s'를 매번 적어주어야 했습니다. 그런데 만약에 이 형식을 수정하고 싶으면, 모든 쿼리를 다 수정해 주어야 하기 때문에, 하나의 변수로.. 2023. 1. 1.
Chrome 개발자도구, 이벤트 발생 내역 확인하기 크롬개발자도구에서 간단하게 이벤트 발생 내역을 확인하는 방법을 알아보자. Console에다가 특정명령어를 입력하면, 현재 페이지에서 발생하는 모든 이벤트가 콘솔에 찍힌다. 아래에서 자세히 확인해보자. 콘솔에 이벤트 내용 찍기 monitorEvents($0) 콘솔에서 이벤트 내용 찍는 것 중지 unmonitorEvents($0) 특정이벤트만, 콘솔에 찍게하고 싶은경우 두번째 파라미터에 특정 이벤트를 입력한다. monitorEvents(document.body, 'mouse') https://stackoverflow.com/questions/10213703/how-do-i-view-events-fired-on-an-element-in-chrome-devtools How do I view events fire.. 2022. 12. 28.
javascript 무료 그리드 라이브러리! 뭘 쓰면 좋을까? (datatable.net) 사이트 개발시에 어떤 그리드를 사용할지 고민이 많으시다면, 이 포스팅이 도움되었으면 좋겠습니다. 그리드는 사이트에서 많이 사용하는 기능이라 그런지, 유료로 제공되는 라이브러리도 많은 것 같습니다. 하지만, 그리드에서 특수한 기능들이 필요치 않은 한, 무료 라이브러리로도 사이트 구축이 충분히 가능 할 것 같습니다. 그럼 많은 라이브러리들 중 어떤것을 쓰는게 좋을까요? 무료 그리드 라이브러리 비교 npm 트랜드를 사용하여, 라이브러리의 다운로드 횟수를 비교해보았습니다. 많은 그리드 라이브러리 중 datables.net의 다운로드 횟수가 가장 많은 것으로 확인됩니다. 그리고, 최근 증가세가 가파른 toast-grid를 비교해보겠습니다. datatable.net(데이터 테이블, https://datatables.. 2022. 12. 24.
mariaDB 한국어 설정 mariaDB에서는 utf8을 사용하려는 경우, utf8mb4을 추천하는 것 같다. 아래처럼 설정해주자 [mysqld] ... collation-server=utf8mb4_general_ci character-set-server=utf8mb4 [client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 2022. 12. 18.
SpringBoot / mybatis log출력 spring boot에서 실행되는 쿼리 로그를 확인하고 싶어서 아래와 같은 설정들을 추가하였더니 쿼리 로그가 정상적으로 출력이 되었습니다. logging.level.org.springframework.web=debug logging.level.org.springframework=WARN logging.level.com.spring.ibatis.UserMapper=DEBUG logging.pattern.console=%d{YYYY-MM-dd HH:mm:ss} - %msg%n mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl 출력결과 ==> Preparing: SELECT COL1, COL2, COL3 FROM COMMON_.. 2022. 12. 17.
inteliJ 단축키 General : 일반적인 단축키 Alt + #[0-9] : 각 단축키에 해당하는 도구창 열기 Ctrl + S : 모두 저장 Ctrl + Shift + F12 : 편집기(Editor) 영역을 최대로 크기로 토글 Ctrl + Shift + I : 현재 프로필 기준으로 현재 파일 검사 Ctrl + Alt + S : 설정창(Settings) 열기 Ctrl + Alt + Shift + S : 프로젝트 구조창(Project Structure) 열기 Double Shift : 전체 검색창 열기 Debugging : 디버깅 관련 단축키 F8 : 현재 브레이크된 라인에서 다음 라인으로 이동 F7 : 현재 브레이크된 라인에서 실행하고 있는 메소드로 이동 Shift + F8 : 브레이크된 라인에서 호출한 곳으로 이동 Al.. 2022. 12. 8.
InteliJ 초기 셋팅 SpringBoot를 개발하면서 필요했던 InteliJ 설정들을 나열해보려고합니다. 지속적으로 추가될 예정입니다. 자동 빌드 File > Settings Build, Execution, Deployment > Compiler Build project automatically 체크!! (debugging으로 실행할 때만 작동) 2022. 12. 7.
Flutter 앱개발 필수 명령어 flutter pub get asset(이미지, 동영상 등 앱 구동에 필요한 자원들)을 인식시킬 수 있도록 도와주는 명령어 pub 명령어는 pubspec.yml파일을 관리하기 위한 명령어다. flutter pub deps : pubspec.yml파일 내의 의존성 관계를 콘솔에 출력한다. flutter pub add : 입력한 패키지를 pubspec.yml파일에 추가해준다. flutter pub outdated : 업그레이드 가능한 패키지를 찾아준다. flutter pub upgrade : 업그레이드 가능한 패키지를 업그레이드 해준다. https://letyarch.blogspot.com/2021/04/flutter-pub.html flutter clean 자바에서 maven clean, project클린.. 2022. 12. 1.
flutter adroid studio에서 에러 발생시 (PlatformException) 라이브러리 추가 후 에러가 발생하면 하단의 console창에서 flutter clean을 실행하면, 해결될 수도 있다. 자세한 해결방법은 아래에서 확인하자. 1. 프로세스 중지 console창에서 빨간색 네모 버튼을 눌러서, 프로세스를 중지시킨다. 2. 터미널에서 clean명령어 입력 Terminal 탭을 클릭하고 flutter clean을 실행한다. workspace가 정리되며, 앱이 정상적으로 실행된다. 2022. 11. 18.
Dart 비동기 프로그래밍 void main() async { Future name = Future.value('값'); Future number = Future.value(1); Future boolean = Future.value(false); await addNumbers(1,1); await addNumbers(2,2); } Future addNumbers(int number1, int number2) async { print('계산시작 : $number1 + $number2'); print('계산완료 : $number1 + $number2 = ${number1 + number2}'); print('함수완료 : $number1 + $number2'); } 출력 계산시작 : 1 + 1 계산완료 : 1 + 1 = 2 함수완료 .. 2022. 11. 18.
Dart 객체지향 프로그래밍 void main() { Computer samsungLaptop = Computer('samsung', '100', ['8GB', '8GB']); samsungLaptop.printManufacturer(); samsungLaptop.printPrice(); samsungLaptop.printMemoryr(); //제조사별로 클래스를 나눠보자 print('-------- SamsungComputer --------'); SamsungComputer sComputer = SamsungComputer('100', ['8GB']); sComputer.printManufacturer(); sComputer.printPrice(); sComputer.printMemoryr(); print('-------- Ap.. 2022. 11. 9.
javascript 달력(캘린더) 라이브러리 / daterangepicker / 설치 및 활용 다양한 형식으로 날짜를 표현할 수 있는 강력한 무료 라이브러리입니다. 이번 프로젝트에서 CSS라이브러리인 bootstrap과 잘어울리는 디자인이라서 무난하게 사용할 수 있었습니다. 사용하면서 느낀점과 장단점도 함께 설명드리겠습니다. 공식홈페이지 http://www.daterangepicker.com/ Date Range Picker — JavaScript Date & Time Picker Library Originally created for reports at Improvely, the Date Range Picker can be attached to any webpage element to pop up two calendars for selecting dates, times, or predefined.. 2022. 10. 27.
[윈도우&리눅스] 서버 연결 확인 명령어 ping ping [아이피 주소] IP 네트워크를 통해 특정한 호스트가 도달할 수 있는지의 여부를 테스트하는 데 쓰이는 명령어입니다. ping 요청이 정상적으로 도달하는 경우 C:\Users\#####>ping www.naver.com Ping e6030.a.akamaiedge.net [23.201.36.188] 32바이트 데이터 사용: 23.201.36.188의 응답: 바이트=32 시간=3ms TTL=52 23.201.36.188의 응답: 바이트=32 시간=4ms TTL=52 23.201.36.188의 응답: 바이트=32 시간=3ms TTL=52 23.201.36.188의 응답: 바이트=32 시간=4ms TTL=52 23.201.36.188에 대한 Ping 통계: 패킷: 보냄 = 4, 받음 = 4, 손.. 2022. 1. 25.
JAVA) 프록시 & HTTPS 언어 : java 안녕하세요. 얼마전, WAS서버에서 프록시를 태워, 타사의 API서버로 연결하는데 있어 많은 어려움을 겪었었는데요, 딱 맞는 해답을 찾을 수 없어서 많은 고생을 했던 기억이 납니다.(불과 몇일전) 그 과정에서 제가 알게된 내용에 대해 말씀을 드리려고 합니다. 먼저 HTTPS의 기초, 프록시란 무엇인지에 대해 설명을 드리고, 문제 상황과 해결방법에 대해 말씀드리겠습니다. HTTPS와 HTTP는 무엇이 다를까요? HTTP는 HyperText Transfer Protocol의 약어입니다. HTML문서를 주고받는 통신 방식이라는 의미입니다. HTTPS는 Secure가 붙은것으로, 보안이 적용된 통신방식이라고 할 수 있겠네요. 보안을 유지하기 위해서 HTTPS는 추가적인 설정이 필요합니다. 가장.. 2021. 11. 15.
개발자 커리어 쌓기 좋은 사이트 추천 코멘토 https://comento.kr/ 코멘토 - 현직자 멘토링, 직무부트캠프 대기업, 공기업, 은행, 금융권 현직자의 경험과 지식을 통해 취업과 진로 고민을 해결하세요. comento.kr 유료 사이트 현직자에게 직접 배울 수 있는 사이트로 실무기술 위주로 알 수 있다. 개발자 뿐만 아니라, 다양한 분야에 종사하시는 분들을 만나 볼 수 있다. 2021. 9. 11.
JAVA) apache poi - SXSSF NullPointer Exception 오류 해결방법 환경 AWS (리눅스, 도커) SPRING BOOT JAVA 1.8 문제상황 apache poi를 사용하던 중, 대용량 엑셀 다운로드를 구현할 필요가 있어, XSSF에서 SXSSF로 변경하였다. 그런데, 갑자기 발생하는 NullPointerException때문에 고생했다.. Workbook workbook = new SXSSFWorkbook(SXSSFWorkbook.DEFAULT_WINDOW_SIZE); sheet = workbook.createSheet("시트이름"); 두번째라인을 실행하면서 에러가 발생했다. 개발할 때는 윈도우에서 개발했기 때문에 별문제 없이 돌아갔지만, AWS에서 사용하고 있는 docker에서는 폰트 파일이 없어서 발생했다. XSSF를 사용했을 때는 문제가 발생하지 않았지만, SXS.. 2021. 8. 2.
git commit 내역 복구 commit한 이력을 제거하고 싶은 것들을 모두 리버트 처리, 그 후 push commit을 하면 정상적으로 복구된다. 리버트란 이력을 남기면서 commit내역을 복구처리하는 것이다. 3번째 커밋 2번째 커밋 1번째 커밋 만약 2번째로 돌리고 싶다면 3번째 커밋을 Revert한다. Revert하면, local Repository만 복구처리되기 때문에 Push Commit을 하여 리버트 했다는 것을 Commit한다. 이렇게하면 Commit이력에 revert이력이 추가되고, revert한 것을 복구처리해야하는 경우, 해당 내역을 다시 revert 후 pushcommit하면된다. 2021. 6. 28.
JAVA) apache poi, 엑셀 파일 생성 및 다운로드 하기 안녕하세요. 이번 프로젝트에서는 유난히도 엑셀관련한 작업을 많이 하게 되었습니다. 그래서 준비한 포스팅! 이번에는 엑셀로 데이터를 출력하거나 엑셀 데이터를 읽을 때 사용할 수 있는 라이브러리인 poi에 대해 포스팅 하는 시간을 가져보겠습니다! 자세한 사항은 apache poi 공식사이트를 확인해주세요. Apache POI - the Java API for Microsoft Documents Apache POI - the Java API for Microsoft Documents Project News 20 January 2021 - POI 5.0.0 available The Apache POI team is pleased to announce the release of 5.0.0. This release.. 2021. 6. 26.
Spring에 의해 관리되지 않는 객체, Property 값 주입하기 지금 하려는 작업에서, properties에 정의된 값을 Vo에 정의해주면 매우 작업이 쉽지 않을까? 라는 고민에서부터 이 포스팅은 시작되었다. 똑같은 값을 Dao에 주입할 때는 잘 되는데, Vo에는 적용되지 않았다. 왜그럴까 고민을 하다가 Vo는 Spring에서 관리하지 않는 객체라는 결론을 내게 되었다. 그래서 포기하고 있던 찰나! 동료가 열심히 찾아보다가 해결을 해주었는데, 그 방법이 지금 소개하려는 이 방법이다. PropertiesLoader는 spring을 활용하지 않고 properties를 읽는 방법이다. public class PropertiesLoader { public static Properties loadProperties(String resourceFileName) throws IO.. 2021. 3. 29.
javascript URL객체 총정리 오늘은 URL객체에 대해 알아볼 것이다. Javascript에는 url을 간편하게 다룰 수 있도록 URL객체가 마련되어 있다. 이것을 사용하면 프로토콜, 파라미터, 호스트 네임 변경과 같은 작업을 편하게 할 수 있다. 먼저 아래의 코드를 보자. var url = new URL("http://testurl.co.kr:8080/path/main.html?param1=1¶m2=3"); hash: "" host: "testurl.co.kr:8080" hostname: "testurl.co.kr" href: "http://testurl.co.kr:8080/path/main.html?param1=1¶m2=3" origin: "http://testurl.co.kr:8080" password: "" pa.. 2020. 12. 18.
CentOS7 image 다운로드 / VMware 가상화 서버를 운영할 때는 리눅스를 많이 사용하죠. 그 중에서도 내장되어있는 기능이 많은 red hat이나 centOS를 많이 사용합니다. red hat은 유료 서비스이지만 centOS는 레드헷과 비슷하면서도 무료입니다. 학생들이 공부하실 때 ubuntu도 많이 사용하시는데, 이 때문에 검색시에 많은 정보들이 나와서 공부하기 좋습니다. 하지만 저는 실무에 더 밀접하게 관련되어 있는 centOS를 설치해보겠습니다. VMware WorkStation Player는 무료버전이라서 가상머신 외부로 통신을 할 수 없습니다. putty를 사용법을 익히고 싶거나, 외부통신이 필요한 경우에는 VMware가 아닌 VirtualBox를 설치해주세요. VMware를 설치하지 않았다면 아래의 링크를 통해서 설치해주시기 바랍니다. h.. 2020. 8. 28.
리눅스 명령어 정리 리눅스는 홈에디션을 사용하면, GUI가 있어서 이런 명령어를 크게 쓸일이 없다. 하지만 서버용 리눅스는 새까만 터미널 창에서 명령어를 실행하여 서버를 관리한다. 성장하는 개발자가 되기 위해서는 리눅스 사용은 기본이기 때문에 사용법을 정리해보았다. 디렉토리 및 파일 관련 명령어 cd 카테고리 위치 변경 상대경로, 절대경로 모두 가능 ls 리스트 표출 -al : 자세히 보기 mkdir 경로(폴더) 생성 cp 파일 복사 mv 파일 이동 rm 파일 제거 cat 파일 출력 명령어 단일 파일 출력 및 여러 파일 출력 가능 여러파일 출력시 파일은 공백으로 구분함 권한 관련 명령어 sudo 최고 관리자 권한으로 실행 패키지 매니저 sudo apt-get update 패키지 목록 업데이트 (설치할 수 있는 패키지 목록 .. 2020. 8. 27.
AWS - 클라우드 스토리지 S3, EBS https://joalog.tistory.com/85?category=876790 AWS란? / AWS 기초개념 잡기 AWS는 클라우드 컴퓨팅을 통해 웹사이트를 관리하는데 필요한 많은 기능을 제공하고 있다. 웹사이트를 운영하는데 꼭 필요한 서버와 데이터베이스는 물론이고, 스토리지(저장소)도 제공한다. 이 joalog.tistory.com S3를 조금 더 자세히 알아보는 시간을 가져보겠습니다. AWS에 대한 설명은 위에 링크걸어둔 포스팅에 있습니다. S3 - 인터넷용 스토리지 - 기본적으로 온라인, HTTP 기반 액세스 - 웹을 통해 언제 어디서든 원하는 양의 데이터를 저장하고 검색할 수 있는 스토리지 - 고도의 확장성, 안정성, 속도 및 내구성을 가짐. S3는 Simple Storage Service의 .. 2020. 7. 21.
반응형