sincerity의 등록된 링크

키자드에 등록된 총 368개의 포스트를 확인하실 수 있습니다.

Tistory

[TIL] 2021.03.31

SQL [SQL로 하는 데이터 관리] 03. Foreign Key 제대로 사용하기 01. course 테이블과 review 테이블 만들기 02. course 테이블과 review 테이블 채워넣기 03. Foreign Key가 필요한 이유 04. Foreign Key 설정하기 05. SHOW CREATE TABLE 문으로 현재 테이블을 어떻게 만들 수 있는 수 있는지 보기 06. Foreign Key로 보장되는 참조 무결성 07. 부모 테이블의 row가 삭제될 때 - RESTRICT 정책 08. 부모 테이블의 row가 삭제될 때 - CASCADE 정책 09. 부모 테이블의 row가 삭제될 때 - SET NULL 정책 10. 부모 테이블의 row에서 참조당하는 컬럼이 갱신될 때는? 11. 논리적 Fore..

Tistory

[SQL로 하는 데이터 관리] 03. Foreign Key 제대로 사용하기

Foreign Key 제대로 사용하기 지금 delivery 테이블의 order_id 컬럼을, customer_order 테이블의 id 컬럼을 참조하는 물리적 Foreign Key로 설정하려고 합니다. SQL 문을 써서 직접 Foreign Key를 설정해보세요. 이때 Foreign Key의 이름은 fk_delivery_order로 지으시고, 부모 테이블의 row가 삭제되거나, Foreign Key에 의해 참조당하는 컬럼의 값이 갱신될 때에 관한 정책은 ON DELETE의 경우 그 row를 참조하던 자식 테이블의 row들의 컬럼에 NULL이 들어가도록 설정하고, ON UPDATE의 경우 그 row를 참조하던 자식 테이블의 row들의 컬럼도 같은 값으로 갱신되도록 설정하세요. ALTER TABLE delive..

Tistory

[TIL] 2021.04.01

Academe Theory01. Spring GitHub Study c [코뮤니티 모각코] 아이 캔 C 모각코 출석 인증 12일 차 - 아이 캔 C 3월 과정

Tistory

[SQL로 하는 데이터 분석] 06. 서브쿼리와 뷰를 활용한 유연한 데이터 분석

뷰와 데이터 분석 실무 (1) 일단, employee 테이블의 컬럼 구조를 살펴보는 SQL 문을 실행해보세요. (2) employee 테이블의 컬럼 구조를 확인했으면, 위에서 말한 두 컬럼을 제외한 컬럼들만 조회해서, v_emp 라는 이름의 뷰를 생성하는 SQL 문을 실행하세요. (3) (2)의 SQL 문 바로 밑에 v_emp의 모든 컬럼을 조회하는 SELECT 문을 적고 실행하세요. employee 테이블로부터 v_emp라는 뷰를 만들고, 잘 만들어졌는지 직접 확인해보는 과제입니다. DESCRIBE employee; CREATE VIEW v_emp AS SELCT id, name, age, department, phone_num, hire_date FROM employee; SELECT * FROM v..

Tistory

[TIL] 2021.03.29

SQL [SQL로 하는 데이터 관리] 01. 데이터베이스와 테이블 구축 01. 이번 토픽을 듣기 전에 해야 할 일 02. 데이터베이스 생성하기 03. 사용할 데이터베이스 지정하기 04. 테이블 생성하기 05. 칼럼의 데이터 타입에 관하여 06. 코드잇의 SQL 실행기 사용법! 07. CREATE TABLE 문 설명 08. 백틱과 따옴표 이야기 09. 테이블에 row 추가하기 1 10. 테이블에 row 추가하기 2 11. 데이터베이스와 테이블 생성 퀴즈 12. 데이터베이스와 테이블 생성 과제 1 13. 데이터베이스와 테이블 생성 과제 2 14. 테이블의 row 갱신하기 15. 컬럼의 기존 값을 기준으로 갱신하기 16. 테이블의 row 삭제하기 17. 물리 삭제 vs 논리 삭제 18. 테이블 갱신과 삭제..

Tistory

[SQL로 하는 데이터 관리] 01. 데이터베이스와 테이블 구축

데이터베이스와 테이블 생성 1 한 동물원에서 동물들을 관리하기 위해 animal_info라는 테이블을 만들려고 합니다. animal_info 테이블에는 다음과 같은 컬럼들을 두려고 하는데요. id : Primary Key로 사용할 컬럼, 데이터 타입 : INT type : 동물 종류(사자, 코끼리 등), 데이터 타입 : VARCHAR, 최대 길이 : 30자 name : 동물 이름(리오, 조이 등), 데이터 타입 : VARCHAR, 최대 길이 : 10자 age : 나이, 데이터 타입 : TINYINT sex : 성별, 데이터 타입 : CHAR, 최대 길이 : 1자 weight : 몸무게, 데이터 타입 : DOUBLE feature : 특징 묘사, 데이터 타입 : VARCHAR, 최대 길이 : 500자 en..

Tistory

[SQL로 하는 데이터 관리] 01. 데이터베이스와 테이블 구축

데이터베이스와 테이블 생성 과제 2 한 분식집의 메뉴들의 정보를 저장하기 위해 food_menu 테이블을 준비했다고 합시다. INSERT INTO 문을 사용해서 아래 메뉴 정보들을 테이블에 채워보세요. (라볶이 / 5000 / 라면, 떡, 양파..) (치즈김밥 / 3000 / 치즈, 김, 단무지..) (돈까스 / 8000 / 국내산 돼지고기, 양배추..) (오므라이스 / 7000 / 계란, 당근..) id 컬럼에는 현재 AUTO_INCREMENT 속성이 적용되어 있기 때문에 굳이 값을 주실 필요가 없습니다. INSERT INTO food_menu (menu, price, ingredient) VALUES ('라볶이', 5000, '라면, 떡, 양파..'); INSERT INTO food_menu (men..

Tistory

[SQL로 하는 데이터 관리] 01. 데이터베이스와 테이블 구축

데이터 갱신과 삭제 (1) ‘남성정장 상하의 세트' 중고 물품이 너무 팔리지 않아서인지 판매자가 삭제해버렸습니다. 이 row의 is_deleted 컬럼의 값을 Y로 갱신해주세요. (2) is_deleted 컬럼의 값이 Y이면서, 그 게시글 업로드일이 2020년 7월 5일 기준으로 365일보다 더 오래된 상품들의 row를 물리 삭제하세요. *게시글 업로드 날짜는 upload_date 컬럼에 있습니다. 2020년 7월 5일 기준으로 365일보다 더 오래됐는지 확인하려면 날짜 함수를 사용해야 확인할 수 있습니다. SQL 토픽 1의 다음 노트의 내용 중 DATEDIFF라는 함수의 사용법을 읽고 직접 사용해보세요. UPDATE item SET is_deleted = 'Y' WHERE id = 3; DELETE F..

Tistory

[SQL로 하는 데이터 관리] 02. 테이블 다루기

컬럼 구조 변경 과제 이 테이블에 다음과 같은 작업을 하려고 합니다. a 작업 : name 컬럼의 이름을 model로 수정 b 작업 : size 컬럼의 데이터 타입을 INT에서 DOUBLE로 수정 c 작업 : brand 컬럼을 삭제 d 작업 : stock 컬럼(데이터 타입이 INT이고, NOT NULL 속성을 가진 컬럼) 추가 일단 실행기에서 DESCRIBE 문으로 현재 각 컬럼의 데이터 타입과 속성을 확인하시고, 그 다음 위의 4가지 작업을 순서대로 수행해보세요. 이때 작업 내용에 없는 컬럼의 기존 속성들은 그대로 유지해주세요. ALTER TABLE shoes RENAME COLUMN name TO model; ALTER TABLE shoes MODIFY size DOUBLE NOT NULL; ALTE..

Tistory

[SQL로 하는 데이터 분석] 05. 데이터 분석 단계로 나아가기

Foreign Key와 조인 이 두 테이블을 조인해서, 각 피자별 판매량을 한꺼번에 보려고 합니다. (1) 조인을 통해 생성된 결과 중에서 pizza_price_cost 테이블의 name 컬럼과, sales 테이블의 sales_volume 컬럼만 조회하세요. (2) 이때 sales_volume 컬럼에는 '판매량'이라는 alias를 붙이고, sales_volume이 NULL인 row의 경우에는 ‘판매량 정보 없음’으로 표시하세요. SELECT p.name, COALESCE(s.sales_volume, '판매량 정보 없음') AS '판매량' FROM pizza_price_cost AS p LEFT OUTER JOIN sales AS s ON p.id = s.menu_id 본 내용은 Codeit의 '개발자를 ..

Tistory

[SQL로 하는 데이터 분석] 05. 데이터 분석 단계로 나아가기

여러 테이블 조인하기 (1) 일단 세 테이블을 이너 조인(INNER JOIN)하세요. *조인 기준은 다음과 같이 하면 됩니다 review 테이블의 item_id 컬럼 - item 테이블의 id 컬럼 / review 테이블의 mem_id 컬럼 - member 테이블의 id 컬럼 (2) 그리고 item 테이블의 gender 컬럼의 값이 u인 row들만 선별하세요. (3) item 테이블의 registration_date 컬럼에서 연도를 추출해서 이것(상품 등록 연도)을 기준으로 row들을 그루핑하세요. (4) 각 그룹 내 row 개수가 10개 이상인 그룹들만 추리세요. (5) 결과를 별점 평균값을 기준으로 내림차순 정렬하세요. (6) 컬럼은 총 세 개를 조회하세요. a) 상품 등록 연도 컬럼('등록 연도'라..

Tistory

[TIL] 2021.03.27

SQL [SQL로 하는 데이터 분석] 06. 서브쿼리와 뷰를 활영한 유연한 데이터 분석 01. 서브쿼리란? 02. 서브쿼리에 관한 이야기 03. SELECT 절에 있는 서브쿼리 04. WHERE 절에 있는 서브쿼리 1 05. WHERE 절에 있는 서브쿼리 2 06. ANY(SOME), ALL 07. 서브쿼리 기초 퀴즈 08. 서브쿼리 기초 과제 09. FROM 절에 있는 서브쿼리 10. 서브쿼리의 종류 총정리 11. EXISTS, NOT EXISTS와 상관 서브쿼리 12. 서브쿼리 종합 퀴즈 13. 서브쿼리 종합 과제 14. 서브쿼리 vs 조인 15. 서브쿼리로 더 간결해진 CASE 함수 내부(심화) GitHub

Tistory

[SQL로 하는 데이터 분석] 06. 서브쿼리와 뷰를 활용한 유연한 데이터 분석

서브쿼리 기초 저는 코팡에서 2020년을 기준으로 생각했을 때, 꽤 오래 전에 등록되었지만 아직까지도 리뷰가 달리고 있는 스테디 셀러 상품들의 리뷰들을 살펴보려고 하는데요. review 테이블에서 (1) '2018년 12월 31일' 이전에 코팡 사이트에 등록된 상품들에 관한 리뷰들만 추려보겠습니다. (2) 그리고 이때 review 테이블의 모든 컬럼들을 조회하세요. *조인 말고 서브쿼리를 사용해서 문제를 해결해보세요. SELECT * FROM review WHERE item_id IN ( SELECT id FROM item WHERE registration_date < '2018-12-31' ); 본 내용은 Codeit의 '개발자를 위한 SQL 데이터베이스' 강의를 참고하여 작성한 내용입니다.

Tistory

[SQL로 하는 데이터 분석] 06. 서브쿼리와 뷰를 활용한 유연한 데이터 분석

서브쿼리 종합 (1) 이 세 테이블을 모두 이너 조인(inner join)하고, 거기서 price, star, email 컬럼만 조회하세요. (2) 그 SELECT 문을 derived table로 활용해보세요. (3) 그리고 derived table에는 copang_report(코팡 보고서)라는 alias를 붙여주세요. (4) 조회하는 컬럼은 다음과 같은 3가지 컬럼일 텐데요. 각 컬럼에 아래와 같은 alias를 붙여주세요. 1) MAX(copang_report.price) → max_price 2) AVG(copang_report.star) → avg_star 3) COUNT(DISTINCT(copang_report.email)) → distinct_email_count SELECT MAX(copang..

Tistory

[TIL] 2021.03.28

SQL [SQL로 하는 데이터 분석] 06. 서브쿼리와 뷰를 활영한 유연한 데이터 분석 16. 서브쿼리의 중첩과 그 문제점 17. 데이터 분석가의 자산, 뷰 18. 뷰에 관해 알아야할 사실 19. 실무에서 첫 번째로 여러분이 해야할 일 20. 뷰와 데이터 분석 실무 퀴즈 21. 뷰와 데이터 분석 실무 과제 22. 마지막 정리 GitHub

Tistory

[TIL] 2021.03.23

Java [쉽게 배우는 Java 2] 04. Java 상속01. 수업 소개02. 기능의 개선과 발전03. Overriding, Overloading04. This Super05. 상속과 생성자06. 수업을 마치며 [쉽게 배우는 Java 2] 05. Java 인터페이스01. 수업 소개02. 인터페이스의 형식03. 다형성04. 사용설명서 속의 인터페이스05. 수업을 마치며 [쉽게 배우는 Java 2] 06. Java 예외01. 수업 소개02. 예외의 발생03. 예외의 처리04. 예외의 우선순위05. e의 비밀 SQL [SQL로 하는 데이터 분석] 04. 데이터 분석 단계로 나아가기09. 칼럼 길이 계산하기10. 칼럼에 alias 붙이기11. 칼럼의 값 변환해서 보기12. CASE함수의 종류13. NULL..

Tistory

[SQL로 하는 데이터 분석] 04. 데이터 분석 단계로 나아가기

컬럼 자유롭게 다루기 (1) menu 테이블의 name, price, price/cost(원가 기준 가격의 비율) 컬럼을 조회하세요. (2) 대신 마지막 price/cost 컬럼을 사용해서 그 값이 1 =< 값 < 1.5 인 경우, ‘C. 저효율 메뉴’ 1.5 = 1.5 AND price/cost < 1.7 THEN 'B. 중효율 메뉴' WHEN price/cost >= 1.7 THEN 'A. 고효율 메뉴' END) AS efficiency FROM pizza_price_cost ORDER BY efficiency DESC, price ASC LIMIT 6; 본 내용은 Codeit의 '개발자를 위한 SQL 데이터베이스' 강의를 참고하여 작성한 내용입니다.

Tistory

[SQL로 하는 데이터 분석] 04. 데이터 분석 단계로 나아가기

그루핑해서 보기 (1) category 컬럼, main_month 컬럼을 기준으로 그루핑하고 (2) 그룹들 중에서 주 상영 월이 5월이고, view_count의 합이 3000000(삼백만) 이상인 것들만 선별하세요. (3) 그리고 category 컬럼, main_month 컬럼, 각 그룹에 속한 row의 개수, 각 그룹의 view_count 합, 이 4가지 컬럼을 조회하세요. (4) 마지막으로 각 그룹에 속한 row의 개수 컬럼에는 '영화 수'라는 alias를, 각 그룹의 view_count 합 컬럼에는 '총 관객 수'라는 alias를 붙이세요. SELECT category, main_month, count(*) AS '영화 수', SUM(view_count) AS '총 관객 수' FROM 2020_mo..

Tistory

[TIL] 2021.03.24

Academe Theory01. Mini Project 2 GitHub Study c [코뮤니티 모각코] 아이 캔 C 모각 코 출석 인증 6일 차 - 아이 캔 C 3월 과정 'Mini Project 2'를 완성했다. 학원 지침대로 'Mini Project 1'보다는 적은 기능을 가지고 구현했다. 안 그래도 허접한데 더 허접해 보이는 것은 어쩔 수 없는 것 같다 ㅋㅋㅋㅋㅋㅋㅋ 근데 왜 이렇게 시간이 빠르게 지나간 건지... 벌써 저녁 10시인데 나는 오늘 계획해놓은 공부를 시작하지도 못했다 ㅠㅠ 오늘은 진이 빠져서 아무것도 할 수 없을 것 같아서 이만... 안녕... Mini Project 2

Tistory

[TIL] 2021.03.25

Academe Theory01. Spring GitHub Study c [코뮤니티 모각코] 아이 캔 C 모각 코 출석 인증 7일 차 - 아이 캔 C 3월 과정

Tistory

[TIL] 2021.03.26

SQL [SQL로 하는 데이터 분석] 05. 테이블 조인을 통한 깊이 있는 데이터 분석 01. 여러 테이블을 다루는 실무 환경 02. 다음 학습을 위해 해야 할 사전 작업 03. 테이블 간의 연결고리 04. Foregin Key의 개념 05. Foregin Key 설정하기 06. 다른 종류의 테이블 조인하기 1 07. 조인할 때 테이블에 alias 붙이기 08. 칼럼의 alias와 테이블의 alias 09. 다른 종류의 테이블 조인하기 2 10. Foreign Key가 아닌 칼럼 기준으로도 조인을 하기도 합니다. 11. Foreign Key와 조인 퀴즈 12. Foreign Key와 조인 과제 13. 결합 연산과 집합 연산 14. 같은 종류의 테이블 조인하기 15. ON 대신 USING을 쓸 수도 있..

Tistory

[SQL로 하는 데이터 분석] 03. 데이터 조회로 기본 다지기

데이터 조회 (1) 나이가 20대이고, (2) 코드잇 피자 가게 사이트에 가입한 달이 7월인 회원들만 추려서 그 회원들에게 이메일로 할인 쿠폰을 발송하려고 합니다. SELECT * FROM member WHERE age BETWEEN 20 AND 29 AND MONTH(sign_up_day) = 7; 본 내용은 Codeit의 '개발자를 위한 SQL 데이터베이스' 강의를 참고하여 작성한 내용입니다.

Tistory

[SQL로 하는 데이터 분석] 03. 데이터 조회로 기본 다지기

데이터 정렬 (1) star(별점) 컬럼을 기준으로 일단 오름차순 정렬하고, (2) 같은 별점인 경우에는 registration_date(등록일자) 컬럼을 기준으로 내림차순 정렬하려고 합니다. 즉, 안 좋은 리뷰부터, 최근 순으로 볼 겁니다. 그리고 정렬된 결과 중에서도 (3) 5번째 row까지만 일단 추려서 보고 싶습니다. SELECT * FROM review ORDER BY star ASC, registration_date desc LIMIT 5; 본 내용은 Codeit의 '개발자를 위한 SQL 데이터베이스' 강의를 참고하여 작성한 내용입니다.

Tistory

[스프링 입문] 07. AOP

AOP가 필요한 상황 모든 메소드의 호출 시간을 측정하고 싶다면? 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? MemberService 회원 조회 시간 측정 추가 package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.MemoryMemberRepository; import org.springframework.beans.factory.annotation.Aut..

Tistory

[SQL로 하는 데이터 분석] 04. 데이터 분석 단계로 나아가기

데이터 분석 (1) 고객들이 남긴 리뷰 수와, (2) 별점 평균값을 구하려고 합니다. 대신, (3) 댓글이 존재하는(comment 컬럼이 NULL이 아닌) 리뷰들의 개수와 그 별점들의 평균만 구하려고 하는데요. (4) 그리고 별점의 평균값은 반올림을 해주려고 합니다. 어떻게 해야할까요? 직접 SQL 문을 작성해보세요. ! COUNT 함수는 COUNT(*)의 형식으로 사용해주세요. SELECT COUNT(*), ROUND(AVG(star)) FROM review WHERE comment IS NOT NULL; 본 내용은 Codeit의 '개발자를 위한 SQL 데이터베이스' 강의를 참고하여 작성한 내용입니다.

Tistory

[TIL] 2021.03.22

Spring [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] 08. 다음으로 01. 다음으로 GitHub Study c [코뮤니티 모각코] 아이 캔 C 모각코 출석 인증 4일 차 - 아이 캔 C 3월 과정

Tistory

[TIL] 2021.03.18

Spring [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] 04. 스프링 빈과 의존 관계01. 컴포넌트 스캔과 자동 의존관계 설정02. 자바 코드로 직접 스프링 빈 등록하기 [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] 05. 회원 관리 예제 - 웹 MVC 개발01. 회원 웹 기능 - 홈 화면 추가02. 회원 웹 기능 - 등록03. 회원 웹 기능 - 조회 SQL [SQL로 하는 데이터 분석] 01. 데이터베이스 기본 개념01. 데이터베이스와 테이블02. 테이블의 row와 column03. DBMS와 SQL04. SQL 국제 표준과 MySQL05. DBMS와 서버-클라이언트 구조06. MySQL 설치(Mac 사용자)07. MySQL 설치(Wi..

Tistory

[스프링 입문] 04. 스프링 빈과 의존 관계

컴포넌트 스캔과 자동 의존관계 설정 회원 컨트롤러가 회원 서비스와 회원 리포지토리를 사용할 수 있게 의존 관계를 준비하자 회원 컨트롤러에 의존관계 추가 package hello.hellospring.controller; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @Controller public class MemberController { private final MemberService memberService; @Autowired public MemberCon..

Tistory

[스프링 입문] 05. 회원 관리 예제 - 웹 MVC 개발

회원 웹 기능 - 홈 화면 추가 홈 컨트롤러 추가 package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } 회원 관리용 홈 컨트롤러가 정적파일보다 우선 순위가 높다. Hello Spring 회원 기능 회원 가입 회원 목록 회원 웹 기능 - 등록 회원 등록 폼 컨트롤러 package hello.hellospring.contro..

Tistory

[TIL] 2021.03.19

Spring [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] 06. 스프링 DB 접근 기술01. H2 데이터베이스 설치02. 순수 JDBC03. 스프링 통합 테스트04. 스프링 JdbcTemplate05. JPA06. 스프링 데이터 JPA SQL [SQL로 하는 데이터 분석] 03. 데이터 조회로 기본 다지기01. 코드잇의 SQL 실행기 사용법!02. 데이터 조회의 핵심 SELECT와 WHERE03. SQL 작성 형식에 관한 이야기04. 조건을 나타내는 다양한 방법05. 문자열 패턴 매칭 조건06. 그밖에 알아야 할 조건 표현식07. DATE 데이터 타입 관련 함수08. 여러 개의 조건 걸기09. 여러 조건을 걸 때 주의할 점10. 데이터 조회 퀴즈11. 데이터 조회 과..

Tistory

[스프링 입문] 06. 스프링 DB 접근 기술

H2 데이터베이스 설치 H2 데이터 베이스 개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면 제공 H2 데이터베이스 버전은 스프링 부트 버전에 맞춘다. 권한 주기 : chmod 755 h2.sh 실행: ./h2.sh 데이터베이스 파일 생성 방법 jdbc:h2:~/test ~/test.mv.db 파일 생성 확인 이후부터는 jdbc:h2:tcp://localhost/~/test 테이블 생성하기 테이블 관리를 위해 프로젝트 루트에 sql/ddl.sql 파일을 생성 H2 데이터베이스에 접근해서 member 테이블 생성 drop table if exists member CASCADE; create table member ( id bigint generated by default as identity, name..

Tistory

[TIL] 2021.03.20

Spring [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] 07. AOP 01. AOP가 필요한 상황 02. AOP 적용 SQL [SQL로 하는 데이터 분석] 04. 데이터 분석 단계로 나아가기 01. 데이터의 특성 구하기 02. 집계 함수와 산술 함수 03. NULL을 다루는 방법 04. NULL에 관해 알아야하는 사실 05. 이상한 값을 제외하고 싶다면? 06. 실전 데이터 분석은 만만치 않아요! 07. 데이터 분석 퀴즈 08. 데이터 분석 과제 09. 컬럼기리 계산하기 10. 컬럼에 alias 붙이기 11. 컬럼의 값 변환해서 보기 12. CASE함수의 종류 13. NULL을 다른 값으로 변환하는 다양한 함수 14. alias을 붙이고 바로 쓸 수 없는 이유(심..

Tistory

[TIL] 2021.03.15

Java [자바 기초] 02. 자바 객체 지향 프로그래밍02. 객체 설계하기03. 중간고사: 문제 해결 능력 기르기 Spring [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] 00. 강의 소개01. 강의 소개02. 강의 자료 [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] 01. 프로젝트 환경설정01. 프로젝트 생성02. 라이브러리 살펴보기03. View 환경설정04. 빌드하고 실행하기 Academe Theory01. Mini Project 2 GitHub Java 복습을 끝내고 Spring으로 진입하려고 했던 어리석은 생각을 버리고 Spring 공부를 시작했다. 역시 Java만 복습할 때랑 새로운 것을 배울 때랑은 기분도 다르고 재미..

Tistory

[TIL] 2021.03.16

Java [자바 객체 지향 프로그래밍] 04. 자바, 더 정확하게! (복습)01. 기본형 vs. 참조형02. 기본형 vs. 참조형 정리03. null04. 숏서킷 연산 (Short-Circuit Evaluation)05. 기본형 vs. 참조형 퀴즈06. null 퀴즈07. 변수 안전하게 만들기 (final)08. 변수 안전하게 만들기 예시09. 코드 안전하게 만들기 (try-catch 예외 처리)10. 인스턴스 변수 vs. 클래스 변수11. 인스턴스 메소드 vs. 클래스 메소드12. 단위 변환기 Spring [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] 02. 스프링 웹 개발 기초01. 정적 컨텐츠02. MVC와 템플릿 엔진03. API Academe Theory01..

Tistory

[스프링 입문] 02. 스프링 웹 개발 기초

정적 컨텐츠 정적 컨텐츠 'welcome page'처럼 server에서 하는 것 없이 파일 그대로 'web browser'에 내려주는 것 MVC와 템플릿 엔진 MVC Model, View, Controller 템플릿엔진(jsp, php) html을 그냥 주는 것이 아니라 서버에서 프로그래밍해서 동적으로 바꿔서 내려주는 것 View 화면을 그리는데 모든 역량을 집중 Model, Controller business logic과 관련, 내부적인 것을 처리하는 것에 집중 API API JSON 데이터 구조 포맷으로 클라이언트에게 전달하는 것 서버끼리 통신할 때도 API로 소통 package hello.hellospring.controller; import org.springframework.stereotype...

Tistory

[TIL] 2021.03.17

Java [자바 객체 지향 프로그래밍] 05. 자바, 더 간편하게! 01. String 클래스 02. 숫자 도구 03. Wrapper Class 04. ArrayList 05. 김신 장군 살리기 06. HashMap 07. HashMap 노트 08. 나의 영어 사전 09. 포켓몬 GO Spring [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] 03. 회원 관리 예제 - 백엔드 개발 01. 비즈니스 요구사항 정리 02. 회원 도메인과 리포지토리 만들기 03. 회원 리포지토리 테스트 케이스 작성 04. 회원 서비스 개발 05. 회원 서비스 테스트 Academe Theory01. Mini Project GitHub Study c [코뮤니티 모각코] 아이 캔 C 모각..

Tistory

[스프링 입문] 03. 회원 관리 예제 - 백엔드 개발

비즈니스 요구사항 정리 비즈니스 요구사항 정리 데이터 : 회원 ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음 (가상의 시나리오) 일반적인 웹 애플리케이션 계층 구조 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비즈니스 도메인, 객체 (ex. 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨) 클래스 의존관계 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계 데이터 저장소는 RDB, NoSQL 등등 다양한 저장소를 고민중인 상황으로 가정 개발을 진행하기 위해서 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 ..

Tistory

[자바 중급 개념] 03. 인터페이스와 추상 클래스

그림판 어플 Circle, Square, Rectangle 등 몇 가지 도형 클래스를 만들었고, 각 클래스는 추상 클래스 AbstractShape의 자식입니다. 이 중 Square와 Rectangle은 콘솔에 출력도 가능하게 만들고 싶습니다. 예를 들어서 가로 길이가 4이고 세로 길이가 3인 Rectangle 인스턴스는 아래와 같은 모양을 출력합니다. 출력 기능 계약서인 Printable 인터페이스를 작성합시다. 쉽게 말해서, implements Printable을 하는 클래스는 콘솔에 모양을 그려주는 print 메소드를 꼭 구현해야 합니다. package Ex0307; public interface Printable { void print(); } package Ex0307; public class R..

Tistory

[자바 중급 개념] 03. 인터페이스와 추상 클래스

카드 정렬 Collections 클래스와 Comparable 인터페이스를 이용해 Card 리스트를 작은 순서로 정렬해봅시다. 룰은 다음과 같습니다: 슈트(suitNumber)가 높은 카드가 '더 크다'. 수트가 같은 경우, 랭크(rankNumber)가 더 높은 카드가 '더 크다'. package Ex0309; public class Card implements Comparable { public final int suitNumber; public final int rankNumber; public Card(int suitNumber, int rankNumber) { this.suitNumber = suitNumber; this.rankNumber = rankNumber; } public String ge..

Tistory

[HTTP 웹 기본 지식] 08. HTTP 헤더 2 - 캐시와 조건부 요청

캐시 기본 동작 캐시가 없을 때 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다. 인터넷 네트워크는 매우 느리고 비싸다. 브라우저 로딩 속도가 느리다. 느린 사용자 경험 캐시 적용 캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다. 비싼 네트워크 사용량을 줄일 수 있다. 브라우저 로딩 속도가 매우 빠른다. 빠른 사용자 경험 캐시 시간 초과 캐시 유효 시간이 초과하면, 서버를 통해 데이터를 다시 조회하고, 캐시를 갱신한다. 이때 다시 네트워크 다운로드가 발생한다. 검증 헤더와 조건부 요청 캐시 시간 초과 캐시 유효 시간이 초과해서 서버에 다시 요청하면 다음 두 가지 상황이 나타난다. 서버에서 기존 데이터를 변경함 서버에서 기존 데이터를 변경하지 않음 캐시 만료 ..

Tistory

[TIL] 2021.03.10

Java [자바 기초] 01. 자바 왕기초 01. Introduction to Java Programming 02. Hello, Java! 03. 변수와 연산 04. 조건문과 반복문 HTTP [모든 개발자를 위한 HTTP 웹 기본 지식] 08. HTTP 헤더 2 - 캐시와 조건부 요청 01. 캐시 기본 동작 02. 검증 헤더와 조건부 요청 1 03. 검증 헤더와 조건부 요청 2 04. 캐시와 조건부 요청 헤더 05. 프록시 캐시 06. 캐시 무효화 [모든 개발자를 위한 HTTP 웹 기본 지식] 09. 다음으로 01. 다음으로 Academe Theory01. Servlet Theory02. JSP GitHub 드디어 HTTP 완강c 비전공자라서 부족했던 네트워크/HTTP 지식을 채울 수 있는 ..

Tistory

[TIL] 2021.03.11

Java [자바 기초] 01. 자바 왕기초04. 조건문과 반복문05. 배열 [자바 기초] 02. 자바 객체 지향 프로그래밍01. 객체 만들기02. 객체 설계하기03. 중간고사: 문제 해결 능력 기르기 Academe Theory01. ServletTheory02. JSP GitHub 생각보다 Java 복습이 오래 걸려서 당황;; Spring 공부를 미뤄두고 Java 복습을 진행하고 있다. 역시 코딩이 안될 땐 잠깐 키보드에서 손을 내려놓고 손 코딩을 해보는 게 정리도 되고 진전이 있는 것 같다. 나만... 그런 건가? 그렇다면 눈물.. Java 공부를 처음시작했을 때 짰던 코드들을 다시 보면서 고쳐나가는 중인데 눈을 흐리게 봐야 보인다 ㅠㅠ ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 나태해진 것 같은 요즘.....

Tistory

[TIL] 2021.03.12

Java [자바 기초] 02. 자바 객체 지향 프로그래밍 01. 객체 만들기 02. 객체 설계하기 03. 중간고사: 문제 해결 능력 기르기 04. 자바, 더 정확하게! 05. 자바, 더 간편하게! 06. 기말고사: 자바 실무 프로젝트 Academe Theory01. Spring GitHub 진짜 집중이 너무너무 극악으로 안 되는 날이었다. 이런 날은 좀 쉬어야 한다던데... 괜한 불안감에 쉴 수는 없고 깨작깨작 공부했던 것 같다. 그러다가 또 너무 졸려서 키보드 분해해서 하나하나 다 닦고!!!! 자판 헷갈려서 찾아서 다시 조립하고!!! ️️️ 길다면 길고 짧다면 짧은 4주 동안의 코뮤니티 서포터즈 활동을 완료하고 수료증을 받았다. 서포터즈를 하면서 즐거웠고 다른분들을 보면서 열정을 갖고 ..

Tistory

[HTTP 웹 기본 지식] 07. HTTP 헤더 1 - 일반 헤더

HTTP 헤더 개요 HTTP 헤더 header-field = field-name ":" OWS field-value OWS (OWS: 띄어쓰기 허용) field-name은 대소문자 구분 없음 용도 HTTP 전송에 필요한 모든 부가정보 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보... 표준 헤더가 너무 많음 필요시 임의의 헤더 추가 가능 (helloworld: hihi) HTTP - RFC2616 (과거) 헤더 General 헤더: 메시지 전체에 적용되는 정보 (Connection: close) Request 헤더: 요청 정보 (User-Agent: Mozilla/5.0) Response 헤더: 응답 정보 (Server: Apache) Entitl..

Tistory

[자바 중급 개념] 02. 캐스팅과 제네릭

블랙잭 pt. 2 기본 룰 블랙잭의 아주 간략화된 룰을 설명하겠습니다. 딜러와 플레이어가 카드를 두 장씩 받습니다. 처음 받은 두 장의 합이 21이면 '블랙잭'입니다. 자동으로 승리합니다. 딜러와 플레이어 중 핸드 가치(카드 가치의 합)가 더 높은 사람이 이깁니다. 하지만 핸드 가치가 21이 넘어가면 패배합니다. 카드를 더 받을 수 있습니다. Ace는 일반적으로 11의 가치를 갖지만, 핸드 가치(카드 가치의 합)가 21이 넘어간 경우 1의 가치를 갖습니다. BlackJackHand '카드 셔플러' 과제에서 만들었던 Deck를 상속받아, 카드를 쥘 BlackjackHand 클래스를 구현해봅시다. 캐스팅 BlackjackHand를 구현하는데 주의해야 할 것이 있습니다. Deck 클래스에서 선언된 ArrayL..

Tistory

[TIL] 2021.03.09

Java [자바 중급 개념] 02. 캐스팅과 제네릭 04. 제네릭 (Generic) 05. 제네릭 (Generic) wjdfl 06. 제네릭 extends 07. 제네릭 extends 정리 08. 블랙잭 3 [자바 중급 개념] 03. 인터페이스와 추상 클래스 01. 인터페이스 소개 02. 인터페이스 작성 03. 추상 클래스 소개 04. 추상 클래스 작성 05. 동물 공원 06. 익명 클래스 07. 그림판 어플 08. Comparable 인터페이스 09. 카드 정렬 HTTP [모든 개발자를 위한 HTTP 웹 기본 지식] 08. HTTP 헤더 2 - 캐시와 조건부 요청 01. 캐시 기본 동작 02. 검증 헤더와 조건부 요청 1 03. 검증 헤더와 조건부 요청 2 04. 캐시와 조건부 요청 헤더 05. ..

Tistory

[서포터즈 1기] 코뮤니티는 처음이라

안녕하세요. ENTP 코린이(시리)입니다. 운이 좋게 코뮤니티 서포터즈 1기에 참여할 수 있게 되었던 것이 벌써 4주 전이라니 시간이 정말 빠르게 지나갔습니다. 코뮤니티를 통해 혼자 어떻게 코딩 공부를 해야 하는지 알게 되어 참 뜻깊고 고마운 활동이었습니다. 서포터즈 신청하기 정말 잘했다고 생각이 듭니다. 코뮤 서포터즈 장점 첫 번째, 알고리즘 문제를 직접 출제하기! 처음 문제를 만들었을 때는 정말 하찮게 보이고 재미없게 느껴졌지만, "우리는 모두 코린이다."라는 생각을 가지고 만들기 시작했습니다. 문제를 만들면서 구글링 실력도 향상한 것도 함정....ㅎㅎ 코뮤 회원분들이 제 문제를 풀어주실 때마다 뿌듯! 그리고 다른 서포터즈 분들이 올리신 문제를 풀 때 많은 것을 배웠습니다. 두 번째, 코딩하는 습관!..

Tistory

[자바 중급 개념] 02. 캐스팅과 제네릭

블랙잭 pt. 3 'Generic'을 사용해서 Deck 클래스와 BlackjackHand 클래스를 고쳐봅시다. Deck 클래스 BlackjackCard를 Deck 또는 BlackjackHand에 넣고 꺼내 쓸 때는 캐스팅이 필요합니다. 왜냐하면 Deck 클래스의 cards 리스트가 Card의 인스턴스를 담기 때문이죠. Generic 클래스로 바꾸기 유연성과 확장성을 위해 Deck을 generic 클래스로 바꿔주겠습니다. cards 리스트가 Card를 상속받는 클래스의 인스턴스를 담을 수 있도록 바꿔주세요. 강의에서 본 것처럼 'generic' 개념을 이용하면 캐스팅 없이 카드를 꺼낼 수 있겠죠? BlackjackHand 클래스 Deck가 Generic 클래스로 변경되었기 때문에 자식 클래스인 Blackj..

Tistory

[자바 중급 개념] 03. 인터페이스와 추상 클래스

동물 공원 일단은 아이들이 가장 좋아하는 '고양이', '개', '돼지' 클래스를 만들텐데요. 공통적인 요소들을 모아주는 부모 클래스 AbstractAnimal을 먼저 작성하도록 하겠습니다. AbstractAnimal 클래스에는 동물의 울음 소리를 출력하는 cry 메소드가 있는데, 동물마다 다르게 울기 때문에 추상 메소드로 선언해야 합니다. 따라서 AbstractAnimal은 일반 클래스가 아닌 추상 클래스이어야겠죠? AbstractAnimal 추상 클래스 name 변수 동물의 이름을 담는 String 변수입니다. public final으로 설정해주세요. 생성자 생성자는 파라미터로 이름을 받고 name 변수에 지정해줍니다. cry 메소드 동물의 울음 소리를 출력하는 추상 메소드입니다. 리턴타입은 void로..

Tistory

[TIL] 2021.03.05

Java [자바 중급 개념] 01. 상속01. 상속02. 상속 정리03. super04. super 정리05. super 퀴즈06. protected 접근 제어자07. 객체를 위한 클래스 (Object Class)08. 카드 셔플러09. 클랙잭 1 HTTP[모든 개발자를 위한 HTTP 웹 기본 지식] 05. HTTP 상태 코드01. HTTP 상태 코드 소개02. 2xx - 성공03. 3xx - 리다이렉션 104. 3xx - 리다이렉션 205. 4xx - 클라이언트 오류, 5xx - 서버 오류 GitHub 3월이 되고 나서 진도를 조금 천천히 나가고 있는데 다음 주부터는 ㅃㅏㄱ세게 해야겠다. 주차별 계획을 세워야겠음... 미루기 방지 생일 선물로 컵을 받았는데 마음에 쏙 들어서 야밤에 커피를 ..

Tistory

[HTTP 웹 기본 지식] 06. HTTP 상태코드

HTTP 상태코드 소개 상태코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx (Informational): 요청이 수신되어 처리중 (거의 사용하지 않으므로 생략) 2xx (Successful): 요청 정상 처리 3xx (Redirection): 요층을 완료하려면 추가 행동이 필요 4xx (Client Error): 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음 5xx (Server Error): 서버 오류, 서버가 정사 요청을 처리하지 못함 만약 모르는 상태 코드가 나타나면? 클라이언트가 인식할 수 없는 상태코드를 서버가 반환하면? 클라이언트는 상위 상태코드로 해석해서 처리 미래에 새로운 상태 코드가 추가되어도 클라이언트를 변경하지 않아도 됨 299 -> 2x..

Tistory

[자바 중급 개념] 01. 상속

카드 셔플러 Card 클래스 (1) public final int suitNumber 카드의 모양을 뜻합니다. 카드 모양에는 정수 1, 2, 3, 4로 표현되는 '클로버(Clubs)', '하트(Hearts)', '다이아몬드(Diamonds)', '스페이드(Spades)'가 있습니다. 한 번 정해지면 바뀔 이유가 없기 때문에 final입니다. 또한 특별히 getter가 필요 없기 때문에 public 입니다. (2) public final int rankNumber 카드의 값을 뜻합니다. 1, 11, 12, 13은 각각 'Ace', 'Jack', 'Queen', 'King'로 표현되고, 2~10은 그 숫자 자체로 표현됩니다. 마찬가지로 한 번 정해지면 바뀔 이유가 없기 때문에 public final입니다. ..

Tistory

[자바 중급 개념] 01. 상속

블랙잭 pt. 1 BlackjackCard 클래스 블랙잭에서는 카드의 가치를 계산하는 방식이 조금 다릅니다. Ace의 경우 1 또는 11의 가치를 갖습니다. Jack, Queen, King의 경우 모두 10의 가치를 갖습니다. Ace, Jack, Queen, King을 제외한 (숫자를 가진) 카드들은 모두 자기 자신의 숫자만큼의 가치를 갖습니다. 예를 들어서 '5' 카드의 가치는 5입니다. BlackjackCard는 Card를 상속받고, 위와 같이 일반 Card와 다른 점을 구현해주면 좋겠죠? public int getValue() 블랙잭 카드의 가치를 'value'라 칭하고 getValue 메소드를 통해서 가져올 수 있도록 하겠습니다. 참고로 Ace는 11을 리턴합니다. Ace가 1의 가치를 갖는 경우..

Tistory

[TIL] 2021.03.08

Java [자바 중급 개념] 02. 캐스팅과 제네릭 01. 캐스팅 02. 캐스팅 정리 03. 블랙잭 2 HTTP [모든 개발자를 위한 HTTP 웹 기본 지식] 07. HTTP 헤더 1 - 일반 헤더 01. HTTP 헤더 개요 02. 표현 03. 콘텐츠 협상 04. 전송 방식 05. 일반 정보 06. 특별한 정보 07. 인증 08. 쿠키 Academe Theory01. Servlet Theory02. JSP GitHub HTTP 강의를 세세하게 듣다 보니 생각보다 시간을 많이 잡아먹었다. 껄껄...ㅠㅠ 사실 집중을 잘 못했던 게 큰 것 같다. 정처기 실기도 준비해야 하는데... 책 오면 하자^^ Java 강의를 오늘 모두 끝내고 내일부터 Spring에 들어가려고 했는데 컨디션이 안 좋아서 ..

Tistory

[TIL] 2021.03.04

Java [자바 객체 지향 프로그래밍] 06. 기말고사: 자바 실무 프로젝트 01. 영화관 '코드 박스' 예약 시스템 1 02. 영화관 '코드 박스' 예약 시스템 2 03. 학점 계산기 04. MP3 플레이리스트 HTTP [모든 개발자를 위한 HTTP 웹 기본 지식] 04. HTTP 메서드 활용 01. 클라이언트에서 서버로 데이터 전송 02. HTTP API 설계 예시 Academe [3월 계획 & 2차 미니 프로젝트] 3월 08일 : 팀 구성 및 미니 프로젝트 기획안 제출 (A4용지 1페이지) 3월 08일 ~ 3월 12일 : Servlet & JSP 수업 3월 12일 : 프로젝트 기능 및 데이터베이스 설계서 제출 3월 15일 ~ 3월 19일 : 프로젝트 구현 (하루 8시간 x 5일) 3월 22..

Tistory

[자바 객체 지향 프로그래밍] 06. 기말고사: 자바 실무 프로젝트

영화관 '코드박스' 예약 시스템 pt. 1 영화관 '코드박스'에서 좌석 예약 시스템을 개발해달라는 부탁이 왔는데요. 지금까지 배운 객체 지향 프로그래밍 개념을 이용해서 한번 만들어봅시다. 좌석은 A행부터 E행까지 있고, 각 행은 1열부터 9열까지 있습니다. 이번 과제에서는 '영화관(Seat, Theater 클래스)'만 구축하고, 다음 과제에서 '예약'과 '취소' 기능을 구현해봅시다! Seat 클래스 (1) private String name 예약자 이름을 담습니다. (2) public String getName() 예약자 이름을 리턴합니다. (3) public void reserve(String name) 예약자 이름을 설정해줍니다. (4) public void cancel() 예약자 이름을 없애줍니다...

Tistory

[자바 객체 지향 프로그래밍] 06. 기말고사: 자바 실무 프로젝트

영화관 '코드박스' 예약 시스템 pt. 2 Theater 클래스 (1) public boolean reserve(String name, char rowChar, int col, int numSeat) 예약 정보(이름, 열, 행, 예약 좌석 수)를 파라미터로 받아 예약하는 메소드입니다. 존재하지 않는 행 또는 열을 입력하면 false를 리턴하고 메소드를 종료합니다. 만약 1열부터 9열까지밖에 없는데, D7부터 네 좌석을 예약하면 false를 리턴하고 메소드를 종료합니다. 아무 좌석도 예약되면 안 됩니다! D3부터 네 좌석(D3, D4, D5, D6)을 예약 하려고 하는데 D6가 이미 예약된 자리라면, 나머지 좌석들(D3, D4, D5)도 예약되면 안 됩니다. 문제가 없는 경우, 실제로 예약을 하고 true..

Tistory

[자바 객체 지향 프로그래밍] 06. 기말고사: 자바 실무 프로젝트

학점 계산기 학점 계산 방법 학점 예상에 필요한 자료 이와 같습니다: 이전 학기까지의 평균 점수 (4.5 만점) 이전 학기까지의 이수 크레딧 수 (전공 과목(CREDIT_MAJOR)은 3학점, 교양 과목(CREDIT_GENERAL)은 2학점) 이번 학기 과목별 예상 성적 이번 학기 점수 계산 방법 이번 학기의 평균 점수는 57.5 / 14의 결과값인 4.1071428571입니다. 전체 점수 예상 위의 계산법을 응용합니다. 이전 학기까지의 평균 점수 * 이전 학기까지의 크레딧 수를 하면 이전 학기까지의 총 점수를 구할 수 있겠죠? 예를 들어서 이전 학기까지의 평균 점수가 4.0이고 이수 크레딧 수가 100이라고 가정합시다. 그러면 총 점수는 400이죠? 위의 표에 나와있는대로 이번 학기 성적을 받았다면 이..

Tistory

[자바 객체 지향 프로그래밍] 06. 기말고사: 자바 실무 프로젝트

MP3 플레이리스트 음악 스트리밍 사이트 등 음악을 정리하고 재생할 수 있는 서비스를 구현하기 위해서 객체 지향 프로그래밍이 사용된다. 본 내용은 Codeit의 '자바 기초' 강의를 참고하여 작성한 내용입니다.

Tistory

[HTTP 웹 기본 지식] 05. HTTP 메서드 활용

클라이언트에서 서버로 데이터 전송 데이터 전달 방식 쿼리 파라미터를 통한 데이터 전송 GET 주로 정렬 필터 (검색어) 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 상황 정적 데이터 전송 이미지, 정적 텍스트 문서 조회는 GET 사용 정적 데이터는 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능 동적 데이터 조회 주로 검색, 게시판 목록에서 정렬 필터 (검색어) 조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건에 주로 사용 조회는 GET 사용 GET은 쿼리 파라미터 사용해서 데이터를 전달 HTML Form을 통한 데이터 전송 HTML Form submit시 POST 전송 (회원 가입, 상품 주문, 데이터 변경..

Tistory

[서포터즈 1기] 3월 모각코 홍보 컨텐츠 제작

안녕하세요 :) 시리(ENTP 코린이)입니다. 벌써, 서포터즈 마지막 주차인 4주차입니다. 마지막 게릴라 미션은 3월 모각코 홍보 컨텐츠 만들기입니다! 포스터 형식으로 만들어 보았습니다. 코뮤니티 서포터즈로 활동하고 있지만 아직 모각코에 참여해본 적은 없습니다. (2월 과정 모집에서 탈락해서 ㅠㅠ) 2월 모각코 전형과 달라진 점은 원하는 커리큘럼 1개만 선택가능한 점! 유의하시고 신청해주세요~

Tistory

[서포터즈 1기] 4주차 코뮤니티 활동 리뷰

안녕하세요 :) 시리(ENTP 코린이)입니다. 어느덧, 코뮤니티 서포터즈 1기 마지막 활동 리뷰를 쓰게되는 날이 왔네요. 오늘은 모각코에 참여하지 못했을 경우 코뮤니티 카페 200% 활용하기! 리뷰입니다. 코뮤니티 회원가입 완료 후! 코딩 1단계 ~ 4단계 카테코리를 확인합니다. 그 중에서 본인과 맞다고 생각되는 단계부터 공부를 시작하시면 됩니다. (코린이들은 1단계부터 차분히 시작하는게 좋겠죠?) 정보처리기사 실기 시험을 준비하고 있는 시리(ENTP 코린이)는 C언어 공부를 최근에 시작했습니다. C의 왕기초 문법부터 하나씩 알려주는 코뮤니티의 게시글이 궁금하신가요? 그렇다면 어서 코뮤니티에 가입하고 확인해보세요!

Tistory

[TIL] 2021.03.03

Java [자바 객체 지향 프로그래밍] 05. 자바, 더 간편하게! 01. String 클래스 02. 숫자 도구 03. Wrapper Class 04. ArrayList 05. 김신 장군 살리기 06. HashMap 07. HashMap 노트 08. 나의 영어 사전 09. 포켓몬 GO GitHub MY BIRTHDAYc 생일이라고 신난 것도 스케줄이 있던 것도 아닌데 그냥 집중이 안된다c 어제 미리 세워놓았던 계획의 절반도 못한 것 같다... 그래도 미니 프로젝트 발표가 끝나서 속이 시원하다. 내일부터는 다시 집중 상태로 돌아가서 열심히 공부해야지! 어서 마스크 벗고 산책할 수 있는 날이 왔으면 좋겠다. 지금도 거닐다 보면 상쾌한데 마스크가 없다면 얼마나 더 상쾌할까

Tistory

[자바 객체 지향 프로그래밍] 05. 자바, 더 간편하게!

김신 장군 살리기 n명의 군사들이 동그랗게 서있고, 한 명씩 세어 나가서 매 k 번째 사람이 죽기로 합니다. 예를 들어서 8명의 군사들이 있고 3명마다 죽기로 하면 이 순서로 군사들이 죽게 됩니다. 3 => 6 => 1 => 5 => 2 => 8 => 4 => 7 하지만 야비한 김신 장군은 자신이 마지막으로 남아서 도망가려는 속셈인데요. 파라미터로 정수 n과 정수 k를 받고, 김신 장군이 살기 위해 서있어야할 자리(int)를 리턴해주는 메소드 getSurvivingIndex를 쓰세요. ArrayList를 사용하세요! import java.util.ArrayList; public class Main { public static int getSurvivingIndex(int n, int k) { ArrayL..

Tistory

[자바 객체 지향 프로그래밍] 05. 자바, 더 간편하게!

나의 영어 사전 Main 클래스를 보고 WordDictionary 클래스를 완성시켜 보세요! 대소문자 처리에 유의해주세요. 대소문자와 상관없이 단어를 찾을 수 있어야 합니다. 결과 책 안경 import java.util.HashMap; public class WordDictionary { private HashMap words = new HashMap(); public void addWord(String english, String korean) { words.put(english, korean); } public String find(String english) { for (String key : words.keySet()) { if(key.toLowerCase().equals(english.toLow..

Tistory

[자바 객체 지향 프로그래밍] 05. 자바, 더 간편하게!

포켓몬GO PokeBag 클래스 (1) private final 자료형 pokemons = new 자료형(); HashMap 강의에서 만들었던 PokeDex에서는 한 마리의 마릴 인스턴스만 담을 수 있었죠? PokeBag에서는 마릴이라는 key 하나에 여러 마리의 마릴 인스턴스를 담을 수 있습니다. 이 상황에 적합한 자료형을 생각해 봅시다. (2) public ArrayList getPokemons(String name) name 이름을 갖고 있는 포켓몬을 모두 가져오는 메소드입니다. (3) public void add(Pokemon pokemon) 과정 (1)에서 구현한 pokemons에 Pokemon을 넣는 메소드입니다. (4) public Pokemon getStrongest(String name)..

Tistory

[인터랙티브 Javascript] 04. 다양한 이벤트 알아보기

효준이네 집 data-title 속성과 자바스크립트를 활용해서 마우스 커서가 해당 태그 위로 올라가면 data-title 속성의 값이 나타나도록 코드를 완성해 주세요. 세부적인 조건은 다음과 같습니다. showTitle 함수 showTitle 함수가 호출되면 가장 먼저 조건문을 통해 이벤트 객체의 target 프로퍼티에 담긴 요소에 data-title 속성의 값을 가지고 있는지 확인합니다. 조건문이 true일 경우 span 태그 형태의 요소 노드를 생성합니다. 이 요소 노드는 'title'이라는 class 값을 가지고 있어야 합니다. 이 요소 노드의 내부에 target 프로퍼티에 담긴 요소의 data-title 속성에 담긴 값을 할당해 주세요. 이 요소 노드를 target 프로퍼티에 담긴 요소의 마지막 ..

Tistory

[인터랙티브 Javascript] 04. 다양한 이벤트 알아보기

똑Talk한 Enter키! HTML/CSS, 그리고 자바스크립트를 활용해서 웹으로 간단한 채팅 앱을 만들었습니다. textarea 태그에 메시지를 입력하고 오른편에 있는 send 버튼을 클릭하면 화면에 내가 입력한 메시지가 나는데요. text 타입의 input 태그나 textarea 태그를 자바스크립트로 선택한 다음에 해당 요소 노드의 value 프로퍼티를 활용하면 해당 태그에 입력된 값을 다룰 수 있습니다. 그런데 한 가지 아쉬운 점은 키보드로 메시지를 입력하고 나면, 마우스를 움직여서 send 버튼을 눌러야 한다는 겁니다. 아쉬운 규리를 위해서 textarea 태그에서 enter 키를 누르면 sendMyText 함수가 호출되는 코드를 추가해 주세요. 코드를 완성했을 때 아래 조건들이 지켜져야 합니다...

Tistory

[인터랙티브 Javascript] 04. 다양한 이벤트 알아보기

코드잇 산성비 그동안 배운 것들을 활용해서 input 태그에 단어 입력이 완료되면 화면에 있는 단어들이 사라지도록 만들어 봅시다. 단어들을 만드는 로직은 initializer.js에 있는데요. 각 단어가 만들어진 특징을 정리해보면 다음과 같습니다. 각 단어들은 span 태그로 만들어져 있다. 각 단어들은 웹 페이지가 갱신될 때마다 랜덤한 위치를 가진다. 각 단어들은 data-word라는 속성을 가지고 값은 그 단어를 담고 있다. 각 단어들은 div#container 태그의 자식 태그들이다. 위 특징을 활용해서 단어 입력이 완료되면 화면에 있는 단어들이 사라지는 이벤트 핸들러를 만들고, input 태그에 적절한 타입으로 이벤트 핸들러를 등록해 주세요. 이벤트 핸들러가 갖추어야 하는 기능은 다음과 같습니다...

Tistory

[TIL] 2021.03.02

Java [자바 객체 지향 프로그래밍] 04. 자바, 더 정확하게!01. 기본형 vs. 참조형02. 기본형 vs. 참조형 정리03. null04. 숏서킷 연산 (Short-Circuit Evaluation)05. 기본형 vs. 참조형 퀴즈06. null 퀴즈07. 변수 안전하게 만들기 (final)08. 변수 안전하게 만들기 예시09. 코드 안전하게 만들기 (try-catch 예외 처리)10. 인스턴스 변수 vs. 클래스 변수11. 인스턴스 메소드 vs. 클래스 메소드12. 단위 변환기 HTTP[모든 개발자를 위한 HTTP 웹 기본 지식] 04. HTTP 메서드01. HTTP API를 만들어보자02. HTTP 메서드 - GET, POST03. HTTP 메서드 - PUT, PATCH, DELETE 04..

Tistory

[HTTP 웹 기본 지식] 04. HTTP 메서드

HTTP API를 만들어보자 가장 중요한 것은 리소스 식별 요구사항 : 회원정보 관리 API를 만들어라 회원 목록 조회 /members 회원 조회 /members/{id} 회원 등록 /members/{id} 회원 수정 /members/{id} 회원 삭제 /members/{id} API URI 설계 (리소스 식별, URI 계층 구조 활용) 리소스의 의미? 회원을 등록하고 수정하고 조회하는 것이 리소스 X 회원이라는 개념 자체가 바로 리소스 리소스를 어떻게 식별? 회원을 등록하고 수정하고 조회하는 것은 모두 배제 회원이라는 리소스만 식별하면 된다. -> 회원 리소스를 URI에 mapping 리소스와 행위를 분리 URI는 리소스만 식별 리소스와 해당 리소스를 대상으로 하는 행위를 분리 리소스 : 회원 (명사)..

Tistory

[자바 객체 지향 프로그래밍] 04. 자바, 더 정확하게!

단위 변환기 우리가 만들 단위 변환기는 인스턴스를 생성하지 않고도 사용할 수 있도록, 클래스 변수와 클래스 메소드로만 이루어져 있습니다. 언제든 간편하게 사용할 수 있는 도구를 만드는 거죠! 상수 이 클래스와 관련 있는 상수(static final 변수)를 만들어야 합니다. 1 파운드 = 0.45359237 킬로그램 1 인치 = 2.54 센티미터 위의 두 공식을 이용해서 상수 네 개(KILOGRAMS_PER_POUND, POUNDS_PER_KILOGRAM, CENTIMETERS_PER_INCH, INCHES_PER_CENTIMETER)를 만들어보세요. 클래스 메소드 앞서 만든 상수들을 활용하여 무게와 길이 단위를 전환하는 메소드를 만들어주세요. 추가로 섭씨에서 화씨로, 또 화씨에서 섭씨로 전환하는 메소드..

Tistory

[TIL] 2021.02.28

Java [자바 객체 지향 프로그래밍] 03. 중간고사: 문제 해결 능력 기르기01. 평균값 계산하기02. 두 원소의 차 중 최댓값 구하기03. 삼각형 그리기04. 피라미드 그리기05. 플로이드의 삼각형06. 콘솔 입력 받기 (Scanner)07. 코드잇 소개 프로그램 HTTP[모든 개발자를 위한 HTTP 웹 기본 지식] 03. HTTP 기본01. 모든 것이 HTTP02. 클라이언트 서버 구조03. Stateful, Stateless04. 비 연결성(connectionless)05. HTTP 메시지 GitHub Study c[코뮤니티 서포터즈] 게릴라 미션01. 소통 게시판 활성화 개인 공부 시간은 정말 소중하다고 생각되는 하루이다. 최근에 프로젝트를 하느라 개인공부를 할 시간이 전혀 없어서 마음..

Tistory

[자바 객체 지향 프로그래밍] 03. 중간고사: 문제 해결 능력 기르기

코드잇 소개 프로그램 키보드 입력으로 탐색할 수 있는 코드잇 소개 프로그램을 만듭니다. 메인 메뉴 (Main Menu) 아래와 같은 메뉴가 출력됩니다. "I", "i", "C", "c", "E", "e"를 입력하면 해당되는 메뉴로 이동합니다. (I)ntro (C)ourses (E)xit (E)xit "E" 또는 "e"를 입력하면, 아래의 메시지를 출력하고 프로그램을 끝냅니다. (I)ntro (C)ourses (E)xit E 안녕히 가세요. (I)ntro "I" 또는 "i"를 입력하면, 아래의 메시지를 출력하고 MainMenu로 돌아갑니다. (I)ntro (C)ourses (E)xit I 안녕하세요! 우리는 코드잇입니다. 함께 공부합시다! (I)ntro (C)ourses (E)xit (C)ourses "C..

Tistory

[HTTP 웹 기본 지식] 03. HTTP 기본

모든 것이 HTTP HTTP(HyperText Transfer Protocol) HTTP 메시지에 모든 것을 전송 HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML (API) 거의 모든 형태의 데이터 전송 가능 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 지금은 HTTP 시대! HTTP의 역사 HTTP/0.9 1991년: GET 메서드 만 지원, HTTP 헤더 X HTTP/1.0 1996년: 메서드, 헤더 추가 HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전 RFC2068(1997) -> RFC2616(1999) -> RFC7230~7235(2014) HTTP/2 2015년: 성능 개선 HTTP/3 진행 중: TCP 대신에 UDP 사용, 성능 개선 ..

Tistory

[TIL] 2021.03.01

JavaScript [인터랙티브 자바스크립트] 04. 다양한 이벤트 알아보기 01. 마우스 버튼 이벤트 02. 청기 올려?! 백기 올려?! 03. 마우스 이동 이벤트 1 04. client, page, offset 차이 05. 마우스 이동 이벤트 2 06. mouseenter / mouseleave 07. 효준이네 집 08. 키보드 이벤트 09. 똑Talk한 Enter키! 10. input 태그 다루기 11. 코드잇 산성비 12. 스크롤 이벤트 13. 종합 정리 GitHub 벌써 3월이라니 정말 말도 안 된다. 시간이 화살처럼 지나가버렸다는 말이 정말 공감되는 요즘이다 c 그래서 더 빡빡하게 3월의 계획을 세웠다... 과연 저렇게 많은 계획들을 하나도 빠짐없이 세울 수 있을지 걱정이다. 3월은 J..

Tistory

[Goal] 2021.03

Goal ; Java [자바 객체 지향 프로그래밍] 04. 자바, 더 정확하게! (03.02완료) 05. 자바, 더 간편하게! (03.03 완료) 06. 기말고사: 자바 실무 프로젝트 (03.04 완료) [자바 중급 개념] 01. 상속 (03.05 완료) 02. 캐스팅과 제네릭 (03.09 완료) 03. 인터페이스와 추상 클래스 (03.09 완료) HTTP [모든 개발자를 위한 HTTP 웹 기본 지식] 04. HTTP 메서드 (03.02완료) 05. HTTP 메서드 활용 (03.04 완료) 06. HTTP 상태코드 (03.05 완료) 07. HTTP 헤더1 - 일반 헤더 (03.08 완료) 08. HTTP 헤더2 - 캐시와 조건부 요청 (03.09 완료) 09. 다음으로 (03.10 완료) Spri..

Tistory

[인터랙티브 Javascript] 04. 다양한 이벤트 알아보기

마우스를 이용해서 마우스 왼쪽 버튼을 누르면 청기(flagBlue)가 올라가고, 마우스 오른쪽 버튼을 누르면 백기(flagWhite)가 올라가도록 기획을 했는데요. 나름대로 열심히 고민해서 코드를 작성해봤지만 좀처럼 구현하기가 쉽지 않고 자꾸만 오른쪽 클릭을 할 때 브라우저의 메뉴창이 나타나서 어떻게 해야할지 막막해 하는 중입니다. 마우스 왼쪽 버튼을 누른 순간 청기(flagBlue)에 'up'이라는 클래스 속성값이 추가되고, 마우스 오른쪽 버튼을 누른 순간 백기(flagWhite)에 'up'이라는 클래스 속성값이 추가되는 flagUp 함수를 완성해 주세요. 웹 페이지에서 contextmenu 이벤트가 발생하면 브라우저의 메뉴창이 나타나지 않도록 막아주세요. 참고로 flagUp 함수 안에 있는 setTi..

Tistory

[HTTP 웹 기본 지식] 01. 인터넷 네트워크

IP(Internet Protocol) 인터넷 프로토콜의 역할 지정한 IP 주소(IP Address)에 데이터 전달 패킷(Packet)이라는 통신 단위로 데이터 전달 IP 프로토콜의 한계 비연결성 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 비신뢰성 중간에 패킷이 사라지면? (패킷 소실) 패킷이 순서대로 안오면? (패킷 전달 순서 문제 발생) 프로그램 구분 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면? TCP(Transmission Control Protocol), UDP(User Datagram Protocol) 인터넷 프로토콜 스택의 4계층 애플리케이션 계층 - HTTP, FTP 전송 계층 - TCP, UDP 인터넷 계층 - IP 네트워크 인터페이스 계층 - LAN..

Tistory

[TIL] 2021.02.26

Java [자바 왕기초] 05. 배열03. 배열 연습04. DNA 염기 서열 분석05. 다중 배열 [자바 객체 지향 프로그래밍] 01. 객체 만들기01. 객체 지향이란?02. 클래스 정리03. 클래스04. 메소드05. 메소드 정리06. 인스턴스07. 인스턴스 정리08. 입금 출금 [자바 객체 지향 프로그래밍] 02. 객체 설계하기01. 접근 제어자02. 접근 제어자 정리03. 접근 제어자 연습04. 메소드 오버로딩05. 메소드 오버로딩 정리06. 계좌 이체07. 생성자08. 생성자 정리09. 생성자 연습10. this11. this 정리12. 특가 할인 매장 HTTP[모든 개발자를 위한 HTTP 웹 기본 지식] 02. URI와 웹 브라우저 요청 흐름01. URI02. 웹 브라우저 요청 흐름 GitHu..

Tistory

[자바 객체 지향 프로그래밍] 03. 중간고사: 문제 해결 능력 기르기

플로이드의 삼각형 파라미터로 정수형 height를 받고, 높이가 height인 '직각 이등변 삼각형'을 출력할텐데요. 이번에는 * 대신 숫자가 순서대로 출력되는 플로이드의 삼각형입니다! package Midterm.Five; public class Main { public static void main(String[] args) { ShapePrinter printer = new ShapePrinter(); // 테스트 printer.printFloydsPyramid(3); System.out.println("----------"); printer.printFloydsPyramid(5); System.out.println("----------"); printer.printFloydsPyramid(15);..

Tistory

[HTTP 웹 기본 지식] 02. URI와 웹 브라우저 요청 흐름

URI(Uniform Resource Identifier) URI Uniform: 리소스를 식별하는 통일된 방식 Resource: 자원, URI로 식별할 수 있는 모든 것 (제한 없음) Identifier: 다른 항목과 구분하는데 필요한 정보 URI를 URL과 같은 의미로 이야기하겠음 (강의에서) URL(Uniform Resource Locator) Locator: 리소스가 있는 위치를 지정 위치는 변할 수 있다. URN(Uniform Resource Name) Name: 리소스에 이름을 부여 이름은 변하지 않는다. urn:isbn:8960777331 (어떤 책의 isbn URN) URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않음 URL의 전체 문법 (scheme://[userinf..

Tistory

[서포터즈 1기] 소통게시판 활성화

안녕하세요 :) 시리(ENTP 코린이)입니다. 벌써, 코뮤니티 서포터즈 1기를 시작한지 3주가 지나가고있습니다. 3주차 게릴라 미션은 코뮤니티 카페 회원분들의 친목도모를 위해 생겨난 "소통게시판"을 활성화하는 것입니다. 대단한 서포터즈님들은 동영상도 만들고 카드뉴스도 만들었지만, 시간이 부족한 저는 매일 소통 게시판에 들어가 한 줄 정도의 인사와 대화를 나누어 보았습니다. 02월 22일 cafe.naver.com/codeuniv/15854 모두들 GitHub는 하고 계신가요? 1일 1커밋을 하다보니 코딩 습관도 생기고 좋네요! 대한민국 모임의 시작, 네이버 카페 cafe.naver.com 02월 23일 cafe.naver.com/codeuniv/15974 점심은 다들 드셨나요? 대한민국 모임의 시작, 네..

Tistory

[TIL] 2021.02.24

jQuery [jQuery 활용하기] 04. 프로젝트: 나만의 포트폴리오 01. 포트폴리오 1: 메뉴 색 바꾸기 02. 포트폴리오 2: 섹션 스크롤 03. 포트폴리오 3: 멋있게 나타내기 04. 포트폴리오 4: 막대기 애니메이션 Mini Project c️ Theory01. API 연동하기 Theory02. UX/UI 디자인 GitHub Mini Project : 따릉이는 처음이라 드디어 Mini Project c️의 끝이 보이기 시작했다. 완성하지 못할 것 같아서 좌절을 몇 번 했는데 우여곡절 끝에 완성은 했다. (구현하기 힘들어서 빠진 기능 있는 것은 안 비밀...) 동영상이 길어져서 게시판 부분의 기능을 잘랐다. CRUD 기능을 모두 넣어서 뿌듯하다. 힘들었지만 그만큼 배운 것도 많고 제자리..

Tistory

[jQuery 활용하기] 04. 프로젝트: 나만의 포트폴리오

포트폴리오 I: 메뉴 색 바꾸기 첫 번째로 메뉴의 폰트 색상을 바꿔봅시다. 포트폴리오 사이트에는 섹션이 세 개 있습니다. 'header' 섹션 'about' 섹션 'contact' 섹션 'header' 섹션에 있을 때는 네비게이션바의 메뉴가 흰색으로 설정되어 있는데요. 'about' 섹션과 'contact' 섹션으로 이동하면 메뉴가 잘 보이도록 폰트 색상이 #4A4A4A로 바꿔주세요. function scrollHandler() { if ($(window).scrollTop() >= $('.about').position().top) { $('.menu-right button').css('color', '#4a4a4a'); } else { $('.menu-right button').css('color', ..

Tistory

[jQuery 활용하기] 04. 프로젝트: 나만의 포트폴리오

포트폴리오 II: 섹션 스크롤 이제 메뉴의 색상은 잘 나오는데, 클릭하면 동작을 하지 않습니다. 네비게이션바의 'About' 메뉴를 클릭하면 'about' 섹션으로 스크롤하도록, 그리고 'Contact' 메뉴를 클릭하면 'contact' 섹션으로 스크롤하도록 코드를 작성해주세요. 스크롤은 1초 안에 부드럽게 움직여야 합니다. function scrollHandler() { if ($(window).scrollTop() >= $('.about').position().top) { $('.menu-right button').css('color', '#4a4a4a'); } else { $('.menu-right button').css('color', 'white') } } $(window).on('scroll'..

Tistory

[jQuery 활용하기] 04. 프로젝트: 나만의 포트폴리오

포트폴리오 III: 멋있게 나타내기 각 섹션의 내용은 'vertical-center'라는 클래스 이름의 'div'로 둘러싸여 있습니다. CSS 파일을 살펴보시면 'vertical-center'에는 이런 스타일이 적용되어 있는데요. .vertical-center { opacity: 0; position: relative; top: 100px; } 'opacity'가 '0' 으로 되어 있기 때문에 현재는 내용이 보이지 않는 거죠. 그리고 'top'이 '100px'로 되어 있어서 살짝 아래쪽에 위치하고 있습니다. 스크롤을 해서 각 섹션에 다다르면 해당 섹션의 'vertical-center' 요소가 보이면서 정가운데로 1초 이내에 서서히 올라오도록 만들어주세요. ('opacity'가 '1'까지, 'top'이 '..

Tistory

[jQuery 활용하기] 04. 프로젝트: 나만의 포트폴리오

포트폴리오 IV: 막대기 애니메이션 'About' 섹션에 나의 스킬 여섯 개가 나열되어 있습니다. 'About' 섹션에 다다랐을 때 해당 스킬의 퍼센티지(%)만큼 파란 막대기가 서서히 색칠되도록 해주세요. 참고로 회색 막대기는 클래스 이름이 'bar'인 요소이고, 그 안에 클래스 이름이 'inner-bar'인 요소가 파란 막대기입니다. function scrollHandler() { if ($(window).scrollTop() >= $('.about').position().top) { $('.menu-right button').css('color', '#4a4a4a'); $('.skill').each(function () { var skill = $(this); var percentage = skill..

Tistory

[TIL] 2021.02.25

Java [자바 왕기초] 03. 변수와 연산 01. 변수 02. 변수 정리 03. 자료형 04. 자료형 정리 05. 자기소개서 만들기 06. 연산자 07. 연산자 정리 08. 형 변환 09. 형 변환 정리 10. 연산자와 형 변환 [자바 왕기초] 04. 조건문과 반복문 01. if, else if, else 02. if, else if, else 정리 03. if, else if, else 연습 04. switch문 05. switch 정리 06. switch문 연습 07. while문 08. while문 정리 09. while문 연습 10. for문 11. for문 정리 12. 구구단 [자바 왕기초] 05. 배열 01. 배열 02. 배열 정리 03. 배열 연습 04. DNA 염기 서열 분석 05. ..

Tistory

[Mini Project c️] 12. 게시글 수정 및 삭제 기능 구현 & 회고

게시글을 수정하고 삭제할 수 있는 함수를 DdaDAO.java에 생성합니다. 또한, 수정 및 삭제 Action.jsp를 생성한다. DdaDAO.java public int update(int ddaID, String ddaTitle,String ddaContent ) { String SQL="update Dda set ddaTitle = ?, ddaContent = ? where ddaID = ?"; try { PreparedStatement pstmt=conn.prepareStatement(SQL); pstmt.setString(1, ddaTitle); pstmt.setString(2, ddaContent); pstmt.setInt(3, ddaID); return pstmt.executeUpdate()..

Tistory

[jQuery 활용하기] 03. jQuery 2

홀짝 each 반복문을 사용해서 '짝수', '홀수' 버튼을 완성해주세요. 참고로, .card라는 클래스를 가지고 있는 태그를 파란색으로 바꿔주려면 .selected라는 클래스를 추가해주면 됩니다. css/styles.css 파일에 정의된 코드를 참고하세요. /* 선택된 카드 */ .card.selected { background: #3E50B4; /* 파란색 */ color: white; } 짝수와 홀수 선택하기 13 3 14 7 22 38 17 15 11 10 22 31 32 41 10 85 17 82 70 5 53 7 4 29 짝수 홀수 * { box-sizing: border-box; } body { margin: 0; min-width: 960px; background: #eee; font-fam..

Tistory

[서포터즈 1기] 알고리즘 문제 풀기

안녕하세요. 시리(ENTP 코린이)입니다 :) 오늘은 인터넷 강의도 아니고 책도 아니고 코뮤니티에서 알고리즘 문제를 풀어보았습니다. 어디서 어떻게 풀었는지 궁금하시죠? ccc 첫번째, 살펴볼 곳은 "함께 만드는 코딩 문제" 게시판입니다. 코뮤니티 서포터즈가 알고리즘 문제를 직접 만들어서 올리고 있는 게시판입니다. 문제의 난이도가 다양해서 코린이부터 코른이까지 모두 참여하실 수 있으니 문제를 풀고 서로 풀이를 나누며 성장해요! 두번째, 코뮤니티 운영진이 직접 업데이트 하는 "알고리즘 문제풀기" 게시판입니다. 항상 열과 성을 다하여 코린이들에게 희망을 주는 운영진분들이 운영하다보니 퀄리티 좋은 문제들이 많습니다. 모두 한 번씩 댓글로 참여해보세요!

Tistory

[TIL] 2021.02.23

jQuery [jQuery 활용하기] 03. jQuery 207. 제이쿼리 애니메이션08. 음악 스트리밍 사이트 109. 음악 스트리밍 사이트 210. 음악 스트리밍 사이트 3 HTTP[모든 개발자를 위한 HTTP 웹 기본 지식] 02. URI와 웹 브라우저 요청 흐름01. URI02. 웹 브라우저 요청 흐름 Mini Project c️Theory01. API 연동하기Theory02. 대략적인 CSS/디자인 구현하기 GitHub 오늘도 역시나 Mini Projectc를 하느라 시간을 많이 보냈다. 내가 맡았던 부분은 CRUD가 가능한 리뷰 게시판과 데이터베이스 그리고 디자인도 완성했다. (내가 담당한 기능은 아니지만 회원가입/로그인 기능과 데이터베이스도 연습해봤다.) 마지막으로 같이 하기로 한 ..

Tistory

[jQuery 활용하기] 03. jQuery 2

음악 스트리밍 사이트 I 스크롤을 하면서 플레이리스트가 스르륵 나타나는 효과를 만들어봅시다. 우선 'playlist' 클래스에 적용된 스타일을 살펴봅시다. .playlist { opacity: 0; } 'playlist'는 처음에 opacity가 0이기 때문에 보이지 않는데요. 'playlist'가 브라우저에 반 이상 걸치면 opacity가 서서히 1로 바뀌어야 합니다. 그 과정에서 반복을 해야 하는 일이 있으면, each 대신 for문을 사용해주세요. each는 다음 과제에서 사용할 것입니다. 인기차트 추천음악 뮤직비디오 회원가입 로그인 인기 검색어 아이유 (IU) 방탄소년단 (BTS) 레드벨벳 아이콘 (iKON) 멜로망스 다비치 윤딴딴 수지 김동률 폴킴 수면 꿀잠 자게 해줄 잔잔한 음악 플레이리스트 ..

Tistory

[jQuery 활용하기] 03. jQuery 2

음악 스트리밍 사이트 III HTML 파일을 보시면 'to-top-btn'이라는 클래스의 버튼이 있습니다. .to-top-btn { display: none; } 하지만 현재로서는 버튼이 display: none;으로 숨어 있기 때문에 보이지 않습니다. 사용자가 스크롤을 해서 사이트의 맨 밑으로 내려가면 이 버튼이 서서히 나타나도록 해주세요. 이 버튼을 누르면 다시 맨 위로 스크롤되면서 버튼은 다시 사라집니다. function scrollHandler() { var windowBottom = $(window).scrollTop() + $(window).height(); // each문 사용 $('.playlist').each(function() { var playlist = $(this); var pla..

Tistory

[Mini Project c️] 07. 게시판 메인 페이지 디자인

게시판 화면을 구현하는 dda.jsp 소스를 작성했다. 기본적인 틀은 main.jsp에서 가져오되 active를 변경해주었다. dda.jsp JSP 게시판 웹 사이트 메인 게시판 접속하기 로그인 회원가입 회원관리 로그아웃 번호 제목 작성자 작성일 1 안녕하세요 코린이 2021-02-22 글쓰기

Tistory

[Mini Project c️] 08. 게시판 데이터베이스 구축하기

1. mysql에서 'DDA' table을 생성한다. Field의 세부사항은 아래와 같다. CREATE TABLE DDA( ddaID INT, //게시글 번호 부여 ddaTItle VARCHAR(50), //게시글 제목 userID VARCHAR(20), //작성자 ddaDate DATETIME, //작성 날짜 ddaContent VARCHAR(2048), //게시글 ddaAvailable INT, //글이 삭제 되었는가? 1:삭제 되지 않은 글 0:삭제된 글 PRIMARY KEY (bbsID), //게시글 번호로 구분 ); 2. Dda 자바빈즈를 생성한다. package dda; public class Dda { private int ddaID; private String ddaTitle; privat..

Tistory

[Mini Project c️] 09. 글쓰기 기능 구현

1. 게시글을 작성하는 form 및 화면 구현 write.jsp JSP 게시판 웹 사이트 메인 게시판 접속하기 로그인 회원가입 회원관리 로그아웃 게시판 글쓰기 양식 2. 게시글을 업데이트할 수 있도록 기능을 구현해야한다. DdaDAO.java package dda; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; public class DdaDAO { private Connection conn; private ResultSet rs; public DdaDAO() { try { String dbURL = "jdbc:mysql://localh..

Tistory

[Mini Project c️] 10. 게시판 글 목록 기능 구현

게시판에서 글 목록을 보여주려면 DdaDAO.java에 소스를 추가해야한다. 또한, 목록을 확인하기위한 디자인도 필요하므로 dda.jsp에 추가한다. DdaDAO.java public ArrayList getList(int pageNumber){ String SQL="SELECT * from DDA where ddaID < ? AND ddaAvailable = 1 order by ddaID desc limit 10";//마지막 게시물 반환, 삭제가 되지 않은 글만 가져온다. ArrayList list = new ArrayList(); try { PreparedStatement pstmt=conn.prepareStatement(SQL); pstmt.setInt(1, getNext()-(pageNumber-..

Tistory

[Mini Project c️] 11. 게시글 보기 기능 구현

게시판 목록에서 "제목"을 클릭했을 때 글의 내용을 확인할 수 있는 페이지를 구현한다. 따라서, DdaDAO에 글을 불러오는 함수를 추가한다. DdaDAO.java public Dda getDda(int ddaID) { String SQL="SELECT * from DDA where ddaID = ?"; try { PreparedStatement pstmt=conn.prepareStatement(SQL); pstmt.setInt(1, ddaID); rs=pstmt.executeQuery(); if(rs.next()) { Dda dda = new Dda(); dda.setDdaID(rs.getInt(1)); dda.setDdaTitle(rs.getString(2)); dda.setUserID(rs.getS..

1 2 3 4