개발 공부
-
개발공부
Request (String Boot 공부하기)
본 게시글은 개인공부용 포스트 입니다. 정확하지 않은 정보일 수 있습니다. HTML 삽입 미리보기할 수 없는 소스 RequestMapping에 uri를 넣어주면 해당 uri를 호출하였을 때, return값이 보여진다. import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class UserController { @RequestMapping(value = "/user/paid") public String getPaidUser() { return "i'm a paid user."; } @Reques..
-
개발공부
Spring 계층형 아키텍처 부터 Controller Annotation까지
본 게시글은 개인공부용 포스트입니다. 정확하지 않은 정보나 정리되지 않은 내용이 포함될 수 있습니다. HTML 삽입 미리보기할 수 없는 소스 코드 개발 전 최종 SW가 되어야 할 모습을 설계해야 함. -> SW의 구조를 정의한 것이 SW 아키텍처이다. (SW를 구성하는 주요 요소들과 요소들의 관계를 정의) HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 클라이언트의 요청을 받고 @Service에 처리를 위임하고 Client에 최종 응답을 하는 역할이다. Controller 코드를 구현할 때에는 3개의 기본 어노테이션이 사용된다. @Controller (@RestController) : Controller 역할을 하는 클래스를 지정, 클래스 상단에 명시하면 됨. @Reques..
-
개발공부
Web과 HTTP 간단 개념
안녕하세요. 열정열정열정 개발자입니다. 이번 게시글에서는 Web과 HTTP를 간단하게 정리해 보았습니다. HTML 삽입 미리보기할 수 없는 소스 인터넷 상에서 정보를 공유하는 기술 중 하나. Web에서의 정보는 기본적으로 Hyper Text 문서로 작성되고 공유됨. Hyper Text 란, 일종의 문서이다. 링크를 포함하고 있어 다른 문서들과 연결될 수 있다. (우리가 일상적으로 사용하는 웹페이지를 의미) -> 모든 문서는 고유의 주소를 갖고있음 Web Browser는 원격에 있는 Hyper Text 문서를 읽어서 이용자가 보기 편하도록 만들어 주는 프로그램. 이 때, Hyper Text 문서는 HTML이라는 마크업 언어로 작성된다. HTML - Hyper Text(웹 페이지)를 작성하기 위한 마크업 언..
-
개발공부
C++로 String 객체 구현하기!
본 게시물은 개인 공부용이기 때문에, 정확하지 않은 내용이 있을 수 있습니다. 안녕하세요. 열정열정열정 개발자입니다. String은 문자열 객체로써, 다음 코드와 같이 사용할 수 있습니다. string str1;//빈 문자열 생성 cin >> str1; //문자열 입력받기 cout
-
개발공부
Spring Boot 프로젝트 생성 연습하기 (eclipse, java17, maven)
안녕하세요. 열정열정열정 개발자입니다. 오늘은 가장 기본적이면서 어려운 프로젝트 생성만 다뤄보려고 합니다. Springboot 프로젝트는 Spring Initializr에서 생성하실 수 있습니다. https://start.spring.io/ (STS를 이용하시면 IDE안에서 바로 프로젝트 생성 가능합니다!) Spring Initializr에 들어가시면 처음 나오는 화면입니다. Gradle을 사용할지 Maven을 사용할지 선택할 수 있는데, 아무래도 요즘은 Gradle을 많이 사용하는 추세이지만 이전 프로젝트들에서 Gradle로 생성하기도 했고, 아직 Maven을 사용하고 있는 곳도 많기 때문에! 이번에는 Maven으로 프로젝트 생성을 해보겠습니당. 또 Springboot 버전을 선택할 수 있습니다. SN..
웹개발 종합반 정리
-
스파르타코딩클럽(웹개발종합반)
[내일배움카드 코딩] 스파르타코딩클럽 웹개발종합반 완강 후기!!
안녕하세요. 열정열정열정 개발자입니다! 그동안의 글들은 제 개발일지 겸 개인 노트 겸으로 썼기 때문에 '~~다' 형식으로 써왔습니다. 하지만 이번 게시물은 완강 후기! 작성 게시글이니 존댓말로 한번 써보겠습니다 ㅎㅎ 제가 수강한 강의는 웹개발종합반 입니다 ! (진도율 100% 인거 보이시나요. 후후) 계기 제가 처음 이 국비지원 코딩강의를 알게 된 것은 조금 웃기지만,, 신한은행의 광고 문자덕에 알게 되었습니다. ㅎㅎ.. 어느 날 신한은행의 광고문자를 보게 되었는데, 국비지원 이면서 집에서 들을 수 있는 코딩수업이 있다고 해서 " 완전 나를 위한 거다! " 라고 생각하며 들어오게 되었습니다. 저는 이때, 웹개발자를 준비하면서 혼자 모든 걸 독학하기에는 조금 힘든점이 많았거든요 ㅠㅠ 강의 소개 제가 들은 ..
-
스파르타코딩클럽(웹개발종합반)
웹개발 종합반 (5주차) (스파르타코딩클럽)
드디어 마지막 주인 5주차!! 이번 게시글이 웹개발 종합반의 마지막 게시물이 될 예정이다 ㅎㅎ.. 프로젝트 세팅 프로젝트 세팅은 저번 게시글과 동일하다. 그동안 쭉 해왔던 대로 폴더 열고, app.py 파일 만든 후 venv 가상환경 잡아주고 라이브러리 설치하고 templates 폴더만들어서 index.html 파일 만들어 주면 된다. (필요한 라이브러리는 flask, pymongo, dnspython ) 뼈대 준비 [app.py] from flask import Flask, render_template, request, jsonify app = Flask(__name__) @app.route('/') def home(): return render_template('index.html') @app.rou..
-
스파르타코딩클럽(웹개발종합반)
웹개발 종합반 (4주차) (스파르타코딩클럽)
이제 벌써 4주차가 되었다. 이제는 모르는 내용이 많아서 할애해야하는 시간이 많아졌지만 그래도 새로운 것을 배우면서 재미도 생기고 뿌듯함도 생기는 듯해 기분이 좋다. 4주차에서는 Flask를 배우고 미니프로젝트를 2개 할 예정이다. 일단 시작하기에 앞서 폴더 5개를 생성해주었다. 서버만들기 Flask는 서버를 만들기 위한 프레임워크이다. 일단 만들어 놓은 01.prac 폴더안에 app.py 파일 생성하기 그리고 새 터미널을 클릭하고 venv 를 다시 잡기위해서 python -m venv venv를 입력하고 하단의 3.8.6 64-bit를 클릭하여 Python 3.8.6 ('venv':venv)를 선택한다. 그리고 터미널을 다시 켜주면 된다. 이제 가상환경인 venv에 Flask 라이브러리를 담아 줄 것이..
-
스파르타코딩클럽(웹개발종합반)
웹개발 종합반 (3주차) (스파르타코딩클럽)
이제 3주차가 되었다 ! 이번 주는 파이썬을 배울 예정이다. 파이썬은 예전엔 기초를 잠깐 배운 기억이 있어서 그래도 크게 안 어려울 것 같다. 파이썬을 배우는 이유는 서버를 파이썬으로 만들 예정이기 때문이다. (윈도우) https://www.python.org/ftp/python/3.8.6/python-3.8.6-amd64.exe 이 링크를 통해 파이썬을 다운로드 한다. Add Python 3.8 to PATH 를 클릭하여 체크해주고 install Now를 클릭한다. 그리고 gitbash를 다운로드 해주어야 하기 때문에 https://git-scm.com/ 링크로 들어간다. 들어가서 Download for Windows 를 클릭한다. 64-bit Git for Windows Setup 을 클릭하여 다운로..
-
스파르타코딩클럽(웹개발종합반)
웹개발 종합반 (2주차) (스파르타코딩클럽)
벌써 2주차가 되었다! 1주차에는 뼈대인 html과 꾸미기인 css를 배웠다. 2주차에는 Javascript, JQuery, Fetch를 배울 예정으로 보인다. Javascript : 웹을 움직이게 하는 코드 JQuery : html 뼈대를 선택하여 쉽게 조작 가능 Fetch : 짧은 코드로 요청을 보내고 받을 수 있음 Javascript는 웹표준이다. (웹 브라우저에서 Javascript만 알아듣는다) alert 추가해보기 function hey(){ alert('안녕하세요') } 자바스크립트 문법 연습하기! 1. 함수 결과 확인하기! 2. 붙이기 사과 귤 감 3. 붙이기 영수는 24살입니다. 세종은 30살입니다. 수영은 20살입니다. 결과물 성공!! chrome 웹 스토어에서 JSONVue를 추가한다..
프로그래머스 코딩테스트 풀이
-
프로그래머스
[프로그래머스] 외계어 사전 - Java
HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 cnt 배열을 사용해서 dic의 단어마다 spell의 해당하는 알파벳이 있을 때, cnt 배열을 ++ 해준다. spell의 갯수만큼 ++이 되면 spell의 알파벳이 모두 해당하는 것으로 인식하고 1을 리턴한다. 코드 class Solution { public int solution(String[] spell, String[] dic) { int answer = 2; int[] cnt = new int[dic.length]; for(int i=0; i
-
프로그래머스
[프로그래머스] 삼각형의 완성조건 (2) - Java
HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 주어진 2개의 수 중에 더 큰 수를 기준으로 1번, 주어진 두 수가 아닌 수가 가장 큰 수라고 가정하고 1번 List에 저장했다. 주어진 2개의 수 중에 더 큰 수를 기준으로 했을 경우 - 주어진 두 수 중 더 큰 수에서 +1을 해주고 작은 수를 빼주면 그 값부터 더 큰수의 값까지를 List1에 넣어준다. 주어진 두 수가 아닌 나머지 수가 가장 큰 수라고 가정할 경우 - 주어진 두 수를 합하고 -1을 한 값부터 위의 List1에서 마지막 수 전까지의 값들을 Lis2t에 넣어준다. 코드 import java.util.ArrayList; import java.util.List; class Solution { public int s..
-
프로그래머스
[프로그래머스] 안전지대 - Java
HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 배열[i][j]가 있을 때, 1이 있는 위치(지뢰)를 기준으로 했을 때, [j-1][j], [j-1][i+1], [j-1][i-1], [j][i+1], [j][i-1], [j+1][j], [j+1][i+1], [j+1][i-1] 이 부분이 위험지역이 된다. 이 부분을 1로 바꾼 뒤, 나머지 부분의 칸 수를 세준다. 코드 class Solution { public int solution(int[][] board) { int answer = 0; int rowCount = board.length; int colCount = board[0].length; int[][] an_board = new int[rowCount][colCou..
-
프로그래머스
[프로그래머스] 다항식 더하기 - Java
HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 import java.util.ArrayList; import java.util.List; class Solution { public String solution(String polynomial) { String answer = ""; String[] values = polynomial.split(" \\+ "); int x_value = 0; int int_value = 0; for(int i=0; i1) { x_value += Integer.parseInt(values[i].substring(0, values[i].length()-1)); }else { x_value ++; } }else { int_value += Inte..
-
프로그래머스
[프로그래머스] 최댓값 만들기 (2) - Java
HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 배열을 오름차 순으로 바꾼 뒤, 가장 앞에 있는 두 수와 가장 뒤에 있는 두 수를 곱한 후 비교한다. (가장 큰 마이너스 값과 가장 큰 플러스 값을 비교하는 것) import java.util.Arrays; class Solution { public int solution(int[] numbers) { Arrays.sort(numbers); int answer1 = numbers[0] * numbers[1]; int answer2 = numbers[numbers.length - 1] * numbers[numbers.length - 2]; return answer1 > answer2 ? answer1 : answer2; } }
프로젝트
-
프로젝트
notion으로 협업하는 방법! (공유, 사용자 초대, 페이지 같이 사용하기)
안녕하세요. 열정열정열정 개발자입니다. 오늘은 간단하지만 notion으로 팀원과 협업하는 방법에 대해 알아보겠습니다! 요즘에 notion을 다양한 방법으로 많이 사용할 수 있는데요, 저는 이것저것 노트 정리용으로 많이 사용하지만, 이번엔 프로젝트를 진행하면서 협업하는 도구로 사용하게 되었습니다. 먼저 페이지를 하나 생성해 주세요. 페이지를 추가했으면, 이렇게 빈 페이지가 생성될 거예요. 저희는 기획서, 계획서와 같은 문서를 notion에 정리하고, 다양한 이슈나 필요한 커뮤니케이션을 위해 리스트를 만들어주었어요. 페이지를 다 꾸미셨다면, 오른쪽 위에 공유를 눌러주세요. 그러면 이제 사용자를 초대할 수 있습니다! 저는 이메일로 초대를 해주었어요! (권한을 변경하여 수정할 수 있도록 해서 같이 페이지를 작성..
-
프로젝트
Spring & React 프로젝트 (1) - 개발 환경 세팅 (goormide)
안녕하세요. 열정열정열정 개발자입니다.!! 이번에 2인 프로젝트를 진행하게 되었어요. 저는 백엔드 부분을 맡아 진행할 예정이에요. 둘 다 왕초보 개발자이기 때문에 부족한 점도 많고 이상한 점도 많겠지만.. 공부하면서 올려보겠습니다. (댓글로 피드백 주시면 고쳐볼게요!) stack front react redux postCSS back spring mariaDB 협업 github notion react는 자주 사용되는 라이브러리로 개발, 유지보수가 편하다는 장점이 있기 때문에 사용하게 되었습니다. spring 프레임워크도 많이 사용되는 프레임워크라고 생각돼서 이렇게 진행하려고 합니다. 환경설정 저희는 goormIDE에서 진행하겠습니다. 먼저, goormIDE 사이트에 접속해 줍니다. https://ide...