했던것들/알게된 것들

했던것들/알게된 것들

MySQL 테이블 설정 및 자료형 정리 (명령 프롬프트 & 워크벤치)

테이블 설정하기 전에 스키마(데이터베이스)가 설정되었다고 가정하고 진행한다. 명령프롬프트로 테이블 설정 스키마에 접근한다. 여기에서 스키마명은 nodejs 이다. TABLE을 만든다. CREATE TABLE 테이블명 으로 TABLE 생성을 선언한다. CREATE TABLE 테이블명 ( ) 에서 괄호 내부에 있는 내용들은 데이터베이스의 각 컬럼에 대한 정보를 설정하는 것이다. 괄호 바깥에 있는 내용들은 테이블에 대한 설정에 관한 것이다. 테이블의 소개, 기본 캐릭터셋, 데이터베이스 엔진등을 설정할 수 있다. 위의 프롬프트에서 볼 수 있듯이, id부터 created_at까지는 컬럼에 대한 설정이다. 해당 테이블에 대한 설정도 존재하는데, 일단 컬럼에 대한 설정부터 알아보자. 컬럼에 대한 설정 INT는 정수를..

했던것들/알게된 것들

MySQL 명령 프롬프트로 접속

MySQL을 명령프롬프트로 실행시키기 위해 MySQL이 설치된 폴더 > bin 으로 이동한다. 명령프롬프트에 접속했으면 mysql -h localhost -u root -p 를 입력하고 엔터를 친다. Enter password가 나왔다면 그대로 패스워드를 입력하고 엔터를 친다. mysql -h localhost -u root -p 에서 -h는 호스트명을, -u는 유저명을, -p는 비밀번호를 사용하겠다는 뜻이다. 호스트명은 localhost이니 MySQL에서 개방한 포트에 따라 localhost:8080/ 과 같은 형식으로 세팅될 것이고, 유저명은 root를 사용했으며, -p를 통해 비밀번호를 입력하고 접속할 수 있게 되었다.

했던것들/알게된 것들

MySQL 설치 및 설정

Type and Networking Config Type 설정에서 이 DB가 사용될 환경을 선택할 수 있다. 개발자 컴퓨터라면 DB에 메모리가 최소한만 할당될 것이고, 서버라던가 DB전용 서버라면 메모리가 많이 할당될 것이다. 따라서 개인 실습 환경의 경우에는 Development Computer를 선택해주자. Connectivity에서는 어떤 통신이나 파이프라인으로 DB를 연결할지를 설정할 수 있다. 개인 실습 환경의 경우에는 TCP/IP 포트 통신을 그대로 사용해주자. Authentication Method 위에는 SHA-256이라는 강력한 암호화를 사용하는 인증이고, 아래는 레거시 암호화를 사용하는 버전이다. SHA-256은 MySQL에서는 8버전 이상만이 호환되므로, MySQL을 처음 사용하는 사..

했던것들/알게된 것들

개선사항1에 대한 셀프 피드백

백엔드와 기획쪽과 협업할 일이 오늘도 역시나 생겼다. 어제는 말로만 내 의견을 전달하려다보니 많이 버벅였었는데 오늘은 이미지파일을 메신저로 먼저 전달하고 종이에 로직을 그려가서 자리에서 설명했다. 다행히도 말이 덜 꼬였고 내 의견도 잘 피력했다. 질문할 때 확실한 용어를 사용하는 것은 의도적인 노력이 필요할 것 같다. 변수명이 인간 친화적인 언어는 아니라 발음하기 많이 어려운데... 살짝 기계적으로 인지하고 말하는 것도 도움이 되지 않을까 싶다. 에러 처리를 잘 했다. 금액에 천단위로 쉼표 처리를 할 때, toLocaleString 메서드를 사용했는데 number 자료형이 아닌 것에 사용하면 에러가 난다는 것을 미리 인지하고 타입을 잘 걸러내서 오류 없이 동작하는 코드를 만들었다.

했던것들/알게된 것들

변수명을 잘 짓자

내가 변수명을 짓는데 약하다는 것을 알게 되었다. 미국인이 내 변수명을 보았을 때도 확실하게 의미 전달이 될 수 있도록 하는 것이 베스트일 것이다. 하지만 어중간한 영어를 구사하는 코리안으로써는 그 작업이 쉽지만은 않다. 지금은 급하면 급한대로 변수명을 대충 짓는 습관이 있어서 변수명이 중구난방으로 나오는 경우가 많은데, 앞으로는 변수명을 간단하게 짓더라도 구글 번역기나 챗지피티에게 한번 물어보고 컨펌(?)을 받아봐야겠다. 어제 수정한 변수명 (조금 쪽팔리다...) 월 예약이 있는지에 대한 변수 isMonthBook -> isMonthlyBook 월예약 환급금이 유효한지에 대한 변수 isValidCancelCost -> isValidRefund 월단위 환급금에 대한 변수 monthBookCancelCos..

했던것들/알게된 것들

개선사항1

기획이나 백엔드에 협조를 구할때는 말로만 하지말고 그림같은 시각적 자료를 통해 내 의견을 피력해보자. - 오늘 기획에 업무 협조를 요청했을 때, 말로만 내 의견을 납득시키려고 하니 힘들었다. 메신저 등을 통해 간단한 시각 자료(스크린샷도 좋다)를 준비해보자. 무언가 질문을 할때는 용어를 확실하게 사용하자. - 에러처리와 예외처리는 다른 말이다. 확실하게 말하려는 버릇을 들여야 확실하게 말할 수 있게 될 것 같다. template 등 직접적으로 렌더링되는 부분에는 array[0], array[1]과 같이 하드코딩하지 말자. (예외처리를 잘하자) 만약 어레이에 엘리먼트가 없게 된다면? 앱은 터질지도 모른다. 코드를 안전하게 짜려면 예외처리를 확실히 해야하고, 사소한 부분에서 신경써야 할 것이다.

했던것들/알게된 것들

public과 경로 / window.location 객체

vue/cli나 cra 등으로 작업 완료 후 빌드했을 때, public 폴더 내부에 있는 파일들의 경로가 내가 의도한 바와 달라질 수 있음을 주의하자. 나의 경우에는 로컬환경에서는 의도대로 잘 동작하다가, 배포 후 주소가 예기치 않게 동작하는 이슈가 발생했다. public을 사용할때는 경로를 항상 주의하자. 브라우저의 window.location 객체는 현재 브라우저의 경로에 관한 다양한 프로퍼티와 메서드들이 있다. window.location.href 프로퍼티로 새로운 페이지로 이동할 수 있고, 현 주소를 참조할 수도 있다. window.location.replace 메서드로는 페이지 자체를 전환할 수 있다. 이 외에도 브라우저 경로에 관한 많은 기능들이 location 객체에 존재한다.

했던것들/알게된 것들

반성할 점

1. 네이밍 생각하기 프로그래밍 작성자가 아니더라도 어느정도 이해할 수 있는 네이밍이 필요하다. 너무 복잡하지도, 너무 간결하지도 않게 해야함. 그래서 제일 어렵다. 간단한 토이프로젝트, 간단한 소스코드를 작성하더라도 신경쓰는 버릇을 들여야 실제 프로젝트에서도 네이밍을 잘 해낼 수 있다. 2. 효율성 생각하기 어떤 역할을 하기 위해 for문을 도는 배열이 있고, 그 생산물이 또 for문을 돌아야 하는 경우가 있다. 위 경우는 두 기능을 합치면 for문을 한번만 돌아도 된다. 이 기능적인 것을 가능케 하는 것이 함수고, 그 함수를 잘 짜기 위해서는 기능에 대해 효율성을 생각해야 한다. 2-1. 같은 기능 묶기 어떤 값을 생산함에 있어 로직은 같지만 산출물이 미묘하게 다른 경우, 특정 부분을 파라미터로 만들..

했던것들/알게된 것들

내가 생각해본 타입스크립트를 배워야 하는 이유

이 글은 사실 원숭이의 유레카 입니다. 아직 타입스크립트를 잘 모르지만 배워야하는 이유를 심각하게 체감했고, 그 이유를 공유하고자 제 생각을 글로 적어 남겨봅니다. 시작하겠읍니다. 타입스크립트는 뭘까요? 타입스크립트는 자바스크립트의 정적 타입 체커입니다. 즉, 자바스크립트의 정적 검사(프로그램을 실행시키지 않으면서 코드의 오류를 검사) 검사자의 역할을 합니다. 자바스크립트가 워낙에 약타입에 자유분방한 언어라 배열에 문자열을 더해도 오케이, 문자열에 숫자를 더해도 오케이를 해버려서 자바스크립트로 복잡한 프로그램을 짠다면 후에 유지보수가 어려워질 수 있기에, 프로그래밍 초기 단계서부터 에러가 날 상황을 최대한 방지하고자 타입스크립트를 쓴다고 익히 알고 있습니다. 그러한 이유로 저는 결국에 해결책은 자바스크립..

했던것들/알게된 것들

Repository Pattern in Android

시니어님께서 보내주신 링크인데 영어로 되어있어 번역해가며 공부해보고자 합니다. https://proandroiddev.com/the-real-repository-pattern-in-android-efba8662b754 The “Real” Repository Pattern in Android Over the years I’ve seen many implementations of the repository pattern, yet I think most of them are wrong and not beneficial. proandroiddev.com 몇 년간 필자는 리포지토리 패턴을 많이 보아왔지만, 많은 사람들이 이 패턴을 잘못 구현하거나, 별로 이익이 되지 않게 구현하고 있던걸 확인할 수 있었습니다. 리..

2DC
'했던것들/알게된 것들' 카테고리의 글 목록