전체 글 (165)

05
15

1. HTML

  • HTML : 홈페이지의 구성요소들을 흩뿌려 놓은 것. 그래서 프로그램 언어라고 하기 힘들다.
    • 엘리먼트 : img(이미지), 하이퍼링크 등을 위한 a, 문단 나눔 per, h숫자 와 같은 것들을 이용해 전체적인 홈페이지의 틀을 짜게 되어 있다.

2. CSS

  • HTML이 구조를 짜는 도구였다면, CSS는 디자인을 위한 도구이다.
  • 레이아웃을 다듬어서 사용하기 쉽고, 알아보기 쉽게 만든다.
  • 정확한 구역 설정(id, class 사용)으로 원하는 부분에 원하는 효과(색 변화 등)를 넣을 수 있다.
  • 박스 모델을 이용해 원하는 구역을 지정하고 설정하게 된다.
  • 콘솔창을 이용해 정확이 어디가 어디인지, 정확한 크기와 길이를 알 수 있으며, 색깔 또한 마찬가지!

3. 이중반복문

  • 반복되는 부분의 조건을 '두 번' 설정해 준다는 느낌.
  • break : 반복 중이거나 조건이 걸려있는 활동을 안쪽에서 중지시킨다.

처음 보는 상황의 문제에 직면했을 때 어떻게 문제를 풀어나갈지를 잘 모른다. 이중 반복문이 그렇다.
하지만 친숙해진 문제들은 상황이 달라지더라도 응용 가능하며 그 상황에 맞게 사용해야 할 코드들을
자연스럽게 사용하게 된다.

컴퓨터가 계산해 주는 루트를 그대로 내가 직접 따라서 계산해 보면 어떻게 작동하는지 원리를 조금이나마 이해하기 편해진다.
어렵다고 잠깐 뛰어넘었던 메서드나 개념들도 일단 같이 본다. 아직 코드를 구성하는 것이 매우 조잡하기 때문에
 일단 올바르게 된 것을 참고해서 고쳐 나가야 할 것이다.
모르는 개념을 이해할 때까지 혼자서는 너무 오래 걸리는 경우가 자주 있다. 이럴 때는 도움을 요청하는 것이 시간적인 면으로 좋다. 다시 여유가 생기면 고민해도 늦지 않다. 하지만 결국, 자신만의 방식의 이해는 필요할 것 같다.

'Coding > Today I Learned' 카테고리의 다른 글

2021.05.16(Sun.)  (0) 2021.05.16
2021.05.15(Sat.)  (0) 2021.05.16
2021.05.13(Thu.) <Javascript 기초 문법과 Immutable & Mutable>  (0) 2021.05.14
2021.05.12(Wed.) <조건문의 교훈>  (0) 2021.05.13
2021.05.11(Tue.) <변수와 타입>  (0) 2021.05.11
COMMENT
 
05
14

1. 반복문

  • for (초기값, 조건문, 반복문)
    • 초기값 : 처음에 반복이 시작될 곳을 '초기화' 해준다. let i = 0; 처럼한다. 그럼 0부터 시작되어 갈 것이다.
    • 조건문 : if() 처럼, 저 조건이 맞은 경우(true) 뒤에 나올 반복문을 실행시켜 준다.
    • 반복문 : 내가 반복시키고 싶은 부분이다.

2. 이중 반복문

  • 말 그대로, 반복문을 두번 사용한 것.
  • 처음 반복문이 한번 실행되고, 이후 그다음 반복문이 실행된다. 이후,
     안쪽의 반복문이 false 이면, 그 반복문 밖의 첫 번째 반복문이 다시 실행되는 구조이다.
  • 소수 구하기 : 이중반복문으로 구할 수 있다.
    (소수 : 1을 제외한 1과 자기 자신만으로 나누어 떨어지는 수)
    이중 반복문으로 소수를 찾아내고 그중에 소수인 수를 if 문으로 return 가능.

3. 문자열

  • 다양한 타입의 문자열이 있다. (string, number, boolean, null, undefined 등등)
  • 메서드를 이용하면 다양한 정보들을 원하는 대로 만들 수 있다.
  • 유용한 메소드 모임
     1. 원하는 문자열의 위치를 찾음 = str.indexOf('');
     2. 문자열의 차례에 맞게 잘라줌 = str.slice(시작할 차례, 끝낼 차례)
    ps. 이때 끝낼 차례의 숫자를 -1로 하면 다시 맨 뒤의 차례의 문자열도 나오게 할 수 있다!
    str.substring();도 가능하지만 배열에서도 사용할 수 있는 slice를 주로 사용한다.
     3. 대,소문자 변경 = str.toLowerCase() 그리고, str.toUpperCase() )

4. Immutable & Mutable

  • 한번 지정해 놓으면 변하지 않는 것 & 변하는 것. (문자열 메서드들은 섞여있다. 한번 지정하면 변하지 않는 immutable,
     잠깐 변했다가 다시 원상태로 돌아오는 경우가 mutable이다.)

문자열은 문제가 크게 없지만, 반복문의 메커니즘을 똑바로 이해하지 못했다. 덕분에, 이중 반복문은 감이 잘 안 온다.
수도 코드를 똑바로 적어서 상황을 따져가면서 나아가는 것이 중요할 것이다.

'Coding > Today I Learned' 카테고리의 다른 글

2021.05.15(Sat.)  (0) 2021.05.16
2021.05.14(Fri.)  (0) 2021.05.15
2021.05.12(Wed.) <조건문의 교훈>  (0) 2021.05.13
2021.05.11(Tue.) <변수와 타입>  (0) 2021.05.11
2021.05.10(Mon.)  (0) 2021.05.10
COMMENT
 
05
13

1. 조건문 문제 풀이하며 알게 된 것

  • if와 else if 그리고 else의 구분.
  • if를 시작으로 '조건'에 만족하면 반응, 아니면 다음 else if의 조건으로, 아무것도 조건에 부합하지 못하면 else.
  • return에 주의한다. 다시 처음으로 돌아가는 것이다. console.log와 다르다.
  • 짝수, 홀수의 구분은 %를 이용해서 결과가 나누어 떨어지는가 아닌가로 구분 가능.
  • = 주의. =이건 할당이지 '같음'이 아니다. 같음은 ===으로 표현한다.
  • 정확한 용어 사용으로 헷갈리는 것을 방지 해야하고, 함수의 매개변수에 다른 값을 넣으면 그건 함수로써 쓸모가 없어진다.
  • 함수를 '선언' 한것과 '호출' 한 것은 매우 매우 다르다. 전달 인자를 잘 넣어야 한다.
  • 조건문은 순서가 중요하다. 결과가 겹치면 먼저 있는게 우선이다. 그러므로, 교집합 > 조건이 작은 순으로 조건을 거는 것이 이상적이다.

2. 문제를 친숙하게 푸는 법

-일단, 문제를 잘 읽자. 대부분 문제 안에 지시사항으로 답을 가르쳐 주는 경우가 많다.
-조금 오래 걸리더라도 신중하게 읽어보고, console에서 시도해 보자.
-문제를 보면서 지금 문제에서 알려주는 정보, 내가 설정해 줘야 할 부분이 무엇인지,
 어떤것을 먼저 설정해야 하는지 등으로 나눠서 생각해보면 어떻게든 시작할 수 있다.

3. 문자열

  • 메소드를 잘 기억했다가 써먹을 것.
     (length, indexOf 등)
  • 수학적인 계산도 메서드들이 많아서 응용하면 다양한 사용이 가능하다.
     (Math.floor, Math.abs 등)
  • ${} 매우 편리하다. 꼭 앞, 뒤는 `으로 감싸주자. 문자열 안에 바뀌는 변수를 집어넣을 수 있다!

너무 빠르게 가려고 하는 것보다 확실하게 가는 것이 좋다.
분명 지금 짜고 있는 코드들은 더 줄일 수 있다. 하지만 그것보다는 먼저 완성하는 것에 의의를 두려고 한다.
이제 괄호 같은건 헷갈리지 않지만, 아직 다른 코드들을 보고 빠르게 해석하기도 힘들고 그만큼,
응용하려고 해도 잘 되지 않는다.

메서드를 더 많이 외우면 조금 편해질까?

'Coding > Today I Learned' 카테고리의 다른 글

2021.05.15(Sat.)  (0) 2021.05.16
2021.05.14(Fri.)  (0) 2021.05.15
2021.05.13(Thu.) <Javascript 기초 문법과 Immutable & Mutable>  (0) 2021.05.14
2021.05.11(Tue.) <변수와 타입>  (0) 2021.05.11
2021.05.10(Mon.)  (0) 2021.05.10
COMMENT
 
05
11

1. 변수

  • 작은 단위의 저장소(변수)에 정보를 저장한다. 변수는 계속 변화할 수 있으며, 언제든지 꺼내 쓸 수 있다.

2. 타입

  • 데이터에는 여러 가지 종류가 있다. 타입별로 계산하는 법이 다르다.
    1. Numver : 우리 모두가 아는 넘버. 숫자이다. 역시나 계산은 숫자와 같다. 더하기, 빼기, 나누기, 곱하기 등등
    2. Noolean : 참(true)과 거짓(false)을 나타내는 타입. 마치 스위치처럼 on, off라고 생각하면 조금 편하다.
    3. Undefined : 값이 아직 정해지지 않았다. 아에 없는 것과는 다르다!
    4. String : 문자열. 글자에 해당한다. 더하기가 가능하다! 하지만 말 그대로 '문자' 이기 때문에 그저
       뒤에 붙여 버리는 단순한 계산만 가능하다. 그러므로 다른 계산은 불가능
    5. NaN : Not a Number. 숫자가 아니다. 하지만 숫자다. 숫자가 있어야 하지만 그 숫자 자체가 없다는 말이다. '숫자가 와야 하지만 못 왔다'라는 느낌이다.

3. 함수

 하나의 기능을 위해 진행되는 '작업'의 진행 리스트. 컴퓨터가 알아 들을 수 있도록 논리적으로 만드는 단위.

  1. 함수 선언 : 사용될 함수에 이름을 붙여준다.
  2. 함수 호출 : 붙인 이름으로 불러준다. 그럼 나온다!
  3. 매개변수 : parameter. 함수를 '선언'할때 같이 넣어주는 변수. 즉, 어디를 바꿔줄래?
  4. 인수 : argument. 함수가 '호출' 될 때 들어가는 변수. 즉, 뭘 넣을래?

4. 검색하는 법 + 크롬 개발자 도구의 사용법

  • 검색은 '구글' 역시, 키워드 위주.
  • 외국의 커뮤니티를 잘 이용할 것.
  • 크롬의 개발자 도구에서 테스트하고, 무엇이 문제인지 까지 찾을 수 있다. Console 창으로 해결한다.

5. 조건문

  • 참, 거짓 (참인지 거짓인지를 통해 컴퓨터가 하는 0, 1의 사고로 '조건'을 만들 수 있다!)
  • 다양한 방법으로 데이터를 참과 거짓이 되는 조건을 설정해 줄 수 있다(ex: ===, >, <, 등등)
  • 논리 연산자(Logical Operator) : 일명, and와 or. 두 가지 조건을 둘 다 만족하는지(&&),
     아니면 하나만 이라도 만족하면 되는건지(||)로 조건을 만들 수 있다.
  • ! : NOT 연산자. 참과 거짓을 바꿔버린다.
    • Point! :
      true || false // true (or의 경우 둘 중 하나만 참이라도 참으로 받아들인다! 또는 이니까!)
       true && false && false (and의 경우 둘 다 참이여야 참으로 본다. and 이니까 둘 다 만족시켜야 한다.)

알고리즘에 대해 인간의 언어보다 훨씬 논리적으로 프로그래밍 언어가 진행되는 것을 계속 고민해야 한다.
수도 코드가 매우 중요하다.
아주 단순한 것부터 시작해서 마지막에 정리하는 깔끔한 코드를 만드는 것이 아직은 좋을 것 같다.
함수를 다양하게 호출하는 방법을 알아야 한다.

'Coding > Today I Learned' 카테고리의 다른 글

2021.05.15(Sat.)  (0) 2021.05.16
2021.05.14(Fri.)  (0) 2021.05.15
2021.05.13(Thu.) <Javascript 기초 문법과 Immutable & Mutable>  (0) 2021.05.14
2021.05.12(Wed.) <조건문의 교훈>  (0) 2021.05.13
2021.05.10(Mon.)  (0) 2021.05.10
COMMENT