본문 바로가기
728x90
반응형

전체 글135

MySQL 날짜형 데이터 타입 : DateTime, Date, Time (ft.오늘의 milliseconds 계산하기) NOW() -> 현재 날짜/시간 반환, DateTime형CURDATE() -> 현재 날짜 반환,Date형INTERVAL -> 시간,날짜 계산시 사용하는 키워드오라클에는 날짜형 데이터 타입이 DateTime, Timestamp 두가지 정도밖에 없는 것과 다르게Mysql은 Date, Time, DateTime, Timestamp, Year .. 여러가지가 있는 것 같다어떻게 보면 Mysql 쪽이 데이터타입이 많으니 뭔가 더 복잡한 것 같은데, 사실 데이터를 가져와서 이리저리 가공하는 경우가 더 많기때문에,, 그게 싫은 개발자라면 Mysql 쪽이 편할 수도 있겠다라는 생각을 하게 되었다. 그래도 난 오라클쪽이 더 직관적이고 유지보수하기 편할 것 같다. 기획자가 처음에는 년도만 필요한 것 같이 기획했지만 추후에.. 2025. 8. 26.
Mysql과 MariaDB / RaspberryPI 에 MariaDB 설치하기 MariaDB는 Mysql에서 파생된 자식뻘 데이터베이스 시스템이다.오라클의 인수 이후 MySQL 개발자들이 소스코드를 포크(fork)하여 만든 MariaDB는 포크버전 답게,MySQL의 API, SQL 문법 등이 거의 복제된 형태로 만들어져있다.그래서 설정파일 위치 같은 부분만 다르고, 사용하는 문법이 거의 동일하다. 포크 이후에는 MariaDB는 점점 확장되면서 독자적인 기능들이 추가되고 있고, MySQL은 엔터프라이즈급 안정성 위주로 발전하고 있다고 한다. 나의 경우 RaspberryPI 에서 Mysql을 설치하여 사용하고자 했으나, 결국 라즈베리파이 환경에서는 MySQL 서버 패키지 대신 MariaDB 서버가 기본 제공되어 사용하게 되었다.내가 정말 MySQL을 사용해야 했다면 다른 방법을 고민.. 2025. 8. 26.
[Arduino] 메모리 주소 오류 : Usage fault is ..., Bus fault is ... 아두이노 mqtt 통신 테스트 중 발생한 오류.Fault on interrupt or bare metal(no OS) environment===== Thread stack information ===== addr: 20007e58 data: 00000539 addr: 20007e5c data: 2000032c addr: 20007e60 data: 00004040...=================== Registers information ==================== R0 : 007d2259 R1 : 00000539 R2 : 0000ea60 R3 : 00000000 R12: 0ccccccc LR : 00004b61 PC : 00000000 PSR: 600000.. 2025. 8. 8.
[Flutter] 플러터 메인 구조 (material.dart, main()) Flutter : new Project 로 플러터 프로젝트를 만들면 기본 앱 소스가 나타나는데, main.dart 파일의 1단계 메인 구조를 먼저 살펴보자면..import 'package:flutter/material.dart';void main() { runApp(MyApp());}class MyApp ... 1. import 'package:flutter/material.dart';머티리얼 디자인(Material Design)은 구글 스타일의 ui 디자인으로, 플러터 프레임워크에서 제공하는 패키지이다. 미리 만들어져 있는 버튼, 텍스트, 앱바 등 다양한 ui 컴포넌트들을 사용할 수 있다. 2. void main()과 runApp()main() 함수는 Dart 프로그램 실행의 시작점(entry po.. 2025. 7. 17.
[Flutter] flutter doctor Android toolchain - develop for Android devices 에 오랜만의 플러터 공부..오랜만이니까 업데이트 할 게 있으면 하려고 flutter doctor을 때려보았는데요 머 딱히 둘다 에뮬레이터를 쓸 게 아니라면 고칠 필요는 없어보이지만용(크롬으로 디버깅 가능하니까) 고쳐보게씁니다1. VS Code만 설치해놨었는데, Visual Studio가 필요하다고 떠서 설치함. 추가 설명대로 "Desktop development with C++" 로 설치했다! Visual Studio 설치 시 포함 컴포넌트를 지정할 수 있는데, [데스크탑 C++ 개발] 선택.2. 안드로이드 스튜디오가 설치되어 있지 않다고 떠서 안드로이드 스튜디오도 설치함. 그리고 될줄 알았는데 여전히 안됐다. 자바버전을 찾을 수 없다네요. 자바 환경변수를 편집해주어야 합니다.Android Studi.. 2025. 7. 17.
[IntelliJ] war 와 war exploded war 와 war exploded war: 웹 애플리케이션 압축파일. (=아카이브 파일)          ** 아카이브 파일 = 톰캣(was)에 의해 압축이 풀림. war exploded : 웹 애플리케이션 압축파일 의 압축 해제 형태.별도 디렉터리에 원본소스 복사하여 사용. 압축 해제된 디렉터리이므로 압축/압축해제 과정 필요 없음 그래서, intelliJ 톰캣 구성 시 선택한 아티팩트에 따라 프레임 비활성화 시 액션이 다르다.war를 선택했다면 매번 서버 껐다켜야함. war 선택했을 경우 war exploded 선택했을 경우 2024. 9. 25.
[javascript] 화살표 함수 기본 내용참조는 코딩에브리바디의 글.  1. 화살표 함수 와 일반 함수let addFunction = function(a,b) { retrun a+b;}; 는 화살표 함수let addFunction = (a,b) => { return a+b };와 같다.이 때, 함수의 내용이 한 줄 일 경우(단일 표현식)인 경우, 중괄호 {} 와 return 키워드를 생략할 수 있다. 즉, 아래 함수들은 같은 동작을 하는 함수이다.let addFunction = (a,b) => { return a+b };let addFunction = (a,b) => a+b; 2. 화살표 함수의 인수가 하나일 땐 소괄호()를 생략할 수 있다.아래 함수들은 같은 작동을 하는 함수이다.let sayHi = (name) => alert("안녕하세.. 2024. 9. 24.
[IntelliJ] IntelliJ + SVN + tomcat 연동 삽질일기IntelliJ + SVN + tomcat 연동하기 순서 : git/svn 체크아웃 -> 프로젝트 빌드 -> 톰캣 구성 -> 톰캣 빌드 설정  1. git/svn 체크아웃버전 관리에서 가져오기 > svn/git 위치 입력 후 필요한 폴더를 로컬에 체크아웃   2. 프로젝트 빌드빌드 > 프로젝트 빌드  3. 톰캣 구성실행 > 실행 누르면 화면 중앙에 쪼꼬미 [실행/디버그 구성] 편집창이 뜸  눌러서 구성하면 된다.  톰캣서버 로컬 선택.   4. 톰캣 빌드 설정톰캣을 생성하면서 어떤 서비스를 배포하여 사용할 것인지 아티팩트를 선택한다.배포탭으로 이동 > 서버 시작 시 배포할 아티팩트를 선택 추가할 아티팩트가 없다면 아티팩트를 빌드해보시길 바랍니다. (아티팩트 확인 : 프로젝트 우클릭 > 모듈설정열기.. 2024. 9. 24.
[백준/10950번] 입력 받은 두 정수의 합 출력하기, BufferedWriter 반복문 백준 알고리즘 문제 10950번 https://www.acmicpc.net/problem/10950   문제두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.입력첫째 줄에 테스트 케이스의 개수 T가 주어진다.각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 출력각 테스트 케이스마다 A+B를 출력한다. 시도5번의 횟수를 입력받아 for 반복문으로 덧셈하여 BufferedWriter 로 출력해야지!import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStr.. 2024. 8. 26.
[front] beforeunload 작동 안함 / visibilitychange 이벤트 목표 : 웹브라우저에서 새로운 창을 띄우고, 새 창이 종료되면 원래 창에서 상품 현황을 다시 불러온다.** 원래창 새창 간의 통신은 postMessage 사용.  1. 이슈 발생 : 태블릿에서 beforeunload 안의 소스가 전혀 실행되지 않아요 원래 소스)let popWinObj = window.open("http://localhost:8080/myItemList.html");popWinObj.onload = function() { //onload로 웹페이지가 로딩이 완료되면 popWinObj.onbeforeunload = function() { //beforeunload로 브라우저 종료할 때만 함수 실행되도록 함. ... func ... }}기존에는 새 창.. 2024. 8. 22.
728x90
반응형