일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 자바 스트링
- ineer join
- StringBuilder
- 최대공약수
- 자바 최소공배수
- 유클리드호제법
- stringbuilder의 reverse()
- string
- Git사용법
- 최대공약수와 최소공배수
- 베주계수
- 최소공배수
- string과 stringbuilder
- islowercase()
- 프로그래머스 레벨1
- 래퍼타입
- 자바 최대공약수
- 스프링환경설정
- 스프링
- toLowerCase()
- addDoc
- 자바 유클리드
- sql 데이터형 변환
- 모던자바
- while과 two-pointer
- replaceAll()
- 스프링뼈대
- isuppercase()
- git 컨벤션
- 동일성과 동등성
- Today
- Total
주노 님의 블로그
20240709 사전캠프 7일차 TIL 본문
사전캠프 7일차 내용 간단요약
- 14:00 ~ 14:10 : 어제 TIL복습
- 14:10 ~ 15:10 알고리즘 (24~27)
equals, 동일성과 동등성, substring, replace, 정규식 - 15:10 ~ 16:10 : 데일리 과제
3주차 화요일 - SQL 연습문제 2번
3주차 수요일 - SQL 연습문제 3번
3주차 목요일 - SQL 연습문제 4번
4주차 월요일 - SQL Lv.1 데이터 속 김서방 찾기
4주차 화요일 - SQL Lv.2 날짜별 획득 포인트 확인하기
4주차 수요일 - SQL Lv.3 데이터 속 김서방 찾기 - LEFT JOIN
5주차 월요일 - SQL 연습문제 5번 - 16:10 ~ 17:30 : 강의
웹 개발 종합반 5주차 - 배포 및 파이썬 체험 - 17:30 ~ 18:00 : TIL 정리
알고리즘(24~27)
- equals
두 문자열이 동일한지 비교한다. - substring
문자열의 일부분을 추출한다.
String str = "hello world";
String sub1 = str.substring(0, 5); // "hello"
String sub2 = str.substring(6); // "world"
System.out.println(sub1); // hello
System.out.println(sub2); // world - replace
문자열의 특정 문자열을 다른 문자로 대체하는 메소드
String str = "hello world";
String replacedStr = str.replace("world", "java");
System.out.println(replacedStr); // hello java - replaceAll
문자열에서 정규 표현식과 일치하는 모든 부분을 대체한다.
String str = "The rain in Spain stays mainly in the plain.";
// 모든 'ain'을 'XYZ'로 대체
String result = str.replaceAll("ain", "XYZ");
System.out.println(result); // The rXYZ in SpXYZ stays mXYZly in the plXYZ.
// 정규식으로 모든 공백을 대시(-)로 대체
String result2 = str.replaceAll("\\s", "-");
System.out.println(result2); // The-rain-in-Spain-stays-mainly-in-the-plain. - 정규식
문자열에서 특정 패턴을 찾거나, 매칭시키거나, 치환할때 쓰는 표현식
아래는 정규식을 쓰는 방식 사실 볼드만외워놔도 어느정도 알고리즘은 풀 수 있을듯.
-는 범위 -가 없다면 ,으로 생각하면 편함
[a-z] : 소문자 a~z까지의 문자열
[A-Z] : 대문자 A~Z까지의 문자열
[0-9] : 숫자 0~9까지의 문자열
[aeiou] : 소문자 a,e,i,o,u중 하나와 일치
. : 임의의 문자
a.b라면 acb aab a1b등
\d 임의의 단일숫자
\w 임의의 단일단어문자
\s 임의의 단일 공백 문자
^는 문자열의 시작을
$는 문자열의 끝을
* : 0회 이상의 반복
+ : 1회 이상의 반복
? : 0또는 1회 반복
{n,} 최소 n회 이상 반복
{n,m} 최소n회 최대 m회 반복
[^0-9\s]+a+z{3,6}
예를들면 숫자와 공백을 제외한 문자
a가 하나이상
z는 3~6회 반복 이라는뜻이다.
데일리 과제
5. products 테이블에서 제품 이름(product_name)과 가격(price)만을 선택하는 쿼리를 작성해주세요.
SELECT product_name, PRICE
FROM products
6. products 테이블에서 제품 이름에 '프로'가 포함된 모든 제품을 선택하는 쿼리를 작성해주세요.
SELECT *
FROM products
WHERE PRODUCT_NAME LIKE "%프로%"
7. products 테이블에서 제품 이름이 '갤'로 시작하는 모든 제품을 선택하는 쿼리를 작성해주세요.
SELECT *
FROM products
WHERE PRODUCT_NAME LIKE "갤%"
8. products 테이블에서 모든 제품을 구매하기 위해 필요한 돈을 계산하는 쿼리를 작성해주세요.
SELECT SUM(PRICE)
FROM products
9. orders 테이블에서 주문 수량(amount)이 2개 이상인 주문을 진행한 소비자의 ID(customer_id)만 선택하는 쿼리를 작성해주세요!
SELECT CUSTOMER_ID
FROM ORDERS
WHERE AMOUNT >= 2
10. orders 테이블에서 2023년 11월 2일 이후에 주문된 주문 수량(amount)이 2개 이상인 주문을 선택하는 쿼리를 작성해주세요!
SELECT *
FROM ORDERS
WHERE ORDER_DATE >= '2023-11-2'
11. orders 테이블에서 주문 수량이 3개 미만이면서 배송비(shipping_fee)가 15000원보다 비싼 주문을 선택하는 쿼리를 작성해주세요!
SELECT *
FROM ORDERS
WHERE SHIPPING_FEE >15000 AND AMOUNT <3
12. orders 테이블에서 배송비가 높은 금액 순으로 정렬하는 쿼리를 작성해주세요!
SELECT *
FROM ORDERS
ORDER BY SHIPPING_FEE DESC
13. sparta_students 테이블에서 모든 학생의 이름(name)과 트랙(track)을 선택하는 쿼리를 작성해주세요!
SELECT NAME, TRACK
FROM SPARTA_STUDENTS
14. sparta_students 테이블에서 Unity 트랙 소속이 아닌 학생들을 선택하는 쿼리를 작성해주세요!
SELECT *
FROM SPARTA_STUDENTS
WHERE TRACK != 'UNITY'
15. sparta_students 테이블에서 입학년도(enrollment_year)가 2021년인 학생과 2023년인 학생을 선택하는 쿼리를 작성해주세요!
SELECT *
FROM SPARTA_STUDENTS
WHERE ENROLLMENT_YEAR IN (2021, 2023)
16. sparta_students 테이블에서 Node.js 트랙 소속이고 학점이 ‘A’인 학생의 입학년도를 선택하는 쿼리를 작성해주세요!
SELECT ENROLLMENT_YEAR
FROM SPARTA_STUDENTS
WHERE TRACK = 'NODE.JS' AND GRADE = 'A'
[SQL 과제] Lv1. 데이터 속 김서방 찾기
SELECT COUNT(user_id)
FROM users u
WHERE NAME LIKE '김%'
문제: 다음과 같은 결과테이블을 만들어봅시다.
created_a
average_points: 유저가 획득한 날짜별 평균 포인트(int), 반올림 필수
SELECT DATE(CREATED_AT), ROUND(AVG(POINT)) "AVERAGE_POINTS"
FROM point_users
GROUP BY DATE(created_at)
문제: 다음과 같은 결과 테이블을 만들어봅시다.
user_id: 익명화된 유저들의 아이디
email: 유저들의 이메일
point: 유저가 획득한 포인트
users 테이블에는 있지만 point_users에는 없는 user는 포인트가 없으므로 0 으로 처리
포인트 기준으로 내림차순 정렬
SELECT U.user_id, U.email, IFNULL(PU.POINT,0) AS POINT
FROM users U LEFT JOIN point_users PU ON U.user_id = PU.user_id
ORDER BY PU.POINT DESC
17. team_projects 테이블에서 AWS 예산(aws_cost)이 40000 이상 들어간 프로젝트들의 이름을 선택하는 쿼리를 작성해주세요!
SELECT *
FROM TEAM_PROJECTS
WHERE AWS_COST>=40000
18. team_projects 테이블에서 2022년에 시작된 프로젝트를 선택하는 쿼리를 작성해주세요! 단, start_date < ‘2023-01-01’ 조건을 사용하지 말고 쿼리를 작성해주세요!
SELECT *
FROM TEAM_PROJECTS
WHERE START_DATE LIKE '2022%'
19. team_projects 테이블에서 현재 진행중인 프로젝트를 선택하는 쿼리를 작성해주세요. 단, 지금 시점의 날짜를 하드코딩해서 쿼리하지 말아주세요!
SELECT *
FROM TEAM_PROJECTS
WHERE START_DATE < curdate() AND END_DATE > curdate()
20. team_projects 테이블에서 각 프로젝트의 지속 기간을 일 수로 계산하는 쿼리를 작성해주세요!
SELECT *, END_DATE-START_DATE+1 지속시간
FROM TEAM_PROJECTS
(강의 웹 개발 종합반 5주차) - 배포 및 파이썬 체험
- 배포
개발한 서비스를 실제 사용자에게 제공하는 과정. - URL
인터넷에서 특정 리소스의 위치를 나타내는 주소
구성요소 : 프로토콜://도메인/경로
프로토콜 : 웹 브라우저와 웹 서버 간의 통신 방식을 지정 (예 HTTP, HTTPS)
도메인 : 인터넷 상의 고유한 식별자로 사용되는 웹 사이트의 주소
경로 : 웹 사이트 내의 특정 페이지나 파일의 위치
예를들어 https://spartacodingclub.kr/catalog
프로토콜 : HTTPS
도메인 : spartacodingclub.kr
경로 : catalog - 깃허브
코드 관리 및 협업 툴 - 깃허브 페이지
깃허브에서 제공하는 정적 웹 사이트를 무료로 호스팅 할 수 있는 서비스
1. 저장소 생성하기
2. 작성한 HTML 업로드
3. SETTINGS > PAGES > Branch Name을 NONE에서 MAIN으로 변경하여 배포 - 깃허브 수정하기
1. EDIT FILE으로 직접 수정하기.
2. 파일 삭제후, 수정한 파일 업로드하기. - 보안 주의
깃허브에 커밋할때는 보안 에 주의해야 하며, 비밀번호, 개인키 API키 등을 노출하지 않도록 해야함. - 파이어베이스의 한계점 : 백엔드 인프라를 제공해주지만, 세세한 커스터마이징이 필요할때는 한계가 있음.
- 스크래핑 : 인터넷에서 필요한 자료를 긁어오기 위해 웹 페이지의 구조와 내용을 읽어오는것
'TIL' 카테고리의 다른 글
20240711 사전캠프 9일차 TIL (0) | 2024.07.11 |
---|---|
20240710 사전캠프 8일차 TIL (0) | 2024.07.10 |
20240708 사전캠프 6일차 TIL (0) | 2024.07.08 |
20240705 사전캠프 5일차 TIL (0) | 2024.07.05 |
20240704 사전캠프 4일차 TIL (1) | 2024.07.04 |