본문 바로가기
728x90
반응형

전체 글170

FlowForge(GTDList) 01-07 일지 모델 확정 및 sequelize 활용 오늘은 예고했던 대로 백엔드를 만지기 시작했다. 우선 아직 완벽하지 않은 user, task, global-value 테이블의 기본적인 모델을 확실히 확정하기로 했다. - 모델 정리 이럴 때야 말로 내 머리로 직접 일일이 생각하기보다는 GPT를 이용할 때다. user에 대한 스키마는 흔해빠졌지만 일일이 생각하기 귀찮기 때문이다. GPT에게 물어본 질문은 이렇다 (문법적으로 틀린 문장이 있다면 ㅈㅅ) : Here is another question. What attribute of user model will usually get when making a webpage? I mean, there is gotta be more than just username and password, right? 답변은 이.. 2024. 1. 9.
[MySQL] 사용자 관리 관련 명령어 모음(열람, 생성, 삭제, 비밀번호 변경) + 접속 명령어 이번에 프로젝트를 하면서 간단하게 MySQL을 다룰 일들이 생겼기 때문에 기억하기 쉬우라고 명령어 몇개를 적어두고자 한다. SELECT, CREATE, DROP, ALTER, DROP등을 이용해서 SQL서버 상의 사용자를 조작하면 된다. username = 사용자 이름 locahost = 서버 주소 는 상황에 따라서 바꿔주면 된다. 1. 사용자 리스트 뽑기 SELECT user FROM mysql.user; 2. 사용자 비밀번호 초기화(변경) ALTER USER 'username'@'localhost' IDENTIFIED BY 'newpassword'; 3. 사용자 삭제 DROP USER 'username'@'localhost'; 4. 사용자 생성(단, 이렇게 생성할 시 기본 권한만 가짐) CREATE .. 2024. 1. 7.
FlowForge(GTDList) 01-06 일지 로그인, 회원가입 페이지 만들기 주말인 관계로 아마 내일도 작업 속도가 좀 느려지겠지만, 너무 완급 조절을 하지 않으면 사람에 문제가 생길 수 있으니 적당히 하는 게 좋을 듯하다. 그래도 내게 있어서는 이 시간에 제일 소중한 시간이 될 듯하다. 하루도 빠짐없이 열심히 개발을 할 수 있는 나날들이 참 꿈만 같다. 여기서 돈만 벌 수 있으면 너무 좋을 텐데... 이런 아들의 뒷바라지를 해주시는 우리 부모님께 감사하다. - 오늘의 개발 각설하고, 드디어 3~4일 전에 끝냈어야 할 내용을 전부 끝냈다. 로그인 페이지, 회원가입 페이지를 둘 다 구현해 두었고(물론 겉면만), react-redux로의 이주도 완전히 끝냈다. 개별적으로 다른 내용들이 필요한 게 아닌 이상(각각의 셀처럼), redux를 쓰는 게 간결하고 데이터의 흐름을 파악하기에 좋.. 2024. 1. 6.
joi 라이브러리로 입력값 검증, messages로 커스텀 메시지 작성하기 이번에 같이 개발하게 된 친구와 함께 협의한 것 중 하나는 우선 서로 같이 쓸 수 있는 개발일지를 만들어서 배포해 보자는 것이었다. 그래서 실제로 코드를 지금 github organization에서 공유하게 되었고, 적어 둔 TODO 중에서 제일 만만해 보이는 걸로 우선 스타트를 끊기로 했다. 그 만만하다는 작업이 "비밀번호 입력값 검증 강화"이다. 이미 joi 라이브러리를 이용해서 기본적인 입력값 검증을 하고 있었기 때문이다. const schema = Joi.object().keys({ username: Joi.string() .alphanum() .min(3) .max(20) .required() password: Joi.string() .min(6) .max(20) .required() }); 이.. 2024. 1. 5.
FlowForge(GTDList) 01 - 04 일지 react-redux의 적용 원래는 어제 로그인 페이지와 회원가입 페이지를 만들고자 했다. 근데 다른 사람들이 만든 좋은 코드를 보고, redux를 적용하는 예제를 보니까 내가 코드를 얼마나 잘못 짰는지가 보였고 아무래도 리팩토링을 해야 할 것 같다는 생각이 들었다. 물론 가능하다면 위에 있는 두 개의 페이지를 만들면서 진행할 예정이다. 현재 소스파일 구조는 이렇다. 보면 지금 pages 아래에 모든 컴포넌트가 몰려 있는데 페이지 단위로 컴포넌트가 나뉘어 있다. 좋지 못한 방식으로 짜여진 구조라는 게 코드를 짜면서 조금씩이지만 느껴졌다. 거기서 redux를 보고 나니까 확실히 문제가 있는 구조라는 것을 알았다. 다시 쓰일 가능성이 있다면 데이터 주입을 담당하는 컨테이너, 뷰를 담당하는 컴포넌트를 분리해야 했다. 리덕스를 제대로 학습.. 2024. 1. 4.
FlowForge(GTDList) 01 - 01 일지 기본적인 브랜딩 새해 신년에 쓰는 일지도 나쁘지는 않다. 3번째 일지가 될 텐데 뭐 크게 외향적으로 바뀐 건 역시나 없다. 애초에 작업량이 근 2일간 많지 못했다. 딱 신년 넘어가는 타이밍이라 그런지 좀 풀어진 것 같다. 그래도 일지를 써서 앞으로 목표를 잡아야 차후가 쉬워지기 때문에 집중하고 써보도록 하겠다. - 오늘의 개발 이번에 바뀐 건 1. 글 제목을 보면 알겠지만 앱 이름을 새로 달아주었다. 브랜딩 하기 좋기 때문에... 처음으로 좀 각 잡고 만드는 앱인 만큼 그냥 임시 이름으로 하기는 좀 그렇다. 1-1. 그것 때문에 로고도 새로 만들었다. 앞으로 내 앱에서 계속해서 쓸 예정이다. 2. 메인 페이지 개설 뭐 그런 고로 간단한 웹페이지 화면도 만들어 두었다. 지금 당장은 특별한 일을 하지는 않는다. 3. 제대로.. 2024. 1. 1.
iPad를 모니터로 만들자! (Windows PC-iPad간 연동) 갑자기 어떤 아는 사람이 최근에 노트북 모니터 사이즈를 14 vs 16중에 고민하고 있어서 망설임 없이 큰 걸 추천해주었다. 13인치 노트북을 지금 쓰고 있는데 아무래도 좀 불편했기 때문이다. 대화를 나누면서 우스겟소리로 iPad를 두번째 모니터로 써보겠다고 우스겟소리로 이야기 했는데... 어... 생각해보니까 충분히 가능할 것 같다?는 생각이 들었다. 그래서 바로 연구를 했는데 리턴이 좋아서 여기에 적어 두려고 한다. 필수 준비물은 모니터를 확장하고 싶은 pc, ipad가 끝이다. usb를 이용해서 연결하고 싶다면(본인은 그렇게 사용하는 중이다.) 컴퓨터랑 ipad랑 연결할 수 있는 선 1개만 더 준비하면 된다. 본인은 ipad살때 딸려온 usb c to c를 쓰기로 했다. 1. Windows 컴퓨터에.. 2024. 1. 1.
GTDList 개발 로그 12 - 30 기본 CRUD 두번째 개발일지다! 이번에는 2일치 작업 분량을 한번에 올릴 예정이다. 28일에 작업한게 많지 않은 것도 있지만, 그래도 CRUD를 구현했다는 점에서 하나의 마일스톤을 달성했기 때문에, 여기서 정리를 다시 하는게 맞다고 생각했다. 우선 현재의 구현 상태는 이렇다 : 시연 동영상 2 다행히 27~28일 동안 리팩토링에 노력을 기울인 만큼 딱 나온 것 같다. 추가된 기능은 1. 플러스 마이너스 눌러서 CREATE, DELETE 가능. 2. 각각의 데이터 형태마다 다른 input 렌더링, 조작 가능. 정도 긴 한데, 쓰면서 느끼는 거지만 노력 대비 추가된 기능은 적은 듯... 하다. 그러거나 말거나 앞으로 해결해야하는 문제점은 2가지이다. 1. 실제 백엔드에 저장하기 위해서 Ctrl + S 혹은 메뉴에서 저장.. 2023. 12. 30.
GTDList 개발 로그 12 - 28 시작 이게 나의 첫 번째 앱 개발 일지가 될 듯하다. 이전까지는 앱 단위로 일지를 관리해 본 적은 없는데 누군가에게 좀 자극을 받아서 이렇게도 한번 성장을 시도해보려고 한다. 정확히는 어제 한 일들이지만 제때제때 글을 적어서 제대로 포트폴리오를 만들고 싶다. 이것 말고도 다른 아는 사람이랑 같이 하기로 한 프로젝트도 있는데, 아직도 뭔가 배움이 부족한 듯싶어서 여기서 경험 좀 쌓고 가고 싶은 것도 있고... - 계기 / 목표 다만 바로 본론으로 들어가기 전에, 첫번째 개발 일지이므로 배경설명을 하는 게 좋겠다. "GTD(Getting Things Done)" List라는 개념은 내가 만든 것은 아니고 TODO List의 개량된 버전이다. 30분 ~ 1시간 단위로 플랜을 짜기보다는 당장 앞에 놓인 일들을 보면서.. 2023. 12. 28.
[반응형] CSS 간단한 가변 요소 크기 단위 정리 요즘에는 프런트엔드의 기본기(HTML, CSS, JS)를 한번 전부 다져두었다. 간단한 건 클론코딩을 하고 조금 만져보는 것으로도 꽤나 경험이 되는 것 같다. 물론 프로젝트도 진행하고 있지만. 이번 주 안에는 최소한의 기능을 넣은 앱을 배포해보고 싶다. 어차피 남아도는 게 시간이라. 각설하고, 그래도 지금은 CSS쪽을 더 파고 싶었다. 일단 적어도 앱을 출시하기 위해서는 보이는 것, 적당히 모던해 보이는 게 필수라고 생각했기 때문이다. 물론 "반응형" CSS를 공부하는 건 다른 맥락에 있을 수도 있겠지만, 대충 그런 느낌이라는 것만 알아두면 된다. 도서관에서 책을 빌려서 지속적으로 보고 있는데, 빌린 책이라서 기록을 더 해두고 싶은 것도 있는 것 같다. 웹페이지 디자인을 기획할 때 간단하게 쓸 수 있는 .. 2023. 12. 28.
CSS margin padding 해도 안 사라지는 공백 (inline-block) 혹시 CSS 코딩을 하다고 대체 왜 존재하는 건지 모를 망할 공백을 본 적이 있는가? margin, padding을 0으로 만들어도, 도저히 줄일 수 없는 무언가. 내가 겪었던 함정은 이렇다 : #wrap { width: 90%; height: 500px; margin: 0 auto; border: 4px solid #000; } .container { width: 93.75%; height: 492px; margin: 0 auto; border: 4px solid #000; } .container div { display: inline-block; height: 100%; border: none; margin: 0; padding: 0; } .container div:nth-of-type(1) { wi.. 2023. 12. 21.
2023 막바지의 되돌아보는 글 이제 슬슬 집에서 이런거 틀 때가 되었다. 연말은 사람들에겐 언제나 예외였다. 난 언제나 심심한 때가 많다. 이런 말이 궁상 맞아보일지도 모르겠다만, 언제나 떠들석한 이벤트 보다야 차분하게 보내는 시간이 좋은 나로써는 적당한 정적은 내겐 필요하다. 하지만 연말만큼은 그럴 수 없다. 거리가 온통 붉은 색의 크리스마스, 신년의 기운으로 물들면 기분도 들뜨기 마련이니까. 다행히 이번 1년 동안은 발전한게 있다고 생각하기에, 별다른 불평없이 1년을 끝내고 싶다. 인터넷이 활성화 된 이후로는 "202X년 유행한 밈 모음"같은 영상들도 많이 생겼는데, 2019~2020년도 정도에 리듬세상 리믹스로 한번 보고 나서는 항상 어딘가에서는 결산이 올라오는 것 같다. 이런 연말정산 아닌 연말정산을 보고 나서야 비로소 "아 .. 2023. 12. 21.
[군대] 공군 전산병 후기!(주의 : 별로 좋지 않음) 전역한 지 며칠이 지났다. 어지간히 나오고 싶었는지 전역하기 전날에도 전역하는 꿈을 꾸었고, 오늘도 전역하는 꿈을 꿨다. 내용은 완전히 다르지만. 어쩌면 당연하지만, 나는 입막음을 서약해야 했다. 전역 전에 작성하는 서류에 마저도 "군 관련 보안사항을 전역 후에도 외부에 발설하거나 하지는 않을 것"이라고 쓰여있는 뭔가에 서명을 해야 했던 기억이 난다. 실제로 그런 사항을 이야기하고 싶은 마음도 없고, 이야기할 일도 없을 것이다. 그래도 내가 어떻게 느꼈는지는 공유하고 싶다는 생각이다. 전산병도 나름 모집병이고, 그렇기에 어느 정도 자신의 운명을 정할 수도 있을 테지만, 그것만으로는 부족하다. 원하는 자대은커녕 원하는 보직도 제대로 선택할 수 없을 수 있다는 사실을 알아두었으면 좋겠다. 본인이 기훈단(기본.. 2023. 11. 24.
[ES6] function 함수와 화살표 함수의 차이 - JavaScript function으로 만들어진 함수의 this는 자신이 포함된 객체를 가리킨다. function BlackDog() { this.name = '흰둥이'; return { name: '검둥이'; bark: function() { console.log(this.name + ': 멍멍!'); } } } const blackDog = new BlackDog(); blackDog.bark(); // 검둥이 : 멍멍 json 객체가 상위 객체로 있기 때문이다. 화살표 함수의 경우는 이렇다 : function WhiteDog() { this.name = '흰둥이'; return { name: '검둥이'; bark: () => { console.log(this.name + ': 멍멍!'); } } } const whit.. 2023. 11. 24.
[백준/C++/Platinum(5)] 14003 - 가장 긴 증가하는 부분 수열 5 14003번: 가장 긴 증가하는 부분 수열 5 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (-1,000,000,000 ≤ Ai ≤ 1,000,000,000) www.acmicpc.net 본인이 해당 문제의 출제자가 아니며, 문제 자체에 대한 모든 사항은 위의 링크가 출처임을 명시합니다. “가장 긴 증가하는 XX수열”이라는 문제는 꽤 종류가 많다. 시간 간격을 두고 한두 문제씩 복습하면서 배우기 좋다. 앞으로 가장 긴 증가하는 부분 수열을 줄여거 LIS(Longest Increasing Subsequence)로 줄여서 부르겠다. 이런 수열들의 길이를 구하는 문제를 먼저 설명하고, 이 문제를 설명하려고 했는데, 이미 다.. 2023. 9. 3.
728x90
반응형