TIL(Today I Learned)_사전캠프_4일차_24.10.31.Thu

728x90

데일리 스크럼

  • 데일리루틴 SQL
  • 데일리루틴 알고리즘
  • [왕초보] 웹개발 종합반 강의(4강)
  • 자바의 정석
  • TIL 작성 및 제출

데일리루틴 SQL

데일리루틴 SQL 25번 (10/31)

 오늘의 문제입니다. 사실 최근에 푸는 문제들 다 비슷비슷한거 같지만 맨날하면 적어도 기억에는 오래 갈 것 같습니다. 영어나 수학도 오래 안 하면 까먹지 않습니까. 그와 비슷하게 생각하고 꾸준히 풀어야지요. Github 잔디도 채울겸 말입니다. 

SELECT ANIMAL_TYPE, COUNT(1) count FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE

 문제의 답입니다. 그냥 고양이와 강아지를 그룹별로 묶고 그 그룹에 속한 아이들의 수를 셌습니다. COUNT(1)로 했지만 COUNT(*)으로 해도 상관없습니다.


데일리루틴 알고리즘



[왕초보] 웹개발 종합반 4강

오늘 들은 웹개발 종합반 4강입니다.

 오늘은 googleFirebase를 사용해봤습니다. 지금까지는 뭔가를 만들고 수정해도 새로고침하면 다 사라졌는데 DB를 사용하니 내가 입력한 자료를 저장하고 꺼내올 수 있었습니다. 근데 사실 제대로 된 강의를 들은게 맞나 싶습니다. 뭔가 하라는 대로 따라하고, 제대로된 설명 없이 수정하라는거 수정만 했더니 되긴 했습니다. 하지만 이게 공부에 큰 도움이 될까 싶습니다. 한번 해본 경험으로는 정말 겉핥기밖에 안되는 정도라 과연 본캠프 들어가서 배울 때 쓸 수 있을지 모르겠습니다. 오히려 제가 사용하는 cursor(The AI Code Editor)를 통해 배우는게 더 쓸모있어 보입니다. 강의를 들을 때 실수를 한건지, 아니면 강의가 잘못된 건지는 모르겠는데 데이터를 가져오는 과정에 오류가 생겼습니다. 따라서 cursor AI에게 오류를 찾아서 해결해달라고 부탁했습니다.

// 현재 문제가 있는 코드
docs.forEach((doc) => {
    let row = doc.data();
    console.log(row);

    let image = row['#image'];  // 오류 1: '#' 기호가 잘못 들어감
    let title = row['#title'];  // 오류 1: '#' 기호가 잘못 들어감
    let date = row['#date'];    // 오류 1: '#' 기호가 잘못 들어감
    let content = row['#content']; // 오류 1: '#' 기호가 잘못 들어감

    // ... 나머지 코드 ...

    // 오류 2: 불필요하게 forEach 안에서 입력 필드 초기화
    $('#image').val('');
    $('#title').val('');
    $('#date').val('');
    $('#content').val('');
    $('#postingbox').hide();
});

위는 문제가 있는 코드입니다.

// 데이터 가져오기
let docs = await getDocs(collection(db, "albums"));
docs.forEach((doc) => {
    let row = doc.data();
    console.log(row);

    let image = row['image'];    // '#' 제거
    let title = row['title'];    // '#' 제거
    let date = row['date'];      // '#' 제거
    let content = row['content']; // '#' 제거

    let temp_html = `
        <div class="col">
            <div class="card h-100">
                <img src="${image}"
                    class="card-img-top" alt="...">
                <div class="card-body">
                    <h5 class="card-title">${title}</h5>
                    <p class="card-text">${content}</p>
                </div>
                <div class="card-footer">
                    <small class="text-muted">${date}</small>
                </div>
            </div>
        </div>`;

    $('.row').append(temp_html);
});

// 입력 필드 초기화는 forEach 밖으로 이동
$('#image').val('');
$('#title').val('');
$('#date').val('');
$('#content').val('');
$('#postingbox').hide();

 위는 문제가 해결된 코드입니다.

 보면 아시겠지만, 어떤 오류가 있는지, 그 외에 연결된 고쳐야 할 부분까지 알아서 고쳐줍니다. 기초만 탄탄하게 잡아놓으면 cursor AI를 통해 공부하고, 혼자서 충분히 코딩할 수 있을거 같습니다.

https://www.cursor.com/

 

Cursor

The AI Code Editor

www.cursor.com


자바의 정석 ch2 - 3 ~ 13

[자바의 정석 - 기초편] ch2 - 3 변수란? 변수의 선언과 저장(Youtube)
  1. 변수(variable)란?
    - 하나의 값을 저장 할 수 있는 메모리 공간! (RAM)
  2. 변수의 선언
    1) 변수의 선언 이유
     - 값(data)을 저장할 공간을 마련하기 위해서
    2) 변수의 선언 방법
     - 변수타입 변수이름;
  3. 변수에 값 저장하기
    1) 변수에 값 저장하기
     - int age; //정수(int)타입의 변수 age를 선언
     - age = 25; // 변수 age에 25를 저장
     - int age = 25;
    2) 변수의 초기화 - 변수에 처음으로 값을 저장하는 것
     [주의] 지역 변수는 읽기 전에 꼭! 초기화해야 함.
  4. 변수의 값 읽어오기
    1) 변수의 값이 필요한 곳에 변수의 이름을 적는다. 
[자바의 정석 - 기초편] ch2 - 4 변수의 타입(Youtube)
  1. 변수의 타입
    1) 변수의 타입은 저장할 값의 타입에 의해 결정된다.
    2) 저장할 값의 타입과 일치하는 타입으로 변수를 선언
  2. 값의 타입
    - 값(기본형) : 논리(boolean), 문자(char), 숫자 : 정수(byte, short, int, long), 실수(float, double)
[자바의 정석 - 기초편] ch2 - 5 상수와 리터럴(Youtube)
  • 변수(variable) : 하나의 값을 저장하기 위한 공간
  • 상수(constant) : 한 번만 값을 저장 가능한 변수
  • 리터럴(literal) : 그 자체로 값을 의미하는 것
int score = 100;
    score = 200;
final int MAX = 100; //MAX는 상수
          MAX = 200; //에러
char ch = 'A';
String str = "abc";
[자바의 정석 - 기초편] ch2 - 6 리터럴 타입과 접미사(Youtube)
  • 접미사 : L(long, 정수형), f(float, 실수형), d(double, 실수형, 생략가능)
  • 접두사 : 0b(2진수), 0(8진수), 0x(16진수)
  • 변수와 리터럴의 타입 불일치
    1) 범위가 '변수 > 리터럴'인 경우, OK
    2) 범위가 '변수 < 리터럴'인 경우, 에러
    3) byte, short 변수에 int리터럴 저장가능
[자바의 정석 - 기초편] ch2 - 9 두 변수 바꾸기(Youtube)
  • 두 변수의 값 교환하기
int x = 10, y = 20;
int tmp; //빈컵

tmp = x;
x = y;
y = tmp;
 [자바의 정석 - 기초편] ch2 - 11 기본형의 종류와 범위(Youtube)
  • 논리형 : true와 false 중 하나의 값을 갖으며, 조건식과 논리적 계산에 사용된다.
  • 문자형 : 문자를 저장하는데 사용되며, 변수 당 하나의 문자만을 저장할 수 있다.
  • 정수형 : 정수 값을 저장하는데 사용된다. 주로 사용하는 것은 int와 long이며, byte는 이진 데이터를 다루는데 주로 사용되며, short는 c언어와의 호환을 위해 추가되었다.(잘 안쓰임)
  • 실수형 : 실수 값을 저장하는데 사용된다. float와 double이 있다.
종류 / 크기(byte) 1 2 4 8
논리형 boolean      
문자형   char    
정수형 byte short int long
실수형     float double
 [자바의 정석 - 기초편] ch2 - 12, 13 printf를 이용한 출력(Youtube)
  • printf()의 지시자
%b 불리언(boolean) 형식으로 출력
%d 10진(decimal) 정수의 형식으로 출력
%o 8진(octal) 정수의 형식으로 출력
%x, %X 16진(hexa-decimal) 정수의 형식으로 출력
%f 부동 소수점(floating-point)의 형식으로 출력
%e, %E 지수(exponent) 표현식의 형식으로 출력
%c 문자(character)로 출력
%s 문자열(string)로 출력
728x90
반응형
LIST