분류 전체보기 251

게시판 만들기 __ 자바스크립트로 파이어베이스 연결하기

Firebase를 이용해서 데이터베이스 연결 해서 게시판 기능을 만들기로 했다. 그런데 생각처럼 쉽지 않았다. firebase 로 데이터 저장한 기능을 분명 저번에 진행 했었고, 정말 문제없이 잘 진행 되었다. 그리고 다시 반복했을 때에도 잘 진행이 되었었다. 그런데 이번 프로젝트에 적용해 보니 계속 작동이 안되었다. 처음에는 버전 문제인줄 알고 import 뒤에 있는 주소 속 버전을 바꿔보기도 했고, npm을 통한 firebase 설치도 했었다. 콘솔창에 메세지가 계속 나타남과 동시에 페이지 새로고침으로 인해 사라져버려서, try_catch 구문도 써봤다. 그런데 여전히 작동하지 않았다. 사실 발견한 방법들은 보이는 대로 다 시도해봤던 것 같다. 😂 문제의 원인은 2가지 였다. 1. 이벤트 리스너를 잘..

git 에러 __ error: src refspec eunji does not match any

깃 에러 해결을 연습하다가 다른 에러를 만낫다. error: src refspec eunji does not match any git의 브렌치를 못찾아서 에러가 나오는 것 같았다. 내가 알고있던 방법을 우선 시도해 봤다. git checkout "이동할_브렌치" 그리고 git branch 명령어로 확인해 본 결과 여전히 브렌치는 바뀌지 않았다. 검색을 해 보니, git switch 라는 명령어가 생겼다고 한다. 몇년전 추가된 명령어로 switch 로 브렌치를 바꿀 수 있게 만들어 준다. checkout 은 브렌치를 바꿔주고, working tree 파일을 restore 까지 해주는데, switch 는 브렌치를 바꿔주는 기능만 있다. git switch '브렌치명' 이렇게 시도해 보니 브렌치 명을 변경 ..

JS (Java Script) 2023.09.29

git 에러 __ Need to specify how to reconcile divergent branches.

상황 git에서 main 브렌치에 있던 것들을 pull한 뒤에, 작업을 하다가 다른 브렌치에 최신으로 업로드 된 내용을 확인 하기 위해서 같은 레포의 다른 브렌치를 pull 했다. 그랬더니 이런 메세지가 출력되었다. (그런데 단순히 git 에서 main을 pull 받아온 상태에서 , 같은 레포의 다른 브렌치를 pull 해도 같은 메세지가 출력되었다.) 🧐 에러메세지 hint: You have divergent branches and need to specify how to reconcile them. hint: You can do so by running one of the following commands sometime before hint: your next pull: hint: hint: git ..

JS (Java Script) 2023.09.28

; 을 안쓰면 일어나는 일...(split과 구조분해할당 에서 벌어진 일)

다른 사람의 풀이를 확인하다가 구조분해할당을 이용해서 문제를 푼 코드를 봤다. 한번 따라 풀어보려고 했는데, 계속 오류가 났다. 이상해서 답안을 복사해서 비교해 봤는데 다른게 없었는데도 계속 오류가 났고, 답안의 코드는 정상으로 작동했다. 🧐 뭔가 이상해서 다시 찬찬히 살펴봤는데 세미클론이 있고 없고의 차이가 있었다. function solution(my_string, num1, num2) { my_string = my_string.split(''); [my_string[num1], my_string[num2]]= [my_string[num2], my_string[num1]] return my_string.join('') } 결과는 정말 하늘과 땅차이 였는데 세미클론이 없는 경우에는 return 값으로 ..

코딩테스트 2023.09.26

git 클론 말고 pull 해서 받아온 후 push 하기.

git 클론 말고 pull 해서 받아온 후 push 하기. git bash : 터미널 에서 시작. git init : 초기화 __ 이제부터 깃 쓸꺼야. 숨김파일 생기면서 깃 처리 들어올껄 알게 됨. git remote add origin [저장할 레포지토리 주소] : 로컬 저장소 , 깃 저장소 연결 git pull origin master : 오리진 master 에서 pull 해서 받아오기(master 브런치가 아니라 main 인 경우에는 main 이라고 적기.) git checkout -b 이름 : git에 새로운 브렌치 생성 git add . : 모든파일 업로드 git commit -m "메세지" : 파일을 커밋한다. 전달할 메세지 입력. git push -u origin 브렌치 이름 : 수정한 코드..

JS (Java Script) 2023.09.25

SQL DATEDIFF( ) / TIMESTAMPDIFF( ) / case when then else end

DATEDIFF( ) 👉 차이 구하는 애 👉 datediff( '시작' , '끝') 👉 "시작" 에서 "끝" 을 뺀 select * from enrolleds_detail ed where week = 1 and seen = true and done = true and datediff(done_date , seen_date) > 0 TIMESTAMPDIFF( ) 👉 차이 구하는 애. 차이를 구할 단위 지정 가능 👉 timestampdiff(단위, '시작', '끝') 👉 "끝" 에서 "시작" 을 뺀 select timestampdiff(second, seen_date, done_date) From enrolleds_detail ed where done = true and seen = true and time..

SQL 2023.09.24

SQL Subquery / with table1 as / distinct

Subquery 👉 쿼리문 안에 또다른 쿼리문을 작성하는 것. 👉 where절, from 절, select 절 에서 이용. where 절에서 사용한 Subquery in 👉 Subquery의 결과를 조건에 활용 👉 where 필드명 in (subquery) 👉 where 필드명 이 (서브쿼리) 에 해당할 때~~ 이런말. = 기호 아니고 in 써야함! select user_id, name, email from users where user_id in ( select user_id from orders where payment_method = 'kakaopay' ) ❗️ Query 👉 users 테이블 에서, user_id와, name을 가지고 오는데, ❗️ Subquery 👉 orders 테이블에서 pay..

SQL 2023.09.24

SQL 테이블 붙이기 inner join / left join / NULL

join 👉 서로 다른 2개의 테이블 붙여서 하나의 테이블 처럼 보는거. 👉 붙이려는 각각의 테이블에 공통 정보를 기준으로 연결한다. 👉 Join의 종류가 많음. 👉 Inner Join / Left Join / Right Outer Join / Full Outer Join / Cross Join / Self Join Inner Join 👉 두 테이블 모두 가지고 있는 데이터만 보여준다. 👉 한마디로 교집합. select * from users u inner join point_users p on u.user_id = p.user_id on 을 이용해서 join한다. 👉 공통된 정보를 기준으로 붙여야 하니까 두 테이블 모두 가지고 있는 정보인 user_id를 기준으로 붙인거. 👉 끝에 u, p 이런거는 a..

SQL 2023.09.23

sql 기초 + group by / order by / where 중복

limit 숫자 👉 테이블에서 데이터 '숫자' 개수 만큼만 잘라서 보여줘. select * from checkins limit 5 max(필드명) / min(필드명) 👉 최댓값 구하기 / 최솟값 구하기. select week, min(likes) from checkins group by week avg(필드명) 👉 평균 구하기. select week,avg(likes) from checkins group by week round( , 숫자) 👉 소숫점 "숫자" 자리 까지만 나오게 반올림 해줘 예 ) round 괄호 끝에 적힌 숫자가 2라면, 소숫점 2째 자리 까지만 나오게 해줘. select week, round(avg(likes),3) from checkins group by week count(필드명..

SQL 2023.09.23

가위바위보 프로그래머스 코딩테스트 문제

단순히 문자열을 받으면, 그 문자열 안에 내용을 해당하는 다른 값으로 바꿔 주면 되는거였다. 방법1. function solution(rsp){ let a = ''; [...rsp].map((e)=>{ a+= e==='2' ?e ='0' : e==='0' ? e='5' : e='2'; }).join('') return a } 일단 문자열 rsp를 spread operator를 이용해 풀어서 배열에 담아주고, map을 이용해 반복을 시켰다. 그리고서는 빈 문자열로 선언했던 변수 a에 값을 넣어주려 했다. [...rsp]의 요소 하나하나가 2인 경우에는 0을, 0인 경우에는 5를, 5인 경우에는 2를 넣어주려 했다. 여기서 주의할 점은 지금 [...rsp]의 요소 하나하나는 문자열인 상태이다. 그러니까 [...

코딩테스트 2023.09.21