본문 바로가기

웹개발22

WIL) Spring의 이해 WIL 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? 그 배움까지 다가가는데 어떤 어려움이 있었지? 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지? 결과적으로, 현재 나의 상태는? 이 상태에서 다음 일주일을 더 잘 보내려면 어떻게 해야 할까? 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? Spring으로 코드를 짠다는 의미와 Spring Boot가 가진 이점 그 배움까지 다가가는데 어떤 어려움이 있었지? Spring 문법을 배우기 시작하면서 그 문법을 완전히 이해하기도 전에 실습을 따라가야 했었다. 때문에 이 코드가 어떤 흐름과 원리로 진행이 되는지 확신이 서지 않았다. 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지? Spring 강의를 듣고 교안.. 2023. 6. 25.
TIL) 최근 주문목록만 출력할 수 있도록 if문 사용하기 TIL 기준 1. 어떤 문제가 있었는지 2. 내가 시도해 본 것들 3. 어떻게 해결했는지 4. 뭘 새롭게 알았는지 =문시해알 오늘은 1문제에 봉착하여 이를 풀어가는 과정을 기록하였다. 키오스크를 업그레이드하는 팀과제를 부여받았는데 내가 맡은 업무는 소비자가 주문 현황 화면을 선택하였을 때 다음과 같은 정보를 포함하는 화면을 만드는 것이었다. 주문 현황에서는 맨 위에 완료된 최근주문 3개를 출력한다. 그 아래에 대기 중인 모든 주문 목록을 출력한다. 가 포함되어 있어야 했고 기존에 만들어 놓은 코드는 최근 주문과 대기 중인 주문 목록이 모두 출력 가능하였으나 최근 주문 3개를 출력하는데 어려움이 있었다. (문제) [ 현재 상황] public void OrderStatus() { //주문현황 System.o.. 2023. 6. 8.
Not Coder, be Developer 스파르타코딩클럽과 정부가 주체하는 국비지원 부트캠프 [내일 배움 캠프]에서 특강을 하였다. 특강 제목은 Not Coder, be Developer이며 팀스파르타 최양임 커리큘럼 PM님이 강의를 진행하셨다. 아래 내용은 강의에서 말씀하신 내용을 요약한 내용이며 개인적인 의견도 포함된 글이므로 편하게 읽어주시면 좋을 것 같다. 1. 강의로 의존해서는 개발자가 될 수 없다 우리는 단순히 코드를 치는 코더가 아니라 개발을 하는 개발자이다. 이러한 개발자가 되기 위해서는 다음과 같은 노력이 필요하다. TIL, WIL, 알고리즘 - 꾸준함, 성실함을 바탕으로 나의 자산을 만들기 프로젝트 - 배운 내용 복습하며 사고력과 구현력 중점적으로 단련 개인과제, 팀 과제 - 기술적 의사결정, 기술적 고민을 동시에 개발역량점검.. 2023. 6. 5.
TIL) 팀과제 - MemoVO로 메모장 구현하기 TIL 기준 1. 어떤 문제가 있었는지 2. 내가 시도해 본 것들 3. 어떻게 해결했는지 4. 뭘 새롭게 알았는지 =문시해알 팀과제로 메모장 만들기를 하게 되었다. (아이디와 비밀번호를 포함하여 입력, 목록 리스트, 수정, 삭제, 완료 등) 내가 맡은 역할은 메모리스트 중에서도 글 삭제 후 글 번호를 다시 붙여준다. 글이 삭제된 후 새 글이 입력될 때 idx가 기존 idx값에 이어서 1씩 증가할 수 있도록 count의 값을 수정한다. 였고 문제의 서막이 시작되었다. 메모 리스트 (MemoList) 조건 여러 건의 메모를 저장하는 클래스 이다. 메모 전체를 조회할 수 있다. (Getter/Setter 존재) 작성 최신 순으로 메모를 출력한다. 1건의 글을 메모 리스트에 추가할 수 있다. 글의 수정 또는 삭.. 2023. 6. 5.
WIL) 찐아기개발자의 코드 번아웃과 극복법 WIL 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? 그 배움까지 다가가는데 어떤 어려움이 있었지? 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지? 결과적으로, 현재 나의 상태는? 이 상태에서 다음 일주일을 더 잘 보내려면 어떻게 해야 할까? 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? 이론 공부의 중요성 포기하지 않는 마음 그 배움까지 다가가는데 어떤 어려움이 있었지? 개인과제로 키오스크를 만드는 일이 있었는데 기본적인 입력 부분까지 했을 뿐, 수정, 삭제를 구현하지 못했다 (기술 부족) 알고리즘 수업을 통해 간단한 If/while 등의 퀴즈부터 풀어보았는데 제대로 풀 수 있는 문제가 없었다 (기술 부족) 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 .. 2023. 6. 5.
TIL) Oracle에서 제공한 array Quiz TIL 기준 1. 어떤 문제가 있었는지 2. 내가 시도해 본 것들 3. 어떻게 해결했는지 4. 뭘 새롭게 알았는지 =문시해알 오늘은 오라클에서 배열에 관해 배웠고 퀴즈 오답을 중점으로 가져왔다. 틀린 퀴즈 *빨간 글씨는 틀린 것 The term "instance variable" is another name for non-static field. The term "class variable" is another name for static field. A local variable stores temporary state; it is declared inside a method. A variable declared within the opening and closing parenthesis of a me.. 2023. 6. 5.
TIL) chatGPT를 활용하여 Food 키오스크 만들기 TIL 기준 1. 어떤 문제가 있었는지 2. 내가 시도해 본 것들 3. 어떻게 해결했는지 4. 뭘 새롭게 알았는지 =문시해알 오늘은 1가지 문제에 봉착하여 이를 해결한 과정을 찾는 여정을 적었다 개인과제로 키오스크를 만들어야 했다 대략적인 클래스를 구분해서 작성했지만 코드가 부산스럽고 나눈 클래스가 정신이 없었다 문제: 그중에서도 제일 큰 문제는 상속을 해야 하는 것이었는데 메뉴 클래스와 상품 클래스를 상속하기 위해 무슨 코드를 넣어야 하고 어떻게 extends를 해야 하는지 감이 잡히지 않았다 시도: 부족한 지식과 창의성에 한계를 느낀 나는 챗gpt를 활용해보기로 하였다 [기존 코드] package PersonalAss; import java.util.Scanner; public class Main {.. 2023. 5. 30.
WIL) 5월 4째 주 주간회고 WIL 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? 그 배움까지 다가가는데 어떤 어려움이 있었지? 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지? 결과적으로, 현재 나의 상태는? 이 상태에서 다음 일주일을 더 잘 보내려면 어떻게 해야 할까? 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? 개발자의 덕목 - 차분함, 꼼꼼함, 포기하지 않고 반복해서 도전하는 정신 개발일지를 매일 작성하는 습관을 갖자 그 배움까지 다가가는데 어떤 어려움이 있었지? 개발자의 덕목 - 한 주간 나의 개발일지를 들여다보면 코드를 작성할 때 나는 기호, 오타 등 작은 실수가 연달아 있었다. 이 뜻은 내가 꼼꼼하지 않다는 말이요, 차분하게 코드를 읽어내는 자세가 부족하여 쉽게 포기하려는 마음이.. 2023. 5. 27.
TIL) 중복 if문을 쓸 때 괄호()를 조심하자 TIL 기준 1. 어떤 문제가 있었는지 2. 내가 시도해 본 것들 3. 어떻게 해결했는지 4. 뭘 새롭게 알았는지 =문시해알 오늘은 1가지 문제에 봉착하여 이를 해결한 과정을 적었다 문제: 중복 if 문을 실습하는데 계속 에러가 났다 시도: 에러 메시지에서는 else에 If가 필요하다는 말이었다 처음에는 else를 잘못 추가했는지, if가 적었는지 고민을 해보았다 해결: 함수를 넣고 빼고를 반복했지만 여전히 동일한 에러 메시지가 떠서 처음부터 다시 작성해 보았다 아니나 다를까 이번에는 실행이 잘 되었고 이전 코드와 비교하니 }의 위치가 비정상적으로 붙어있었다 즉 }가 하나씩 미뤄져서 저장된 것 분석해보니 내가 강사님을 따라서 else if { }를 적을 때 엔터를 여러 번 치고 괄호를 추가적으로 1개를 .. 2023. 5. 25.
미니 팀프로젝트 : 팀 소개 웹페이지 5일차 TIL 1. 발제 준비 2. 회고 1. 발제 준비 팀원끼리 발표 준비역할을 나누었다 나는 발표대본을 작성하였고 한 팀원은 발표 다른 팀원은 피피티 및 영상을 제작하였다 추가적으로 나는 발표를 하는 동안 대본에 맞추어 영상을 띄우고 제작한 웹사이트를 소개할 때 해당 페이지를 넘겨주는 스크린 역할도 같이 맡았다 문제 : 발표에 맞추어 스크린 띄우는 것까지 완벽하게 준비를 했음에도 발표가 줌으로 한다는 사실을 간과하여 발표시간에 영상이 띄어지지 않아 발표를 다음 순서로 미루게 되었다 팀장으로서 매우 창피하지 않을 수 없었다 자책감이 왔지만 당장 해결할 수 있는 것부터 해야 했기에 사과는 발표가 끝나고 나서 했다 말도 안되는 실수를 한 자신이 참.. 다음에는 실제 발표 때 이와 같은 실수가 반복되지 않도록 철저.. 2023. 5. 22.
미니 팀프로젝트 : 팀 소개 웹페이지 1일차 TIL 팀 소개 웹페이지를 구현하기 위해 와이어프레임과 역할 분담을 나누었다 발제가 금주 금요일이므로 4일 만에 프로젝트를 완성해야 했다 때문에 하루는 CR구현, 하루는 UD구현, 하루는 최종수정 및 발제준비로 일정을 짜보았다 우왕좌왕 좌충우돌이었지만 각자 역할분담을 나누어 조금씩 구현해 보기로 하였다 역할 분담은 프론트/백엔드로 나누었으나 결론적으로는 GET/POST 한 묶음씩 역할 분담을 나누는 것이 더 효율적 여보였다 우리가 만들고자 하는 웹페이지는 1. 팀과 팀원 소개 2. 방명록 을 구현하는 것이었고 방명록의 경우 좋아하는 동물과 이유를 적고 동물의 이미지 주소를 넣었을 때 기록물들이 남기는 효과를 구현하고자 했다 API 명세는 다음과 같이 계획했으나 점차 하면서 request와 response.. 2023. 5. 15.
네 번째 미니 프로젝트: 팬명록 이번 프로젝트는 팬명록 만들기이다 좋아하는 연예인의 팬명록을 만드는 것인데 닉네임, 응원댓글을 기록하면 아래로 기록들이 달리는 사이트이다 결과 먼저 보기 대표사진 삭제 사진 설명을 입력하세요. 나는 좋아하는 연예인이 없어서 친한 친구가 좋아하는 연예인(비투비 이창섭씨)을 대상으로 하여 만들었다 :) 이번 프로젝트에도 사용한 언어는 python이며 프레임워크는 flask를 사용하였다 이전 포스트와 마찬가지로 주요 코드를 공유하는 것으로 포스트를 마치고자 한다 python from flask import Flask, render_template, request, jsonify app = Flask(__name__) from pymongo import MongoClient import certifi ca = .. 2023. 5. 11.
세 번째 미니프로젝트: 나의 버킷리스트 웹개발 강의 5주차에 접어들었다 드디어 마지막 강의다 흑흑 ㅠㅠ 5주차에는 지금까지 배운 내용을 정리하고 생소한 정보를 복습하는 시간이었다 또한 미니프로젝트 2개를 추가로 진행하는데 벡엔드 서버 Flask로 서버를 만드는 작업을 2번 반복한다 나의 버킷리스트 만들기 결과물! *웹사이트를 만드는 순서는 앞서 포스트한 순서와 동일하다 따라서 본 포스트에서는 코드만 공유하고자 한다* app.py from flask import Flask, render_template, request, jsonify app = Flask(__name__) from pymongo import MongoClient import certifi ca = certifi.where() client = MongoClient('mongodb.. 2023. 5. 11.
두 번째 미니프로젝트 - 영화 기록하기 이번에는 내 생애 최고의 영화들을 기록하는 미니 프로젝트를 만들었다 영화 URL, 별점, 코멘트를 적으면 기록되는 웹사이트이다 결과물 먼저 보시라! 만드는 순서 1.가상환경 만들기 python3 -m venv venv 2.파일과 폴더 만들기 app.py 파일 templates 폴더 그 안에 index.html 파일 3.설치하기 flask, pymongo, dynspython reuqests (크롤링), bs4 (크롤링) 터미널에 pip install flask pymongo dnspython requests bs4 치고 엔터 *쉼표 없이 띄어쓰기로 쳐도 됨 4.유용한 태그 웹스크래핑으로 URL에서 페이지 정보를 가져올 때 유용한 태그 = meta 태그 5.본격적인 API 만들기 1) 데이터 쌓기 2) 데.. 2023. 5. 11.
첫 번째 미니프로젝트 - 화성땅 공동구매 이번 포스트와 다음 포스트는 실제로 미니 프로젝트를 만든 시간이었다 즉, 나만의 웹페이지를 만들어보는 시간이다 결과물부터 봐보자! 이번 프로젝트는 화성에서 땅을 공동구매하기 위해 주문하는 웹페이지이다 주문 상세에는 이름, 주소, 평수이며 주문하기를 누르면 아래에 주문자의 리스트가 기록되는 사이트이다 만드는 순서 1.app.py 만들기 2.가상환경 만들기 남이 만든 라이브러리를 사용할 것이기 때문에 그것을 담을 환경이 필요하니 터미널에서 venv 만들기 터미널에 $ python3 -m venv venv 치고 엔터 (맥용) (윈도우용) $ python -m venv venv 3.templates 폴더 생성 그 안에 index.html 생성 4.flask 설치 터미널에서 $ pip install flask치고.. 2023. 5. 11.
웹개발 종합반 4주차 (2) 저번 포스트에서는 프론트엔드에서 API, 데이터를 받는 것을 배웠다 웹개발 종합반 4주차 (1) 4주차에서는 백엔드 과정을 배웠다 즉, 서버 만들기를 배웠다 두근두근 다만 백엔드 과정이 꽤나 양이 많아 포스트를 4개로 나누어 포스팅하였다 마지막 포스트 2개는 실제로 미니 프로젝트를 earlgrey-is-here.tistory.com 4주차에서는 백엔드 과정을 배웠다 즉, 서버 만들기를 배웠다 두근두근 다만 백엔드 과정이 꽤나 양이 많아... 데이터를 받을 때 fetch를 사용해 보았는데 프론트엔드(.html 등)와 벡엔드(.py 등)가 소통하는 방법은 여러 가지가 있다고 한다 그중에 우리는 GET, POST 방식 등을 배웠다 이번 포스트에서는 두 방식을 배운 내용을 공유하고자 한다 GET 요청의 특징은 .. 2023. 5. 11.
웹개발 종합반 4주차 (1) 4주차에서는 백엔드 과정을 배웠다 즉, 서버 만들기를 배웠다 두근두근 다만 백엔드 과정이 꽤나 양이 많아 포스트를 4개로 나누어 포스팅하였다 마지막 포스트 2개는 실제로 미니 프로젝트를 만들어보았다! 기대하시라! 꺄 서버를 만들기 위해서는 라이브러리 = 프레임워크가 필요하다 우리는 백엔드 서버를 위해 Flask라는 프레임워크를 사용했다 Flask 프레임워크로 서버 만들기 1.원하는 폴더로 이동한다 2.app.py를 만든다 3.터미널을 켠다 4.가상환경을 잡는다 터미널에서 python3 -m venv venv치고 엔터 *venv는 프로젝트별로 라이브러리를 담아두는 통 5.Flask 설치하기 터미널에 pip install flask치고 엔터 [Flask 시작 코드] from flask import Flask.. 2023. 5. 11.
웹개발 종합반 3주차 3주차에는 파이썬을 배웠다 파이썬으로 서버 만들기 몽고디비와 친해지기 파이썬으로 네이버 영화목록을 가져와서 몽고디비에 넣기 파이썬 (윈도우용, 맥용) 파이썬 공부하기 파이썬을 사용하는 이유 컴퓨터한테 명령을 내리기 위해 파이썬을 다운로드하는 이유 파이썬의 언어를 알아들을 수 있도록 번역해 주는 번역패키지를 세팅하기 위해 세팅하면 컴퓨터가 명령어를 알아들을 수 있음 파이썬의 문법은 굉장히 직관적이다 예) print는 출력을 의미 변수 a = '대한' b = '민국' print (a+b) 결과: 대한민국 자료형 a = ['사과','배','감'] print (a[0]) 결과: 사과 dictionary a = {'name':'영수', 'age':24} print (a['name']) 결과: 영수 함수 자바스크립.. 2023. 5. 10.
엑셀보다 쉬운, SQL 3주차 3주 차에는 Join과 Union을 배웠다 Join 테이블과 테이블을 연결한다 이때, 테이블끼리 매칭할 때 '기준' 필요하다 두 테이블의 공통된 정보(key 값)를 기준으로 테이블을 연결해서 한 테이블로 만든다는 것이다 엑셀에서는 vlookup과 비슷하다 실무에서 많이 사용된다 join은 left join과 inner join, outer join으로 나뉜다 *outer join은 잘 사용 안 해서 강의에서 다루지 않았다 left join A 테이블에다가 B테이블을 붙일 때 사용한다 Null 값은 매칭이 안 됐다는 뜻으로 두 테이블에 모두 가지고 있지 않다는 뜻이다 어디에, 뭐를 붙일 건지, 순서가 중요하다 한쪽에는 있는데 한쪽에는 없는 것을 가지고 통계 내고 싶을 때 사용한다 Null과 관련된 것, .. 2023. 4. 27.
엑셀보다 쉬운, SQL 2주차 SQL 2주차에는______! [2주차 학습목표] *통계적인 숫자를 구하는 법을 배운다 (최댓값, 최솟값, 평균, 개수 등) *의미있는 정보를 구해본다 예: 이씨 성을 가진 사람 수, 성씨별 인원수 *카테고리로 묶어야 정보를 통계낼 수 있으므로 그룹화하는 법(Group by)을 배운다 예:성씨별로, 나이별로 등 *데이터를 정렬해 주는 법(Order by)을 배운다 예: 성씨를 내림차순/오름차순 Group by의 기능 최솟값 min, 최댓값 max, 평균 avg, 합계 sum등 존재한다 주별로 받은 likes의 평균을 구하시오 select week, avg(likes) from checkins group by week 결과를 정렬하는 방법 ↓ 오름차순 select name, count(*) from us.. 2023. 4. 26.
엑셀보다 쉬운, SQL 1주차 스파르타코딩에서 제공하는 엑셀보다 쉬운, SQL 1주차를 수강하였다 해당 강의는 국비지원이 가능한 웹개발 강의이다. HRD-Net에서 확인가능하며 80%이상 수강을 하면 전액환급이 되고 기간 내에 수강을 완료하면 평생 소장이 가능하다 총 4주차 강의로 이루어져 있으며 비전공자들을 위한 SQL 강의라고 할 수 있다 *[엑셀보다 쉬운, SQL]를 수강 계획 중인 분들께 본 강의가 조금이나마 도움이 될 것 같다  다음은 1주차에 배운 내용을 기록한 개발일지이다 [강의 초점] 강사님에 의하면 실무에서는 대부분 이미 설계된 데이터베이스에서 데이터를 수정/추가/창조하는 것이 아니라 데이터를 가져오는 것을 한다고 한다 따라서 본 강의는 데이터베이스보다는 SQL에 집중적으로 파고들 예정이다 & 데이터베이스는 데이터를.. 2023. 4. 25.
웹개발 종합반 2주차 오늘은 Javascript를 배웠다 Javascript는 프로그래밍 언어 중 하나로 브라우저에 명령을 알아들을 수 있는 언어라고 한다 쉽게 말해, 움직이기, 움직임을 더하기, 뭔가를 움직이게 하는 것, 뭔가에게 동작을 명령하는 것이다 예) 스크롤을 내리면 배경 바꾸기 등 다음은 강의를 들으면서 Javascript와 관련된 기본적인 정보들이다. 자바와 자바스크립트의 차이는? 아무 관련이 없다. 강사선생님께서는 인도와 인도네시아의 차이 정도라고 말하셨다 Javascript는 안에 쓴다 HTML에 움직임을 주기 위에서 Javascript를 사용한다 프로그래밍에서 함수(Function)는 정해진 일을 반복하는 함수이다 Javascript의 기초적인 문법에는 다음과 같다 console.log()는 해당 웹사이트가.. 2023. 4. 25.