sincerity의 등록된 링크

 sincerity로 등록된 티스토리 포스트 수는 368건입니다.

굉장히 오랜만에 남겨보는 글 [내부링크]

굉장히 오랜만에 남겨보는 글이다. 하루하루가 바쁘다는, 퇴근하면 힘이 없다는 핑계로 거의 1년만에 왔다. 업무를 하면서 굉장히 여러 가지 일이 있었지만 이제 와서 써보려고 하니 기억나지 않는다. 최근 기억에 남는 일은 기술 블로그에 포스팅한 것. 부족하지만 나름 하고 나니 뿌듯하다. 이제 다시 티스토리를 살려봐야지. 또 바쁘다는 핑계로 23년 06월 회고는 못할 것 같으니.. 7월에는 꼭 회고를 작성해야지 QA != Tester | 펫프렌즈 QA Engineer를 소개합니다. 안녕하세요. 펫프렌즈 QA Engineer, 시리입니다 c 어느새 펫프렌즈에 합류한 지 약 2년이 다 되어 갑니다. 이 자리를 빌려 펫프렌즈의 QA 업무와 문화를 소개하려고 합니다. techblog.pet-friends.co.kr

[TIL] 2022.09.23 [내부링크]

Java Java TPC (생각하고, 표현하고, 코딩하고) Part 2 - 나보다 부모가 먼저야! - 나보다 부모가 먼저야! (실습) 배운 점 상속 관계에서 객체 생성 방법! - 부모 클래스를 이용하지 않는 방식 (직접 이용) Dog d = new Dog(); Cat C = new Cat(); - 부모 클래스를 이용하는 방식 (하위 클래스의 동작 방식을 모를 때, 간접 이용) > 하위 클래스를 접근할 수 없다. > 가능하게 하는 방법? Override (재정의) Animal d = new Dog(); Animal c = new Cat(); 느낀 점 Class(실행) 파일만 있고 java(소스) 파일이 없는 경우에 자주 쓰이는 상속 관계에 대해서 여러 번에 걸쳐서 배우고 있다. Override를 공부하..

[TIL] 2022.09.20 [내부링크]

Java Java TPC (생각하고, 표현하고, 코딩하고) Part 2 - 재정의 (Override) - 재정의 (Override) 실습 배운 점 Override - 상속관계에서 상속받은 하위 클래스가 상위 클래스의 동작을 수정하는 것 - 부모 메서드 무시 : 메모리에 부모와 자식 메서드가 공존하지만 결국에는 자식 메서드가 실행된다. - 동적 바인딩 프로그램의 속도가 떨어지는 원인이 되지만 이점이 더 많기 때문에 사용한다. - Override 를 통해 하위 클래스를 접근 할 수 있다. 동적바인딩 : 호출될 메서드가 실행시점에서 결정되는 바인딩 느낀 점 회사에 있을 때는 진짜 공부하고 싶은데 집에 오면 체력이 소진되서 책상 앞에 앉기까지 너무 힘이 든다. 하지만 또 일어나서 앞에 앉으면 집중을 잘하게 ..

[TIL] 2022.09.16 [내부링크]

Java Java TPC (생각하고, 표현하고, 코딩하고) Part 2 - Inheritance(수평적 구조 VS 수직적 구조) - 수평적 구조 VS 수직적 구조 GitHub 배운 점 상속 > 클래스의 설계 (행위적인 측면) 수평적 설계 - 코드의 중복이 발생 - 새로운 요구사항에 대한 코드의 수정이 불가피 - 관리하기 어렵다. 수직적 설계 (계층화, 상속 구조) - 수평적 설계의 단점을 극복할 수 있다. - 확장을 쉽게 할 수 있다. - 코드가 복잡해진다. (이점은 많아진다.) 상속에서 부모와 자식이 연결되는 방법 > super() : 자신의 생성자에서 부모의 생성자를 호출 느낀 점 강의를 들으면서 코드를 마냥 따라서 적는 것이 아니라 메모리 구조를 생각하면서 짜는 습관을 들이고 있다. 물론! ..

[TIL] 2022.09.15 [내부링크]

JAVA️ Java TPC (생각하고, 표현하고, 코딩하고) Part-1 - 학습 정리 (우리가 사용하는 클래스의 종류들) 배운 점 1. Class? (=Model) - Data Type 측면 : 새로운 자료형을 만드는 (설계하는) 도구 = 모델링 도구 - OOP 측면 : 객체의 상태 정보와 행위정보를 추출하여 캡슐화하는 도구 2. 우리가 만드는 Model의 종류 - DTO(Data Transfer Object) : 데이터 구조, 데이터의 역할, 이동하기 위해서 데이터를 담는다. - VO(Value Object) : 객체를 담아서 하나의 값(덩어리)으로 취급한다는 의미 - DAO(Data Access Object) : 데이터를 처리하는 역할(비즈니스 로직), 데이터베이스와 CRUD 하는 역할 - Uti..

[TIL] 2022.09.14 [내부링크]

JAVA️ Java TPC (생각하고, 표현하고, 코딩하고) Part-1 - 동일한 구조, 이질적인 구조 (배열 vs 클래스의 관계) 배운 점 Java 강의를 여러 번 듣다 보니 애매모호했던 이론들이 정립되어 가는 느낌이다. 배열은 동일한 data type으로 이루어진 바구니이고, 클래스는 각각 다른 data type 으로 이루어진 바구니이다. 느낀 점 추석이 지나고 처음으로 쓰는 TIL이다. TIL을 작성하지 않았다고 해서 공부를 아예 손 놓은 것은 아니지만, 그래도 쓰고 안 쓰고의 마음의 차이가 있는 것 같다. 회사를 다니면서 공부를 하기는 지치고 힘들 때도 많지만 공부를 하고 싶어서 퇴근이 기다려지는 날이 많아졌다. 네이버 블로그를 해보려고 TIL을 네이버 블로그에 썼었는데 아무래도 나는 티스토리..

[TIL] 2022.09.06 [내부링크]

JAVA️ Java TPC(생각하고, 표현하고, 코딩하고) Part-1 - 잘 설계된 클래스 (Model : DTO, DAO, Utility) - 잘 설계된 클래스 (실습) 오늘은 그래도 목표한 바 완료! TIL에 오늘 공부한 내용에 대해서 작성하고 싶은데 체력이 안따라준다 ㅠㅠ

[TIL] 2022.09.05 [내부링크]

JAVA️ Java TPC(생각하고, 표현하고, 코딩하고) Part-1 - 애매하다! class, object, instance 상호관계 밖은 비가 엄청 온다. 11호 태풍이란다. 근데 날씨가 안좋은건데 왜 난 공부가 하기 싫으니? 그래도 강의 1개는 꼭 듣고 놀자... 마라탕도 먹었잖아...

[TIL] 2022.09.02 [내부링크]

JAVA️ Java TPC(생각하고, 표현하고, 코딩하고) Part-1 - 객체가 메모리에 어떻게 만들어지나(실습) - private 생성자도 있어요?(static과 관계) 요즘 TIL을 쓸 때 마냥 내 기분만 늘어놓은 것 같다. 앞으로는 조금 더 자세하게 써보려고 한다. 오늘의 나는 무엇을 잘했는지? 오늘의 나는 어떤 문제를 겪었는지, 앞으로 어떻게 해결할 것인지? 오늘의 일에서 나는 어떤 것을 배웠는지? 나를 객관적으로 바라보는 메타인지를 강화하고자 한다. 다른 사람들은 어떻게 TIL을 작성하고 있는지도 찾아보고 나에게 맞는 방식을 찾고자 한다.

[TIL] 2022.09.01 [내부링크]

JAVA️ Java TPC(생각하고, 표현하고, 코딩하고) Part-1 - 기본자료형(PDT) VS 사용자정의자료형(UDDT) - 객체가 메모리에 어떻게 만들어지나! 객체생성과정(new, 생성자 메서드, this) 어제는 선약이 있어서 공부를 1도 하지 못했다..! 그래도 요즘 하루에 2강씩 강의를 들으니 나름 뿌듯하기도 하고 새록새록 기억나는 것이 예전에 배운 것을 다 까먹지는 않았구나 생각된다. 지금 이 재미가 앞으로도 쭉 지속 되길 바란다 :)

[TIL] 2022.08.30 [내부링크]

JAVA️ Java TPC(생각하고, 표현하고, 코딩하고) Part-1 - JVM의 메모리 모델(실습) - 기본자료형(PDT) VS 사용자정의자료형(UDDT) - 객체가 메모리에 어떻게 만들어지나! 객체생성과정(new, 생성자 메서드, this) 우아아아아아아아악 오늘 계획대로 못들음… 킹받는다 진짜! 청첩장 거지같이 만들어줘서 내가 다시 시안을 만들었다. 후… 내일도 공부 못하는데 화가난다 ㅠ 이번달의 앱태크 1달 출석했으니까 참아야지ㅠ

[TIL] 2022.08.29 [내부링크]

JAVA️ Java TPC(생각하고, 표현하고, 코딩하고) Part-1 - JVM의 메모리 모델 (JVM이 사용하는 메모리 영역 - 4가지) 퇴근하고 공부를 시작한 첫날! 강의 2개는 듣고 싶었는데 시간이 없어서 하나밖에 듣지를 못했다 ^_ㅠ 그래도 시작한 게 의미가 있으니 내일부터 더 잘 해봐야지 오늘은 운동을 했으니 나름 만족하는 월요일

[TIL] 2022.08.28 [내부링크]

JAVA️ Java TPC(생각하고, 표현하고, 코딩하고) Part-1 - 데이터를 이동하라(변수 VS 배열의 관계) - 데이터를 이동하라(실습) - 메서드는 변수다(변수 VS 메서드의 관계) - 메서드는 변수다(실습) 사실 어제부터 다시 공부를 시작했는데 오늘부터 남기게 되는 TIL 꾸준히 작성할 수 있을지는 모르겠지만 시작이 반이다! Java 강의를 듣고 있는데 그림으로 설명 들으니 이해하기 좀 더 쉬운 느낌? 앞으로 * ** *** **** 와 같은 구조를 출력하려고 할 때 무조건 반사로 for을 쓰지는 않을 것 같다.

어쩌다보니 9월에 작성하는 8월 회고 [내부링크]

요즘 회사가 너무 바빠서 시간이 화살처럼 빠르다. 분명 8월 말에 회고 작성해야지 했는데 어느새 추석 연휴도 지나가고 9월 중순이 되어버렸다. QA 직무를 하면서 제일 힘들었던 달은 8월이라고 할 수 있겠다. 우선 프로젝트도 많았던 것도 문제였지만, 내가 메인으로 진행했던 프로젝트에서 사이드 이펙트가 많았다. 심적으로도 괴롭고 업무적으로도 많이 힘들었다. 지금와서 생각해보면 프로젝트 볼륨을 적게 잡은 것과 그리고 QA 를 진행하면서 개발 수정 사항이 많이 나와서 테스트 환경을 프리징 하기 어려웠다. 배포를 위해 새벽 출근도 했던 프로젝트라 많은 리소스가 투여 되어서 아쉬운 점이 많지만, 다행히 유지 보수가 가능해서 지난주에 수정 배포까지 완료했다. 추후 프로젝트를 진행할 때 정확하게 스토리 포인트를 산정..

에어팟 제조년월 확인하는 방법 (일련번호만 확인하는 글 아님) [내부링크]

에어팟 프로 리콜을 해준다는 소리를 듣고 제조년월을 찾고 싶었다. 나는 이미 상자도 버리고 스티커도 떼어버린 상태라서 에어팟으로는 확인할 수 없는 상태였다. 그래서 검색을 엄청 했는데 다들 일련번호만 알려주고 끝나더라. 진짜 네이버 블로그 조회 수 올리기의 폐해다. 나는 정보 알려주는 척 낚시만 하는 글이 너무 싫다. 나는 진짜 제조년월 확인하는 방법 포스팅이다. 우선 일련번호를 확인해야 하는 것은 맞다. 에어팟 상자, 아이폰 설정 - 블루투스, 에어팟 뚜껑 안쪽에 있는 것은 이미 모두 알 것이다. 바로 아래 사이트에 일련번호를 넣고 검색하면 제조년월을 알 수 있다. http://www.chipmunk.nl/klantenservice/applemodel.html Klantenservice:..

[IntelliJ] 인텔리제이 무료 라이센스 학생 계정 사용하기 [내부링크]

Java 개발 툴로 많이 사용되는 IDE는 IntelliJ(인텔리제이) 와 Eclipse(이클립스)가 있습니다. 인텔리제이는 유료이고 이클립스는 무료라서 국비 학원이나 혼자 공부할 때 이클립스를 많이 이용합니다. 처음에 이클립스를 사용하다가 인텔리제이를 맛봤더니 빠져나올 수가 없었습니다. 인텔리제이는 학생 계정이 있으면 무료로 사용할 수 있으니 한 번쯤 경험해 보는 것을 추천드립니다. 1. Jetbrains 링크로 접속합니다. https://www.jetbrains.com/community/education/#students 2. Apply Now 버튼을 클릭합니다. 3. 정보 입력을 빠르게 끝냅니다. 중요한 점은 이메일 주소 입력란에 학교 계정을 입력해야 합니다. 4. 입력한 학교 계정으..

8월에 작성하는 22년 7월 회고 [내부링크]

QA 업무를 시작한 지 어느덧 10개월. 7월부터 업무 회고를 작성하기로 마음먹었는데 늦었다. 그래도 써야지 ccc 우연히 보게 된 이미지에서 든 생각이다. 왼쪽 : 내가 실제로 진행한 QA, 오른쪽 : 내가 진행했다고 생각한 QA 결과물 속에서 역량, 시야 등의 차이를 많이 느꼈던 7월이다. 굳이 테스트를 진행하지 않아도 되는 A가 있는 반면에 B 는 다른 화면과 연결되어 무조건 QA를 필수로 진행해야 한다. 또한, 예외 케이스도 상상하지도 못한 곳에서 발견되기도 한다. 개발자는 테스트 코드가 실력을 반증하듯이 QA는 예외 케이스를 잘 찾는 것도 실력 중 하나임을 뼈아프게 느끼고 있다. 분명 나는 열심히 손장구 발장구 치면서 수영하고 있는데… 파도에 밀려 제자리에서 맴도는 기분이랄까 Testcase..

[재테크] 과학기술인으뜸적금 가입 [내부링크]

과학기술인공제회는 과학기술인의 생활안정과 복지 증진을 도모하고 아울러 과학기술활동을 활성화하며 과학기술 분야의 국가경쟁력 제고에 이바지하는 목적을 위해 2003년에 설립된 곳이다. 혜택을 받을 수 있는 으뜸적금을 알아보자! 1. 검색 포탈에 과학기술인공제회를 검색 후 홈페이지에 접속합니다. 2. 메인 홈페이지에서 으뜸적금을 클릭하면 사업안내 및 상품에 대한 금리 등 가입 방법에 대해서 살펴볼 수 있습니다. 적금을 가입할 때 제일 중요한 "가입 대상"은 우리회사 검색을 통해서 확인할 수 있습니다. 본인이 다니는 회사명을 검색했는데 회사명(연구소명), 사업자번호/등록번호, 가입자격구분, 협약여부를 조회 할 수 있다면 가입이 가능합니다. 만약, 조회가 되지 않는다면 해당 상품은 가입이 불가능합니다. 금리는 기..

[TIL] 2021.09.16 [내부링크]

JavaScript [프로그래밍 과 데이터 in JavaScript] 01. 객체 02. 배열 03. 자료형 심화 04. 과제로 복습하기 GitHub

[TIL] 2021.09.14 [내부링크]

JavaScript [프로그래밍 시작하기 in JavaScript] 01. 자바스크립트 첫걸음 02. 프로그래밍 맛보기 [프로그래밍 핵심 개념 in JavaScript] 01. 자료형 02. 추상화 03. 제어문 GitHub 최근 TIL 포스팅을 좀 뜸하게 했다. 부족한 내용 같기도 하고 알찬 내용으로 채우고 싶은 욕심 때문인 듯... 부족한 내용이라도 언젠가는 도움이 될 것을 믿기에! 다시 시작! 이미 Javascript를 공부하여 수료증까지 발급 완료하였지만 다시 한번 복습하는 중!

[TIL] 2021.09.03 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 03. 스프링 핵심 원리 이해 2 - 객체 지향 원리 적용 01. 새로운 할인 정책 개발 02. 새로운 할인 정책 적용과 문제점 03. 관심사의 분리 04. AppConfig 리팩터링 05. 새로운 구조와 할인 정책 적용 06. 전체 흐름 정리 07. 좋은 객체 지향 설계의 5가지 원칙의 적용 08. IoC, DI, 그리고 컨테이너 09. 스프링으로 전환하기 GitHub

[Java | 자바] 백준 알고리즘 단계별로 풀기 - 4단계 (while) [내부링크]

10952번 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. package level04; import java.util.Scanner; public class Ex10952 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(true) { int A = sc.nextInt(); int B = sc.nextInt(); if (A == 0 && B == 0) { break; } System.out.println(A + B); } } } 10951번 입력이 끝날 때까지 A+B를 출력하는 문제. EOF에 대해 알아 보세요. package level04; import java.uti..

[TIL] 2021.08.26 [내부링크]

Java [BOJ] Level 04. While 01. A+B-5 02. A+B-4 03. 더하기 사이클 Spring [스프링 핵심 원리 - 기본 편] 02. 스프링 핵심 원리 이해 1 - 예제 만들기 01. 프로젝트 생성 02. 비즈니스 요구사항과 설계 03. 회원 도메인 설계 04. 회원 도메인 개발 05. 회원 도메인 실행과 테스트 06. 주문과 할인 도메인 설계 07. 주문과 할인 도메인 개발 08. 주문과 할인 도메인 실행과 테스트 GitHub 나는 런타임 에러가 너무 싫다... 사라져... 스프링 인강을 듣다 보니 자바를 다시 한번 돌려야겠다는 생각이 들었다 자바의 정석 하루에 1-2단원씩 다시 1 회독을 목표로! 8월 안에 완료하기!

[Java | 자바] 백준 알고리즘 단계별로 풀기 - 3단계 [내부링크]

2739번 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. package Level03; import java.util.Scanner; public class Ex2739 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int i; int N = sc.nextInt(); for (i = 1; i < 10; i++) { System.out.println(N + " * " + i + " = " + N * i); } } } 10950번 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. package Level03; import java...

[Java | 자바] 백준 알고리즘 단계별로 풀기 - 2단계 [내부링크]

1330번 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. package Level02; import java.util.Scanner; public class Ex1330 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); if (a > b) { System.out.println(">"); } else if (a < b) { System.out.println("

[TIL] 2021.08.25 [내부링크]

Java [BOJ] Level 02. if문 01. 두 수 비교하기 02. 시험 성적 03. 윤년 04. 사분면 고르기 05. 알람 시계 [BOJ] Level 03. for문 01. 구구단 02. A+B-3 03. 합 04. 빠른 A+B 05. N 찍기 06. 기찍 N 07. A+B-7 08. A+B-8 09. 별 찍기 - 1 10. 별 찍기 - 2 11. X보다 작은 수 GitHub java로 알고리즘을 공부하다 보니 python도 빨리 더 공부하고 싶어졌다. 그래도 하루 만에 2단계 짬 내서 파이썬 공부해야지... 내일부터는 다시 spring 기초 공부를 시작해야겠다!

[Java | 자바] 백준 알고리즘 단계별로 풀기 - 1단계 [내부링크]

2557번 Hello World!를 화면에 출력하는 문제 (예제 출력과 똑같이 출력해야 합니다.) package Level01; public class Ex2557 { public static void main(String[] args) { System.out.println("Hello World!"); } } 10718번 두 줄에 걸쳐 "강한친구 대한육군"을 한 줄에 한 번씩 출력한다. package Level01; public class Ex10718 { public static void main(String[] args) { System.out.println("강한친구 대한육군"); System.out.println("강한친구 대한육군"); } } 10171번 고양이 출력하기 package Leve..

[TIL] 2021.08.24 [내부링크]

Java [BOJ] Level 01. 입출력과 사칙 연산 01. Hello World 02. We love Kriii 03. 고양이 04. 개 05. A+B 06. A-B 07. AXB 08. A/B 09. 사칙연산 10. 나머지 11. 곱셈 GitHub 코딩은 계속하고 있었지만 블로그에 시간 투자가 많아지는 것 같아서 중단했다가 오늘 다시 시작했다! 최대한 간결하고 빠르게 남기도록 노력하기!

[TIL] 2021.07.14 [내부링크]

[MBTI Project] Front-end 01. 결과 페이지 만들기 - html 02. 결과 페이지 만들기 - css 03. 결과 페이지 만들기 - js GitHub

[MBTI] FE03. 결과 페이지 만들기 [내부링크]

result.html 보이지 않는 것을 보는 당신은! 프론트엔드 개발자 나와 맞는 개발 유형은 백엔드 개발자?! hello world hello world hello world 나와 맞는 개발 유형은 백엔드 개발자?! hello world hello world hello world 나와 맞는 개발 유형은 백엔드 개발자?! hello world hello world hello world 강의 추천 python 부트캠프 강의 보러가기 URL 복사하기 Facebook 공유하기 카카오톡 공유하기 ...이건 내가 아니야... 잘못된게 분명해! 테스트 다시 하기 다른 사람들은 어떤 유형일까? 다른 결과 알아보기 이런 테스트는 도대체 누가 만든거야? ^0^;; 제주코딩베이스캠프 나는 며칠 동안 훈련해야 전문가가 될까..

[TIL] 2021.07.13 [내부링크]

Project [MBTI Project] Front-end 01. 설문 페이지 만들기 - html 02. 설문 페이지 만들기 - css 03. 설문 페이지 만들기 - js GitHub

[MBTI] FE02. 설문 페이지 만들기 [내부링크]

10가지 문항을 설문 페이지에 뿌려주고 구현 화면에서는 1 문항씩 보여주어야 한다. 따라서, 각 문항은 전체 화면으로 설정한다. form.html 1/3 당신이 가장 재밌었던 수업은? 개임 개발(유니티, 언리얼, Pygame) 개임 개발(유니티, 언리얼, Pygame) 개임 개발(유니티, 언리얼, Pygame) 개임 개발(유니티, 언리얼, Pygame) 개임 개발(유니티, 언리얼, Pygame) 다 음 1/3 당신이 가장 재밌었던 수업은? 개임 개발(유니티, 언리얼, Pygame) 개임 개발(유니티, 언리얼, Pygame) 개임 개발(유니티, 언리얼, Pygame) 개임 개발(유니티, 언리얼, Pygame) 개임 개발(유니티, 언리얼, Pygame) 이 전 다 음 1/3 당신이 가장 재밌었던 수업은? 개..

[MBTI] FE01. 메인 페이지 만들기 [내부링크]

메인 페이지를 위의 이미지와 같이 큰 컨테이너 하나에 5개로 나눈다. animation 속성과 @keyframes 규칙 사용한다. index.html 나의 MBIT My Best IT personalities 나의 개발 유형은?! 개발자 데이터 분석과 인공지능 정보보안 게임 개발 개발자 시작하기 참여자 수 백엔드 개발자 : 0명 프론트엔드 개발자 : 0명 데이터 분석과 인공지능 : 0명 정보보안 : 0명 게임 개발 : 0명 style.css @font-face { font-family: 'GmarketSansBold'; src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/[email protected]/GmarketSansBold.woff') format('wo..

[TIL] 2021.07.12 [내부링크]

Project [MBTI Project] FE 01. 메인 페이지 만들기 - html 02. 메인 페이지 만들기 - css GitHub 국비 학원을 수료하고 2주간 refresh 했다! 오늘부터 다시 개발 시작 :)

[TIL] 2021.06.24 [내부링크]

Spring [스프링 입문] 05. 회원 관리 예제 - 웹 MVC 개발 01. 회원 웹 기능 - 홈 화면 추가 02. 회원 웹 기능 - 등록 03. 회원 웹 기능 - 조회 GitHub

[TIL] 2021.06.23 [내부링크]

Spring [스프링 입문] 04. 스프링 빈과 의존관계 01. 컴포넌트 스캔과 자동 의존관계 설정 02. 자바 코드로 직접 스프링 빈 등록하기 GitHub 쉬어도 쉬어도 쌓여있는 피곤에 오늘은 회복하는 날이라서 공부량이 적어서 스킵할까 했지만 그래도 TIL을 남겨본다. 아, commit 수는 어제 12시 넘어서 한 것도 있어서 많이 찍혀버렸다... 확실히 프로젝트를 경험하고 나서 다시 한번 듣는 강의는 이해가 잘 된다. 역시 복습만이 살길이다 처음 들었을 때는 뜬구름만 잡았는데 이제는 그래도 어느 정도 알아듣고 "아, 그래서 내가 오류가 났었구나."라고 생각할 수 있는 정도? 까지는 왔다 정보처리기사 실기 시험이 얼마 남지 않아서 spring과 java 공부량이 매우 적다. 하지만 정처기..

[TIL] 2021.06.22 [내부링크]

Spring [스프링 입문] 03. 회원 관리 예제 - 백엔드 개발 01. 비즈니스 요구사항 정리 02. 회원 도메인과 리포지토리 만들기 03. 회원 리포지토리 테스트 케이스 작성 04. 회원 서비스 개발 05. 회원 서비스 테스트 GitHub Book [수제비 정보처리기사 실기] 03. 통합 구현 01. 연계 데이터 구성 02. 연계 메커니즘 구성 03. 내외부 연계 모듈 구현 [수제비 정보처리기사 실기] 04. 서버 프로그램 구현 01. 개발 환경 구축 02. 공동 모듈 구현 03. 서버 프로그램 구현 04. 배치 프로그램 구현 [자바의 정석] 02. 변수(Variable) 01. 변수와 상수 02. 변수의 타입 03. 진법 04. 기본형(primitive type) 05. 형변환

[TIL] 2021.06.21 [내부링크]

Spring [스프링 입문] 02. 스프링 웹 개발 기초 01. 정적 콘텐츠 02. MVC와 템플릿 엔진 03. API GitHub Book [수제비 정보처리기사 실기] 01. 요구사항 확인 01. 현행 시스템 분석 02. 요구사항 확인 03. 분석 모델 확인하기 [수제비 정보처리기사 실기] 02. 데이터 입출력 구현 01. 논리 데이터 저장소 확인 02. 물리 데이터 저장소 설계 03. 데이터 조작 프로시저 작성 04. 데이터 조작 프로시저 최적화 [자바의 정석] 01. 자바를 시작하기 전에 01. 자바(Java Programming Language) 02. 자바 개발환경 구축하기 03. 자바로 프로그램 작성하기 어쩌다 보니 개인 공부를 할 시간이 생겼다. 프로젝트를 하면서 다짐했던 스프링 ..

[TIL] 2021.06.14 [내부링크]

Googoos c Theory01. MyPage 작성글 찜 목록 프로필 사진 GitHub css가 엉망진창이긴 하지만 회원가입 페이지에서 미리 보기 가능하게 구현했다. 근데 이제 마이페이지에서 어떻게 불러오지?ㅎㅎ...ㅠ 내일 마이페이지 끝짱 내자! 제발! GitHub를 시작하고 지난주에 처음으로 한 줄을 다 채웠다. 나름대로 열심히 살고 있는 것은 같은데 왜 진도가 나가지 않는 느낌인지 ccc 느낌이었으면 좋겠다.. 삽질이 아니고 앞으로 나아가고 있기를 c

[Googoosc] 05. Spring | 회원 관리자 페이지 - 회원 권한 관리 & 회고 | MyBatis, SpringMVC [내부링크]

Googoos의 관리자 페이지 중 회원 관리를 구현했다. 관리자 페이지에서는 일반 회원을 정지 회원으로 변경할 수 있다. 01. memberMapper.xml UPDATE member SET authority = 3 WHERE authority = 1 authority는 1 - 일반회원 , 2 - 관리자, 3 - 정지 회원으로 진행하였다. 따라서, 위와 같은 Mapper로 구현했다. 02. MemberRepository & MemberService int disableMember(Map disable); 03. MemberServiceImpl @Override public int disableMember(Map disable) { return memberRepository.disableMember(dis..

[Googoosc] 04. Spring | 회원가입 중복체크 | ajax, MyBatis [내부링크]

어떠한 사이트에 가입을 할 때 소셜 로그인이 아닌 회원가입을 진행할 때 중복 체크하는 기능을 쉽게 볼 수 있다. 오늘은 중복 체크 기능을 구현했다. 01. memberMapper.xml -- 이메일 중복 체크 -- SELECT COUNT(*) FROM member WHERE email = #{email} -- 닉네임 중복 체크 -- SELECT COUNT(*) FROM member WHERE nickname = #{nickname} -- 휴대폰 번호 중복 체크 -- SELECT COUNT(*) FROM member WHERE phone_number = #{phone_number} 각각의 조건으로 COUNT를 하는데 이메일이 존재하면 COUNT = 1, 존재하지 않으면 COUNT = 0으로 조회된다. 따라..

[TIL] 2021.06.11 [내부링크]

Googoos c Theory01. Googoos Meeting 6th merage Theory02. Member DB delete batch, mileage Theory03. Mypage 신규 회원 버그 GitHub

[TIL] 2021.06.10 [내부링크]

Googoos c Theory01. 회원 가입 중복 체크 Theory02. 마이페이지 신규 회원 - 찜 리스트 / 게시글 리스트 프로필 사진 GitHub 회원가입 중복체크 프로그래밍은 정말 예상 시간을 알 수 없는 공부인 것 같다. 오늘 또 느꼈다. 사실 알고 보면 간단한 문제였는데 돌아갔던 것도 있고, 어렵게 생각한 것도 있다. 일정이 계속 딜레이 되면서 남은 날들이 얼마 없어서 두렵지만 확실하게 공부는 된다. 개발하는 과정 자체를 즐기고 싶은데 시간에 쫓기듯 하고 있지만 언젠가 도움될 밑거름이기를...c

[TIL] 2021.06.09 [내부링크]

Googoos c Theory01. Admin 회원 정보 업데이트 - 정지 회원 Theory02. 회원 가입 중복 체크 GitHub

[TIL] 2021.06.08 [내부링크]

Googoos c Theory01. 관리자 페이지 전체 회원 리스트 GitHub 확실히 Header가 있으니까 심심한 화면보다 보기 좋다 c 아직 프론트는 시작도 못했지만 점점 기능들이 완성되어가며 행복을 느끼는 중이다. 내일까지 내가 맡은 기능을 완료할 수 있을 것 같다c 생각보다 일정이 늦어지고 있어서 조급하다ccc

[TIL] 2021.06.06 [내부링크]

Googoos c Theory01. MyPage 자기소개 수정 관리자 페이지 구현중 GitHub summernote로 만든 자기소개 수정 페이지! 배우고 알아갈수록 더 궁금하고 신기한 것이 많은 요즘이다 ㅋㅋㅋㅋ

[TIL] 2021.06.04 [내부링크]

Googoos c Theory01. 마이페이지 활동 내역 나의 작성글 나의 찜 목록 GitHub 항상 내가 예상했던 시간과는 다른 찐 개발 시간c 예상보다 빠르게 끝나는 날도 있지만 복병을 만나 예상보다 더 오래 걸리는 날이 아직은 더 많다. 실력이 늘면 예상보다 빠른 시간 내에 끝내는 날이 더 많아지기를c...

[TIL] 2021.06.03 [내부링크]

Googoosc Theory01. meeting 관리자 페이지 정리 Header/Footer GitHub 대학생 때 가보고 안 가본 신촌ccc 신촌에 있는 스터디 카페 ㅋㅋㅋ 생각보다 시설이 꽤 좋았다!!

[Forest] 집중력 지킴이 [내부링크]

Instagram에서 공스타로 포레스트 어플을 많이 접했어서 늘 써보고 싶었는데 좋은 기회를 통해 직접 어플을 사용해볼 수 있었다. 프로그래밍 공부를 진행하다 보니 전자기기 없이는 공부를 할 수 없지만 휴대폰만은 사용하지 않아도 공부를 할 수 있기에 도전해봤다c 포레스트는 공부한 시간만큼 나무를 심을 수 있는 어플이다. 시간을 채우다 보면 코인을 받고 그 코인으로 다양한 나무들을 살 수 있다. 새로운 나무를 너무 사고 싶다!!! 오늘은 1200c을 모아서 동백꽃 나무를 드디어 샀다 나무를 죽이시겠습니까? 처음에는 사용할 때 아직 적응되지 않아서 시간을 맞춰놓고 까먹어서 제대로 된 시간을 측정하지 못했다. 지금도 아쉽다. 자꾸 재설정하는 시간을 까먹어서...;; 어플을 쓰다 보니 중간에 시간을 종..

[TIL] 2021.06.02 [내부링크]

Googoos c Theory01. 공개용 프로필 자기소개 Update GitHub 오늘도 역시나 나만 알아볼 수 있는 나의 수첩 ㅠ

[TIL] 2021.06.01 [내부링크]

Googoos c Theory01. Sprint Meeting 대면 meeting 장소 및 날짜 확정 3nd merge Theory02. Coding MemberActivity Session Mypage 정리 GitHub 나만 알아볼 수 있는 회의록;;; 점점 해야 할 일은 많은데 시간은 부족한 느낌적인 느낌 협찬으로 사용하고 있는 어플!! 집중 시간도 알 수 있고 휴대폰을 조금 덜 만지게 도움을 주는 것 같다

[TIL] 2021.05.28 [내부링크]

Googoos c Theory01. Mypage 회원 활동 내역 level mileage GitHub 나름대로 발전이 있는 하루를 기분 좋게 마무리하려고 했는데 난 네가 제일 싫다... Nullpointersxceiption 저리 가 제발c Mapper가 정상적으로 돌아가고 있는 줄 알았는데 데이터가 여러 개 생기니 오류가 생기는 것 같다. Mybatis Mapper 환경에서 Table이 2개 이상일 때 Join 하는 방법을 다시 한번 찾아봐야겠다.

[SPRING ERROR] Injection of resource dependencies failed 발생| Mapper Error [내부링크]

01. 문제 발생 spring 프로젝트 진행 중 server를 실행했는데 Injection of resource dependencies failed 발생 + No setter found for property 'datasource' in class 'org.mybatis.spring.SqlSessionFactoryBean' 도 발생 02. 에러 메시지 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'marketController': Injection of resource dependencies failed; nested exception is org.springframework.beans.fact..

[TIL] 2021.05.27 [내부링크]

Googoos c Theory01. Mypage 회원 정보 활동 내역 codesiri/Googoos Googoosc | Final Project. Contribute to codesiri/Googoos development by creating an account on GitHub. github.com GitHub 내 다이어리가 이렇게 쓰일 줄 몰랐지만, 구석에 박혀있는 것보단 낫지 뭐... 은근히 정리도 되는 것 같고 ㅎㅎ 오늘부터는 Spring Project를 진행하면서 발생한 error에 대해서도 정리 시작! Today error [SPRING ERROR] Injection of resource dependencies failed 발생| Mapper Error 01. 문제 발생 spring 프로..

[Googoosc] 03. Spring | login Session & Join [내부링크]

01. Controller MemberLoginController package com.mygg.mygg.controller; import com.mygg.mygg.dto.LoginDTO; import com.mygg.mygg.service.MemberService; import com.mygg.mygg.vo.MemberVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import javax.a..

[TIL] 2021.05.26 [내부링크]

Googoos c Theory01. 2차 Merge 정리 Login Session Join codesiri/Googoos Googoosc | Final Project. Contribute to codesiri/Googoos development by creating an account on GitHub. github.com GitHub 무언가가 헷갈릴 때는 아이패드나 맥북보다 직접 손으로 체크하는 게 빠를 때가 있다

[TIL] 2021.05.20 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 01. 스프링 핵심 원리 이해 1 - 예제 만들기 01. 프로젝트 생성 02. 비즈니스 요구사항과 설계 03. 회원 도메인 설계 04. 회원 도메인 개발 05. 회원 도메인 실행과 테스트 06. 주문과 할인 도메인 설계 07. 주문과 할인 도메인 실행과 테스트 Googoos c Theory01. 1차 Merge 정리 서버 확인 DB 생성 (member_active) GitHub

[TIL] 2021.05.18 [내부링크]

Googoos c Theory01. Googoos 2차 미팅 application.propertirs build.gradle merge issue 2차 페이지 분배 Theory02. 마이페이지 기획 Theory03. merge 정리 GitHub 아이패드 프로를 가지고 있는 똥 손의 대략적인 페이지 기획;;; Googoosc 프로젝트를 GitHub에 처음으로 머지를 했는데 생각보다 성공적이어서 다행이다

[Googoosc] 02. Spring | 회원가입 - Profile photo & dropbox & authority & 가입 날짜 자동 설정 [내부링크]

01. 프로필 사진 Signup.html 02. gender & location Dropbox 생성 Signup.html 성별 -- 선택 -- 남성 여성 주소 -- 선택 -- 종로구 중구 용산구 성동구 광진구 동대문구 중랑구 성북구 강북구 도봉구 노원구 은평구 서대문구 마포구 양천구 강서구 구로구 금천구 영등포구 동작구 관악구 서초구 강남구 송파구 강동구 03. 가입 날짜(join_date) & authority MemberEntity.java package com.mygg.mygg.domain.entity; import lombok.AccessLevel; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; impor..

[TIL] 2021.05.17 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 02. 스프링 핵심 원리 이해 1 - 예제 만들기 01. 프로젝트 생성 02. 비즈니스 요구사항과 설계 03. 회원 도메인 설계 04. 회원 도메인 개발 05. 회원 도메인 실행과 테스트 06. 주문과 할인 도메인 설계 07. 주문과 할인 도메인 실행과 테스트 Googoos c Theory01. create location table Theory02. 회원가입 - 프로필 사진 첨부 Theory03. 회원가입 - 가입 날짜 자동 생성 Theory04. 회원가입 - 주소, 성별 Dropbox [Googoosc] 02. SpringBoot | 회원가입 - Profile photo & dropbox & authority & 가입 날짜 자동 설정 01. 프로필 사..

[TIL] 2021.05.14 [내부링크]

Googoos c Theory01. SpringBoot - Spring Security | 회원가입/로그인/로그아웃 [Googoosc] SpringBoot | Spring Security 회원가입/로그인/로그아웃 프로젝트 구조 개발환경 Intellij 2020.3.2 Java 11 JPA MySQL SpringBoot 의존성 build.gradle dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org... sincerity.tistory.com GitHub 드디어 2주 만에 commit!!! 지난주와 이번 주 내내 "spring security"에서 헤매느냐고 잔디를..

[Googoosc] 01. Spring | Spring Security 회원가입/로그인/로그아웃 [내부링크]

프로젝트 구조 개발환경 Intellij 2020.3.2 Java 11 JPA MySQL SpringBoot 의존성 build.gradle dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlo..

[스프링 핵심 원리] [04. 스프링 컨테이너와 스프링 빈] 스프링 빈 조회 - 03. 기본 | 04. 동일한 타입이 둘 이상 | 05. 상속 관계 [내부링크]

Googoos Theory01. 회원 DB 생성 오랜만에 Jira를 사용하여 시간 관리 시작! 좀 더 세세하게 분배하여 관리하자

[스프링 핵심 원리] [04. 스프링 컨테이너와 스프링 빈] 01. 스프링 컨테이너 생성 | 02. 컨테이너에 등록된 모든 빈 조회 [내부링크]

Googoos Theory01. 회원 DB 생성 오랜만에 Jira를 사용하여 시간 관리 시작! 좀 더 세세하게 분배하여 관리하자

[TIL] 2021.05.04 [내부링크]

Googoos c Theory01. 회원 DB 생성 오랜만에 Jira를 사용하여 시간 관리 시작! 좀 더 세세하게 분배하여 관리하자

[TIL] 2021.04.30 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 03. 스프링 핵심 원리 이해 2 - 객체 지향 원리 적용 01. 새로운 할인 정책 개발 02. 새로운 할인 정책 적용과 문제점 03. 관심사의 분리 04. AppConfig 리팩터링 05. 새로운 구조와 할인 정책 적용 06. 전체 흐름 정리 07. 좋은 객체 지향 설계의 5가지 원칙의 적용 08. IoC, DI, 그리고 컨테이너 09. 스프링으로 전환하기 Academe [Googoos meeting] Theory01. 1차 Page 분배 Theory02. Spring Boot 설정Theory03. GitHub 연동 GitHub IntelliJ 새로안 기능! 의존 관계를 다이어그램으로 확인할 수 있다.

[스프링 핵심 원리] [03. 스프링 핵심 원리 이해 - 객체 지향 원리 적용] 09. 스프링으로 전환하기 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 03. 스프링 핵심 원리 이해 2 - 객체 지향 원리 적용 01. 새로운 할인 정책 개발 02. 새로운 할인 정책 적용과 문제점 03. 관심사의 분리 04. AppConfig 리팩터링 05. 새로운 구조와 할인 정책 적용 06. 전체 흐름 정리 07. 좋은 객체 지향 설계의 5가지 원칙의 적용 08. IoC, DI, 그리고 컨테이너 09. 스프링으로 전환하기 Academe [Googoos meeting] Theory01. Main Page & List Page 기획 GitHub

[스프링 핵심 원리] [03. 스프링 핵심 원리 이해 - 객체 지향 원리 적용] 07. 좋은 객체 지향 설계의 5가지 원칙의 적용 | 08. IoC, DI 그리고 컨테이너 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 03. 스프링 핵심 원리 이해 2 - 객체 지향 원리 적용 01. 새로운 할인 정책 개발 02. 새로운 할인 정책 적용과 문제점 03. 관심사의 분리 04. AppConfig 리팩터링 05. 새로운 구조와 할인 정책 적용 06. 전체 흐름 정리 07. 좋은 객체 지향 설계의 5가지 원칙의 적용 08. IoC, DI, 그리고 컨테이너 09. 스프링으로 전환하기 Academe [Googoos meeting] Theory01. Main Page & List Page 기획 GitHub

[스프링 핵심 원리] [03. 스프링 핵심 원리 이해 - 객체 지향 원리 적용] 05. 새로운 구조와 할인 정책 적용 | 06. 전체 흐름 정리 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 03. 스프링 핵심 원리 이해 2 - 객체 지향 원리 적용 01. 새로운 할인 정책 개발 02. 새로운 할인 정책 적용과 문제점 03. 관심사의 분리 04. AppConfig 리팩터링 05. 새로운 구조와 할인 정책 적용 06. 전체 흐름 정리 07. 좋은 객체 지향 설계의 5가지 원칙의 적용 08. IoC, DI, 그리고 컨테이너 09. 스프링으로 전환하기 Academe [Googoos meeting] Theory01. Main Page & List Page 기획 GitHub

[TIL] 2021.04.29 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 03. 스프링 핵심 원리 이해 2 - 객체 지향 원리 적용 01. 새로운 할인 정책 개발 02. 새로운 할인 정책 적용과 문제점 03. 관심사의 분리 04. AppConfig 리팩터링 05. 새로운 구조와 할인 정책 적용 06. 전체 흐름 정리 07. 좋은 객체 지향 설계의 5가지 원칙의 적용 08. IoC, DI, 그리고 컨테이너 09. 스프링으로 전환하기 Academe [Googoos meeting] Theory01. Main Page & List Page 기획 GitHub

[TIL] 2021.04.28 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 03. 스프링 핵심 원리 이해 2 - 객체 지향 원리 적용 01. 새로운 할인 정책 개발 02. 새로운 할인 정책 적용과 문제점 03. 관심사의 분리 04. AppConfig 리팩터링 05. 새로운 구조와 할인 정책 적용 06. 전체 흐름 정리 07. 좋은 객체 지향 설계의 5가지 원칙의 적용 08. IoC, DI, 그리고 컨테이너 09. 스프링으로 전환하기 Academe [Googoos meeting] Theory01. DB 2 Theory02. UI/UX Color Theory03. Logo GitHub

[TIL] 2021.04.27 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 03. 스프링 핵심 원리 이해 2 - 객체 지향 원리 적용 01. 새로운 할인 정책 개발 02. 새로운 할인 정책 적용과 문제점 03. 관심사의 분리 04. AppConfig 리팩터링 05. 새로운 구조와 할인 정책 적용 06. 전체 흐름 정리 07. 좋은 객체 지향 설계의 5가지 원칙의 적용 08. IoC, DI, 그리고 컨테이너 09. 스프링으로 전환하기 Academe Theory01. 파프 미팅 - DB 기획 GitHub

[스프링 핵심 원리] [03. 스프링 핵심 원리 이해 - 객체 지향 원리 적용] 03. 관심사의 분리 | 04. AppConfig 리팩터링 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 03. 스프링 핵심 원리 이해 2 - 객체 지향 원리 적용 01. 새로운 할인 정책 개발 02. 새로운 할인 정책 적용과 문제점 03. 관심사의 분리 04. AppConfig 리팩터링 05. 새로운 구조와 할인 정책 적용 06. 전체 흐름 정리 07. 좋은 객체 지향 설계의 5가지 원칙의 적용 08. IoC, DI, 그리고 컨테이너 09. 스프링으로 전환하기 Academe Theory01. 파프 미팅 - 기획 GitHub

[스프링 핵심 원리] [03. 스프링 핵심 원리 이해 - 객체 지향 원리 적용] 01. 새로운 할인 정책 개발 | 02. 새로운 할인 정책 적용과 문제점 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 03. 스프링 핵심 원리 이해 2 - 객체 지향 원리 적용 01. 새로운 할인 정책 개발 02. 새로운 할인 정책 적용과 문제점 03. 관심사의 분리 04. AppConfig 리팩터링 05. 새로운 구조와 할인 정책 적용 06. 전체 흐름 정리 07. 좋은 객체 지향 설계의 5가지 원칙의 적용 08. IoC, DI, 그리고 컨테이너 09. 스프링으로 전환하기 Academe Theory01. 파프 미팅 - 기획 GitHub

[TIL] 2021.04.26 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 03. 스프링 핵심 원리 이해 2 - 객체 지향 원리 적용 01. 새로운 할인 정책 개발 02. 새로운 할인 정책 적용과 문제점 03. 관심사의 분리 04. AppConfig 리팩터링 05. 새로운 구조와 할인 정책 적용 06. 전체 흐름 정리 07. 좋은 객체 지향 설계의 5가지 원칙의 적용 08. IoC, DI, 그리고 컨테이너 09. 스프링으로 전환하기 Academe Theory01. 파프 미팅 - 기획 GitHub

[TIL] 2021.04.25 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 02. 스프링 핵심 원리 이해 1 - 예제 만들기 01. 프로젝트 생성 02. 비즈니스 요구사항과 설계 03. 회원 도메인 설계 04. 회원 도메인 개발 05. 회원 도메인 실행과 테스트 06. 주문과 할인 도메인 설계 07. 주문과 할인 도메인 개발 08. 주문과 할인 도메인 실행과 테스트 GitHub

[TIL] 2021.04.21 [내부링크]

Spring [스프링 부트와 AWS로 혼자 구현하는 웹 서비스] 05. 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기03. 구글 로그인 연동하기04. 어노테이션 기반으로 개선하기05. 세션 저장소로 데이터베이스 사용하기06. 네이버 로그인07. 기존 테스트에 시큐리티 적용하기 GitHub Google Login 연동 성공c 어젯밤에 안돼서 끙끙거리다가 그냥 자고 일어나서 코드를 하나도 안 고치고 다시 돌렸는데 로그인이 된다?ㅠ URI 인증이 늦게 돼서 안됐었던 것 같다. Google과 Naver 로그인 연동 성공해서 기분 좋은 하루~ [스프링 부트와 AWS로 혼자 구현하는 웹서비스] 책에서 Spring 부분을 완독했으니 강의로 다시 복습해야겠다.

[TIL] 2021.04.20 [내부링크]

GitHub Book [스프링 부트와 AWS로 혼자 구현하는 웹 서비스] 04. 머스테치로 화면 구성하기 01. 서버 템플릿 엔진과 머스테치 소개 02. 기본 페이지 만들기 03. 게시글 등록 화면 만들기 04. 전체 조회 화면 만들기 05. 게시글 수정, 삭제 화면 만들기 [스프링 부트와 AWS로 혼자 구현하는 웹 서비스] 05. 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 01. 스프링 시큐리티와 스프링 시큐리티 Oauth2 클라이언트 02. 구글 서비스 등록 03. 구글 로그인 연동하기 왜 안될까....ㅠ

[TIL] 2021.04.16 [내부링크]

Academe Theory01. node.js GitHub Book [스프링 부트와 AWS로 혼자 구현하는 웹 서비스] 03. 스프링 부트에서 JPA로 데이터베이스 다뤄보자 01. JPA 소개 02. 프로젝트에 Spring Data JPA 적용하기 03. Spring Data JPA 테스트 코드 작성하기 04. 등록/수정/조회 API 만들기 05. JPA Auditing으로 생성시간/수정시간 자동화하기

[TIL] 2021.04.15 [내부링크]

Academe Theory01. node.js GitHub Book [스프링 부트와 AWS로 혼자 구현하는 웹 서비스] 01. 인텔리제이로 스프링 부트 시작하기 01. 인텔리제이 소개 02. 인텔리제이 설치하기 03. 인텔리제이 커뮤니티에서 프로젝트 생성하기 04. 그레이들 프로젝트를 스프링 부트 프로젝트로 변경하기 05. 인텔리제이에서 깃과 깃허브 사용하기 [스프링 부트와 AWS로 혼자 구현하는 웹 서비스] 02. 스프링 부트에서 테스트 코드를 작성하자 01. 테스트 코드 소개 02. Hello Controller 테스트 코드 작성하기 03. 롬복 소개 및 설치하기 04. Hello Controller 코드를 롬복으로 전환하기 Spring 을 항상 인강으로 공부했었는데 책을 추천받아서 [스..

[TIL] 2021.04.14 [내부링크]

Java [그림으로 배우는 자바, 파트 2: 객체지향!] 06. 상속 01. 상속이란? 02. 클래스 확장 및 코드 중복 제거 03. 업캐스팅과 메소드 오버라이딩 04. protected와 super 05. 리뷰! 클래스의 연속 확장 [그림으로 배우는 자바, 파트 2: 객체지향!] 07. 인터페이스 01. 인터페이스란? 02. 인터페이스, 정의 및 구현 03. 인터페이스와 다형성 04. 인터페이스로 업캐스팅 05. 리뷰! 다양한 소리 내기 Academe Theory01. node.js GitHub

[TIL] 2021.04.13 [내부링크]

Java [그림으로 배우는 자바, 파트 2: 객체지향!] 05. 자바 API 01. 자바 API란? 02. 주사위 통계, Math와 Random 03. 객체 저장소, ArrayList (1) 04. 객체 저장소, ArrayList (2) 05. 리뷰! 로또 번호 생성하기 Academe Theory01. Javascript GitHub Java Challenge를 해설과 답안을 보지 않고 다 풀고 나면 뿌듯하지만 더 쉬운 방법이 있었다는 것에 아직 멀었다고 생각되는 오늘c 그래도 많이 늘었다고 생각해야지~ 맥북으로 항상 공부를 하다 보니 가끔은 공책을 펴서 쓰면서 공부를 한다. 오히려 머릿속에 잘 들어온다ㅋㅋㅋㅋㅋㅋ 펜을 다 써서 괜히 기분 좋은 하루c

[TIL] 2021.04.12 [내부링크]

Java [그림으로 배우는 자바, 파트 2: 객체지향!] 03. 레퍼런스와 스태틱01. 레퍼런스? 스태틱?02. 객체 배열과 반복문03. 객체 조합 및 클래스 변수04. 클래스 변수와 클래스 메서드05. 리뷰! 두 점 사이의 거리 [그림으로 배우는 자바, 파트 2: 객체지향!] 04. 접근 제한자와 게터 세터01. 접근 제한자? 게터와 세터?02. private, 외부로부터 감추기03. 게터와 세터04. 스코프와 this05. 리뷰! 기사 돈키호테 Academe Theory01. Javascript GitHub 진짜 오랜만에 주말에 코딩 생각 안 하고 푹~ 쉬었던 것 같다. 공부를 안 해도 걱정해도 걱정하면서 지냈었는데 지난주는 금요일부터 신나게 놀았다. 곧 파프 시작해야 하니 마음 편하게 개인 ..

[TIL] 2021.04.08 [내부링크]

Java [그림으로 배우는 자바, 파트 2: 객체지향!] 01. 객체지향 프로그래밍01. 객체지향 프로그래밍?02. 클래스 설계 및 작성03. 객체 생성과 메서드 호출04. 스코프, 변수의 활동 영역05. 리뷰! 정사각형 객체의 넓이 [그림으로 배우는 자바, 파트 2: 객체지향!] 02. 생성자01. 생성자?02. 생성자로 객체 값 넣기03. 생성자 정의 및 디폴트 생성자04. 객체 배열, 객체와 파라미터05. 리뷰! 마린과 메딕 Academe Theory01. Spring GitHub 새로운 강의를 들으니 집중도가 확실히 다르다. 똑같은 강의를 반복해서 듣는 것보다 설명이 달라서 그런지 이해도가 상승하는 것 같다ㅋㅋㅋㅋㅋ 이번 주는 Java 복습 기간을 가지고 있는데 재미있다. 이론을 짧게 설명..

[TIL]2021.04.07 [내부링크]

Java [자바 객체 지향 프로그래밍] 04. 자바, 더 정확하게! 01. 기본형 vs. 참조형 02. 기본형 vs. 참조형 정리 03. null 04. 숏 서킷 연산 (Short-Circuit Evaluation) 05. 기본형 vs. 참조형 퀴즈 06. null 퀴즈 07. 변수 안전하게 만들기 (final) 08. 변수 안전하게 만들기 예시 09. 코드 안전하게 만들기 (try-catch 예외 처리) 10. 인스턴스 변수 vs. 클래스 변수 11. 인스턴스 메서드 vs. 클래스 메서드 12. 단위 변환기 [자바 객체 지향 프로그래밍] 05. 자바, 더 간편하게! 01. String 클래스 02. 숫자 도구 03. Wrapper Class 04. ArrayList [그림으로 배우는 자바, 파트 2..

[스프링 핵심 원리] [02. 스프링 핵심 원리 이해 - 예제 만들기] 05. 주문과 할인 도메인 설계 | 06. 주문과 할인 도메인 개발 | 07. 주문과 할인 도메인 실행과 테스트 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 02. 스프링 핵심 원리 이해 1 - 예제 만들기 01. 프로젝트 생성 02. 비즈니스 요구사항과 설계 03. 회원 도메인 설계 04. 회원 도메인 개발 05. 회원 도메인 실행과 테스트 06. 주문과 할인 도메인 설계 07. 주문과 할인 도메인 개발 08. 주문과 할인 도메인 실행과 테스트 Academe Theory01. Spring Theory02. AWS GitHub Study [코뮤니티 모각코] 아이 캔 C 모각코 출석 인증 15일 차 - 아이 캔 C 3월 과정 스프링을 오랜만에 공부하니 새록새록 떠오른다. 자바의 추운 겨울이 지나가고 따뜻한 봄이라는 스프링.. 아직 나에겐 추운 겨울처럼 덜덜 떨게 한다. 자바 공부가 아직도 부족하게 ..

[스프링 핵심 원리] [02. 스프링 핵심 원리 이해 - 예제 만들기] 03. 회원 도메인 개발 | 04. 회원 도메인 실행과 테스트 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 02. 스프링 핵심 원리 이해 1 - 예제 만들기 01. 프로젝트 생성 02. 비즈니스 요구사항과 설계 03. 회원 도메인 설계 04. 회원 도메인 개발 05. 회원 도메인 실행과 테스트 06. 주문과 할인 도메인 설계 07. 주문과 할인 도메인 개발 08. 주문과 할인 도메인 실행과 테스트 Academe Theory01. Spring Theory02. AWS GitHub Study [코뮤니티 모각코] 아이 캔 C 모각코 출석 인증 15일 차 - 아이 캔 C 3월 과정 스프링을 오랜만에 공부하니 새록새록 떠오른다. 자바의 추운 겨울이 지나가고 따뜻한 봄이라는 스프링.. 아직 나에겐 추운 겨울처럼 덜덜 떨게 한다. 자바 공부가 아직도 부족하게 ..

[스프링 핵심 원리] [02. 스프링 핵심 원리 이해 - 예제 만들기] 01. 비즈니스 요구사항과 설계 | 02. 회원 도메인 설계 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 02. 스프링 핵심 원리 이해 1 - 예제 만들기 01. 프로젝트 생성 02. 비즈니스 요구사항과 설계 03. 회원 도메인 설계 04. 회원 도메인 개발 05. 회원 도메인 실행과 테스트 06. 주문과 할인 도메인 설계 07. 주문과 할인 도메인 개발 08. 주문과 할인 도메인 실행과 테스트 Academe Theory01. Spring Theory02. AWS GitHub Study [코뮤니티 모각코] 아이 캔 C 모각코 출석 인증 15일 차 - 아이 캔 C 3월 과정 스프링을 오랜만에 공부하니 새록새록 떠오른다. 자바의 추운 겨울이 지나가고 따뜻한 봄이라는 스프링.. 아직 나에겐 추운 겨울처럼 덜덜 떨게 한다. 자바 공부가 아직도 부족하게 ..

[TIL] 2021.04.06 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 02. 스프링 핵심 원리 이해 1 - 예제 만들기 01. 프로젝트 생성 02. 비즈니스 요구사항과 설계 03. 회원 도메인 설계 04. 회원 도메인 개발 05. 회원 도메인 실행과 테스트 06. 주문과 할인 도메인 설계 07. 주문과 할인 도메인 개발 08. 주문과 할인 도메인 실행과 테스트 Academe Theory01. Spring Theory02. AWS GitHub Study c [코뮤니티 모각코] 아이 캔 C 모각코 출석 인증 15일 차 - 아이 캔 C 3월 과정 스프링을 오랜만에 공부하니 새록새록 떠오른다. 자바의 추운 겨울이 지나가고 따뜻한 봄이라는 스프링.. 아직 나에겐 추운 겨울처럼 덜덜 떨게 한다. 자바 공부가 아직도 부족하게 ..

[스프링 핵심 원리] [01. 객체 지향 설계와 스프링] 06. 객체 지향 설계와 스프링 [내부링크]

SOLID 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리 SRP: 단일 책임 원칙(Single responsibility principle) OCP: 개방-폐쇄 원칙(Open/closed principle) LSP: 리스코프 치환 원칙(Liskov substitution principle) ISP: 인터페이스 분리 원칙(Interface segregation principle) DIP: 의존관계 역전 원칙(Dependency inversion principle) SRP: 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임이라는 것은 모호하다. 클 수 있고, 작을 수 있다. 문맥과 상황에 따라 다르다. 중요한 기준은 변경이다. 변경이 있을 때 파급 효과가 적으..

[스프링 핵심 원리] [01. 객체 지향 설계와 스프링] 05. 좋은 객체 지향 설계의 5가지 원칙(SOLID) [내부링크]

SOLID 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리 SRP: 단일 책임 원칙(Single responsibility principle) OCP: 개방-폐쇄 원칙(Open/closed principle) LSP: 리스코프 치환 원칙(Liskov substitution principle) ISP: 인터페이스 분리 원칙(Interface segregation principle) DIP: 의존관계 역전 원칙(Dependency inversion principle) SRP: 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임이라는 것은 모호하다. 클 수 있고, 작을 수 있다. 문맥과 상황에 따라 다르다. 중요한 기준은 변경이다. 변경이 있을 때 파급 효과가 적으..

[스프링 핵심 원리] [01. 객체 지향 설계와 스프링] 04. 좋은 객체 지향 프로그래밍? [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 01. 객체 지향 설계와 스프링 04. 좋은 객체 지향 프로그래밍이란? 05. 좋은 객체 지향 설계의 5가지 원칙(SOLID) 06. 객체 지향 설계와 스프링 Academe Theory01. Spring GitHub Study [코뮤니티 모각코] 아이 캔 C 모각코 출석 인증 14일 차 - 아이 캔 C 3월 과정 TIL은 꾸준히 블로그에 남겨왔지만 코멘트는 오랜만에 남긴다. 2주 정도 그냥저냥 공부했다. 완전히 쉬지도 않고 그렇다고 아예 놓지도 못하고 지낸 2주였다 왜 그런지 모르겠는데 정말 무기력한 일상이 계속됐다. 그럼에도 아예 놓지 않고 SQL과 모각코(C언어)를 꾸준히 해서 다행이다. 지금도 후회하는데 나머지마저 놓았다면 정말 더 후회..

[TIL] 2021.04.05 [내부링크]

Spring [스프링 핵심 원리 - 기본 편] 01. 객체 지향 설계와 스프링 04. 좋은 객체 지향 프로그래밍이란? 05. 좋은 객체 지향 설계의 5가지 원칙(SOLID) 06. 객체 지향 설계와 스프링 Academe Theory01. Spring GitHub Study c [코뮤니티 모각코] 아이 캔 C 모각코 출석 인증 14일 차 - 아이 캔 C 3월 과정 TIL은 꾸준히 블로그에 남겨왔지만 코멘트는 오랜만에 남긴다. 2주 정도 그냥저냥 공부했다. 완전히 쉬지도 않고 그렇다고 아예 놓지도 못하고 지낸 2주였다 왜 그런지 모르겠는데 정말 무기력한 일상이 계속됐다. 그럼에도 아예 놓지 않고 SQL과 모각코(C언어)를 꾸준히 해서 다행이다. 지금도 후회하는데 나머지마저 놓았다면 정말 더 후회..

[Goal] 2021.04 [내부링크]

Goal ; Spring [스프링 핵심 원리 - 기본편] 00. 강의 소개 (04.02 완료) 01. 객체 지향 설계와 스프링 (04.05 완료) 02. 스프링 핵심 원리 이해 1 - 예제 만들기 03. 스프링 핵심 원리 이해 2 - 객체 지향 원리 이용 04. 스프링 컨테이너와 스프링 빈 05. 싱글톤 컨테이너 06. 컴포넌트 스캔 07. 의존관계 자동 주입 08. 빈 생명주기 콜백 09. 프로토타입 스코프 - 싱글톤 빈과 함께 사용시 문제점 10. 다음으로 SQL [데이터베이스 모델링] 01. 데이터 모델링이란? 02. 논리적 모델링 03. 정규화 04. 물리적 모델링

[스프링 핵심 원리] [01. 객체 지향 설계와 스프링] 03. 스프링이란? [내부링크]

Spring [스프링 핵심 원리 - 기본편] 00. 강의 소개 01. 강의 소개 02. 강의 자료 [스프링 핵심 원리 - 기본편] 01. 객체 지향 설계와 스프링 01. 객체 지향 설계와 스프링 - PPT 자료 다운로드 02. 이야기 - 자바 진영의 추운 겨울과 스프링의 탄생 03. 스프링이란? Academe Theory01. Spring GitHub Study [코뮤니티 모각코] 아이 캔 C 모각코 출석 인증 13일 차 - 아이 캔 C 3월 과정

[TIL] 2021.04.02 [내부링크]

Spring [스프링 핵심 원리 - 기본편] 00. 강의 소개 01. 강의 소개 02. 강의 자료 [스프링 핵심 원리 - 기본편] 01. 객체 지향 설계와 스프링 01. 객체 지향 설계와 스프링 - PPT 자료 다운로드 02. 이야기 - 자바 진영의 추운 겨울과 스프링의 탄생 03. 스프링이란? Academe Theory01. Spring GitHub Study c [코뮤니티 모각코] 아이 캔 C 모각코 출석 인증 13일 차 - 아이 캔 C 3월 과정

[TIL] 2021.04.01 [내부링크]

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

[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..

[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..

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

기존 테이블로 새 테이블 만들기 특히 20세 이상 30세 미만의 회원들이 남긴 리뷰들만 따로 beta_review_20s라는 이름의 테이블로 저장해두려고 합니다. 이 테이블의 컬럼 구조와 똑같은 구조를 가진 테이블을 새로 만들고 거기에 20대가 남긴 리뷰만 넣으면 될 것 같네요. SQL 문으로 직접 이 작업을 수행해보세요. CREATE TABLE beta_review_20s LIKE beta_review; INSERT INTO beta_review_20s SELECT * FROM beta_review WHERE age >= 20 AND age < 30; 본 내용은 Codeit의 '개발자를 위한 SQL 데이터베이스' 강의를 참고하여 작성한 내용입니다.

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

컬럼에 속성 주기 각 컬럼의 현재 데이터 타입 및 속성은 다음과 같습니다. id : INT NOT NULL AUTO_INCREMENT isbn : VARCHAR(50) NULL page : INT NOT NULL author : VARCHAR(20) NOT NULL kind : VARCHAR(10) NOT NULL location : VARCHAR(10) NOT NULL 이 테이블에 관해서 다음과 같은 작업을 수행하세요. a. isbn 컬럼에 NOT NULL 속성과 UNIQUE 속성 주기 b. page 컬럼에 0보다 큰 값이 들어와야 한다는 제약사항 설정하기(제약 사항 이름은 page_rule 이라고 짓기) c. kind 컬럼의 이름을 genre_code로 바꾸면서, 동시에 그 데이터 타입을 INT로 설..

[TIL] 2021.03.30 [내부링크]

SQL [SQL로 하는 데이터 관리] 02. 테이블 다루기 07. 컬럼에 NOT NULL 속성 주기 08. 컬럼에 DEFAULT 속성 주기 09. DATETIME, TIMESTAMP 타입의 컬럼에 값을 넣는 2가지 방식 10. 컬럼에 UNIQUE 속성 주기 11. Primary Key와 Unique 속성의 차이(심화) 12. 테이블에 CONSTRAINT 걸기 1 13. 테이블에 CONSTRAINT 걸기 2 14. 그밖의 컬럼 관련 작업들 15. 컬럼에 속성 주기 퀴즈 16. 컬럼에 속성 주기 과제 17. 테이블 이름 변경, 복사본 만들기, 삭제 18. 테이블 컬럼 구조만 복사하기 19. INSERT INTO 문과 서브쿼리 20. TRUNCATE으로 데이터 한 번에 날리기 21. 기존 테이블로 새 테이..

[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..

[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..

[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..

[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..

[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. 테이블 갱신과 삭제..

[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..

[TIL] 2021.03.28 [내부링크]

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

[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..

[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 데이터베이스' 강의를 참고하여 작성한 내용입니다.

[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

[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) 상품 등록 연도 컬럼('등록 연도'라..

[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의 '개발자를 ..

[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을 쓸 수도 있..

[TIL] 2021.03.25 [내부링크]

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

[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

[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..

[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 데이터베이스' 강의를 참고하여 작성한 내용입니다.

[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..

[TIL] 2021.03.22 [내부링크]

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

[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 데이터베이스' 강의를 참고하여 작성한 내용입니다.

[스프링 입문] 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..

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

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

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

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

[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을 붙이고 바로 쓸 수 없는 이유(심..

[스프링 입문] 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..

[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. 데이터 조회 과..

[스프링 입문] 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..

[스프링 입문] 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..

[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..

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

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

[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 모각..

[스프링 입문] 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...

[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..

[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만 복습할 때랑 새로운 것을 배울 때랑은 기분도 다르고 재미..

[TIL] 2021.03.12 [내부링크]

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

[TIL] 2021.03.11 [내부링크]

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

[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 지식을 채울 수 있는 ..

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

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

[자바 중급 개념] 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..

[자바 중급 개념] 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..

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

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

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

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

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

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

[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. ..

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

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

[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..

[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에 들어가려고 했는데 컨디션이 안 좋아서 ..

[자바 중급 개념] 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의 가치를 갖는 경우..

[자바 중급 개념] 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입니다. ..

[HTTP 웹 기본 지식] 06. HTTP 상태코드 [내부링크]

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

[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월이 되고 나서 진도를 조금 천천히 나가고 있는데 다음 주부터는 ㅃㅏㄱ세게 해야겠다. 주차별 계획을 세워야겠음... 미루기 방지 생일 선물로 컵을 받았는데 마음에 쏙 들어서 야밤에 커피를 ..

[HTTP 웹 기본 지식] 05. HTTP 메서드 활용 [내부링크]

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

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

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

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

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

[자바 객체 지향 프로그래밍] 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..

[자바 객체 지향 프로그래밍] 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() 예약자 이름을 없애줍니다...

[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..

[자바 객체 지향 프로그래밍] 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)..

[자바 객체 지향 프로그래밍] 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..

[자바 객체 지향 프로그래밍] 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..

[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 어제 미리 세워놓았던 계획의 절반도 못한 것 같다... 그래도 미니 프로젝트 발표가 끝나서 속이 시원하다. 내일부터는 다시 집중 상태로 돌아가서 열심히 공부해야지! 어서 마스크 벗고 산책할 수 있는 날이 왔으면 좋겠다. 지금도 거닐다 보면 상쾌한데 마스크가 없다면 얼마나 더 상쾌할까

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

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

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

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

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

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

[HTTP 웹 기본 지식] 04. HTTP 메서드 [내부링크]

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

[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..

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

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

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

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

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

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

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

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

[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..

[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..

[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 사용, 성능 개선 ..

[자바 객체 지향 프로그래밍] 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..

[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. 소통 게시판 활성화 개인 공부 시간은 정말 소중하다고 생각되는 하루이다. 최근에 프로젝트를 하느라 개인공부를 할 시간이 전혀 없어서 마음..

[서포터즈 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 점심은 다들 드셨나요? 대한민국 모임의 시작, 네..

[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..

[자바 객체 지향 프로그래밍] 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);..

[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..

[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..

[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. ..

[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..

[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'이 '..

[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'..

[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', ..

[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 기능을 모두 넣어서 뿌듯하다. 힘들었지만 그만큼 배운 것도 많고 제자리..

[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..

[jQuery 활용하기] 03. jQuery 2 [내부링크]

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

[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가 가능한 리뷰 게시판과 데이터베이스 그리고 디자인도 완성했다. (내가 담당한 기능은 아니지만 회원가입/로그인 기능과 데이터베이스도 연습해봤다.) 마지막으로 같이 하기로 한 ..

[서포터즈 1기] 알고리즘 문제 풀기 [내부링크]

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

[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..

[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()..

[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..

[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-..

[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..

[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..

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

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

[Mini Project c️] 06. 접속한 회원 세션 관리 [내부링크]

Web Server는 회원을 세션 아이디로 구분할 수 있다. (세션이란? 실시간 접속한 회원에 할당해주는 고유 아이디) 로그인을 성공했을 경우 세션 아이디를 부여하는 것으로 세션관리가 시작된다. 또한, 로그아웃했을 경우 세션 아이디를 해지해야 한다. 1. loginAction와 joinAction에서 각각 로그인에 성공한 회원에게 세션을 부여한다. session.setAttribute("userID", user.getUserID()); 2. 할당된 세션을 다시 해지해주는 페이지를 만들어야한다. (logoutAction) logoutAction.jsp 3. joinAction과 loginAction에 로그인한 계정은 다시 로그인할 수 없도록 조건을 준다. String userID = null; if(ses..

[Mini Project c️] 05. 회원가입 기능 구현 [내부링크]

회원가입 기능은 UserDAO에 함수를 추가하면 된다. 추가하는 함수는 아래와 같다. public int join(User user) { String SQL = "INSERT INTO USER VALUES (?, ?, ?, ?, ?)"; try { pstmt=conn.prepareStatement(SQL); pstmt.setString(1, user.getUserID()); pstmt.setString(2, user.getUserPassword()); pstmt.setString(3, user.getUserName()); pstmt.setString(4, user.getUserGender()); pstmt.setString(5, user.getUserEmail()); return pstmt.execute..

[Mini Project c️] 04. 회원가입 페이지 디자인 [내부링크]

만들었던 login.jsp 소스를 복사해서 join.jsp에서 사용한다. 네비게이션 부분은 수정하지 않고 회원가입 양식을 추가한다. join.jsp 회원가입 화면 남자 여자

[Mini Project c️] 03. 로그인 기능 구현 [내부링크]

JSP에서 회원 데이터베이스 테이블로 접근할 수 있도록 DAO를 만들어줘야한다. (DAO란? 데이터베이스에서 회원 정보를 불러오거나 정보를 저장할 때 사용한다.) UserDAO.java package user; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; public class UserDAO { private Connection conn; private PreparedStatement pstmt; private ResultSet rs; public UserDAO() { try { String dbURL = "jdbc:mysql://lo..

[Mini Project c️] 02. 회원 데이터베이스 구축 [내부링크]

데이터베이스는 Mysql을 사용한다. 아래와 같이 데이터베이스 테이블을 생성한다. 회원 데이터를 다룰 수 있는 데이터베이스 및 자바 빈즈 생성한다. User.java package user; public class User { private String userID; private String userPassword; private String userName; private String userGender; private String userEmail; public String getUserID() { return userID; } public void setUserID(String userID) { this.userID = userID; } public String getUserPassword() {..

[Mini Project c️] 01. 로그인 화면 구축 [내부링크]

디자인은 기본적으로 부트스트랩을 사용하기로 했다. 부트스트랩은 화면 해상도에 따라서 디자인이 변경된다. (PC, 모바일 등 따로 구축할 필요가 없다.) 프로젝트를 진행하다 시간적 여유가 있으면 CSS 연습을 하며 변경할 예정이다. login.jsp 따릉이는 처음이라 메인 게시판 접속하기 로그인 회원가입 로그인 화면

[TIL] 2021.02.22 [내부링크]

jQuery [jQuery 활용하기] 03. jQuery 2 03. 스크롤 1 04. 스크롤 2 05. each 06. 홀짝 Mini Project c️ [JSP 게시판 만들기] 02. 회원 데이터베이스 구축하기 03. 로그인 기능 구현하기 04. 회원가입 페이지 디자인 05. 회원가입 기능 구현하기 06. 접속한 회원 세션 관리하기 07. 게시판 메인 페이지 디자인 08. 게시판 데이터베이스 구축하기 09. 글쓰기 기능 구현하기 10. 게시판 글 목록 기능 구현하기 11. 게시글 보기 기능 구현하기 12. 게시글 수정 및 삭제 기능 구현하기 GitHub Study c [주간 필수 미션] 01. 코뮤니티 카페 활동 후기 02. 내가 좋아하는 언어(or알고리즘)로 문제 만들기 [게릴라 미션] 01...

[jQuery 활용하기] 03. jQuery 2 [내부링크]

Furniture Shop '가구계의 아마존', Furniture Shop이 블랙 프라이데이를 맞아 할인 쿠폰을 제공하려고 합니다. '쿠폰 받기' 버튼을 누르면 팝업이 1초 이내에 부드럽게 나타나고, '확인' 버튼 또는 키보드의 esc 키를 누르면 팝업이 1초 이내에 부드럽게 없어져야 합니다. SHOP CART LOGIN 블랙 프라이데이 슈퍼 세일 최대 50% 할인의 혜택을 받아보세요! 쿠폰 받기 다운 완료! 내 쿠폰함에서 확인하세요! 확인 * { box-sizing: border-box; } body { margin: 0; min-width: 992px; font-family: "Helvetica"; } /* navbar */ .navbar { height: 75px; padding-left: 30px..

[TIL] 2021.02.21 [내부링크]

jQuery [jQuery 활용하기] 02. 이벤트01. 이벤트 객체 들여다보기02. 이벤트 객체 파라미터?03. 코드 줄이기04. 다양한 이벤트 정리05. $(document).ready, 그리고 익명 함수 [jQuery 활용하기] 03. jQuery 201. 요소 숨기기, 보여주기02. Furniture Shop Mini Project c️[JSP 게시판 만들기] 01. Hellow World!02. 로그인 페이지 디자인 GitHub 주말에 푹 쉬고 저녁부터 공부를 시작했다. 기분 좋게 jQuery 강의와 실습을 하고 2021년도 일요일 두 번째 커밋을 완성해서 기분이 좋았다.. 그러나, Mini Project를 진행하는 와중에 생각지도 못한 복병이 나를 힘들게 했다... tomcat 너란 자식..

[jQuery 활용하기] 01. jQuery 1 [내부링크]

깨깨오톡 주어진 HTML/CSS 코드를 분석한 후, 자바스크립트로 아래의 조건들을 따라서 기능을 추가해주세요: 메시지를 입력하고 '전송' 버튼을 클릭하면 새로운 말풍선이 생깁니다. 친구가 보낸 말풍선은 .friend-bubble 클래스를 갖고 있지만, 내가 보낸 말풍선은 .my-bubble 클래스를 갖고 있습니다. 메시지가 전송되면 는 다시 빈 칸이 됩니다. 가 비어 있으면 메시지는 보내지지 않습니다. siri 잘 지내? 자니? 전송 * { box-sizing: border-box; } body { background-image: url('background.jpg'); font-family: 'Noto Sans KR', sans-serif; } .chat-container { margin: 60px a..

[jQuery 활용하기] 01. jQuery 1 [내부링크]

청기 백기 II 저번에는 내려간 깃발이 다시 올라오지 않았는데, 이번에는 다시 깃발이 올라오도록 써주세요. 그리고 재미를 조금 더하기 위해, 깃발이 1초 뒤에 올라오도록 써줄 텐데요. setTimeout 함수를 사용하면 동작을 몇 초 후에 실행되도록 설정할 수 있습니다. // someFunction 함수가 1초 후 실행 setTimeout(someFunction, 1000); // someFunction 함수가 3.5초 후 실행 setTimeout(someFunction, 3500); 청기 내려 청기 내리지 말고 백기 내려 점선 청기 내려 * { box-sizing: border-box; } body { font-family: 'Noto Sans KR', sans-serif; text-align: cen..

[jQuery 활용하기] 01. jQuery 1 [내부링크]

청기 백기 I “청기 내려. 백기 올려. 청기 내리지 말고 백기 올려!” '청기 백기' 게임 아시죠? 참가자들이 한 손에는 청기를, 다른 손에는 백기를 들고 있다가 사회자가 말하는 대로 동작을 해야 하는 게임입니다. 예를 들어, 사회자가 "청기 내리지 말고 백기 들어!"라고 외치면 그대로 따라해야 합니다. 만약 실수로 청기를 내린다거나 백기를 들지 않으면 탈락하게 됩니다. 이 게임을 한 번 만들어봅시다. 주어진 코드를 실행해보시면 총 6개의 깃발과, 3개의 버튼이 있습니다. HTML 코드와 CSS 코드를 분석한 후, 앞서 배운 jQuery 선택자와 메소드(함수)를 이용해, 각 버튼이 제대로 동작하도록 스크립트를 작성해보세요. 깃발이 다시 올라오는 기능은 청기 백기 II 과제에서 구현할 테니, 일단은 내려..

[jQuery 시작하기] 04. 프로젝트: 드럼 시퀀서 [내부링크]

드럼 시퀀서 III 마지막 파트에서는: 키보드로 1에서 9까지의 숫자를 누르면 해당 드럼 소리가 나도록 해주세요. 같은 버튼을 빠르게 여러 번 눌러도 소리가 끊어지지 않아야 합니다. 누를 때마다 매번 드럼 소리를 처음부터 재생해주세요. 숫자 1에서 9까지가 아닌 다른 값을 입력하면 무시되어야 합니다. 예를 들어서 키보드로 q를 입력하면 오류도 나지 않고, 다른 특별한 동작도 없어야 합니다. 소리가 녹화되지 않아서 아쉽다. 모든 버튼이 다 다른 소리가 나게 구성되어있다. 1 Kick 2 Closed Hi-hat 3 Open Hi-hat 4 Clap 5 Snap 6 Crash 7 Tom 1 8 Tom 2 9 Tambourine * { box-sizing: border-box; } body { margin: ..

[jQuery 시작하기] 04. 프로젝트: 드럼 시퀀서 [내부링크]

드럼 시퀀서 II 두 번째 파트에서는: 키보드로 숫자 1에서 숫자 9를 누르면 해당 'cell'에 'playing' 클래스가 추가되어야 합니다. 예를 들어서 숫자 1을 누르면 #cell1에 'playing' 클래스가 추가되고, 5을 누르면 #cell5에 'playing' 클래스가 추가되는 거죠. 키보드에서 손을 떼면 모든 'cell'에서 'playing' 클래스를 없애줘야 합니다. 아직 드럼 소리는 넣지 마세요. 1 Kick 2 Closed Hi-hat 3 Open Hi-hat 4 Clap 5 Snap 6 Crash 7 Tom 1 8 Tom 2 9 Tambourine * { box-sizing: border-box; } body { margin: 0; font-family: "Helvetica"; bac..

[jQuery 시작하기] 04. 프로젝트: 드럼 시퀀서 [내부링크]

드럼 시퀀서 I 요즘의 음악 트렌드를 따라가기 위해 비트메이킹을 배워보려고 합니다. 하지만 '런치패드'를 살 돈이 없기 때문에 자바스크립트로 대안을 만들 건데요. 우선 만들려고 하는 사이트의 완성본을 살펴보세요. 오른쪽에는 루프 음원을 실행할 수 있는 '재생 버튼'과 '정지 버튼'이 있고, 키보드로 숫자 1에서 9까지 입력하면 해당 드럼 소리가 재생됩니다. 과제를 세 파트로 나누어 진행해볼게요. 이번 첫 번째 파트에서는: #play-btn을 누르면 loop.mp3 파일이 실행되어야 합니다. #stop-btn을 누르면 loop.mp3 파일이 멈추고, 다시 음원의 처음으로 돌아가야 합니다. 1 Kick 2 Closed Hi-hat 3 Open Hi-hat 4 Clap 5 Snap 6 Crash 7 Tom 1..

[인터랙티브 Javascript] 03. 이벤트 살펴보기 [내부링크]

효율적으로 완료한 일 체크하기! 이벤트 위임을 활용할 수 있도록 이벤트 핸들러, updateToDo 함수를 완성해 주세요. updateToDo는 이벤트가 발생한 대상이 item이라는 클래스 속성 값을 가지고 있을 때 동작해야 합니다. 이벤트 핸들러를 li 태그 각각에 등록하는 것이 아니라 하나의 태그에만 등록해 주세요. 코드를 잘 작성했다면, 첫 번째 두 번째 할 일 뿐만아니라 자바스크립트로 추가한 네 번째 할 일을 클릭했을 때도 'done'이라는 class 속성값이 toggle되면서 스타일 변해야 합니다. 세 번째 할 일은 클릭을 해도 아무런 변화가 없어야 합니다. 오늘 할 일 자바스크립트 공부하기 고양이 화장실 청소하기 고양이 장난감 쇼핑하기 body { margin: 0; padding: 0; di..

[인터랙티브 Javascript] 03. 이벤트 살펴보기 [내부링크]

완료한 일 체크하기! 이벤트 객체를 활용한 이벤트 핸들러, updateToDo 함수를 완성해 주세요. 이 함수는 이벤트가 발생한 대상에 'done'이라는 class 속성값을 toggle하는 함수여야 합니다. 반복되는 부분들이 좀 더 간단하게 정리되도록 이벤트 핸들러를 등록하는 반복문을 작성해 주세요. 코드를 잘 작성했다면, 첫 번째 두 번째 할 일은 클릭했을 때 'done'이라는 class 속성값이 toggle되면서 스타일이 변하고, 세 번째 할 일은 클릭을 해도 아무런 변화가 없어야 합니다. 오늘 할 일 자바스크립트 공부하기 고양이 화장실 청소하기 고양이 장난감 쇼핑하기 body { margin: 0; padding: 0; display: flex; align-items: center; justify-..

[TIL] 2021.02.19 [내부링크]

JavaScript [인터랙티브 자바스크립트] 03. 이벤트 살펴보기 01. 이벤트 핸들러 등록하기 02. 다양한 이벤트 03. 이벤트 핸들러 등록하기 퀴즈 04. 이벤트 객체 05. 이벤트 객체 프로퍼티 06. 완료한 일 체크하기! 07. 이벤트 버블링 08. 캡쳐링 09. 이벤트 버블링 퀴즈 10. 이벤트 위임 11. 효율적으로 완료한 일 체크하기! 12. 브라우저의 기본 동작 13. 브라우저의 기본 동작 퀴즈 14. 종합 정리 jQuery [jQuery 활용하기] 01. jQuery 1 01. DOM pt. 1 02. DOM pt. 2 03. jQuery 사용해보기 04. jQuery = '선택'과 '동작' 05. CSS로 '선택'하기 06. jQuery 내부 살펴보기 07. jQuery의 ..

[인터랙티브 Javascript] 02. 브라우저와 자바스크립트 [내부링크]

오늘 꼭 해야할 일! 본인이 작성한 태그 안에 li 태그로 오늘 할 일들을 추가하고 싶어합니다. li 태그이름을 가진 요소 노드를 만든 다음 그 요소 노드에 파라미터로 전달받은 오늘 할 일(text)을 담고 태그의 마지막 자식 요소 노드로 추가하는 addNewTodo함수를 완성해 주세요. 오늘 할 일 body { margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; } .main { width: 350px; margin: 40px; padding: 30px 0; background-color: #fcfcfc; box-shadow: -5px -5px 20px #FFFFFF, 5px 5px 20px #BABECC..

[TIL] 2021.02.18 [내부링크]

JavaScript [인터랙티브 자바스크립트] 02. 브라우저와 자바스크립트 01. 브라우저도 객체다? 02. DOM 03. console.dir? 04. DOM 트리 05. DOM 트리 여행하기 06. DOM 트리 여행하기: 부록 07. DOM 트리 여행하기 퀴즈 08. 요소 노드 프로퍼티 09. inner/outerHTML, textContent 비교 10. 요소 노드 프로퍼티 퀴즈 11. 요소 노드 추가하기 12. 노드 삭제와 이동하기 13. 오늘 꼭 해야 할 일! 14. HTML 속성 다루기 15. HTML 속성 다루기 퀴즈 16. 스타일 다루기 17. 스타일 다루기 퀴즈 18. 비표준 속성 다루기 19. 종합정리 jQuery [jQuery 시작하기] 04. 프로젝트: 드럼 시퀀서 01. ..

[인터랙티브 Javascript] 01. 인터랙티브 자바스크립트 시작하기 [내부링크]

정답일까? 주어진 코드를 실행했을 때 화면에 나타나는 채점이라고 적힌 button 태그를 클릭하면 정답입니다!c라는 경고창이 나타나도록 코드를 작성해 주세요. (박수 이모지 만들기가 어렵다면 본문의 글을 복사해서 붙여넣어 보세요) 단, HTML 태그에 직접 이벤트 핸들러를 등록하지 말고 자바스크립트 파일에서 코드를 작성해 주세요. 정답일까? 채점 body { text-align: center; padding: 30px 0; } #title { font-weight: 500; } #grade { width: 65px; height: 35px; color: #6500c3; font-size: 15px; border: solid 1px #6500c3; border-radius: 5px; background-..

[jQuery 시작하기] 02. 과제로 워밍업 [내부링크]

D-DAY 계산기 만난지 며칠 되었는지 계산해주는 웹사이트를 만들어보려고 합니다. 시작 날짜가 제대로 입력되지 않은 채로 버튼을 누를 경우, '시작 날짜를 입력해주세요!'라는 메시지를 알러트창으로 띄웁니다. 5월 13일에 만났고 현재 5월 13일이면 '만난지 1일째'입니다. 5월 13일에 만났고 현재 5월 14일이면 '만난지 2일째'입니다. 만난지 00일째 시작일 결과 보기 * { box-sizing: border-box; } body { margin: 0; min-width: 992px; font-family: "Helvetica"; } /* navigation bar */ .navbar { height: 66px; background-color: white; text-align: center; lin..

[jQuery 시작하기] 02. 과제로 워밍업 [내부링크]

이메일 광고 처음에는 'Send' 버튼이 회색(#9E9E9E)으로 비활성화되어 있다가, 방문자가 올바른 형태의 이메일을 입력하면 파란색(#4D79C2)으로 활성화되어야 합니다. 이메일에는 @가 포함되어 있어야 한다. @ 뒤에는 최소 1개 이상의 .이 포함되어 있어야 한다. 이메일의 필수요소인 '@', '.'이 입력되어야 send버튼 활성화! PRODUCTS BLOG HOME ABOUT LOGIN 더 많은 정보와 이벤트 등을 받아보고 싶으면 이메일을 입력해주세요! * { box-sizing: border-box; } body { font-family: 'Roboto', sans-serif; margin: 0; min-width: 992px; } /* Navigation Bar */ .navbar { pos..

[jQuery 시작하기] 02. 과제로 워밍업 [내부링크]

데이터 분석하기 배열 birthdayData에는 11개의 문자열이 있습니다. 각 문자열에는 생년월일 8자리와 이름이 나와 있고요. 이 중 미성년자만 골라서 출력해주는 함수를 써봅시다. 2017년 기준으로 98년생까지 성년, 99년생부터가 미성년자입니다. var birthdayData = [ '20010309전소미', '19960828김세정', '19991112최유정', '19960209김청하', '19990719김소혜', '19981216주결경', '19971201정채연', '19991204김도연', '19991204강미나', '19951218임나영', '19990803유연정' ]; function printMinors(arr) { console.log("미성년자 명단:"); arr = 1998; for..

[jQuery 시작하기] 02. 과제로 워밍업 [내부링크]

문자 개수 세기 주어진 단어에 특정 알파벳이 몇 번 들어가는지 세어주는 프로그램을 작성해봅시다. 예를 들어 countCharacter('AbaCedEA', 'E') 함수는 'AbaCedEA' 에서 E가 몇 번 들어갔는지 세는 함수로 실행결과는 2입니다. 여기서 주의해야 할 점은 대소문자를 구분하지 않는 다는 점입니다. countA(word) 함수는 단어에 'A'가 몇 번 들어가는지 출력하는 함수입니다. 마찬가지로 대소문자를 구분하지 않습니다. // 주어진 단어(word)에 특정 알파벳(ch)이 몇 번 들어가는지 세어주는 함수 function countCharacter(word, ch) { var count = 0; let big = word.toUpperCase(); for (let k = 0; k < ..

[TIL] 2021.02.17 [내부링크]

JavaScript [인터랙티브 자바스크립트] 01. 인터랙티브 자바스크립트 시작하기 01. 웹 서비스와 Javascript 02. HTML/CSS + Javascript 맛보기 03. id로 태그 선택하기 04. id로 태그 선택하기 퀴즈 05. class로 태그 선택하기 06. 유사 배열(Array-like Object)이란..? 07. class로 태그 선택 퀴즈 08. 태그 이름으로 태그 선택하기 09. css 선택자로 태그 선택하기 10. css 선택자로 태그 선택하기 퀴즈 11. 이벤트와 버튼 클릭 12. 정답일까? 13. 종합 정리 jQuery [jQuery 시작하기] 02. 과제로 워밍업 01. Javascript의 기능들 02. Math 정리 노트 03. String 정리 노트 0..

[jQuery 시작하기] 01. HTML, CSS와의 콜라보레이션 [내부링크]

아이디 비밀번호 검사 자바스크립트를 활용해서 '로그인 페이지'를 수정하려고 하는데요. 아이디 혹은 비밀번호 둘 중 하나라도 입력란이 비어있다면, 로그인 버튼이 '비활성화'되어서 버튼의 배경색이 #9B9B9B로 설정되어야 합니다. 사용자가 아이디와 비밀번호를 둘 다 입력하면, 로그인 버튼이 '활성화'되어서 버튼의 배경색이 #1BBC9B로 바뀌어야 합니다. 아이디와 비밀번호 모두 입력할 경우에만 로그인 버튼 활성화 비밀번호를 잊어버리셨나요? * { box-sizing: border-box; font-family: 'Noto Sans KR', sans-serif; } body { margin: 0; background-color: #1BBC9B; } .login-form { width: 300px; backg..

[프로그래밍과 데이터 in JavaScript] 04. 과제로 복습하기 [내부링크]

팰린드롬 팰린드롬 여부를 확인하는 함수 isPalindrome을 작성하려고 하는데요. isPalindrome은 파라미터 word가 팰린드롬이면 true를 리턴하고 팰린드롬이 아니면 false를 리턴합니다. function isPalindrome(word) { for (let i = 0; i < Math.floor(word.length / 2); i++) { let left = word[i]; let right = word[word.length - 1 - i] if (left !== right) { return false } } return true } // 테스트 코드 console.log(isPalindrome("racecar")); console.log(isPalindrome("stars")); co..

[프로그래밍과 데이터 in JavaScript] 04. 과제로 복습하기 [내부링크]

현명하게 거스름돈을 계산해 주는 프로그램을 만들려고 합니다. 예를 들어 33,000원짜리 물건을 사기 위해 100,000원을 냈다면, 이런 식으로 '가장 적은 수'의 지폐를 거슬러 주는 것입니다. 50,000원 1장 10,000원 1장 5,000원 1장 1,000원 2장 우리는 calculateChange라는 함수를 작성하려고 하는데요. 이 함수는 지불한 금액을 나타내는 payment와 물건의 가격을 나타내는 cost를 파라미터로 받습니다. function calculateChange(payment, cost) { let change = payment - cost; const fiftyCount = (change - (change % 50000)) / 50000; change = change - 5000..

[프로그래밍과 데이터 in JavaScript] 04. 과제로 복습하기 [내부링크]

팩토리얼 파라미터로 양의 정수 n을 받고 n!을 계산해서 리턴해주는 함수 factorial을 작성해주세요. function factorial(n) { let result = 1; for(let i = 1; i

[프로그래밍과 데이터 in JavaScript] 03. 자료형 [내부링크]

레시피 만들기 아메리카노는 에스프레소에 물을 더한 메뉴이고 카페라떼는 에스프레소에 우유를 더한 메뉴라고 배웠습니다. 카페 모카(mocha) 와 바닐라 라떼(vanillaLatte) 레시피도 만들어 주세요. 모카는 에스프레소에 우유와 초코 시럽을, 바닐라 라떼는 에스프레소에, 우유와 바닐라 시럽을 더한 메뉴입니다. // 아래 코드중 잘못된 부분을 수정해 주세요. let espresso = ['espresso']; let americano = espresso.slice(); americano.push('water'); let caffeLatte = espresso.slice(); caffeLatte.push('milk'); // 여기에 caffeMocha와 vanillaLatte 레시피를 만들어 주세요. l..

[프로그래밍과 데이터 in JavaScript] 03. 자료형 [내부링크]

그래, 우리 함께 lyrics 문자열에 적절한 메소드를 활용해서 형돈의 부분만 떼어내고 hyungdon 변수에 재할당 해주세요. let lyrics = "[재석]너에게 나 하고 싶었던 말 고마워 미안해 함께 있어서 할 수 있어서 웃을 수 있어" + "[준하] 정말 고마웠어 내 손을 놓지 않아줘서 힘을 내볼게 함께 있다면 두렵지 않아" + "[홍철] 내가 늘 웃으니까 내가 우습나 봐 하지만 웃을 거야 날 보고 웃는 너 좋아" + "[명수] 자꾸만 도망치고 싶은데 저 화려한 큰 무대 위에 설 수 있을까? 자신 없어.." + "[하하] 지금까지 걸어온 이 길을 의심하지는 마 잘못 든 길이 때론 지도를 만들었잖아" + "[형돈] 혼자 걷는 이 길이 막막하겠지만 느리게 걷는 거야 천천히 도착해도 돼" + "[길]..

[프로그래밍과 데이터 in JavaScript] 03. 자료형 [내부링크]

이자 계산기 2년 뒤에 받게 될 금액으로 위안 삼으려고 적금 이자를 계산해주는 함수를 만들어보려고 합니다. 이자율(rate), 매월 납입 금액(payment), 납입 기간(term)을 파라미터로 전달하면, 만기 후 받게 될 이자를 출력하는 interestCalculator 함수를 완성해 보세요. n = 납입 개월 수 r = 이자율 v = 월 납입금 일 때, 이자 금액은 다음과 같은 식으로 계산할 수 있다고 합니다. interest = v * n * (n+1) / 2 * r / 12 function interestCalculator(rate, payment, term) { let interest = payment * term * (term + 1) / 2 * rate / 12 console.log(inte..

[TIL] 2021.02.16 [내부링크]

JavaScript [프로그래밍과 데이터 in JavaScript] 03. 자료형 심화 01. 다양한 숫자 표기법 02. 숫자형 메서드 03. 숫자형 더 익히기 04. Math 객체 05. 바보 자바스크립트 06. 이자 계산기 07. 문자열 심화 08. 문자열과 배열 사이 09. 그래, 우리 함께 10. 기본형과 참조형 11. 기본형과 참조형 익히기 12. 참조형 복사하기 13. 레시피 만들기 14. const, 변수와 상수 사이 15. const와 참조형 익히기 16. 변수, 그땐 그랬지 [프로그래밍과 데이터 in JavaScript] 04. 과제로 복습하기 01. 팩토리얼 02. 거스름돈 구하기 03. 팰린드롬 jQuery [jQuery 시작하기] 01. HTML, CSS와의 콜라보레이션 05..

[서포터즈 1기] 코뮤니티 카페 활동 후기 [내부링크]

안녕하세요. 시리(ENTP 코린이)입니다 :) 저는 코딩에 관심을 가진 지 6개월 각 잡고 시작한 지 2개월 된 코린이입니다. 관심을 가진지는 오래됐지만 현실에 치여 배울 엄두를 못내다가 우여곡절 끝에 퇴사를 하고 코딩을 시작하게 되었습니다. 현재는 국비 학원을 병행하고 있지만, 처음 코딩을 시작할 때는 막막했습니다. 여러 가지 경로로 알아보다가 SNS에서 코뮤니티의 카드 뉴스를 보고 처음 코뮤니티에 발을 들이게 되었습니다. 처음 코딩을 시작할 때 막막했던 점은 "나는 개발자 직무에서도 어느 직무로 가야할까? 어느 직무가 나의 적성에 맞을까?"였습니다. 하지만, 이 고민도 사실 쓸모없는 걱정이었던 것이 코딩의 ㅋ도 모르고 생각한 고민이었기 때문입니다. 1. 코뮤니티의 콘텐츠들을 보고 프론트엔드는 "어떤 ..

[프로그래밍과 데이터 in Javascript] 02. 배열 [내부링크]

팀 나누기 오늘은 풋살 동아리 경기가 있는 날입니다. 총인원 10명이서 5명씩 팀을 나누려고 하는데요. 실력이 비슷한 사람들끼리 가위바위보를 했고, 이긴사람이 0번 index, 진 사람이 1번 index 배열을 만들어 정리했습니다. 다음 groups 배열을 가지고, 이긴 사람끼리 그리고 진 사람끼리 팀을 나눠 teams 배열을 완성해 주세요. let groups = [ ['영준', '캡틴'], ['태순', '우재'], ['재훈', '지웅'], ['윤형', '동욱'], ['규식', '소원'] ] let teams = [ [], [] ]; // 여기에 코드를 작성해 주세요. for (let i = 0; i < groups.length; i++) { for (let k = 0; k < groups[i].len..

[프로그래밍과 데이터 in Javascript] 02. 배열 [내부링크]

투표 집계하기 자바스크립트 배열 votes에는 학생회 투표 결과가 저장되어 있습니다. 배열 votes의 정보를 토대로, 객체 voteCounter에 후보별 득표수를 정리하는 것이 목표입니다. 예를 들어서 votes가 ['장태환', '신성순', '신성순', '장태환', '장태환']라고 가정하면, voteCounter는 {'장태환': 3, '신성순': 2}가 되어야 하는 거죠. // 투표 결과 리스트 let votes = ['이재식', '이재식', '이규하', '이규하', '이규하', '이재식', '이재식', '이규하', '이규하', '이재식', '이규하', '이규하', '이규하', '이규하', '이재식', '이재식', '이규하', '이재식', '이재식', '이재식', '이재식', '이재식', '이규하', ..

[서포터즈 1기] 코딩정보 카드뉴스 만들기 [내부링크]

안녕하세요 :) 코뮤니티 서포터즈 1기 시리(ENTP 코린이)입니다. 코뮤니티의 코딩 정보 카드 뉴스를 알고 계신가요? 저도 코뮤니티를 처음 접하게 된 것도 카드 뉴스를 보고 알게 되었습니다 c c 그럼 제가 만든 코딩 정보 카드 뉴스를 보러 가실까요?

[프로그래밍과 데이터 in Javascript] 02. 배열 [내부링크]

splice 연습하기 splice 메소드를 활용하여 아래의 미션들을 수행하세요. fruits 배열에 '토마토'를 삭제하고 그 자리에 '사과', '청포도' 를 추가해 주세요. fruits 배열의 첫 번째 요소를 삭제해 주세요. ages 배열에 마지막 요소를 삭제해 주세요. ages 배열의 2번, 3번 인덱스를 26, 28로 변경해 주세요. numbers 배열에 1, 2, 3, 5, 8, 9를 순서대로 추가해 주세요. 반복문을 활용해서 numbers 배열의 요소들 중 홀수를 모두 삭제해 주세요. let fruits = ['레몬', '토마토', '딸기', '바나나']; let ages = [20, 24, 25, 29, 30, 33]; let numbers = []; fruits.splice(1, 1, '사과'..

[프로그래밍과 데이터 in Javascript] 02. 배열 [내부링크]

온도 바꾸기 여기 이번 주 온도를 섭씨로 기록한 배열이 있습니다. let celsiusTemps = [27, 25, 26, 22, 28, 27, 21]; 각각의 섭씨온도들을 화씨로 변환해 봅시다. F: 화씨(fahrenheit), C: 섭씨(celsius) F = ( C * 9 / 5 ) + 32 반복문을 이용해서 celsius 배열의 각 요소들을 화씨로 변환한 값을 fahrenheit 배열에 추가해 주세요. let celsiusTemps = [27, 25, 26, 22, 28, 27, 21]; let fahrenheitTemps = [] for(i = 0; i < celsiusTemps.length; i ++) { fahrenheitTemps[i] = (celsiusTemps[i] * 9 / 5) + ..

[프로그래밍과 데이터 in Javascript] 02. 배열 [내부링크]

배열 인덱싱 연습하기 이 배열의 요소들을 모두 출력하는 프로그램을 작성해 보세요. let dataType = ['number', 'string', 'boolean', 'null', 'undefined', 'object']; let dataType = ['number', 'string', 'boolean', 'null', 'undefined', 'object']; for (let i = 0; i < dataType.length; i++) { console.log(dataType[i]); } 본 내용은 Codeit의 '프로그래밍 기초 in JavaScript' 강의를 참고하여 작성한 내용입니다.

[프로그래밍과 데이터 in Javascript] 01. 객체 [내부링크]

우수사원 재상이 그동안 고생한 지난날이 머릿속을 스쳐지나면서 자신이 입사한 지 얼마나 지났는지도 궁금해졌는데요. 오늘은 날짜는 2112년 8월 24일이고, 재상이의 입사일은 2109년 7월 1일입니다. Date객체와 메소드를 활용해서 재상이가 입사한 지 며칠째인지를 계산해주는 workDayCalc 함수를 완성해 주세요. (만약 8월 24일에 입사했고, 오늘이 8월 24일이면 0일이 아니라, '입사한 지 1일째'입니다.) let today = new Date(2112, 8, 24); let jaeSangStart = new Date(2109, 7, 1); function workDayCalc(startDate) { let calculate = (Number(today)/1000/60/60/24 - Numb..

[프로그래밍과 데이터 in Javascript] 01. 객체 [내부링크]

순이들의 시험 결과 아래는 두 사람의 각 과목별 점수를 정리한 객체입니다. let hyesoonScore = { '데이터 모델링의 이해': 10, '데이터 모델과 성능': 8, 'SQL 기본': 22, 'SQL 활용': 18, 'SQL 최적화 기본 원리': 20 }; let minsoonScore = { '데이터 모델링의 이해': 14, '데이터 모델과 성능': 8, 'SQL 기본': 12, 'SQL 활용': 4, 'SQL 최적화 기본 원리': 16 }; 자격증 합격 기준은 총점이 60점 이상인데요. 파라미터로 객체를 전달받고, 각 과목들의 점수를 모두 합산해서 시험 결과를 알려주는 passChecker 함수를 완성해 주세요. 합격 기준을 충족할 경우 "축하합니다! 합격입니다!" 라는 문자열을 충족하지 ..

[TIL] 2021.02.15 [내부링크]

JavaScript [프로그래밍과 데이터 in JavaScript] 01. 객체 07. 객체와 메서드 08. 영어 단어장 3 09. for...in 반복문 10. for...in 주의사항 11. 순이들의 시험 결과 12. Date객체 13. Data객체 Tip 14. 우수사원 재상이 [프로그래밍과 데이터 in JavaScript] 02. 배열 01. 배열 02. 배열 인덱싱 연습하기 03. 배열 다루기 04. 온도 바꾸기 05. 배열 메소드 1 06. splice 연습하기 07. 배열 메소드 2 08. 배열 메소드 익히기 09. 배열 메소드 Tip 10. for...of 반복문 11. 투표 집계하기 12. 다차원 배열 13. 팀 나누기 GitHub Study c 코뮤니티 서포터즈 1기 활동 [..

[프로그래밍과 데이터 in Javascript] 01. 객체 [내부링크]

영어 단어장 III 단어장 객체에 단어를 추가하고 삭제하고, 콘솔에 출력도 해주는 다양한 메소드를 만들어 사용해봅시다. 단어를 추가하는 addVoca메소드를 만들어 주세요. addVoca메소드는 영어단어와 뜻, 총 두 개의 문자열 값을 파라미터로 전달받아서 myVoca 객체에 새로운 프로퍼티를 추가하는 메소드 입니다. 단어를 삭제하는 deleteVoca메소드를 만들어 주세요. deleteVoca메소드는 영단어 문자열을 파라미터로 전달받아서 해당하는 단어를 삭제하는 메소드 입니다. 단어를 출력하는 printVoca메소드를 만들어 주세요. printVoca메소드는 영어단어 문자열을 파라미터로 전달받아서 특별한 포멧의 문자열을 콘솔에 출력하는 메소드 입니다. 특별한 포멧은 "[영어단어]"의 뜻은 "[뜻]"입니..

[프로그래밍과 데이터 in Javascript] 01. 객체 [내부링크]

영어 단어장 II 외웠던 영어단어 5가지 중에서 function, constant, local은 이제 확실하게 다 외웠습니다. 오늘 외울 단어는 총 4가지입니다. [extend] = 확장하다 [export] = 내보내다 [import] = 불러오다 [default value] = 기본값 지난번에 작성한 코드를 참고해서 vocab 변수를 수정하지 않은 채로, 이미 다 외워버린 단어 3개는 삭제하고 오늘 외울 단어는 추가해 주세요. 마지막 줄에서 default value의 뜻을 콘솔에 출력해 주세요. let myVoca = { function: '함수', variable: '변수', constant: '상수', local: '지역의', global: '전반적인' } delete myVoca.function;..

[프로그래밍과 데이터 in Javascript] 01. 객체 [내부링크]

영어 단어장 I 영어공부도 하고 코딩공부도 할 겸 자바스크립트로 영어 단어장을 만들어 보려는 아이디어가 떠올랐습니다. 외워야 할 단어들 [function] = 함수 [variable] = 변수 [constant] = 상수 [local] = 지역의 [global] = 전반적인 let myVoca = { function: '함수', variable: '변수', constant: '상수', local: '지역의', global: '전반적인' } console.log(myVoca); console.log(myVoca.local); console.log(myVoca.constant); console.log(myVoca.function); 본 내용은 Codeit의 '프로그래밍 기초 in JavaScript' 강의를..

[프로그래밍 핵심 개념 in Javascript] 03. 제어문 [내부링크]

피보나치 수열 피보나치 수열(Fibonacci Sequence)이라고 들어 보셨나요? 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ... 우선 피보나치 수열의 1번 항과 2번 항은 각각 1입니다. 3번 항부터는 바로 앞 두 항의 합으로 계산됩니다. 예를 들어서 3번 항은 1번 항(1)과 2번 항(1)을 더한 2이며, 4번 항은 2번 항(1)과 3번 항(2)을 더한 3입니다. 반복문을 활용해서 피보나치 수열의 첫 50개 항을 차례대로 출력하는 프로그램을 작성해 보세요. for문과 while문 중 어떤 반복문을 사용해도 상관없습니다. let current = 1; let previous = 0; for (let i = 1; i

[프로그래밍 핵심 개념 in Javascript] 03. 제어문 [내부링크]

구구단 만들기 반복문을 사용해서 구구단 프로그램을 만들어 봅시다. for문과 while문 중 어떤 반복문을 사용해도 상관없습니다. for (let i = 1; i < 10; i++) { for (let k = 1; k < 10; k++) { console.log(`${i} * ${k} = ${i*k}`) } } 본 내용은 Codeit의 '프로그래밍 기초 in JavaScript' 강의를 참고하여 작성한 내용입니다.

[프로그래밍 핵심 개념 in Javascript] 03. 제어문 [내부링크]

while문 더 연습하기 정수 n의 약수는 n을 나누었을 때 나누어떨어지는 수입니다. 만약 정수 i가 정수 n의 약수라면, n을 i로 나누었을 때 나머지가 0이 나와야 하는 거죠. while문을 활용해서 정수 180의 약수를 모두 출력하고, 총 몇 개의 약수가 있는지 출력하는 프로그램을 작성해 보세요. const N = 180; let i = 0; let count = 0; while (i

[프로그래밍 핵심 개념 in Javascript] 03. 제어문 [내부링크]

while문 연습하기 while 반복문을 사용하여 1 이상 100 이하의 홀수를 모두 출력해 보세요. let k = 0; while (k < 100) { if (k % 2 !== 0) { console.log(k); } k++; } 본 내용은 Codeit의 '프로그래밍 기초 in JavaScript' 강의를 참고하여 작성한 내용입니다.

[프로그래밍 핵심 개념 in Javascript] 03. 제어문 [내부링크]

for문 더 연습하기 주어진 높이(height)에 맞게 *로 삼각형을 그려주는 함수 printTriangle을 완성해 봅시다. function printTriangle(height) { let message = ''; for (let i = 0; i < height; i++) { message += '*'; console.log(message); } } // 테스트 코드 console.log('높이: 1'); printTriangle(1); console.log('높이: 3'); printTriangle(3); console.log('높이: 5'); printTriangle(5); 본 내용은 Codeit의 '프로그래밍 기초 in JavaScript' 강의를 참고하여 작성한 내용입니다.

[프로그래밍 핵심 개념 in Javascript] 03. 제어문 [내부링크]

for문 연습하기 for 반복문을 사용하여 1 이상 100 이하의 짝수를 모두 출력해 보세요. for (let i = 1; i

[프로그래밍 핵심 개념 in Javascript] 03. 제어문 [내부링크]

등급별 티켓 가격 switch문을 활용해서 각 등급이 선택되었을 때 등급에 따라 가격을 표시해주는 checkPrice 함수를 완성해 주세요. 코드가 잘 작성되었다면 다음과 같이 출력되어야 합니다. R석은 13만원 입니다. VIP석은 15만원 입니다. S석은 10만원 입니다. A석은 8만원 입니다. VIP, R, S, A 중에서 하나를 선택해 주세요. // 각 등급별 가격 let VIPPrice = 15; let RPrice = 13; let SPrice = 10; let APrice = 8; // 각 등급에 맞는 가격을 출력하는 함수 checkPrice를 완성하세요. function checkPrice(grade) { switch (grade) { case 'VIP': console.log(`${grad..

[TIL] 2021.02.14 [내부링크]

JavaScript [프로그래밍 핵심 개념 in JavaScript] 03. 제어문 06. switch문 07. switch문 vs if문 08. 등급별 티켓 가격 09. for문 10. for문 tip 11. for문 연습하기 12. for문 더 연습하기 13. while문 14. while문 연습하기 15. while문 더 연습하기 16. break와 continue 17. break와 continue 익히기 18. 구구단 만들기 19. 피보나치수열 [프로그래밍과 데이터 in JavaScript] 01. 객체01. 객체와 프로퍼티02. 객체와 프로퍼티 익히기03. 객체에서 데이터 접근하기04. 영어 단어장 105. 객체 다루기06. 영어 단어장 207. 객체와 메서드08. 영어 단어장 3 GitHu..

[프로그래밍 핵심 개념 in Javascript] 03. 제어문 [내부링크]

서열 정리 한국에서는: 나이가 같은 경우: '친구' 자신보다 나이가 어릴 경우: 2 - 1. 상대방 성별이 남성인 경우: '남동생', 2 - 2. 상대방 성별이 여성인 경우: '여동생' 자신보다 나이가 많을 경우: 3 - 1. 상대방 성별이 남성인 경우: '형', 3 - 2. 상대방 성별이 여성인 경우: '누나' 라고 말하는 게 너무 어렵다고 합니다. 이런 Peter를 위해서 미리 자신의 나이와 성별을 입력해두고, 상대방의 나이와 성별을 전달하면 호칭을 판별해주는 whatShouldICallYou함수를 만들어줍시다. 코드를 잘 작성했다면, 다음과 같은 결과가 출력되어야 합니다. 여동생 남동생 친구 형 누나 // 나의 나이와, 나의 성별을 저장하는 변수 let myAge = 26; let myGender ..

[프로그래밍 핵심 개념 in Javascript] 03. 제어문 [내부링크]

학점 계산기 이 수업에는 50점 만점의 중간고사와 50점 만점의 기말고사가 있는데요. 두 시험의 점수를 합해서 최종 성적을 내는 방식입니다. 규칙은 다음과 같습니다. A: 90점 이상 B: 80점 이상 90점 미만 C: 70점 이상 80점 미만 D: 60점 이상 70점 미만 F: 60점 미만 printGrade 함수는 파라미터로 중간고사 점수 midtermScore와 기말고사 점수 finalScore를 받고, 최종 성적을 출력합니다. D A F C function printGrade(midtermScore, finalScore){ let totalScore = midtermScore + finalScore; if (totalScore >= 90) { console.log("A"); } else if (t..

[프로그래밍 핵심 개념 in Javascript] 03. 제어문 [내부링크]

롤러코스터, 탈 수 있을까? 이 롤러코스터는 140cm 이상만 탑승할 수 있다고 하는데요. 놀이기구를 타고 싶은 마음은 간절하지만 안전상의 문제로 위험한 상황이 발생할 수 있으니, 만약 기준을 통과하지 못한다면 아쉽지만 다음을 기약하는 것이 좋겠죠? 그럼, if문을 활용해서 키 140cm를 기준으로 탑승 가능 유무를 알려주는 checkHeight 함수를 작성해 주세요. 코드를 잘 작성하셨다면 아래와 같은 결과가 출력되어야 합니다. 탑승이 가능합니다. 탑승이 불가능합니다. 탑승이 가능합니다. function checkHeight(height) { if (height > 140) { console.log("탑승이 가능합니다.") } else{ console.log("탑승이 불가능합니다.") } }; // 테..

[TIL] 2021.02.12 [내부링크]

JavaScript [프로그래밍 핵심 개념 in JavaScript] 03. 제어문 01. if문 02. 롤러코스터, 탈 수 있을까? 03. else fi문 04. 학점 계산기 05. 서열 정리 GitHub Study c [프로그래머의 세계 이해하기] 01. 프로그래밍의 다양한 분야 05. 테스트 프로세스 06. 버전 관리 07. 프로그래머의 세계 퀴즈 2 08. 개발자의 필수 프로그램 IDE 09. 개발자들이 많이 쓰는 프로그램들 동탄에서 시흥 찍고 서울 찍고 의정부까지 오느라 시간이 너무 없었다. 어제처럼 틈틈이 한다고 했는데 이동시간이 너무 길어서 어제처럼 목표한 바를 다하지는 못했다cc 기차 빌런, 지하철 빌런 등 너무나 많은 사람들을 만나서 멘탈붕괴 c 그래도 이동 시간에 컴퓨터 개론 강..

[프로그래밍 핵심 개념 in Javascript] 02. 자료형 [내부링크]

함수 변수 복습하기 항상 "삑!"소리만 나는 게 아니라 상황에 따라서 청소년의 경우에는 "삑삑!", 승차권이 제대로 찍히지 않을 땐 "삑삑삑!", 그리고 환승을 할 때는 "환승입니다." 라는 소리도 나는데요. 각 상황의 소리를 담은 변수 adultTag, teenagerTag, errorTag, transferTag 를 만들고, 이 변수들을 파라미터(tagCase)로 전달하면 각 상황에 맞게 태그 소리를 콘솔에 출력하는 tagNotification함수를 만들어 보세요. 코드가 잘 작성되었다면 실행 시 다음과 같이 출력되어야 합니다. 삑! 삑삑! 환승입니다. 삑삑삑! 삑! let adultTag = "삑!"; let teenagerTag = "삑삑!"; let errorTag = "삑삑삑!"; let tr..

[프로그래밍 핵심 개념 in Javascript] 02. 자료형 [내부링크]

세트메뉴 주문하기 코드웨잇의 세트메뉴는 샌드위치와 음료가 함께 제공되는데요. 주문 시 특별히 말씀해주시지 않으시면, 음료는 스프라이트가 기본으로 제공됩니다. 샌드위치 이름(sandwich)과 음료 이름(drink)을 입력받고, 다음과 같은 문구를 출력하는 함수(orderSetMenu)를 만들어 주세요. 주문하신 '샌드위치', '음료' 세트메뉴 나왔습니다! 과제를 해결한 뒤 실행결과는 아래와 같아야 합니다. 주문하신 코드웨잇 클럽, 스프라이트 세트메뉴 나왔습니다! 주문하신 터키베이컨 아보카도, 코카콜라 세트메뉴 나왔습니다! 주문하신 코드웨잇 멜트, 스프라이트 세트메뉴 나왔습니다! 주문하신 이탈리안 비엠티, 닥터페퍼 세트메뉴 나왔습니다! 주문하신 에그마요, 환타 오렌지 세트메뉴 나왔습니다! function ..

[프로그래밍 핵심 개념 in Javascript] 02. 자료형 [내부링크]

함수 부려먹기 III 직사각형의 넓이를 계산해주는 calculateRectangleArea 함수를 만들어보세요. calculateRectangleArea 함수는 파라미터로 width와 height를 받고, 직사각형의 넓이를 리턴해 줍니다. 과제를 해결한 뒤 실행결과는 아래와 같아야 합니다. Area1: 12, Area2: 40, Area3: 14 function calculateRectangleArea(width, height){ return width * height; } // 테스트 코드 let area1 = calculateRectangleArea(3, 4); // 가로 3, 세로 4인 직사각형의 넓이 계산 let area2 = calculateRectangleArea(5, 8); // 가로 5, ..

[프로그래밍 핵심 개념 in Javascript] 02. 자료형 [내부링크]

함수 부려먹기 II 예시코드 console.log('3 * 4 = ' + 3 * 4); console.log('3 * 2 = ' + 3 * 2); console.log('7 * 5 = ' + 7 * 5); console.log('8 * 9 = ' + 8 * 9); console.log('5 * 5 = ' + 5 * 5); console.log('9 * 9 = ' + 9 * 9); 실행결과 3 * 4 = 12 3 * 2 = 6 7 * 5 = 35 8 * 9 = 72 5 * 5 = 25 9 * 9 = 81 function expressMultiplication(num1, num2) { console.log(`${num1} * ${num2} = ` + num1 * num2); }; // 테스트 코드 expre..

[프로그래밍 핵심 개념 in Javascript] 02. 자료형 [내부링크]

함수 부려먹기 I 예시 코드 console.log('동수(이)가 대화에 참여했습니다.'); console.log('윤하(이)가 대화에 참여했습니다.'); console.log('재준(이)가 대화에 참여했습니다.'); console.log('동훈(이)가 대화에 참여했습니다.'); console.log('영희(이)가 대화에 참여했습니다.'); console.log('신욱(이)가 대화에 참여했습니다.'); 실행 결과 동수(이)가 대화에 참여했습니다. 윤하(이)가 대화에 참여했습니다. 재준(이)가 대화에 참여했습니다. 동훈(이)가 대화에 참여했습니다. 영희(이)가 대화에 참여했습니다. 신욱(이)가 대화에 참여했습니다. function logParticipant(name) { console.log(`${name}..

[TIL] 2021.02.11 [내부링크]

JavaScript [프로그래밍 핵심 개념 in JavaScript] 02. 추상화 01. 할당 연산자 02. 복합 할당 연산자 03. 함수의 실행 순서 04. 함수 부려먹기 1 05. 함수 부려먹기 2 06. return문 제대로 이해하기 07. return과 console.log의 차이 08. 함수 부려먹기 3 09. 옵셔널 파라미터 10. 세트메뉴 주문하기 11. 변수의 scope 12. scope 익히기 13. 상수 14. 상수 익히기 15. 함수 변수 복습하기 Academe HW01. 유스케이스 모델 HW02. 요구사항 정의서 GitHub Study c [프로그래머의 세계 이해하기] 01. 프로그래밍의 다양한 분야 01. 컴퓨터 사이언스의 기본기 02. 소프트웨어 공학 03. 프로세스..

[jQuery 시작하기] 01. HTML, CSS와의 콜라보레이션 [내부링크]

폰트 굵기 바꾸기 Home Seoul Tokyo Paris #logo { display: block; margin-left: auto; margin-right: auto; margin-top: 80px; } #menu { text-align: center; margin-top: 60px; margin-bottom: 60px; } #menu a { margin-left: 10px; margin-right: 10px; font-size: 16px; color: #58595b; text-decoration: none; font-family: Helvetica, Arial, sans-serif; } #menu a:first-child { font-weight: bold; } #photo { display: bl..

[서포터즈 1기] 코린이는 200% 공감할 빙고! [내부링크]

코뮤니티 코린이들이 공감할 주제만 뽑아서 만든 4 X 4 빙고판입니다. 빙고 완성하신 분들은 완벽 코뮤니티인입니다! 만약, 완성을 못하셨더라도 앞으로 차근차근 코뮤니티에서 완성해봐요!

[프로그래밍 핵심 개념 in Javascript] 01. 자료형 [내부링크]

자료형 응용하기 숫자형을 담고 있는 변수들(material1, material3, material5)과 문자열을 담고 있는 변수들(material2, material4)이 있습니다. 변수들끼리 연산을 하여 result1에는 문자열 '34'를, result2에는 숫자형 34를 만들어 넣어주세요! 단, 절대 숫자값을 사용하지 마세요. result1과, result2는 반드시 material1~5 변수들의 연산식만 할당해야 합니다. 실행결과는 다음과 같아야 합니다. 34 string 34 number // 숫자형과 문자열 재료 let material1 = 3; let material2 = '3'; let material3 = 10; let material4 = '4'; let material5 = 4; // ..

[프로그래밍 핵심 개념 in Javascript] 01. 자료형 [내부링크]

템플릿 문자열 연습하기 근무자 별로 근무 시간을 계산해서 총 급여를 계산하는 calcWage 함수를 만들어보려고 합니다. 파라미터로 근무자 이름(name), 근무 시간(time), 그리고 시급(wage)을 전달받고 총 급여를 계산하기 위해 total 변수에 시간과 시급을 곱한 값을 담는 것까진 작성했는데, 마지막으로 콘솔에 출력하는 부분이 남았습니다. 지난 시간에 배운 템플릿 문자열 개념을 이용해서 아래의 문장이 출력되게 작성해주세요. 김윤식님의 근무 시간은 총 208시간이며, 최종 급여는 2358720원 입니다. 성규재님의 근무 시간은 총 175시간이며, 최종 급여는 2128000원 입니다. 손태웅님의 근무 시간은 총 161시간이며, 최종 급여는 2104270원 입니다. 허우선님의 근무 시간은 총 22..

[프로그래밍 핵심 개념 in Javascript] 01. 자료형 [내부링크]

console.log()함수와, 문자열 개념을 이용해서 다음 두 문장을 출력하세요. 한국 영화 역사상 아카데미상을 받은 것은 '기생충'이 처음이다. 아리스토텔레스는 "인간은 사회적 동물이다."라고 말했다. 영화 '베테랑'에서 "어이가 없네~"라는 대사가 유명했다. console.log("한국 영화 역사상 아카데미상을 받은 것은 '기생충'이 처음이다."); console.log('아리스토텔레스는 "인간은 사회적 동물이다."라고 말했다.'); console.log(`영화 '베테랑'에서 "어이가 없네~"라는 대사가 유명했다.`); 본 내용은 Codeit의 '프로그래밍 기초 in JavaScript' 강의를 참고하여 작성한 내용입니다.

[TIL] 2021.02.10 [내부링크]

JavaScript [프로그래밍 핵심 개념 in JavaScript] 01. 자료형 01. 숫자형 02. 숫자 연산 익히기 03. 문자열 기본 04. 문자열 활용 05. 문자열 연습 1 06. 문자열 연습 2 07. 불 대수 08. 불린형 09. 불링형 연습 10. 불린 익히기 11. typeof 연산자 12. typeof 연산자 익히기 13. 연산자 우선순위 14. 형 변환 1 15. 형 변환 익히기 1 16. 형 변환 2 17. 형 변환 익히기 2 18. 템플릿 문자열 19. 템플릿 문자열 연습하기 20. null과 undefined 21. null과 undefined 익히기 22. 자료형 응용하기 jQuery [jQuery 시작하기] 01. HTML, CSS와의 콜라보레이션 01. 환경 설정..

[서포터즈 1기] 코뮤니티에서 가장 소개하고 싶은 컨텐츠로 카드 뉴스 만들기 [내부링크]

안녕하세요 :) 코뮤니티 서포터즈 1기 시리(ENTP 코린이)입니다. 코뮤니티를 알고계신가요? 아직도 모르시다면 잘 오셨습니다 독학으로 코딩을 시작했을 때 코뮤니티는 구세주였습니다. 제가 요즘 푹~ 빠져있는 코뮤니티 같이 알아볼까요?c

[프로그래밍 시작하기 in JavaScript] 02. 프로그래밍 맛보기 [내부링크]

이자율 4%에 세금까지 내지 않아도 되는 정기예금 상품을 추천받아서 그동안 조금씩 모은 돈을 1년 동안 넣어두기로 하고 왔는데요. 즐거운 마음으로 집에 돌아와서 1년 뒤에 얼마를 받을 수 있을지를 계산하는 코드를 작성해보려고 합니다. 검색해보니 이자 금액을 계산하기 위한 식은 아래와 같은데요. 맡긴 금액(원) * 맡기는 기간(년) * 이자율(%) / 100 맡긴 금액(amount)과 맡기는 기간(term), 이자율(rate)을 입력받으면 이자 금액을 계산해서 결괏값을 전달해 주는 interestCalculator 함수를 작성해 주세요. 맡긴 금액은 3650000원 입니다. 이자는 146000원 입니다. 최종 받을 금액은 3796000원 입니다. function interestCalculator(myMon..

[프로그래밍 시작하기 in JavaScript] 02. 프로그래밍 맛보기 [내부링크]

저체중 : 18.5 미만 정상체중 : 18.5 이상 23 미만 과체중 : 23이상 25미만 경도비만 : 25이상 30미만 중도비만 : 30이상 35미만 고도비만 : 35이상 체질량지수를 구하는 공식은 다음과 같습니다. 단위: 체중 = kg, 신장 = cm 체질량지수 = 체중 / (신장 * 신장 / 10000) 위 공식을 참고해서 이름(name)과 체중(weight), 그리고 신장(tall)을 파라미터로 입력받고 체질량지수를 계산해주는 bmiCalculator함수를 작성해 주세요. 홀쭉이님의 체질량지수는 17입니다. 코린이님의 체질량지수는 20입니다. 통통이님의 체질량지수는 24입니다. function bmiCalculator(name, weight, tall) { console.log(name + '님의..

[프로그래밍 시작하기 in JavaScript] 02. 프로그래밍 맛보기 [내부링크]

인터넷에 검색해보니 데이터 용량 단위는 1MB = 1024KB 1GB = 1024MB 1TB = 1024GB 라고 합니다. 이 정보를 참고해서 TB 단위를 입력하면 GB 단위를 출력해주는 teraToGiga 함수와 TB 단위를 입력하면 MB 단위를 출력해주는 teraToMega 함수 두 가지 함수를 작성해 주세요. 각 함수는 숫자 값을 파라미터로 받고 첫 번째 줄에서는 입력받은 용량을, 두 번째 줄에서는 변환한 용량을 출력해야 합니다. 함수를 잘 작성하셨다면 아래와 같이 출력되어야 합니다. 2TB는 2048GB 입니다. 2TB는 2097152MB 입니다. function teraToGiga(GB) { console.log(GB * 1024 + 'GB 입니다.'); }; function teraToMege..

[프로그래밍 시작하기 in JavaScript] 02. 프로그래밍 맛보기 [내부링크]

애국가 가사를 들여다보면 반복되는 후렴구가 있죠? 이 후렴구를 한 줄에 한 소절씩 출력하는 printChorus 함수를 만들어 주세요. 함수를 제대로 작성했다면 콘솔에는 아래와 같이 출력되어야 합니다. 1절 동해 물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세 무궁화 삼천리 화려 강산 대한 사람 대한으로 길이 보전하세 2절 남산 위에 저 소나무 철갑을 두른 듯 바람서리 불변함은 우리 기상일세 무궁화 삼천리 화려 강산 대한 사람 대한으로 길이 보전하세 3절 가을 하늘 공활한데 높고 구름 없이 밝은 달은 우리 가슴 일편단심일세 무궁화 삼천리 화려 강산 대한 사람 대한으로 길이 보전하세 4절 이 기상과 이 맘으로 충성을 다하여 괴로우나 즐거우나 나라 사랑하세 무궁화 삼천리 화려 강산 대한 사람 대..

[프로그래밍 시작하기 in JavaScript] 02. 프로그래밍 맛보기 [내부링크]

커피를 만들 때 들어가는 재료들의 칼로리는 다음과 같습니다. 에스프레소 : 10 kCal 우유 : 170 kCal 초코시럽 : 50 kCal 휘핑크림 : 60 kCal 우리가 판매했던 메뉴들의 칼로리를 한번 계산해 보려고 하는 데요, 각 재료의 이름을 변수 이름으로 사용하여, 메뉴들의 칼로리를 저장해 주세요. 변수를 사용하는 테스트 코드는 이미 작성되어 있으니 별도로 편집하지 않으셔도 됩니다. 여러분은 변수를 선언하고 값을 입력해 주세요! 변수를 제대로 작성했다면 콘솔에는 아래와 같이 출력되어야 합니다. 10 180 230 290 let espresso = 10; let milk = 170; let chocolateSyrup = 50 let whippedCream = 60; // 메뉴별 칼로리 테스트 c..

[웹 퍼블리싱] 03. 반응형 웹 퍼블리싱 [내부링크]

이노 옷걸이처럼 걸어 놓을 수 있는 블루투스 스피커 '이노'를 홍보하는 사이트를 만들어보려고 합니다. 위에 있는 도면을 따라 반응형 웹사이트를 만들어주세요. 그리드는 반응형 그리드 과제에서 만든 것을 그대로 사용하면 됩니다! 초록색 선은 padding, 빨간색 선은 margin, 파란색 선은 가운데 정렬(가로 혹은 세로)을 뜻합니다. 모든 사진은 background-image를 통해 넣었습니다. In'o 글자의 font-size는 20px 글자색은 white입니다. In'o 글자가 속한 div 태그의 background-color 는 #353535입니다. 결과물 IN'O Portfolio Make Hardware Soft IN'O is a hanger-type bluetooth speaker that d..

[웹 퍼블리싱] 03. 반응형 웹 퍼블리싱 [내부링크]

반응형 그리드 크게 세 가지로 나누어집니다. 왼쪽: 모바일 사이즈 (767px 이하) 가운데: 타블릿 사이즈 (768px 이상, 991px 이하) 오른쪽: 데스크탑 사이즈 (992px 이상) 반응형 그리드 결과물 body { margin: 0; } div { float: left; } #div1 { background-color: #FF0000; width: 100%; height: 60px; } #div2 { background-color: #FFA500; width: 100%; height: 350px; } #div3 { background-color: #FFFF00; width: 100%; height: 320px; } #div4 { background-color: #008000; width: 10..

[TIL] 2021.02.09 [내부링크]

Academe Theory01. Javascript Theory02. JQuery GitHub Study c Codeit; [웹 퍼블리싱 - HTML/CSS 핵심 개념] 07. 쇼핑몰 01. SimpleShop [웹 퍼블리싱 - 반응형 웹 퍼블리싱] 01. 반응형 웹 01. 반응형 웹 02. 반응형 그리드 03. 이노 [웹 퍼블리싱 - HTML/CSS 핵심 개념] 02. 부트스트랩 01. 새로운 기술을 배우는 법 02. 부트스트랩 소개 03. 부트스트랩 그리드 04. 부트스트랩 반응형 그리드 05. 재능 공유 사이트 [프로그래밍 시작하기 in JavaScript] 01. 자바스크립트 첫걸음 01. 자바스크립트 프로그래밍? 02. 준비하기 03. Hello Codeit! 04. 프로그래밍 첫걸음 떼..

[웹 퍼블리싱] 02. HTML/CSS 핵심개념 [내부링크]

SimpleShop 코드잇의 SimpleShop 쇼핑몰 페이지를 완성해보세요! 참고하세요: 네비게이션 바의 height 는 60px 입니다. 네비게이션 바의 메뉴들은 클릭하면 페이지 최상단으로 이동합니다. # 를 활용해주세요. hero_header.jpg 는 배경이미지로 들어가고, 배경이미지가 들어가는 영역은 450px 의 height를 가집니다. 각 상품들을 클릭하면 페이지 최상단으로로 이동합니다. 이미지의 테두리는 클릭 영역 표시를 위한 것이고, 직접 구현하지는 않아도 됩니다. 페이스북, 인스타그램, 트위터 아이콘의 height는 20px로 지정해 주세요. Contact Shop Cart Login Our New Products Sunglasses 49,000 Tassel Loafer 89,000 B..

[웹 퍼블리싱] 02. HTML/CSS 핵심개념 [내부링크]

네비게이션 바 메뉴 네비게이션 바 로고 과제에 이어서 네비게이션 바에 메뉴를 넣어보세요. 세 메뉴는 각각 태그 안의 태그이고, 태그 안에 묶여 있습니다. float의 개념을 잘 활용해보세요! 수업 회원가입 로그인 코딩, 스펙이 아니라 필수입니다. 코드잇은 코딩을 통해 생각하는 법을 가르칩니다. 더 알아보기 body { margin: 0; } #navbar { padding: 0 20px; border-bottom: 1px solid #eee; overflow: hidden; background-color: white; box-shadow: 0 1px 3px 0 rgba(0,0,0,0.50); height: 60px; } #logo { float: left; line-height: 60px; } #logo..

[웹 퍼블리싱] 02. HTML/CSS 핵심개념 [내부링크]

파라다이스 파크 놀이 공원 '파라다이스 파크'의 웹사이트를 만들어보려고 합니다. 여러분이 할 일은 사이트 좌측에 있는 네비게이션 바를 채워 넣는 것입니다. 'HOME', 'EVENT', 'TICKET', 'MEMBERSHIP', 'NOTICE'는 사이트 메뉴입니다. 각각 다른 태그 안에 있는 태그입니다. 태그는 모두 태그에 묶여 있습니다. 빨간 선은 margin, 초록 선은 padding, 파란 선은 '가운데 정렬'입니다. 페이스북 아이콘은 width를 22px로, 트위터 아이콘은 width를 25px로 지정해 주세요. HOME EVENT TICKET MEMBERSHIP NOTICE Welcome to Paradise Park! Learn More body { margin: 0; min-width: 76..

[웹 퍼블리싱] 02. HTML/CSS 핵심개념 [내부링크]

코딩의 민족 그리드 코딩의 민족 넌 코딩할때가 제일 이뻐 코딩에 빠진 닭 주머니가 가벼운 당신의 마음까지 생각한 착한 가격! 바로 결제 코코 스시 주머니가 가벼운 당신의 마음까지 생각한 착한 가격! 바로 결제 코데리아 주머니가 가벼운 당신의 마음까지 생각한 착한 가격! 바로 결제 코가네 주머니가 가벼운 당신의 마음까지 생각한 착한 가격! 바로 결제 * { box-sizing: border-box; } body { background-color: #f0e8d9; } h1 { text-align: center; font-size: 64px; color: #58595B; margin-top: 75px; margin-bottom: 30px; } h2 { text-align: center; font-size: 3..

[웹 퍼블리싱] 02. HTML/CSS 핵심개념 [내부링크]

그리드 연습 위와 같은 그리드 레이아웃을 만들어주세요! body { margin: 0; } /* 전체 */ div { width: 100%; height: 800px; float: left; } /* 개별 */ #red { background-color: #FF0000; width: 100%; height: 200px; } #orange { background-color: #FFA500; width: 25%; height: 200px; } #yellow { background-color: #FFFF00; width: 50%; height: 200px; } #green { background-color: #008000; width: 25%; height: 200px; } #blue { background-..

[웹 퍼블리싱] 02. HTML/CSS 핵심개념 [내부링크]

신문 광고 광고의 가로 길이는 180px 입니다. 빨간색으로 나와 있는 수치를 보고 margin도 꼭 넣어주세요! 4차 산업혁명의 시대, 소프트웨어 교육은 필수 코드잇 강영훈 대표 '소프트웨어 강국되려면 컴퓨터적 사고방식 필요해' "누구나 프로그래밍을 배워야한다. 사고하는 방법을 가르쳐주기 때문이다." 故 스티브잡스 애플 창업자가 했던 말이다. 소프트웨어는 4차 산업혁명의 흐름이다. 인공지능, IoT, 빅데이터, 3D프린팅, 가상 현실, 증강현실 등 모두 소프트웨어와 긴밀한 연관성을 갖고 있는 분야이다. 미래의 흐름에 발맞춰 정부는 2018년부터 초, 중, 고등학교에서 소프트웨어 교육을 전면 실시할 계획이다. 이에 앞서 지난해와 올해 미래부, 교육부에서 900개의 연구기관 및 선도학교를 정해 교육하고 있..

[웹 퍼블리싱] 02. HTML/CSS 핵심개념 [내부링크]

우표 붙이기 Absolute 포지셔닝 개념을 이용해서 우표와 주소를 올바른 곳에 위치해주세요. siri Kim 1234 ENTP #101 .env-div { width: 500px; height: 232px; position: relative; } .address { font-family: cursive; position: absolute; left: 30px; bottom: 30px; } .stamp { position: absolute; right: 30px; top: 30px; } 본 내용은 Codeit의 '웹 퍼블리싱' 강의를 참고하여 작성한 내용입니다.

[웹 퍼블리싱] 02. HTML/CSS 핵심개념 [내부링크]

명언 두 따옴표는 폰트 크기는 96px(32px의 300%)입니다. 위 사진에서 빨간 줄은 margin입니다. 위 사진에서 초록 줄은 포지셔닝을 통한 이동입니다. “ 정상에 오르고 싶다는 생각만으로 정상에 오르는게 아니야, 올라야지 “ 조승우 .quote { font-size: 32px; line-height: 32px; text-align: center; margin-top: 75px; font-family: 'Do Hyeon', sans-serif; } .figure { margin-top: 50px; } .qmark { font-size: 96px; position: relative; } .open-qmark { margin-right: 15px; top: 20px } .close-qmark { m..

[웹 퍼블리싱] 02. HTML/CSS 핵심개념 [내부링크]

해변의 몽숭이 Relative 포지셔닝 개념을 이용해서 몽숭이를 해변가에 위치시켜주세요. 몽숭이를 원래 위치에서 위로 100px, 오른쪽으로 200px 이동시키면 됩니다! 코드는 css 폴더에 styles.css에 작성해주세요. img { display: block; margin: 0 auto; } .mongsoong { position: relative; bottom : 100px; left: 200px; } 본 내용은 코드잇의 '웹 퍼블리싱' 강의를 참고하여 작성한 내용입니다.

[웹 퍼블리싱] 02. HTML/CSS 핵심개념 [내부링크]

내비게이션 바 로고 위 사진처럼 로고 링크와 .info를 세로로 가운데 정렬을 해주세요. 여러분을 돕기 위해 배경색도 입혀놓았고 소문자 'x'도 써놓았는데요. 완성이 되면 다 없애주시길 바랍니다! 코딩, 스펙이 아니라 필수입니다. 코드잇은 코딩을 통해 생각하는 법을 가르칩니다. 더 알아보기 body { margin: 0; font-family: 'Noto Sans KR', sans-serif; } #navbar { padding: 0 20px; border-bottom: 1px solid #eee; overflow: hidden; background-color: white; box-shadow: 0 1px 3px 0 rgba(0,0,0,0.50); height: 60px; } #logo { font-fa..

[웹 퍼블리싱] 02. HTML/CSS 핵심개념 [내부링크]

이미지 버튼 위 사진처럼 이미지 링크 세 개를 만들어보세요. 순서대로 각각 "https://facebook.com", "https://instagram.com", "https://github.com"으로 갑니다. 세 이미지는 브라우저에서 가운데 정렬이 되어 있습니다. Check me out on... body { margin: 50px 0; } h1 { font-family: 'Noto Sans KR', sans-serif; margin-bottom: 20px; text-align: center; } .link-container { text-align: center; } .link-container a:not(:last-child) { margin-right: 20px; } a { text-decorat..

[웹 퍼블리싱] 02. HTML/CSS 핵심개념 [내부링크]

CSS 최적화 웹사이트를 열심히 만들다보니 어느덧 코드가 엄청 길어졌습니다. 옆에 앉아 있던 친구가 제 코드를 쓱 보더니 한 마디 하네요. “뭘 그렇게 복잡하게 해? 그거 열 줄이면 되는데~ ㅎㅎ” 아, 자존심 상합니다! 얼른 CSS 코드를 열 줄(빈 줄 제외)로 줄여보세요. 결과물이 동일하다면 HTML 코드를 조금 변형해도 됩니다. 결과물은 아래 사진과 같습니다. HTML CSS JAVASCRIPT PYTHON JAVA h2 { padding: 20px; font-size: 30px; } .box-one h2 { background: #FA987D; } .box-two h2 { background: #72CCA7; } 본 내용은 Codeit의 '웹 퍼블리싱' 강의를 참고하여 작성한 내용입니다.

[웹 퍼블리싱] 02. HTML/CSS 핵심개념 [내부링크]

마우스 오버 버튼 로그인 페이지 과제의 버튼에 작은 효과를 하나 주려고 합니다. 마우스를 '로그인' 버튼 위에 올릴 경우 로그인 버튼에 box-shadow 속성을 설정해주세요. 속성값은 위 사진에 나와 있듯이 box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.50);입니다. 코드는 css/style.css에 작성해주세요. 마우스오버 작동 영상 비밀번호를 잊어버리셨나요? * { box-sizing: border-box; font-family: 'Noto Sans KR', sans-serif; } body { margin: 0; background-color: #1BBC9B; } .login-form { padding: 20px; background-color: #EEEFF1; widt..

[웹 퍼블리싱] 02. HTML/CSS 핵심개념 [내부링크]

코딩의 민족 위 이미지의 지시사항을 따라, '코딩의 민족' 웹사이트를 완성해주세요. 참고로 '바로 결제' 버튼은 href="#"로 설정되어 있는 태그로 써주세요! 코딩의 민족 넌 코딩할때가 제일 이뻐 코딩에 빠진 닭 주머니가 가벼운 당신의 마음까지 생각한 착한 가격! 바로 결제 코코 스시 주머니가 가벼운 당신의 마음까지 생각한 착한 가격! 바로 결제 코데리아 주머니가 가벼운 당신의 마음까지 생각한 착한 가격! 바로 결제 코가 주머니가 가벼운 당신의 마음까지 생각한 착한 가격! 바로 결제 * { box-sizing: border-box; } body { background-color: #f0e8d9; } h1 { text-align: center; font-size: 64px; color: #58595B;..

[TIL] 2021.02.08 [내부링크]

Academe Theory01. JQueryGitHub Study cCodeit;[웹 퍼블리싱 - HTML/CSS 핵심 개념] 01. Box Model21. 코딩의 민족 [웹 퍼블리싱 - HTML/CSS 핵심 개념] 02. CSS 제대로 활용하기01. 선택자 정리02. 마우스 오버 버튼03. CSS 상속04. CSS 우선순위05. CSS 최적화06. CSS의 다양한 단위들 [웹 퍼블리싱 - HTML/CSS 핵심 개념] 03. Display01. display02. display 정리03. Inline-block04. Inline-block 정리05. 태그의 비밀06. 다양한 링크07. 이미지 버튼08. Baseline09. vertical-align pt. 110. vertical-align pt...

[TIL] 2021.02.06 [내부링크]

GitHub Study c Codeit; [웹 퍼블리싱 - HTML/CSS 핵심 개념] 01. Box Model 18. 배경 이미지 19. 배경 이미지 정리 노트 20. 썸머 뮤직 페스티벌 (SMF)

[웹 퍼블리싱] 02. HTML/CSS 핵심개념 [내부링크]

썸머 뮤직 페스티벌 (SMF) 최고의 아티스트들로 구성된 초호화 라인업! '썸머 뮤직 페스티벌(SMF)'을 위한 웹사이트를 만들어보려고 합니다. 위 사진과 같이 images/hero_image.jpg 파일로 .hero-header의 배경 이미지를 설정해주고, .learn-more 버튼을 스타일링 해주세요. 배경 이미지는 원본의 비율을 유지하면서 태그를 모두 채워야 합니다. 만약 배경 이미지가 잘려야 하는 상황이 오면 왼쪽, 오른쪽이 똑같이 잘려야 하고 위, 아래가 똑같이 잘려야 합니다. 정답 코드는 css 폴더의 styles.css에 작성해주세요. SMF 10th Summer Music Festival 20 - 21 August, 2017 Learn More body { margin: 0; font-fa..

[웹 퍼블리싱] 02. HTML/CSS 핵심개념 [내부링크]

로그인 페이지 박스를 꾸미는 방법들을 총동원하여 위와 같은 디자인을 만들어보세요. 모든 태그는 기본적으로 설정되어 있는 속성들이 있다는 걸 기억해주세요. 예를 들어서 태그에는 기본적으로 테두리가 있기 때문에 테두리를 직접 없애줘야겠죠? .login-form의 배경색은 #EEEFF1, submit-btn의 배경색은 #1BBC9B, 의 폰트색은 #9B9B9B입니다. 초록 선은 padding을 뜻하고, 빨간 선은 margin을 뜻합니다. .login-form은 가운데로 정렬되어 있습니다. 모든 동근 모서리는 5px의 border-radius를 갖고 있습니다. 비밀번호를 잊어버리셨나요? * { box-sizing: border-box; font-family: 'Noto Sans KR', sans-serif; }..

[웹 퍼블리싱] 02. HTML/CSS 핵심개념 [내부링크]

그랜드 부다페스트 호텔 깔끔한 영화 소개 모듈을 만들어 봅시다. 여러분은 에 네 가지만 해주시면 됩니다. 코드는 css 폴더에 style.css에 작성해주세요. 세로 길이를 220px로 설정해주세요. 3px 두께에 색은 #B72920인 테두리를 입혀주세요. 문구를 스크롤하면서 볼 수 있도록 overflow 속성을 설정해주세요. 글이 테두리에 너무 붙어 있지 않도록 15px의 여유 공간을 주세요. Grand Budapest Hotel Wes Anderson heads to Europe for the first time with this Indian Paintbrush production starring Saoirse Ronan, Ralph Fiennes, Bill Murray, and Jude Law. G..

[TIL] 2021.02.05 [내부링크]

Academe Theory. JQuery GitHub Study c Codeit; [웹 퍼블리싱 - HTML/CSS 시작하기] 06. 여행사이트 01. 여행 사이트 [웹 퍼블리싱 - HTML/CSS 핵심 개념] 01. Box Model 01. Box Model 소개 02. margin, padding 03. marging & padding 정리 04. width, height 05. width, height 정리 06. overflow 07. overflow 정리 08. border 09. border 정리 10. 그랜드 부다페스트 호텔 11. 박스 꾸미는 몇 가지 방법 12. 둥근 모서리 13. 배경색 14. 그림자 15. box-sizing 16. box-sizing 정리 17. 로그인 페이지..

[웹 퍼블리싱] 01.HTML/CSS 시작하기 [내부링크]

여행 사이트 이미지는 images 폴더 안에 images/logo.png, images/home.png, images/paris.png, images/seoul.png, images/tokyo.png 를 사용하면 됩니다. (css 파일의 위치를 잘 확인해 주세요.) 조건1. 모든 요소가 가운데 정렬 되어있어야합니다. 조건2. ‘travel’ 로고는 가로 길이가 165px, 세로 길이가 58px입니다. 조건3. 'travel' 로고 위에는 80px의 여백이 있습니다. 조건4. 메뉴는 16px의 ‘Helvetica’ 폰트, 색상은 Hex값 기준 58595B, RGB 기준 (88, 89, 91)입니다. 조건5. 현재 머물러 있는 창의 메뉴의 폰트는 진하게 나옵니다. 조건6. 각 메뉴 사이의 간격은 20px이고..

[웹 퍼블리싱] 01. HTML/CSS 시작하기 [내부링크]

노래 브리지 노래에서 브리지는 한 번만 나오기 때문에, 이번에는 클래스 대신 아이디('id')를 이용해서 노래의 브리지 부분만 연두색(lime)으로 써주세요. 이 노래에서는 "허약한 내 영혼에 힘을~" 부분이 브리지입니다. 노래에서 유일하게 조금 다른 부분이죠? 하늘을 달리다 이적 두근거렸지 누군가 나의 뒤를 좇고 있었고 검은 절벽 끝 더이상 발 디딜곳 하나 없었지 자꾸 목이 메어 간절히 네 이름을 되뇌었을 때 귓가에 울리는 그대의 뜨거운 목소리 그게 나의 구원이었어 마른 하늘을 달려 나 그대에게 안길 수만 있으면 내 몸 부서진대도 좋아 설혹 너무 태양 가까이 날아 두 다리 모두 녹아내린다고 해도 내 맘 그대 마음 속으로 영원토록 달려갈거야 내가 미웠지 난 결국 이것밖에 안 돼 보였고 오랜 꿈들이 공허한..

[웹 퍼블리싱] 01. HTML/CSS 시작하기 [내부링크]

듀엣 가요제 혼성 듀엣곡의 가사를 보여주는 페이지를 만들어보려고 합니다. 가사의 각 부분은 태그로 나뉘어 있는데요. 클래스를 이용해서 각 부분을 다른 색으로 칠해주세요. 남자가 부르는 부분은 파란색(blue) 여자가 부르는 부분은 핑크색(hotpink) 남녀가 같이 부르는 부분은 연두색(lime)으로 바꿔주세요. 사랑보다 깊은 상처 임재범, 박정현 오랫동안 기다려왔어 내가 원한 너였기에 슬픔을 감추며 널 보내줬었지 날 속여가면서 잡고 싶었는지 몰라 너의 눈물 속에 내 모습 아직까지 남아있어 추억을 버리긴 너무나 아쉬워 난 너를 기억해 이젠 말할게 그 오랜 기다림 너 떠나고 너의 미소 볼 수 없지만 항상 기억할게 너의 그 모든걸 사랑보다 깊은 상처만 준 난 이젠 깨달았어 후회하고 있다는 걸 이젠 모두 떠나..

[웹 퍼블리싱] 01. HTML/CSS 시작하기 [내부링크]

프로필 페이지 기본적인 HTML 태그 몇 가지를 배웠으니, 간단한 프로필 페이지 정도는 만들 수 있겠죠? 가장 좋아하는 유명 인물을 소개하는 사이트를 만들어보세요! 아래의 순서대로 요소를 넣어주세요. title 태그에 인물 이름 h1 태그에 인물 이름 img 태그에 인물 사진 (인터넷에 올라와 있는 이미지) p 태그에 간단한 설명 (b 태그와 i 태그 하나씩 포함시켜주세요.) 이 인물과 연관 있는 사이트로의 링크 (a 태그) 한 개 곰자 조승우 배우님이 입양한 강아지 이름은 곰자입니다. 본 내용은 Codeit의 '웹 퍼블리싱' 강의를 참고하여 작성한 내용입니다.

[웹 퍼블리싱] 01. HTML/CSS 시작하기 [내부링크]

텍스트 꾸미기 연습 HTML 태그를 직접 사용해봅시다. 홈페이지가 아래 그림처럼 구현되도록, 비어있는 style 코드를 채워주세요. 태그는 가운데로 정렬하고, lime 색깔로 칠해주세요. 태그는 오른쪽으로 정렬하고, hotpink 색깔로 칠해주세요. 태그는 오른쪽으로 정렬하고, blue 색깔로 칠해주세요. 태그에는 ‘웹사이트’라는 단어가 두 번 나오는데요, 이 단어를 굵게 써주세요. 태그에 있는 글자 중 태그로 감싸진 ‘HTML’과 ‘JavaScript’ 글자의 폰트를 64px로 바꾸고, green 색깔로 칠해주세요. 내 첫 HTML 프로젝트 이름: 이윤수 이메일: [email protected] 나는 HTML을 좋아한다. 앞으로 이 강의를 듣고, 나만의 웹사이트를 만들어볼 계획이다. 코드잇과 함께라면 ..

[TIL] 2021.02.04 [내부링크]

Academe Theory01. JavascriptTheory02. NCS 평가 시험GitHub Study cCodeit;[웹 퍼블리싱 - HTML/CSS 시작하기] 01. 수업 소개 01. 서비스가 주도하는 시대에 살아남는 법02. 1분 안에 웹사이트 론칭하기03. 코딩은 어디에 하면 되나요?04. 수업 소개 [웹 퍼블리싱 - HTML/CSS 시작하기] 02. HTML/CSS 시작하기01. 나의 첫 번째 웹사이트!02. 기본 HTML 태그 정리03. 굵게 쓰기, 날려 쓰기04. 태그, 태그05. 한글이 깨져요06. CSS 기초07. 기본 CSS 속성 정리08. 텍스트 꾸미기 연습09. head, body, html 태그10. 옵셔널 태그, 꼭 써야 할까?11. 링크12. 이미지13. 사이즈 설정1..

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

피라미드 그리기 파라미터로 정수형 height를 받고, 높이 height인 '피라미드'를 출력해보세요. 출력 결과는 아래 템플릿을 참고하세요. public class Main { public static void main(String[] args) { ShapePrinter printer = new ShapePrinter(); // 테스트 printer.printPyramid(3); System.out.println("----------"); printer.printPyramid(5); System.out.println("----------"); printer.printPyramid(10); } } public class ShapePrinter { public void printPyramid(int he..

[TIL] 2021.02.03 [내부링크]

Academe Theory01. CSSGitHub Study cCodeit;[자바 객체 지향 프로그래밍] 03. 중간고사: 문제 해결 능력 기르기 03. 삼각형 그리기04. 피라미드 그리기Boostcourse;[쉽게 배우는 자바 2] 02. JAVA 메서드04. 메서드의 입력 05. 메서드의 출력06. 메서드의 활용07. 수업을 마치며08. 부록 (access level modifiers)09. 부록 (static) [쉽게 배우는 자바 2] Quiz 201. Quiz 2 [쉽게 배우는 자바 2] 03. JAVA 객체지향 프로그래밍01. 수업 소개02. 남의 클래스 남의 인스턴스03. 변수와 메서드04-1. 클래스 (존재 이유와 기본형식)04-2. 클래스 (형식)05. 인스턴스06. static07...

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

03. 삼각형 그리기 파라미터로 정수형 height를 받고, 높이 height인 '직각 이등변 삼각형'을 출력해보세요. 출력 결과는 아래 템플릿을 참고하세요. * ** *** _________ * ** *** **** ***** _________ * ** *** **** ***** ****** ******* ******** ********* ********** package Midterm.Three; public class Main { public static void main(String[] args) { ShapePrinter printer = new ShapePrinter(); // 테스트 printer.printTriangle(3); System.out.println("----------"); p..

[TIL] 2021.02.02 [내부링크]

Academe Theory01. JSP 웹 프로그래밍Theory02. HTML Study cCodeit;[컴퓨터 개론 - 프로그래밍 언어 이해하기] 03. 프로그래밍 언어 Overview 01. 프로그래밍 언어의 스팩트럼02. 프로그래밍 언어의 추상화03. 프로그래밍 언어 퀴즈 404. 저수준 언어와 고수준 언어 비교하기05. 프로그래밍 언어의 종류 총정리하기06. 프로그래밍 언어의 흐름07. 특수 목적 언어 [컴퓨터 개론 - 프로그래밍 언어 이해하기] 04. 프로그래밍 언어 제대로 사용하기 01. 좋은 코드란?02. 읽기 쉬운 코드03. 스타일 가이드 활용하기04. 스타일 가이드 정리05. 스타일 가이드 적용하기06. 구조화가 잘 된 코드07. 프로그래밍 언어 퀴즈 508. 라이브러리09. 프레임워크..

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

두 원소의 차 중 최댓값 구하기 파라미터로 정수 배열 intArray를 받고, 두 원소의 차이 중 가장 큰 값을 리턴해주는 메소드 greatestDifference를 쓰세요. 리턴값의 자료형은 int입니다. 만약 원소 개수가 2개보다 작으면 0을 리턴해줍니다. 9 13 3 0 8 0 한번쯤은 짜본 코드같았는데 생각해보니까 학원에서 실습했던 문제와 비슷... public class Main { public static void main(String[] args) { GreatestDifferenceFinder finder = new GreatestDifferenceFinder(); // 테스트 1 int[] testArray1 = {-2, 7, 3}; System.out.println(finder.grea..

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

01. 평균값 계산기 파라미터로 정수 배열 intArray를 받고 배열의 모든 값의 평균을 리턴해주는 메서드 computeAverage를 쓰세요. 리턴 값의 자료형은 double입니다. 4.3333333 3.75 4.0 3.0 문제에 주어진 힌트들을 잘 보고 사용하자! 베이스로 있는 코드들도 다시 보자! public class Main { public static void main(String[] args) { AverageFinder finder = new AverageFinder(); // 테스트 1 int[] testArray1 = {3, 7, 3}; System.out.println(finder.computeAverage(testArray1)); // 테스트 2 int[] testArray2 = ..

[TIL] 2021.02.01 [내부링크]

Academe Theory. 스윙- 스윙- JOptionPane 클래스- 라디오 버튼, 체크 박스와 이이템 이벤트- 콤보 박스와 리스트 박스- 테이블과 MVC GitHub Codeit; 실습 과제 Study c Codeit; [자바 객체 지향 프로그래밍] 02. 객체 설계하기12. 특가 할인 매장 [자바 객체 지향 프로그래밍] 03. 중간고사: 문제 해결 능력 기르기01. 평균값 계산기02. 두 원소의 차 중 최댓값 구하기 Boostcourse;[쉽게 배우는 자바 2] 01. Java 제어문01. 수업 소개02. Boolean Datatype03. 비교 연산자04-1. 조건문 형식04-2. 조건문 응용 104-3. 조건문 응용 205. == vs equals06. 논리 연산자07-1. 반복문07-2...

[TIL] 2021.01.31 [내부링크]

JAVA ️Codeit;[자바 객체 지향 프로그래밍] 02. 객체 설계하기06. 계좌 이체09. 생성자 연습 Git & GitHub 1월의 마지막 날! 사실 TIL 쓰기도 창피한 수준으로 공부를 너무너무 안 했다. 2월의 Goal도 세웠으니 내일부터는 다시 힘차게 시작해야지! 12시 넘어서 Commit 하는 바람에 2월 1일에 잔디 심은 것은 함정... TMIc 낡은 책상 버리고 새 책상 사서 기분이 좋은 코린이, 무선 키보드를 구매하고 싶다.

[TIL] 2021.01.30 [내부링크]

JAVA ️ Codeit; [자바 객체 지향 프로그래밍] 01. 객체 만들기 08. 입금, 출금 [자바 객체 지향 프로그래밍] 02. 객체 설계하기 03. 접근 제어자 연습 06. 계좌 이체 09. 생성자 연습 12. 특가 할인 매장 Book [Java의 정석] 객체 지향 프로그래밍 1 04. 오버 로딩(overloading) 05. 생성자(constructor) 06. 변수의 초기화 객체 지향 프로그래밍에 대해 이해가 부족한 것 같아서 Codeit; 실습과제를 다시 풀어봤다. 그러다가 나를 1시간 동안 오리무중 상태에 빠지게 한 error;;; 책에서만 보던 NullPointException 어느 코드가 잘못된 건지 한참을 찾았는데 결국에는 이전 코드와 비교해봤는데 인스턴스를 엮으면서 잘못 엮은 ..

[TIL] 2021.01.29 [내부링크]

JAVA ️ Beatcamp;Theory01. JDBC- 데이터베이스- 테이블 다루기- JDBC- SELECT 문과 Statement 객체 - executeUpdate 메소드와 PrepareStatement 객체 Book [Java의 정석] 06. 객체 지향 프로그래밍 101. 객체지향언어02. 클래스와 객체03. 변수와 메서드 Study cCodeit;[컴퓨터 개론 - 프로그래밍 언어 이해하기] 01. 프로그래밍 언어 살펴보기01. 프로그래밍을 배우기 힘든 이유02. 프로그래밍 언어 이해하기 토픽 소개03. 프로그래밍 언어란?04. 프록래밍 퀴즈05. 프로그래밍 언어의 발전 [컴퓨터 개론 - 프로그래밍 언어 이해하기] 02. 프로그래밍 언어를 분류하는 두 가지 기준01. 프로그래밍 언어가 너무 많..

[자바 객체 지향 프로그래밍] 02. 객체 설계하기 [내부링크]

특가 할인 매장 가게에서 판매할 상품을 위한 클래스를 만들어봅시다! MarketGood 클래스 인스턴스 변수 MarketGood 클래스는 아래와 같은 인스턴스 변수들을 포함합니다: (1) String name (상품의 이름) (2) int retailPrice (상품의 출시 가격) (3) int discountRate (상품의 할인율. 단위: %) 모두 private으로 설정해주세요! 생성자 MarketGood 클래스는 두 개의 생성자를 가지고 있습니다: (1) public MarketGood(String name, int retailPrice, int discountRate) 생성자의 파라미터로 받은 값들을 인스턴스 변수에 지정해줍니다. discountRate가 0%보다 작거나 100%보다 큰 경우, ..

[자바 객체 지향 프로그래밍] 02. 객체 설계하기 [내부링크]

생성자 연습 두 클래스에 생성자를 만들어 봅시다. Person 클래스 Person의 생성자 2개를 만들 것입니다. (1) 파라미터로 '이름'을 뜻하는 String형 값 pName과 '나이'를 뜻하는 int형 값 pAge를 받고 초기값을 설정합니다. 인스턴스 변수 cashAmount은 0으로 시작합니다. 단, pAge가 음수면 인스턴스 변수 age는 12로 설정합니다. public Person(String pName, int pAge) { // 코드를 입력하세요 } (2) 파라미터로 '이름'을 뜻하는 String형 값 pName, '나이'를 뜻하는 int형 값 pAge, 그리고 '보유 현금'을 뜻하는 int형 값 pCashAmount를 받고 초기값을 설정합니다. (1)번과 마찬가지로 pAge가 음수인 경우..

[Goal] 2021.02 [내부링크]

Goal ; per ardua ad astra 1. Mini Project 성공적으로 완성하기 (02.24 완료) 2. Codeit; 강의 수강 계획 완료하기 (02.18 완료) 3. GitHub 1일 1 커밋 Academe Mini Project c ; 따릉이는 처음이라 c️ (02.24 완료) - HTML - CSS - Javascript - H2 Database Study c Codeit; [컴퓨터 개론] 프로그래밍 언어 이해하기 01. 프로그래밍 언어 살펴보기 (01.29 완료) 02. 프로그래밍 언어를 분류하는 두 가지 기준 (01.29 완료) 03. 프로그래밍 언어 Overview (02.02 완료) 04. 프로그래밍 언어 제대로 사용하기 (02.02 완료) 프로그래머의 세계 이해하기..

[TIL] 2021.01.28 [내부링크]

JAVA ️ Beatcamp; Theory01. 스레드 - 스레드란? - Thread 클래스 - Runnable 인터페이스 - 스레드의 상태 전이 - 다중 스레드의 우선권 - 스레드의 동기화 Theory02. 그래픽 사용자 인터페이스 (GUI) - Graphics 클래스 - Font 클래스 - Color 클래스 - Graphics 클래스 Theory03. 입출력 - 입출력 스트림의 개요 - 바이트 스트림 - File 클래스 - 문자 스트림 - 기본 자료 형태로 데이터 읽고 쓰기 - 객체의 직렬화 Codeit; [자바 객체 지향 프로그래밍] 02. 객체 설계하기 06. 계좌 이체 07. 생성자 08. 생성자 정리 09. 생성자 연습 10. this 11. this 정리 12. 특가 할인 매장 Git & ..

[자바 객체 지향 프로그래밍] 02. 객체 설계하기 [내부링크]

계좌 이체 지금까지 만들어 온 은행 시뮬레이션 프로그램에 송금 기능을 담당하는 transfer 메소드를 써봅시다. 메소드 오버로딩의 개념을 이용해서 BankAccount 클래스에 두 개의 transfer 메소드를 쓰고, Person 클래스에도 두 개의 transfer 메소드를 쓰겠습니다. 송금 메소드 작성 (BankAccount.java) 송금은 계좌 - 계좌 방식으로 이루어집니다. 하지만 사용자의 편리함을 위해서 아래의 두 메소드를 만들겠습니다. public class BankAccount { // 저번 과제에서의 코드를 포함해주세요! // 첫 번째 파라미터: 받는 사람 (Person) // 두 번째 파라미터: 이체할 금액 (정수) // 리턴 : 성공여부 (불린) public boolean transf..

[자바 객체 지향 프로그래밍] 02. 객체 설계하기 [내부링크]

03. 접근 제어자 연습 '접근 제어자' 강의에서 한 것처럼 Person 클래스와 BankAccount 클래스의 모든 인스턴스 변수들을 private으로 설정해주세요. 각 변수에 해당하는 'setter'(예: setName)과 'getter'(예: getName) 메소드를 써주고, BankDriver에서 오류가 나지 않도록 적절히 적용해주세요! 프로그램을 수정하여 오류가 나오지 않도록 하고, 테스트 케이스는 유지하여 이전 문제와 같이 아래의 출력값이 나오도록 해야 합니다. > 30000원 입금하였습니다. 잔고: 530000원, 현금: 70000원 > true > 170000원 출금하였습니다. 잔고: 360000원, 현금: 240000원 > true > 입금 실패입니다. 잔고: 360000원, 현금: 24..

[TIL] 2021.01.27 [내부링크]

JAVA ️ Beatcamp; Theory01. 상속 - 객체 지향 상속과 자바 상속 개념 이해 - 클래스 상속 작성 및 객체 생성 - protected 접근 지정 - 상속 시 생성자의 실행 과정 - 업 캐스팅과 instanceof 연산자 - 메서드 오버 라이딩과 동적 바인딩의 이해 및 활용 - 추상 클래스 - 인터페이스 Theory02. 다양한 컴포넌트와 이벤트 처리 - AWT의 이벤트 처리 방법을 익힌다. - 어댑터 클래스의 존재 이유를 알아본다. - 어댑터 클래스를 이용한 이벤트 처리 방법을 익힌다. - 내부 클래스의 장점과 정의부터 사용까지를 알아본다. - 내부 무명 클래스를 정의하고 사용하는 방법을 익힌다. Codeit; [자바 객체 지향 프로그래밍] 02. 객체 설계하기 01. 접근 제어자 ..

[TIL] 2021.01.26 [내부링크]

JAVA ️ Beatcamp; Theory01. 자바의 그래픽 인터페이스인 AWT를 이해한다. Theory02. 컨테이너에 컴포넌트들을 배치하는 배치 관리자를 이해한다. HW01. AWT로 아래 사진과 동일하게 만들기 Codeit; [자바 객체 지향 프로그래밍] 01. 객체 만들기 (복습) 01. 객체 지향이란? 02. 클래스 정리 03. 클래스 04. 메서드 05. 메서드 정리 06. 인스턴스 07. 인스턴스 정리 08. 입금, 출금 Git & GitHub Codeit; [자바 객체 지향 프로그래밍] 01. 객체 만들기 Study c Inflearn; [8명의 비전공자는 어떻게 개발자로 취업했을까] 07. 시작하기 전에 미리 알았더라면 - 시행착오를 덜 할 수 있는 개발 공부 방법 02. 정리해서..

[TIL] 2021.01.25 [내부링크]

JAVA ️ Beatcamp; Theory01. 클래스와 객체 - 객체 지향의 개념과 특성 이해 - 자바 클래스 만들기 - 생성자 만들기 - 객체 배열 선언 및 활용 - 객체 치환 이해 - 객체의 소멸과 가비지 컬렉션 - 클래스와 멤버에 대한 접근 지정 - static 속성을 가진 멤버의 특성 - final로 선언된 클래스, 메소드, 필드에 대한 이해 HW01. 끝말잇기 게임 만들기 HW02. 상속관계 클래스 작성하기 Codeit; [자바 왕기초] 05. 배열 04. DNA 염기 서열 분석 05. 다중 배열 Book [Java의 정석] Chapter05. 배열 02. String배열 - String배열의 선언과 생성 - String배열의 초기화 - char배열과 String클래스 - 커맨드 라인을 ..

[TIL] 2021.01.23 [내부링크]

Book [Java의 정석] Chapter05. 배열 01. 배열(array) - 배열이란? - 배열의 선언과 생성 - 배열의 길이와 인덱스 - 배열의 초기화 - 배열의 복사 - 배열의 활용 Study c Inflearn; [8명의 비전공자는 어떻게 개발자로 취업했을까] 04. 주관적으로 느꼈던 학원 과정 / 학원의 장점 / 만약 그때로 돌아간다면 03. 동기들의 포트폴리오 영상 [8명의 비전공자는 어떻게 개발자로 취업했을까] 05. 실제 취업을 위한 과정 / 이력서 / 포트폴리오 준비 팁 / 어디서도 알려주지 않는 면접 팁 01. 어느 정도 실력이 되어야 취업할 수 있을까 / 채용 정보 / 실제 취업을 위한 과정 02. 8명의 비전공자는 어떻게 신입 개발자로 취업을 했을까 (실제 포트폴리오의 몇 개..

[TIL] 2021.01.22 [내부링크]

JAVA ️ Beatcamp; Theory01. 객체지향 프로그래밍 - 패키지 개념과 자바 패키지 활용 - 컬렉션과 제네릭 HW01. CRUD개념을 가지고 있는 코드를 자율 코딩하기 Book [Java의 정석] Chapter04. 조건문과 반복문 01. 조건문 - if, switch 02. for, while, do-while Git & GitHub Codeit; 자바 기초 강의를 수강하면서 완료한 과제 Commit Study c Inflearn; [8명의 비전공자는 어떻게 개발자로 취업했을까] 03. 개발자가 되는 과정 / 공부 방법 02. 어떻게 개발 공부를 시작할 것인가 / 학원의 선택과 추천 / 국비 학원 선택의 주의점 03. 링크 공유 : 내가 취성패 국비지원 코딩 학원 때려치운 이유 ..

[자바 객체 지향 프로그래밍] 01. 객체 만들기 [내부링크]

08. 입금, 출금 1. 입금 (1) 입금을 성공하면 true를 리턴, 실패하면 false를 리턴합니다. (2) 입금 성공 시, 현재 잔고(balance)에 파라미터로 받은 금액(amount)을 더합니다. (3) 입금 성공 시, 계좌주의 현금액(cashAmount)을 입금액만큼 줄입니다. (4) 입금할 금액이 음수이면 입금 실패입니다(0원은 입금 성공). (5) 계좌주의 현금이 입금액보다 작을 경우 입금 실패입니다. (6) 입금 실패 시 다음과 같은 내용 출력: > 입금 실패입니다. 잔고: xx원, 현금: xx원 (7) 입금 성공 시 다음과 같은 내용 출력: > xx원 입금하였습니다. 잔고: xx원, 현금: xx원 2. 출금 (1) 출금을 성공하면 true를 리턴, 실패하면 false를 리턴합니다. (2..

[TIL] 2021.01.21 [내부링크]

JAVA ️ Beatcamp; Theory01. 객체지향 프로그래밍 Codeit; [자바 객체 지향 프로그래밍] 01. 객체 만들기 01. 객체 지향이란? 02. 클래스 정리 03. 클래스 04. 메소드 05. 메소드 정리 06. 인스턴스 07. 인스턴스 정리 08. 입금, 출금 Study c Inflearn; [8명의 비전공자는 어떻게 개발자로 취업했을까] 01. 강의 소개 01. 저에 대한 소개 / 강의 목차 소개 / 누가 들으면 좋을까 [8명의 비전공자는 어떻게 개발자로 취업했을까] 02. 왜 개발자가 되어야 하는가? 01. 나는 왜 개발을 공부하게 되었는가 / 왜 반드시 개발자가 되어야 하는가 02. 개발자의 업무 분야 소개 / 언어의 특징 / 개발 분야 정하기 [8명의 비전공자는 어떻게 개발자..

[TIL] 2021.01.20 [내부링크]

JAVA ️ Beatcamp; Theory01. 2차원 배열 Theory02. Git Theory03. GitHub Quiz01. 2개의 1차 배열을 하나의 1차 배열로 합치기 Quiz02. 2개의 1차 배열을 하나의 2차 배열로 합치기 Quiz03. 열 우선순위의 배열을 행 우선순위의 배열로 변경하기 Git & GitHub Codeit; [Git으로 배우는 버전 관리] 01. Git 시작하기 01. Git이란? 02. Git의 역사 03. GitHub란? 04. Git 설치하기 (Mac) 05. Git 설치하기 (Window) 06. sublime Text 설치하기 (Mac) 07. sublime Text 설치하기 (Window) 08. Git 시작하기 퀴즈 [Git으로 배우는 버전 관리] 02...

[자바 왕기초] 05. 배열 [내부링크]

04. DNA 염기 서열 분석 실습 과제 DNA 염기 서열은 생물의 유전 성질을 결정하는 매우 중요한 역할을 가지고 있습니다. 템플릿에 주어진 염기 서열에서 TAGG, CCAG, AGCC가 총 몇 번 등장하는지 세어봅시다. 만약 TAGG가 2번, CCAG가 4번, AGCC가 3번 등장한다면 아래와 같은 출력 값이 나옵니다. > TAGG: 2 CCAG: 4 AGCC: 3 public class Dna { public static void main(String[] args) { String dna = "GATCCGCCCGCCTCGGCCTCCCAAAGTGCTGGGATTACAGGTGTGAGCCA" + "CCACGCCCGGCTAATTTTTATTTATTTATTTAAAGACAGAGTCTCACTCT" + "GTCACT..

[TIL] 2021.01.19 [내부링크]

JAVA️ Beatcamp;Theory01. 배열HW01. 100일 후 날짜 계산기 (2가지) Codeit;[자바 왕기초] 05. 배열04. DNA 염기 서열 분석05. 다중배열 오늘 늦잠을 자서 택시를 탔다. 택시를 타서 지각은 간신히 면할 수 있었지만... 앞으로는 무조건 7시 30분에 일어나는 습관을 만들어서 복습을 하고 강의를 들어야겠다. 휴ccc 정말! 제발! 늦게 자도 일찍 일어나자... Beatcamp; 2일동안 배열에 대해서 배우고 있는데 아직까지도 순간순간 헷갈린다. 책을 받았으니 반복해서 읽고 예제를 풀어봐야겠다. Codeit; DNA 염기 서열 분석 과제를 해결하려고 했는데 역시 배열문제여서 그런지 손가락을 움직일 수 없었다 잠시 보류하고 JAVA의 정석을 읽고 돌아와서 다시..

[TIL] 2021.01.18 [내부링크]

JAVA️ Beatcamp; Theory01. for문 - 이중 중첩 Theory02. 배열 HW01. 구구단 - 큰 수를 먼저 입력했을 경우에도 작은 수부터 구구단 출력하기 - 2단 ~ 9단까지만 입력 가능하고 벗어났을 경우 다시 입력받게 하기! HW02. 구구단 - 시작단, 종료단 결과 3행 3열로 출력 HW03. 로또번호 검색기 최소한 3가지 형태로 만들기 Codeit; [자바 왕기초] 05. 배열 04. DNA 염기 서열 분석 05. 다중배열 오늘은 코로나 때문에 비대면 강의로 화상채팅으로 수업을 들었다. 첫 교시에 강사님이 하셨던 말이 인상 깊었다. "코딩은 80점, 90점이 없다. 0점과 100점만 있다." 솔직히 뼈 맞았다 ㅠㅠ... 알고리즘 문제를 풀 때 나름 괜찮은 속도로 코딩하고 있어..

[Goal] 2021.01 [내부링크]

어느새! 벌써! 1월이 반이나 지나갔지만 그래도 목표를 한번 세워보려고 한다. Codeit; 강의를 듣고 늦어도 2월이 시작할 때는 Github 잔디밭의 구렁텅이에 나도 한번 빠져보려고 한다... 도전~! Goal 1. Beatcamp; 에서 배운 이론 완벽하게 이해하기 2. Codeit; 강의 수강 계획 완료하기 (01.27 완료) 3. Github Commit 준비하기 (01.22 완료) 4. "Java의 정석' 05. 배열 파트(p.228)까지 이해하기 (01.25 완료) Codeit; [컴퓨터 개론 - 프로그래밍 시작하기 in Python] 01. 파이썬 첫걸음 (01.27 완료) 01. 우리가 사용할 도구들 02. 파이썬 설치 (Window) 03. 파이썬 설치 (Mac) 04. Pycham 둘..

[TIL] 2021.01.17 [내부링크]

JAVA️ Codeit;[자바 왕기초] 04. 조건문과 반복문03. 배열 연습 오늘은 배열 하나만 제대로 정리하자라고 생각하고 공부를 시작했다 ㅠㅠ 어제 고민했던 과제의 문제점은 바로바로 내가 계산식을 잘못 썼기 때문에 당연히 다른 값으로 계산될 수밖에 없었다... 코딩을 하기 전에 정확하게 파악하고 잘 쓴 solution 같더라도 다시 한번 돌아보자!!! 꼭!!!!! for-each 문법 다시 공부하자 TMI ) 아래의 계산식 중 "1001"이 아닌 "1000"으로 코딩하여 피봤다...

[자바 왕기초] 05. 배열 [내부링크]

03. 배열 정리 실습 과제 (1) 크기가 30인 정수형 배열 intArray를 만들어 주세요. (2) 배열의 첫 번째(0번 인덱스) 칸부터 1001, 1002, 1003, ..., 1029, 1030을 순서대로 넣어주세요. (3) 크기가 4인 문자열형 배열 remainders를 만들어 "Zero", "One", "Two", "Three"를 순서대로 넣어주세요. (4) intArray 배열에 담긴 각 값을 4로 나눈 나머지를 인덱스로 생각하고, remainders 배열에서 그 인덱스에 위치한 단어를 출력해주세요. 이 때 반드시 '배열 정리' 노트에 있는, for- each문을 활용해주세요!! 아래와 같은 출력 결과가 나올 것입니다. > One Two Three Zero ... One Two public ..

[자바 왕기초] 04. 반복문 [내부링크]

for 실습 과제 for문으로 구구단을 출력해보세요. 아래와 똑같은 결과값이 나와야 합니다. > 1 * 1 = 1 1 * 2 = 2 1 * 3 = 3 . . . 9 * 9 = 81 public class For { public static void main(String[] args) { for(int i = 1; i

[TIL] 2021.01.16 [내부링크]

JAVA️ Codeit;[자바 왕기초] 04. 조건문과 반복문09. while문 연습10. for문11. for문 정리12. 구구단 [자바 왕기초] 05. 배열01. 배열02. 배열 정리03. 배열 연습 Codeit; while 실습 과제는 쉬운 문제였는데 괜히 어렵게 생각해서 코딩하는 시간이 오래 걸렸다;;; 쉽게 접근하고 주어진 변수에 대해서 좀 더 빨리 생각해보는 습관을 가지자!!! 그래도 while 과제는 고민을 꽤 했던터라 "정답입니다c"라는 화면을 보고 나니 괜히 뿌듯... 구구단 문제는 Beatcamp; 에서 해봤다고 진짜 바로 딱! 치면 억! 하고 나왔다 :)

[TIL] 2021.01.15 ️ [내부링크]

JAVA️ Beatcamp; Theory01. 배열 Quiz01. 야구게임 Beatcamp; 에서 팀 과제로 야구 게임을 진행했는데 모든 팀원 및 학생들이 멘붕에 빠졌다... Java에 대한 기본 지식이 쌓이면 다시 도전해보는 것으로... 멘붕으로 인해 Codeit; 강의는 쉬어가기로...

[자바 왕기초] 04. 반복문 [내부링크]

09. While 실습 과제 10000 미만의 정수 중에서, 153의 배수중 가장 큰 값을 찾아 출력하세요. > 9945 public class While { public static void main(String[] args) { int num = 10000; int key = 153; int i = 0; while(key*i

[자바 왕기초] 04. 반복문 [내부링크]

Switch 실습 과제 정수 134354를 7로 나눈 나머지를 영어로 출력하세요. 예를 들어서 134354를 7로 나누었을 때 나머지가 0이면 콘솔에 "Zero"가 출력되어야 하고, 1 이면 콘솔에 "One"이 출력되어야 하고, 2이면 "Two"가 출력되어야 하고, 6이면 "Six"이 출력되어야 합니다. (어떤 수를 7로 나누었을 때, 나올 수 있는 나머지의 최솟값은 0이고, 최댓값은 6입니다.) public class Switch { public static void main(String[] args) { int number = 134354; switch (number%7){ case 0: System.out.println("Zero"); break; case 1: System.out.println("..

[자바 왕기초] 04. 반복문 [내부링크]

if, else if, else 정수형 변수 a, b에 대하여 다음의 조건들을 만족하는 코드를 작성해 봅시다. a와 b가 같으면 "a와 b가 같습니다. a = b = [a의 값]"를 출력합니다. a와 b가 같지 않으면 "a와 b는 같지 않습니다"를 출력합니다. 조건 (2)의 출력문 이후에, a가 b보다 더 큰 경우 "a가 b보다 [a, b의 차]만큼 더 큽니다."를 출력합니다. 조건 (2)의 출력문 이후에, b가 a보다 더 큰 경우 "b가 a보다 [a, b의 차]만큼 더 큽니다."를 출력합니다. 예를 들어서 a는 3, b는 7인 경우, 아래의 출력값이 나와야합니다. > a와 b는 같지 않습니다. b가 a보다 4만큼 더 큽니다. a와 b는 같지 않습니다. a가 b보다 11만큼 더 큽니다. public cl..

[TIL] 2021.01.14 [내부링크]

JAVA️ Beatcamp; Theory01. 함수, 지역변수, 매개변수 Quiz01. Updown 게임 (정수 맞추기 : 1 ~ 100 사이의 정수를 정답 정하기) (1. 임의 수를 부른다. 2. 정답 비교해서 대답 - 정답보다 큰 값인 경우 : up - 정답보다 작은 값인 경우 : down - 정답이면 종료 3. 정답이 아닐 때 대답에 따라 다음 값 예측 ) Quiz02. 주차장 요금 계산기 Quiz03. 로또 번호 생성기 - 3세트 이상 출력하기 Quiz04. 3자리 정수를 생성해서 출력하기 (각 자리 중복 값없어야 한다. - 224, 131) Quiz05. 버스가 8개의 정류장을 지나간다. (최대 정원은 40명) 각 정류장에서 임의 인원이 내리거나, 타거나 각각의 정류장에서 탑승 인원을 출력하라..

[자바 왕기초] 03. 변수와 연산 [내부링크]

연산자와 형 변환 여러분이 국어(koreanScore) 86점, 수학(mathScore) 94점, 과학(scienceScore) 87점, 컴퓨터(computerScore) 100점을 맞았다고 합시다. 이 값들을 사용하여 평균 점수(average)를 구하고 소수로 출력해보세요. > 91.75 public class Main { public static void main(String[] args) { double koreanScore = 86; double mathScore = 94; double scienceScore = 87; double computerScore = 100; double average = (koreanScore + mathScore + scienceScore + computerScore..

[TIL] 2021.01.13 [내부링크]

JAVA️ Beatcamp; Quiz01. 10개의 임의의 정수를 출력하고 그 중에서 최소값, 최대값을 출력하시오. Quiz02. 전체 출력할 데이터의 개수는 120개이며, 1 페이지에 25개씩 보여줄 것이다. 페이지 개수를 출력시오. Quiz03. 3자리의 정수 값을 정하고 일의 자리, 십의 자리, 백의 자리로 분리해서 출력하시오. (Sol 01) 각각 변수로 지정하고 산술로 표현 (Sol 02) for 구문 사용 (Sol 03) String과 for 구문 사용 Quiz04. 두 점의 위치를 아는 경우, 두 점을 잇는 직선을 완성하시오. int x1 = 1; int y2 = 5; int x2 = 3; int y2 = 11; Quiz05. "0"으로 정사각형 모양 그리기 Quiz06. 구구단 만들고 3..

2021.01.11 | JAVA 첫걸음! [내부링크]

HELLO WORLD 처음으로 생성한 Java 코드이다. 오른쪽 마우스를 클릭하여 "Run As - Java application"을 클릭하여 실행한다. Public class Test { public static void main (String[] args) { System.out.println("Hello World"); } } 아래 사진과 같이 Console에 "Hello World"가 실행된 것을 확인할 수 있다. 키보드 입력 키보드 입력 방법은 두 가지가 있다. 두 가지를 비교하였을 때 Scanner를 이용하는 방법이 편리하나 기초부터 탄탄히 하기 위해 System.in 방법을 먼저 알아보자. 1. Standard Input Stream인 System.in.read()를 이용하는 방법 2. JD..

에이아이아카데미 (비트캠프 종로점) | 취성패 2단계 [내부링크]

디지털 컨버전스 기반 융합기술을 활용한 SW 웹 개발자 양성과정이 오늘 개강을 하여 상담/면접 이후 처음으로 학원에 오게 되었다. 종각역 바로 앞이고 버스정류장에서 내리면 바로 건물을 확인할 수 있어서 헤매지 않고 바로 찾아올 수 있었다. OT 현재 코로나로 대면/비대면을 조로 나누어서 격일제로 진행하고 있다. 비콘으로 출석체크를 하고 강의실로 입장했다. 정규 수업은 9:30~18:20 (점심시간 13:30~14:20)이고, 비트캠프는 다른 국비 지원 학원과 다르게 6개월 동안 의무 스터디가 진행되는데 18:30~21:00에 진행된다. (이때 저녁을 어떻게 해야 할지 고민됐다 ㅠㅠ...) 수료하기 위에서는 80% 이상 출석을 해야하며 각 과정마다 시험을 통과해야 한다. 시험 통과 기준은 60점 이상이다...

스파르타 코딩클럽 | 나홀로코딩 1기 | HTML, CSS, Javascript [내부링크]

안녕하세요 :) 스파르타 코딩클럽은 웹 개발 종합반 10기로 수료했었는데 이번 크리스마스 기념으로 무료 강의를 제공하여 참여하게 되었습니다. 이번 강의에서는 HTML, CSS, Javascript가 무엇이고 어떻게 사용하는 것인지 알 수 있도록 알기 쉽게 설명해주어서 짧은 강의였지만 효과가 좋다고 생각합니다. 웹 개발 종합반에서 배운 기억이 새록새록 떠오르는 느낌적인 느낌 강의 내용 강의 1일 차 HTML, CSS의 기본 문법을 익히고 프런트엔드를 실제로 코딩해보는 강의였다. 결과물로는 간단한 로그인 페이지를 만들 수 있었다. 강의 내용 HTML : 뼈대 CSS : 디자인 Javascript : 동작 결과물 강의 2일 차 HTML과 CSS를 응용해서 크리스마스 카드를 직접 디자인하고 기초적인 javasc..

색상과 배경 [내부링크]

웹 사이트를 디자인할 때 가장 쉬운 방법은 색상과 배경을 바꾸는 것이다. 1. 색상 색상을 표현하는 방법은 다양하다. 십진수로 표시할 수도 있고, rgb값을 직접 입력할 수 있다. 또는 색상 이름을 직접 입력할 수 있다. 2. 배경 배경은 이미지와 색으로 디자인이 가능하다. 그라데이션, 반복 등 여러 가지 기법이 있다. .bg1 { background-clip:border-box;} .bg2 { background-clip:padding-box;} .bg3 { background-clip:content-box;} / 1. border-box : 테두리까지 적용 2. padding-box : 테두리를 뺀 범위까지 적용 3. content-box : 내용 부분에만 적용 본 내용은 이지스퍼블리싱의 'Do it..

텍스트 관련 스타일 [내부링크]

웹 문서에서 가장 많은 부분을 차지하는 부분은 텍스트이다. 텍스트 스타일에 따라서 디자인이 많이 달라지므로 자세하게 알아보자. 1. 글꼴 관련 스타일 글꼴을 지정하는 방법은 설치되어있는 폰트를 이용하는 방법과 구글 웹 폰트를 사용하는 방법이 있다. 또한, 글자 크기, 굵기, 속성, 스타일도 원하는 대로 지정할 수 있다. 2. 텍스트 스타일 글자 색, 밑줄, 대/소문자 변환, 그림자 효과 등 다양한 효과를 주어 텍스트 스타일을 변경할 수 있다. 3. 문단 스타일 글자 쓰기 방향, 정렬, 줄간격 등 다양하게 문단 스타일을 변경할 수 있다. 텍스트 정렬 4. 목록 스타일 목록의 불릿과 번호 스타일, 불릿 대신 이미지 넣기 등 다양하게 디자인 할 수 있다. 본 내용은 이지스퍼블리싱의 'Do it! HtML5 +..

CSS 기초 [내부링크]

CSS는 HTML과 함께 웹 표준 개발의 기본 개념이다. HTML이 텍스트나 이미지 등 각 요소를 웹 문서에 넣어 뼈대를 만드는 것이라면 CSS는 텍스트 색상이나 크기, 이미지 등 디자인 요소를 담당한다고 할 수 있다. 따라서, CSS를 이용하면 한층 더 업그레이드된 웹 디자인을 할 수 있다. 1. 스타일 시트 여러 가지의 스타일 규칙이 사용되는 경우가 많아서 한눈에 확인하고 필요할 때마다 수정하기 쉽도록 한 군데 묶어 놓는 것을 '스타일 시트'라고 한다. 내부 스타일 시트 웹 문서 안에서 사용할 스타일을 문서 안에 정리한 것이다. 외부 스타일 시트 스타일을 별도 파일로 저장해 놓고 필요할 때마다 파일에서 가져와서 사용하는 것이다. 2. 주요 선택자 전체 선택자 말 그대로 스타일을 모든 요소에 적용할 때..

폼 관련 태그들 [내부링크]

웹 폼(form)은 특정 항목에 사용자가 입력하는 형태이다. (ex. 로그인 창) 다양항 항목 및 체크박스를 넣을 수 있다고한다. 폼과 관련된 태그에 대해서 공부해봤다. 1. 폼(form) 만들기 여러 폼 요소 속성을 통해 사용자가 입력한 자료를 서버에서 어떤 프로그램을 이용해 처리할 것인지, 서버로 어떤 방식으로 넘길 것인지 지정한다. 속성은 method, name, action, target등이 있다. 특히, 우리가 인터넷을 하면서 자주 볼 수 있는 자동 완성 기능 속성은 "autocomplete"이다. 레이블 위와 같이 태그를 쓰면 입력 창 옆에 텍스트를 만들 수 있다. 왼쪽 이미지와 같이 만들 수 있다. (파란 박스) 또한, "아이디 저장"처럼 체크박스도 만들 수 있다. ... 위의 태그는 폼 요..

TIL(Today I Learned) [내부링크]

TIL은 나 자신을 위해 과정을 기록하는 것이다. 잘 안되는 것, 개발하면서 배운 것들을 편하게 정리 하려고 한다. 1. 한 주 동안의 회고 2. 한 주 동안의 배운 것들 3. 이번주의 목표

정보처리기사 필기 공부 방법 및 합격 후기 | 요점정리 PDF 공유 [내부링크]

2020년 4회 정보처리기사 필기에 합격했다. 개발자로 이직을 준비하고 있어서 전공 지식을 공부하기 위해 자격증 공부를 시작했다. 비전공자라서 맨땅에 헤딩 수준으로 시작했지만 SQLD 자격증을 취득하면서 SQL을 다루어봐서 다른 부분을 더 집중적으로 보았다. 기사 필기 준비물과 유의사항 수험표, 신분증, 컴퓨터용 사인펜, 검정 볼펜, 연필, 화이트(액체 X) 수험표는 없어도 되나, 신분증은 없으면 퇴실 조치이므로 반드시 있어야 한다. 시험과목 1과목 소프트웨어 설계 2과목 소프트웨어 개발 3과목 데이터베이스 구축 4과목 프로그래밍 언어 활용 5과목 정보시스템 구축 관리 1. 책 추천 책은 수제비 정보처리기사를 추천한다. 오탈자는 좀 있는 편이지만 두음법칙, 학습 Point! 등 암기를 쉽게 할 수 있는 ..

이미지와 하이퍼링크 [내부링크]

웹에 이미지를 삽입하거나 링크를 삽입하는 방법을 알아보자. 이미지 삽입 1. 저장된 이미지 파일 2. 인터넷의 이미지 파일 이미지 속성 1. 이미지 설명 화면 낭독기가 시각장애인에게 읽어 줄 수 있다. 또는 이미지를 제대로 표시할 수 없는 상황에서 이미지 자리에서 확인할 수 있다. 이미지에 설명 글을 붙이기 (한글 문서 캡션 느낌이다.) 라이언커피 2. 이미지 크기 설정 하이퍼 링크 1. 링크 만들기 텍스트 2. 방문했던 링크 글자 색 바꾸기 3. 새 탭에서 링크열기 SIRI Github 4. 페이지 점프하기 (앵커) 텍스트 또는 이미지 텍스트 또는 이미지 본 내용은 이지스퍼블리싱의 'Do it! HtML5 + CSS3 웹 표준의 정석'을 참고하여 작성한 내용입니다.

텍스트 관련 태그 [내부링크]

텍스트로 이루어진 정보는 수정이 편리한 장점이 있지만 텍스트의 양이 많을 수록 정보를 찾기 힘들다는 단점이 있다. 따라서, 크기나 색상, 스타일, 목록 등을 바꾸어 표시한다. 덩어리로 표시 * 제목 표시하기 텍스트 (h1이 가장 큰 제목이고 h6이 가장 작은 제목이다.) * 단락 만들기 텍스트 * 줄 바꾸기 * 수평 줄 넣기 * 인용문 넣기 텍스트 * 입력하는 그대로 화면에 표시 텍스트 한 줄로 표시 * 굵게 표시하기 텍스트 텍스트 (육안으로는 차이가 느껴지지 않으나 을 사용한 부분을 강조되었다고 화면 낭독기가 알려준다.) * 이탤릭체로 표시하기 텍스트 텍스트 (강조하고 싶을 때는 을 사용하고, 관용구는 를 사용한다. * 인용 내용 표시하기 텍스트 (와 차이점은 줄바꿈 없이 다른 내용과 함께 한줄로 표시..

기본 다지기 [내부링크]

HTML5의 역할이 무엇인지 살펴보았다. (웹과 HTML은 뗄 수 없는 관계이다.) 웹 문서를 만들고 업로드도 진행해보았다. 내가 만든 HTML, 웹 서버에 올리고 확인하기 1. 닷홈에 무료 호스팅 서비스 신청 'FTP아이디.dothome.co.kr'이 나의 웹 사이트가 된다. 2. FTP 프로그램 FileZilla 설치하고 서버 접속 - FTP 서버에 접속하기 - HTML 문서 불러오기 - 파일 서버에 올리기 - 웹 브라우저에서 확인하기 본 내용은 이지스퍼블리싱의 'Do it! HtML5 + CSS3 웹 표준의 정석'을 참고하여 작성한 내용입니다.

정보시스템 구축 관리 [내부링크]

요구사항 프로세스 - 추출 - 분석 - 명세 - 검증 소프트 웨어 생명주기 모델의 프로세스 단계별 황동 내용 - 요구사항 분석 단계 : 기능 및 비기능 요구사항 파악 - 설계 단계 : 시스템 구조 설계, 프로그램 설계, 사용자 인터페이스 설계 - 구현 단계 : 프로그래밍, 인터페이스 개발, 자료 구조 개발, 오류 처리 - 유지보수 단계 : 예방, 완전, 교정, 적응적 유지 보수 수행 소프트웨어 개발방법론 유형 - 구조적 방법론 : 전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합하는 분할과 정복 접근 방식의 방법론이다. - 객체지향 방법론 : 데이터와 관련되는 동작을 모두 포함하는 방법론으로 데이터는 실체이고, 동작은 절차, 방법, 기능을 의미한다. - 컴포넌트 기반 방법론 : 소프트웨어를 구성하는..

프로그래밍 언어 [내부링크]

개발 도구 빌드 도구 - 작성한 코드의 빌드 및 배포를 수행 - 각각의 구성요소와 모듈에 대한 의존성 관리를 지원하는 것 구현 도구 - 코드의 작성과 디버깅, 수정 등과 같은 작업과 구현 소프트웨어가 어떤 프로그래밍 언어로 개발되는지 선택 테스트 도구 - 코드의 기능 검증과 전체의 품질을 높이기 위해 사용 형상 관리 도구 - 개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리를 위한 도구 개발환경 구성요소 - 서버 하드웨어 개발환경에는 프로젝트 구성에 다라 웹서버, 웹 애플리케이션 서버, 데이터베이스 서버, 파일 서버 등으로 구분한다. - 소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경 사항을 관리하기 위해서 형상관리 툴을 사용한다. - 클라이언트 하드웨어 개발환경은 클라이언트 ..

데이터베이스 구축 언어 [내부링크]

SQL 문법의 분류 - 데이터 정의어(DDL) : CREATE, ALTER, DROP - 데이터 조작어(DML) : SELECT, INSERT, DELETE, UPDATE - 데이터 제어어(DCL) : GRANT, REVOKE DDL 대상 - 도메인(Domain) - 스키마(Schema) - 테이블(Table) - 뷰(View) - 인덱스(Index) 트리거 : 데이터베이스가 미리 정해 놓은 조건이 충족되거나, 특정 테이블에 삽입, 수정, 삭제 등의 데이터 변경 이벤트가 발생하면 DBMS에서 자동적으로 샐행되도록 구현된 프로그램이다. 윈도우 함수 - 행과 행 간의 관계를 쉽게 정의하기 위해 만든 함수이다. - 데이터 베이스를 사용한 온라인 분석 처리 용도로 사용하기 위해서 SQL에 추가된 기능으로 OLA..

소프트웨어 개발 [내부링크]

자료 구조 - 선형 : 연결 리스트, 스택, 큐, 테크 - 비선형 : 트리, 그래프 트리 - 포화 이진 트리 : 모든 레벨에서 노드가 꽉 채워진 트리 - 완전 이진 트리 : 마지막 레벨을 제외하고 노드가 채워진 트리 - 편향 이진 트리 : 노드의 왼쪽이나 오른쪽 한 곳만 노드가 존재하는 트리 - 이진 탐색 : 중복된 노드가 없으며, 특정 노드의 왼쪽 서브 트리에 해당 노드 값보다 작은 값, 오른쪽 서브트리에는 해당 노드 값보다 큰 값으로 구성되는 이진 트리 파티션의 장점 - 성능 형상 - 가용성 향상 - 백업 가능 - 경합 감소 클러스터 설계 시 고려사항 - 검색 효율은 높여 주나 입력, 수정, 삭제 시는 부하가 증가함을 고려한다. - UNION, DISTINCT, ORDER BY, GROUP BY가 빈..

소프트웨어 설계 [내부링크]

운영체제 현행 시스템 분석 시 고려사항 지원 측면 - 기술 지원 - 주변 기기 - 구축 비용 품질 측면 - 신뢰도 - 성능 현행 시스템 분석을 위한 플랫폼 성능 특성 분석 기법 - 사용자 인터뷰 : 현행 플랫폼 사용자 인터뷰를 통해 속도의 적정성 확인 - 성능 테스트 : 현행 플랫폼을 대상으로 성능, 부하 테스트를 수행 - 산출물 점검 : 현재 플랫폼과 유사한 타사 제품의 성능 자료 등을 분석 OSI 7계층 - 데이터 링크 계층 : 프레임의 동기화, 오류 제어, 흐름 제어 등 전송 에러 제어 - 물리 계층 : 매체 간의 인터페이스, 전기적, 기능적, 절차적 기능 정의 - 응용 계층 : 사용자와 네트워크 간 응용서비스 연결, 데이터 생성 - 표현 계층 : 코드 변환 구문 검색, 암호화, 형식 변환, 압축 ..

SQL 최적화 기본 원리 [내부링크]

CBO(Cost Based Optimizer) - 테이블 및 인덱스 등의 통계 정보를 활용하여 SQL문을 실행하는데 소요될 처리 시간 및 CPU, I/O 자원량 등을 계산하여 가장 효율적일 것으로 예상되는 실행계획을 선택하는 옵티마이저를 비용기반 옵티마이저라고 한다. - 비용기반 옵티마이저는 테이블, 인덱스, 칼럼 등 객체의 통계정보를 사용하여 실행계획을 수립하므로 통계정보가 변경되면 SQL의 실행계획이 달라질 수 있다. 실행계획 - SQL 처리를 위한 실행 절차와 방법을 표현한 것이다. - 조인 방법, 조인 순서, 액세스 기법 등이 표현된다. - 실행방법이 달라진다고 해서 결과가 달라지지는 않는다. - CBO의 실행계획에는 단계별 예상 비용 및 건수 등이 표시된다. - 인덱스 범위 스캔은 결과 건수만큼..

SQL 활용 [내부링크]

순수 관계 연산자와 SQL 문장 비교 - SELECT 연산은 WHERE 절로 구현 - PROJECT 연산은 SELECT 절로 구현 - (NATURAL) JOIN 연산은 다양한 JOIN 기능으로 구현 - DIVIDE 연산은 현재 사용되지 않음 ANSI/ISO SQL에서 표시하는 FROM 절의 JOIN 형태 - INNER JOIN - NATURAL JOIN - USING 조건절 - ON 조건절 - CROSS JOIN - OUTER JOIN(LEFT, RIGHT, FULL) INNER 조인 : OUTER JOIN과 대비하여 내부 JOIN이라고 하며 JOIN 조건에서 동일한 값이 있는 행만 반환된다. CROSS 조인 - 테이블 간 JOIN 조건이 없는 경우 생길 수 있는 모든 데이터의 조합을 말한다. - 결과는..

SQL 기본 [내부링크]

SQL 문장들의 종류 명령어의 종류 명령어 설명 데이터 조작어 (DML) SELECT 데이터베이스에 들어 있는 데이터를 조회하거나 검색하기 위한 명령어를 말하는 것으로 RETRIEVE라고도 한다. INSERT UPDATE DELETE 데이터베이스의 테이블에 들어 있는 데이터에 변형을 가하는 종류의 명령어들을 말한다. 예를 들어 데이터를 테이블에 새로운 행을 집어넣거나, 원하지 않는 데이터를 삭제하거나 수정하는 것들의 명령어들을 DML이라고 부른다. 데이터 정의어(DDL) CREATE ALTER DROP RENAME 테이브롹 같은 데이터 구조를 정의하는데 사용되는 명령어들로 그러한 구조를 생성하거나 변형하거나 삭제하거나 이름을 바꾸는 데이터 구조와 관련된 명령어들을 DDL이라고 한다. 데이터 제시어(DCL..

데이터 모델과 성능 [내부링크]

성능 데이터 모델링이란? - 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것이다. - 데이터의 증가가 빠를수록 성능저하에 따른 성능개선비용은 증가한다. - 데이터모델은 성능을 튜닝하면서 변경이 될 수 있는 특징이 있다. - 분석/설계 단계에서 성능을 고려한 데이터모델링을 수행할 경우 성능 저하에 따른 Rework비용을 최소화 할 수 있는 기회를 가지게 된다. 성능 데이터 모델링 수행 절차 1. 데이터모델링을 할 때 정규화를 정확하게 수행한다. 2. 데이터베이스 용량산정을 수행한다. 3. 데이터베이스에 발생되는 트랜잭션의 유형을 파악한다. 4. 용량과 트랜잭션의 유형에 따라 반정규화를 수행한다. 5. 이력모델의 조정, PK/F..

데이터 모델링의 이해 [내부링크]

데이터 모델링이란? - 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법 - 현실세계의 데이터(What)에 대해 약속된 표기법에 의해 표현하는 과정 - 데이터베이스를 구축하기 위한 분석/설계의 과정 데이터 모델링 유의점 - 중복(Duplication) : 데이터 모델은 같은 데이터를 사용하는 사람, 시간, 그리고 장소를 파악하는데 도움을 줌으로써 데이터베이스가 여러 장소에 같은 정보를 저장하는 잘못을 하지 않도록 한다. - 비유연성(Inflexibility) : 데이터 모델을 어떻게 설계했느냐에 따라 사소한 업무 변화에도 데이터 모델이 수시로 변경됨으로써 유지보수의 어려움을 가중시킬 수 있다. 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 데이터 모델링은 데이터 혹은 프로세스의 작은 변화가..

SQLD 공부 방법 및 합격 후기 | 요점정리 PDF 공유 [내부링크]

제38회 SQL 개발자(SQLD) 시험에 합격했다. 시험 보기 전 나의 SQL 지식은 간단한 쿼리문을 작성할 수 있는 정도였다. 전 직장에서 Mysql을 사용한 경험이 있었기 때문이다. 직장을 다니면서 준비했던 터라 2~3주 정도 공부를 할 수 있었다. (하루에 3시간 정도) 1. 책 추천 책은 SQL 전문가 가이드를 추천한다. 이론이 정말 자세히 다루었고 문제도 실려있다. 다만, 단점이라면 책의 두께와 가격이다. 데이터 전문가 지식포털 사이트에서 동일한 내용을 제공해줘서 구매하지 않고 공부할 수 있다. (구글링 하면 PDF 통합 파일도 쉽게 찾을 수 있다.) 이 내용을 나는 나중에 알아서 이기적 SQL 개발자를 구매해서 풀었는데 문제를 많이 접해보는 용도로는 활용도가 좋으나 이론은 너무 집약적으로 설명..