전체 글 93

[프로그래머스] 가장 큰 수 (Python)

문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예 numbers return [6, 10, ..

MySQL 8.x 버전 root 비밀번호 재설정 (windows)

MySQL root 계정 비밀번호를 잊어버려서 새롭게 설정하려고 계속 삽질 후 드디어 성공해서 적어본다!!!! 1. MySQL80 서비스 중지 먼저 서비스에서 MySQL80 을 찾은 뒤 서비스를 중지 시킨다. 그 다음 실행파일 경로를 복사해서 메모장에 옮겨 적는다. "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" 2. root 계정 비밀번호 초기화 명령 스크립트 파일 저장. 파일명은 mysql_init.txt ALTER USER 'root'@'localhost' IDENTIFIED BY '0000'; 저장은 c 드라이브에 했다. 3. 관리자..

Database/MySQL 2024.01.08

17장 ~ 19장

17장 웹 페이지에서 댓글 등록하기 이번 장에서는 댓글 등록을 위한 뷰 페이지를 만들고, JS 코드로 댓글 생성 요청을 보내고 응답 받는 것을 해보겠다. 그동안은 REST API 요청을 보낼 때 POSTMAN을 사용했었는데, 실제 게시판은 해당 웹 페이지에서 바로 요청을 보낸다. 이를 위해 사용하는 자바스크립트 API는 다음과 같다. document.querySelector() : 웹 페이지에서 특정 요소(버튼)를 찾아 반환 addEventListener() : 특정 요소에 이벤트가 발생(버튼 클릭)했을 때 특정 동작(댓글 객체 전달) 수행 fetch() : 웹 페이지에서 REST API 요청 (POST 요청)을 보낸다. _new.mustache 닉네임 댓글 내용 {{#article}} {{/articl..

스터디/back 2024.01.04

15장 ~ 16장

15장 댓글 컨트롤러와 서비스 만들기 앞의 14장에서 엔티티와 리파지터리를 생성했다. 이번에는 댓글 CRUD를 위한 REST API를 완성할 것이다. API 주소 설계는 다음과 같다. GET /articles/articleId/comments POST /articles/articleId/comments PATCH /comments/id DELETE /comments/id 컨트롤러&서비스 틀 만들기 댓글 컨트롤러와 서비스 틀을 만들것이다. REST 컨트롤러는 api 패키지 안에 생성. CommentApiController.java @RestController public class CommentApiController { @Autowired private CommentService commentServic..

스터디/back 2024.01.04

12장 ~ 14장

12장 서비스 계층과 트랜잭션 서비스란? 컨트롤러와 리퍼지터리 사이에 위치하는 계층으로 서버의 핵심 기능(비즈니스 로직)을 처리하는 순서를 총괄한다. 서비스 업무 처리는 트랜잭션 단위로 진행된다. 트랜잭션이란? 모두 성공해야 하는 일련의 과정을 의미한다. (쪼갤 수 없는 업무 처리의 최소 단위) 트랜잭션이 실패롤 돌아갈 경우 진행 초기 단계로 돌리는 것을 롤백(Rollback)이라고 한다. 지난번에 만든 ArticleApiController.java 에 서비스 계층을 추가하겠다. 먼저, Controller 안의 모든 코드를 주석 처리... [ ArticleApiController.java ] @Slf4j // 로그 찍는 어노테이션 @RestController // REST 컨트롤러 선언 public cl..

스터디/back 2023.12.21

Part 3) REST API와 JSON | HTTP와 REST 컨트롤러

10장 REST API와 JSON REST API (Representational State Transfer API)란? 서버의 자원을 클라이언트에 구애받지 않고 사용할 수 있게 하는 설계 방식이다. HTTP 요청에 대한 응답으로 서버의 자원을 반환하는 것. (특정 기기에 종속되지 않는 모든 기기에서 통용될 수 있는 데이터 반환) 이때, 응답하는 데이터는 JSON 형식으로 반환된다. (XML은 예전 방식) PUT method 와 PATCH method 의 차이점 PUT PATCH 기존 데이터를 전부 새 내용으로 변경, 만약 기존 데이터가 없다면 새로 생성한다. 기존 데이터 중에서 일부만 새 내용으로 변경한다. 실습은 Postman 으로 진행할 것이다.( 책에서는 Talend API Tester 를 썼지만..

스터디/back 2023.12.14

Part 2) 게시판 만들기 (3) - 리다이렉트 / update / delete / SQL 쿼리

6장 게시판 내 페이지 이동하기 리다이렉트(redirect)란? 클라이언트가 보낸 요청을 마친 후 계속해서 처리할 다음 요청 주소를 재지시하는 것. 분리된 기능을 하나의 연속적인 흐름으로 연결할 수 있다. 기존 서비스 문제점 1) 목록 페이지 : 새 글 작성 링크 X 2) 입력 페이지: 목록 페이지로 이동 X 새 글 작성 링크 만들어줌. [ index.mustache ] table 태그 밑에 a 태그 추가 New Article {{> layouts/footer}} 입력 페이지에 목록 페이지로 돌아가는 링크 추가 [ new.mustache ] submit button 아래에 a 태그 추가 Submit Back {{>layouts/footer}} 이렇게 back 링크가 생긴 것을 확인할 수 있다. 새로운 문..

스터디/back 2023.12.07

[GCP] Google App Engine에 Flask 프로젝트 배포하기

이번에는 Google Cloud Platfrom 에 있는 App Engine 서비스를 이용하여 웹 어플리케이션을 배포할 것이다. App Engine이란 간단하게 말하자면 웹 어플리케이션을 배포, 관리 할 수 있는 서버리스 플랫폼이다. Google Cloud 대시보드에 들어가서 좌측 메뉴의 App Engine 에 들어간다. 보통 App Engine에 처음 들어가면, 시작하기 버튼을 눌러서 애플리케이션을 생성해줘야한다. 나는 Flask 프로젝트를 배포할 예정이라 Language를 python으로 지정해줬다. 애플리케이션이 생성됐다는 가정하에 배포했던 방법을 기록해보겠다. 1) 메뉴 상단의 google cloud shell 을 클릭한다. 그러면 cloud shell 이 켜진다. 2) 깃허브에 올린 프로젝트를 ..

project/markit 2023.12.01

[Git] Github에 프로젝트 올리기

1) 먼저 깃허브에 들어가서 새로운 리파지토리를 생성해준다. 2) Repository name 이랑 공개 여부를 설정해주고 create 해준다. 3) 생성된 저장소의 주소는 뒤에 쓰이니까 기억해둔다. 4) 업로드할 프로젝트의 폴더에 들어가서 우클릭 후 Git Bash here 에 들어간다. 5) 계정 초기 설정을 해준다. git config --global user.name "유저 네임" git config --global user.email "유저 이메일 주소" 6) git 저장소 초기화 git init 7) 프로젝트 버전 저장 git add . 8) 커밋 git commit -m "커밋 메세지" 9) 로그 확인 ( log 로 commit 을 확인한다.) git log 10) 깃허브 연결 git rem..

project/markit 2023.11.30