전체 글

JavaScript | 데이터 타입은 왜 필요한가? 동적 타입 언어의 특징도 알아보자

데이터 타입의 필요성1. 데이터 타입에 의한 메모리 공간의 확보와 참조값은 메모리에 저장하고 참조할 수 있어야 한다. 메모리에 값을 저장하려면 먼저 확보해야 할 메모리 공간의 크기(메모리 셀의 개수(byte 수))를 알고 결정해야 한다. js엔진은 데이터 타입(값의 종류)에 따라 정해진 크기의 메모리 공간을 확보한다 확보되는 메모리 공간의 크기는 js 엔진 제조사에 의해 다를 수 있다. ECMAScript에는 숫자 타입은 배정밀도 64bit(8byte) 부동소수점 형식을 사용하다고 명시되어 있다.var score = 100;위 예제에서 js 엔진은 리터럴 100을 숫자 타입의 값으로 해석하고 이를 저장하기 위해 8byte의 메모리 공간을 확보한 뒤 2진수로 저장한다.💡 심벌 테이블컴파일러 또는 인터프리..

JavaScript 2024.08.02

JavaScript | 원시 타입에 대한 모든 것

데이터 타입데이터 타입은 값의 종류를 말한다. javascript에서 원시 타입은 7개이며, 그 외에는 모두 객체 타입이다. javascript는 객체 기반 언어이므로 거의 모든 것이 객체로 이루어져 있다. 이번 장에서는 원시 타입에 대해 다루고, 객체 타입은 추후 다루고자 한다. js 엔진은 타입을 구별해서 값을 취급한다. 따라서 값이 같더라도 타입에 따라 해석하는 방식이 다르다.ex) 0100 0001 - 숫자로 해석하면 65, 문자로 해석하면 ‘A’ 원시 타입 1 - 숫자 타입(number)C나 java의 경우, 정수와 실수를 구분해서 int, long, float 등 다양한 숫자 타입을 제공한다. 하지만 javascript에서 숫자는 실수 타입만 존재한다. 정수로 표기해도 사실은 실수다.// 숫자..

JavaScript 2024.08.02

JavaScript | 변수는 왜 필요한가?, 어떻게 선언되고 할당되는지도 알아보자 (feat. 메모리)

메모리변수에 대해 알기 전, 먼저 메모리에 대해 간단히 짚고 넘어가겠다.컴퓨터는 CPU를 사용해 연산하고, 메모리를 사용해 데이터를 기억한다. 메모리는 데이터를 저장할 수 있는 메모리 셀의 집합체다. 메모리 셀 하나는 1Byte이며, 컴퓨터는 메모리 셀 단위로 데이터를 저장하거나 읽어들인다. 각 셀은 고유의 메모리 주소를 갖는다.컴퓨터는 모든 데이터를 2진수로 처리한다(위 그림은 편의상 10진수로 표기했다). 숫자 값 10, 20은 임의의 메모리 주소에 저장되고 CPU는 이 값을 읽어 들여 연산을 수행한다. 연산 결과인 30도 메모리의 임의의 주소에 저장된다. 자, 이제 연산이 끝났고 나는 연산 결과인 숫자 30을 이용해 어떠한 작업을 하고 싶다.하지만, 연산 결과가 메모리에 저장되었지만 재사용을 할 수..

JavaScript 2024.07.31

컴퓨터 네트워크 - 네트워크란?, 패킷, LAN, WAN

이번 글에서는 컴퓨터 네트워크가 무엇인지 알고, 패킷, 네트워크의 종류인 LAN과 WAN에 대해 알아보고자 한다. 컴퓨터 네트워크란? 컴퓨터 네트워크에 대해 말하기 전, 일단 네트워크가 무엇인지 짚고 가겠다. 네트워크는 두 개 이상의 무언가가 연결되어 정보를 주고 받는 구조를 뜻한다. 일상생활로 예를 들어보자면, 소셜 네트워크 서비스(SNS)가 있다. 이는 온라인 상에서 사람과 사람간에서 정보를 공유하는 구조다. 그 외에도 도로와 철도의 네트워크, 물류 네트워크 등과 같이 다양한 네트워크가 있다. 그럼 이제 컴퓨터 네트워크가 무엇인지 예측할 수 있을 것이다. 두 대 이상의 컴퓨터 간에 정보(데이터)를 공유하는 것, 이것이 컴퓨터 네트워크다. 이제부터 컴퓨터 네트워크를 간단하게 네트워크라고 칭하겠다. 네트..

CS/Network 2024.03.30

코테 입문자의 '코드트리' 한 달 사용기

이번에 글또에서 코드트리와 함께 콜라보해서 '코드트리 x 글또 블로그 챌린지'가 열렸다. 글또 회원 중 챌린지에 참여하는 사람 한에서 코드트리를 한 달간 무료로 이용할 수 있게 되어, 한 달 동안 사용해보고 느낀점을 써보려고 한다. (사실 나는 한 달이라고 하기엔 무리가 있고, 해외 연수 끝나고 좀 늦게 시작해서 2주정도 사용한 것 같다.) 일단 나는 이제 막 본격적으로 코딩테스트 공부를 시작하는 대학 4학년 되는 전공생이다. 코테 입문자라고 칭했지만, 예전부터 조금씩은 풀었어서(아주 조금) 백준은 실버5, 프로그래머스는 Lv1 문제 정도를 풀긴 한다. 내가 제대로 풀고 있는지 잘 모르겠고, 공부법, 인강, 플랫폼 등을 찾다가 우선순위에 밀려 지금까지 백준 실버 5에 머무르고 있는 것이다. 사실 코드트리..

HTML 이미지 깨짐 현상 - 파일 경로 확인하기

웹 개발 프로젝트 진행 도중, 이미지가 가끔씩 안보이는 현상이 나타났다. 다음과 같이 상단바에 로고 이미지가 있어야하는데, 어째서인지 가끔씩 이 이미지만 로컬, 배포본에서 모두 안보였다. 계속 원인을 찾던 결과, React-Router 함수인 useNavigate를 사용하여 이동한 페이지에서만 로고가 안보인다는 것을 발견했다. 미리 말하자면, 해당 함수에 한해서 나타나는 현상이 아니라, 한 페이지에서 해당 페이지 경로 안으로 들어간 경우 모두 적용되는 문제인 것 같다. 위 이미지는, 공지 게시글 목록(/notice)에서 한 게시글의 디테일 화면(/notice/21)으로 넘어간 화면이다. 처음에는 로고가 잘 보이지만 새로고침을 하면 로고가 깨진다. 개발자 모드로 확인해보면 이미지 경로가 이동하기 이전의 ..

Vite 시작하기 - 빠르고 유연한 프론트엔드 개발 환경 설정 도구

서론 이전에 한 멘토분께서 프론트엔드 개발 환경을 설정할 때, 최신 트렌드를 따라가고 싶은 사람이라면 CRA(create-react-app)보다 Vite를 사용하는 것을 추천하셨다. 말씀을 듣고 Vite를 한번 테스트로 써보기는 했으나, 프로젝트를 진행할때 팀원들이 CRA가 익숙하다해서 제대로 써본적이 없다. 진행했던 프로젝트가 마무리되고, 다음 프로젝트는 Vite를 고려해볼까해서 한번 어떤 장점이 있고 어떻게 시작할 수 있는지 Vite 공식문서를 참고하여 알아보고자 한다. CRA vs Vite CRA(create-react-app) 장점: 안정적이며 커뮤니티 지원이 강력하다. 다양한 플러그인과 호환성이 뛰어나다. 단점: 설정을 변경하거나 개인화하기 어렵다. 빌드 파일 크기가 크며, *HMR가 느릴 수 ..

글또 9기 시작

감사하게도 글또 8기에 이어서 9기도 활동하게 되었다. 글쓰기 활동을 본격적으로 시작하기 전에, 이번 활동에 대한 나의 다짐을 글로 남기려고 한다. 글또 9기에서의 목표, 다짐 1. 나의 위치에서 최선을 다해 글을 쓰기 개발 공부를 시작하면서 다른 사람들의 글을 통해 지식을 얻고, 때론 회고 글을 통해 위안을 받았었다. 이런 경험을 통해 나 또한 지식과 영감을 나누는 글을 써보고자 글또 8기에 지원해서 활동하게 되었다. 개발 지식이 별로 없어서 초심자에게 도움이 될 글을 쓰는 것을 목표로 했었다. 그러나 글또에 들어와 다른 회원들의 글을 보며, 자신감이 점차 떨어지게 되었다. 나의 글은 난이도가 너무 낮아 보였고, 비교해 보니 다른 사람들에게 큰 도움이 되지 않을 것 같다는 생각이 들었다. 그러나 이는..

회고 & 생각 2023.12.10