분류 전체보기 44

[JavaScript]자바스크립트 고수 되기 02 - Promise & async,await

비동기 프로그래밍에서 동기적 표현이 왜 필요한가 현대 애플리케이션에서는 비동기 프로그래밍은 선택이 아닌 필수가 되었다. 여기서 동기와 비동기에 대하여 아주 간단하게 언급하자면 다음과 같다. 동기 => 앞선 동작이 끝나야 다음 동작을 수행할수 있다. 비동기 => 앞선 동작이 끝나지 않아도 다음 동작을 수행한다. 동기적 동작을 살펴보면 1번동작이 끝나야 2번 동작을 수행하고 그다음 3번, 4번으로 동작하게 된다. 1번 동작이 얼마나 걸리던 뒤에 동작은 1번 동작이 종료할 때까지 작동하지 않는다. 비동기 동작은 모든 동작을 받아서 한꺼번에 처리한다. 그러나 일의 종료순서를 보장하지는 않는다. 그러면 우리가 앞으로 배울 Promise나 async await같은걸 왜 사용을 할까?? 바로 "비동기 동작의 동기적 ..

JavaScript 2023.11.10

[TIL]21.프로그래머스-제일 작은 수 제거하기

https://school.programmers.co.kr/learn/courses/30/lessons/12935 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 배열하나 가 주어지고 이 배열에서 가장 작은 수를 삭제하는 문제였다. 첫 번째로 가장 작은 수를 구별해야 했다. 흔하게 구글에 가장 큰 수 구하기, 가장 작은 수 구하기 치면 가장 익숙한 알고리즘으로 풀었다. 첫 번째 값을 minValue에 넣어서 작은 수를 찾아냈다. 그리고 array.splice함수를 이용하여 작은 수를 삭제했다. 문제를 다풀고 다른 분들의 풀이를 보았는데 Math.min을 활..

개발이야기 2023.11.10

[TIL]20.프로그래머스-핸드폰 번호 가리기

https://school.programmers.co.kr/learn/courses/30/lessons/12948 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 휴대전화 번호가 주어지고 그 번호 뒷자리 4자리를 제외한 나머지를 "*"로 표시하는 문제였다. 상당히 고민후 문제를 풀었는데. 약간 무식한 방법으로 해결한 것 같다.... 일단 내가 푼 풀이를 보자 for 문을 이용하였고 if로 i가 (phone_number.length - 4) 보다 작으면 "*"을 찍게 하였다. 그리고 i가 크거나 같아지면 else부분으로 가서 전화번호를 그대로 찍게 하였다. ..

개발이야기 2023.11.08

[TIL]19.프로그래머스-없는 숫자 더하기

오늘은 코딩테스트 스터디를 진행하였다. 정답률도 높고 쉬운 문제라고 생각해서 금방 풀어버려야겠다는 생각을 했다. https://school.programmers.co.kr/learn/courses/30/lessons/86051 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제를 보았을때 for문을 이용한 문제임을 인지했고 for + 또 다른 처리가 필요하다고 예상이 됐었다. 그 또 다른 처리에 대해여 2중 for문도 사용해 보았으나 원하는 결과를 얻지 못하였는데.... 팀원분 한분이 includes함수를 사용해 볼 것을 조언해 주셨다. 곧장 MDN에 가..

개발이야기 2023.11.07

[TIL]18.env란

오늘 개인과제를 진행 중 추가 요구사항이 있다는 것을 뒤늦게 인지를 하고 허겁지겁 마지막에 추가하였다..! env을 추가하라는것이였는데 env란 github나 공개된곳에 코드가 올라갈 때 API key나 password 등 공개하면 안 될 것들을 막아줄 수 있다!! npm i dotenv 명령어로 dotenv를 설치해 준다. . env파일을 생성해 준다. 필요한 값을 선언해 준다. import dotenv from 'dotenv'; dotenv.config(); process.env.MONGODB_ID, 필요한 곳에서 import 해서 사용해 준다!! 프로젝트 진행 시 많이 사용할 거 같으니 잘 알고 있으면 좋을 것 같다.

개발이야기 2023.11.06

[TIL]17.코딩테스트 스터디

이번주부터 코딩테스트 공부를 하고 싶은 인원들을 모아서 스터디에 돌입했다. 오늘은 3일 차이며 각자 다른 문제를 배분받은 후 각자 풀고 자신의 풀이를 설명하는 시간을 가졌다. 각자 시트를 만들어서 관리하고 있다.나도 코딩테스트를 잘하지 못하고 코딩이 처음이신 분들도 계셔서 난이도 낮은 거부터 차근차근 진행하고 있다. 앞으로 꾸준히 해서 2 레벨 문제를 풀 수 있을 정도가 될 수 있으면 좋겠다. https://school.programmers.co.kr/learn/courses/30/lessons/181890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ..

개발이야기 2023.11.03

[TIL]16.타입스크립트 타입선언, 인터페이스

오늘은 타입스크립트 강의를 보았다. 나중에 캠프 일정에 타입스크립트에 관한 일정이 있었지만 조금 파리게 배워보고 싶어서 진도를 나갔다. 타입스크립트를 배우면서 기존 자바스크립트와 무엇이 다른가 비교하면서 공부하니 재미있게 보았던 것 같다. 타입 선언 타입스크립트에서는 타입을 개발자가 정의 할수 있다. // NewStringType이라는 새로운 타입을 정의해보았다. type NewStringType = string; const stringVar1: NewStringType = "안녕하세요"; 이런 식으로 사용하면 굳이 왜 다시 선언해서 사용해야 하는지 이해가 안 갈 수도 있다. 나중에 배울 Union과 조합하면 더욱 강력해진다. 객체 타입도 정의할수있다. type IdolType = { groupName:..

개발이야기 2023.11.02

[TIL]15.개발자 커뮤니티 사이트

오늘은 내가 종종 찾아보는 개발에 관한 커뮤니티 사이트에 대하여 소개하려고 한다. 좋은 정보에 비해서 아직 많이 알려지지 않은 거 같다. 1. 커리어리 https://careerly.co.kr/home 커리어리 | 요즘 개발자 커뮤니티 커리어리 개발 트렌드, Q&A, 탑 개발자들과의 네트워킹까지. 누구나 쉽고 간편하게 성장할 수 있도록. 요즘 개발자들의 필수 커뮤니티 careerly.co.kr 스마트폰 어플로도 있어서 출퇴근 시간에 틈틈이 보면 좋다. 질문을 올리면 현업 개발자 분들이 답변을 해주어서 양질의 답변을 얻을 수 있다. 그리고 주간 인기 TOP글을 선정해 주어서 선정된 글만 보아도 상당히 도움이 많이 된다. 2.Medium https://medium.com/ Medium – Where good..

개발이야기 2023.11.01

[TIL]14.자바스크립트 모듈

모듈 특정기능을 가지고 있는 자바스크립트 파일이다. 다른 프로그램에서 재사용 가능하다. 부품처럼 활용가능 export = 해당 모듈 내보내기 import, require = 외부모듈 참조 require는 CommonJs 모듈 시스템을 관리할 때 사용 import는 es6 모듈 시스템을 관리할때 사용 // module로 함수자체로 내보내기 const add = (a, b) => { return a + b; }; module.exports = add; // 사용법 const add = require("./math.js"); console.log(add(10, 30)); // 객체로 내보내기 exports.add = (a, b) => { return a + b; }; // 사용법 구조분해할당 으로 받기 con..

개발이야기 2023.10.31

[TIL]13.자바스크립트 Promise와 async & await

비동기 프로그래밍에서 동기적 표현이 왜 필요한가 현대 애플리케이션에서는 비동기 프로그래밍은 선택이 아닌 필수가 되었다. 여기서 동기와 비동기에 대하여 아주 간단하게 언급하자면 다음과 같다. 동기 => 앞선 동작이 끝나야 다음 동작을 수행할수 있다. 비동기 => 앞선 동작이 끝나지 않아도 다음 동작을 수행한다. 동기적 동작을 살펴보면 1번동작이 끝나야 2번 동작을 수행하고 그다음 3번, 4번으로 동작하게 된다. 1번 동작이 얼마나 걸리던 뒤에 동작은 1번 동작이 종료할 때까지 작동하지 않는다. 비동기 동작은 모든 동작을 받아서 한꺼번에 처리한다. 그러나 일의 종료순서를 보장하지는 않는다. 그러면 우리가 앞으로 배울 Promise나 async await같은걸 왜 사용을 할까?? 바로 "비동기 동작의 동기적 ..

개발이야기 2023.10.30
728x90