반응형 분류 전체보기379 Android 리소스 정리시 사용하는 Naming Convention 오늘은 Android 리소스 Naming Convention에 대해서 정리해 보도록 하겠습니다. 여기서 사용한 naming 규칙은 개인적으로 정리한 것이니 참조만 해 주세요. 1. Drawable Naming drawable에 들어가는 이미지 파일들의 prefix에는 아래와 같은 타입들을 사용해 주는데요. 가능하다면, "이미지구분_무엇_어디에서" 순서로 정해서 사용하는 것이 좋습니다. 구분 Prefix 예 Button btn_ btn_download Icon ic_ ic_like_feed Launcher Icon ic_launcher ic_launcher_myapp Menu menu_ menu_more CheckBox chb_ chb_alarm Tab ic_tab ic_tab_something 2022. 11. 12. Jetpack Compose UI Part1 # Color Card Modifier Column Row 오늘은 안드로이드 Jetpack Compose에 대해서 알아보고, 기본적인 UI API들에 대해서 정리해 보겠습니다. 1. Android Jetpack Compose 1-1. NoXML, welcome functions 이제 xml 필요없이 kotlin만으로, Android의 UI까지 개발할 수 있게 되었는데요. 만약, 텍스트, 라디오 버튼의로 구성된 UI가 가로로 있다고 가정해 보겠습니다. 이전에는 xml로 UI를 구성하고, 그것의 reference를 Kotlin코드에서 가져와서, 응답이나 반응등을 코드에서 구현하였는데요. background 이미지를 바꾸거나, 색을 변경해 주었습니다. 이제는 아래와 같은 코드로 UI를 구성하게 되었습니다. Compose에서는 UI 요소들은 더이상 객체가 아니라 함수입.. 2022. 11. 11. SQLite NodeJS 모듈 이용해서 CRUD 구현하기 # DBBrowser SQLite3 오늘은 SQLite 데이터베이스에 대해 알아보고, NodeJS에서 SQLite3 모듈을 활용해, CRUD (생성, 읽기, 업데이트, 삭제) 작업을 구현해 보겠습니다. 1. SQLite 1-1. SQLite SQLite는 C언어로 개발된 라이브러리입니다. 크기가 작고 속도가 빠르며 상대적으로 안정적인 특성을 가진 SQL 데이터베이스 엔진인데요. 이러한 장점 덕분에 전 세계에서 가장 널리 사용되는 데이터베이스 엔진 중 하나로 자리잡았습니다. SQLite의 핵심 특징 중 하나는 모든 데이터베이스 정보를 단 하나의 파일에 저장한다는 점입니다. 이로 인해 여러 테이블, 인덱스, 스키마 등을 포함한 모든 데이터를 한 파일 안에 담을 수 있으며, 데이터베이스 서버를 별도로 구동할 필요 없이 파일 하나로 쉽게 데이터베.. 2022. 11. 8. Room DB 에 DB파일 넣어서 사용하기 # 로컬데이터베이스 SQLite 오늘은 RoomDB에 미리 데이터를 넣어서 사용하는 방법에 대해서 정리해 보도록 하겠습니다. 참고로 이 글은 RoomDB를 알고 있어야 이해할 수 있으므로, Room에 관한 기본적인 사항은 아래 글을 참조해 주세요. >> Room Persistence Library 총정리 # Android SQLite 1. SQLite 파일 1-1. Room 과 SQLite Room에 대한 설명을 보면, SQLite위에 추상레이어를 제공하는 라이브러리라는 설명이 나옵니다. RoomDB에 디비파일을 미리 넣을 때 어떤 파일을 넣어야 하는지 감이 옵니다. 바로 SQLite db파일입니다. 1-2. SQLite 파일 생성 만약 NodeJS의 Express Django같은 프레임워크를 사용한다면, SqLite3 모듈을 이용해서.. 2022. 11. 4. CSS Selector 와 함께 사용하는 Document API 정리 # textContent innerText querySelector 오늘은 CSS Selector 와 이를 활용해서 자주 사용하는 Document Elements API 에 대해서 정리 해 보도록 하겠습니다. 1. CSS Selector Selector를 볼 때, element, class, id, attribute에 대해서 잘 구분해 보아야 합니다. 특정한 모듈을 사용할 때 API에 항상 친절하게 설명되어 있지는 않기에, 부족한 부분은 검색을 해야 하는데요. 이 때 정확한 명칭을 알고 있으면 좀 더 빠르게 정보를 얻을 수 있습니다. Selector 타입 예 의미 .class .infoArea class가 infoArea .class1.class2 .info1.info2 class attribute에 name1과 name2가 들어간 것을 찾는다. #id #tab1 id가.. 2022. 11. 3. Time Picker 와 Date Picker Compose 로 구현하기 # Android Jetpack Picker 오늘은 Jetpack Compose로 Time Picker 와 Date Picker 를 구현하는 방법에 대해서 정리해 보도록 하겠습니다. 이 글에서 사용하는 API는 특별히 Jetpack Compose 만의 API는 아니구요. 예전부터 사용되던 API인데, ComposeUI에서 가져다가 State에 저장해서 사용하는 방법입니다. 언젠가는 구글에서 JetpackCompose만의 API가 나올지도 모르겠지만, 아직은 기존의 API를 가져다가 사용해야 합니다. 1. TimePicker 1-1. TimePickerDialog API TimePicker Dialog는 API1부터 존재해오던 API입니다. 이 클래스의 생성자를 보면, 다음과 같이 OnTimeSetListener 콜백을 넣어주어야 한다는 것을 알 수.. 2022. 10. 31. Android 에서 동적 권한 얻기 # State registerForActivityResult Runtime Permission 안드로이드를 앱을 개발하면서, 부딛히는 어려움 중 하나는, 바로 Runtime Permission 입니다.이 글을 쓰고 4년뒤인 지금 Kotlin코드로 다시 업데이트하였는데요.Android OS버전이 올라가면서 유저에게 승인받아야 할 권한은 계속 늘어나고 있습니다.(심지어 Notification도 권한을 받아야 한다고 하는군요.) Runtime Permission은 External Storage와 관련된 작업인, 주소록이나, DB파일 혹은 이미지캐쉬를 저장하거나,위치를 사용하는 앱일 경우에는 반드시 넘어야 할 산인데요.오늘은 유저에게 외부저장소의 읽고 쓰기에 대해 동적으로 권한을 요청하는 것을 가지고 정리해 보도록 하겠습니다. 1. Manifest 선언먼저권한을 요청할 때는 항상 Manifest 먼저 선.. 2022. 10. 24. ConstraintLayout 을 Compose 로 구현하는 방법 # Android 오늘은 Compose를 이용해서, Constraint Layout의 구현방법에 대해서 정리해 보도록 하겠습니다. 1. ConstrainLayout 라이브러리 constraint layout을 이용하기 위해서는, 아래와 같이 app레벨의 build.gradle에서 라이브러리를 implement 해 주어야 합니다. implementation "androidx.constraintlayout:constraintlayout-compose:1.0.1" 2. ConstraintSet ConstraintLayout을 사용하기 위해서, UI에 id를 부여해서 사용하는데요. 아래처럼 createRefFor()함수로 reference를 생성한다음, constrain()함수에 인자로 넣어서 사용합니다. constrain람다 .. 2022. 10. 20. Navigation 과 Bottom Navigation 구현방법 정리 # Jetpack Compose 이 글은 예전에 작성된 글로서, 주제가 방대하여서 Navigation과 Bottom Navigation 의 구현방법을, 아래 2개의 글로 분리하여 정리하였습니다. 1. Navigation 구현방법 Navigation 구현방법은 아래 글을 참조해 주시면 되구요. >> Navigation 구현 방법 총정리 # Route Jetpack Compose Navigation 구현 방법 총정리 # Route Jetpack Compose 오늘은 Jetpack Compose 에서 구현하는 Navigation 에 대해서 정리해 보도록 하겠습니다. 1. Navigation Library 가장 먼저 준비할 것은 navigation 구현을 위해 라이브러리를 implement 하는 것 입니다. 아래의 라이 developer88... 2022. 10. 19. Mac 키체인 Access 토큰 비밀번호 업데이트 # Github Bitbucket KeyChain Git에 인증을 하거나, SourceTree에서 인증후 push를 할 때, Keychain을 요구하는 화면이 뜨는 것을 볼 수 있습니다. 이것은 키체인 설정이 잘못되었기때문인데요. 오늘은 이 문제를 해결하는 방법에 대해서 정리해 보도록 하겠습니다. 1. KeyChain Access 와 Personal Access Token 1-1. 키체인 맥에서는 키체인을 이용해서, 암호나 계좌번호 등 중요정보를 저장해 사용하기 편리하게 하고 보안을 유지하는데요. 참고로 '로그인 키체인'이라는 것이 있는데요. 이것은 맥컴퓨터를 켜서 로그인할 때 사용하는 로그인 암호를 말합니다. 1-2. Github나 Bitbucket에서 발생하는 키체인 문제 Github나 Bitbucket에서 인증하는데 있어서, 기존 Password를.. 2022. 10. 15. Github 에서 발급하는 Personal Access Token 이제 Github에서 사용하는 password 로 push할 때, 원격저장소 인증이 불가능해 졌습니다. 그래서 Personal Access Token이라는 것을 발급받아, password로 써야하는데요. 오늘은 이것에 대해서 정리해 보도록 하겠습니다. 참고로 Bitbucket도 이와 같은 이슈가 있어서 github가 비슷한 방식으로 문제를 해결해야 하는데요. bitbucket에도 계정이 있다면, 아래 글을 참조해 볼 수 있습니다. >> Bitbucket App Passwords 이슈 해결 # Account Sourcetree 1. Github 사이트에서 Personal Access Token 발급 Token발급받는데 가장 중요한 것은 메뉴를 찾는 것인데요. 먼저, github사이트로 이동해서, 우측상단의.. 2022. 10. 13. StateFlow 정리 # Android Kotlin Coroutine getStateFlow StateIn 오늘은 Kotlin의 StateFlow 에 대해서 정리해 보도록 하겠습니다. StateFlow도 Flow API의 하나인데요. Flow에 대한 내용은 아래 글을 참조해 주세요. >> Kotlin Coroutine Flow 총정리 part3 # launchIn 1. StateFlow StateFlow는 업데이트가 가능한 데이터값을 가지는 State라는 것을 가지고, collector에게 emit(전파)하는 인터페이스입니다. SharedFlow를 상속받은 인터페이스 이기도 한데요. State를 가지고 있다가, 변경되면 emit을 해주는 역할을 하는 핫스트림이라고 생각하면 됩니다. 핫스트림과 콜드스트림에 대해서는 아래 글을 참조해 주세요. >> Kotlin Coroutine Flow 총정리 part3 # la.. 2022. 10. 12. Sealed Class 총정리 feat. enum Class 오늘은 Kotlin의 Sealed Class에 대해서 알아보도록 하겠습니다. 1. Sealed Class 와 Interface 1-1. Sealed Class 와 Interface Seal의 뜻은 밀봉하다 봉인하다는 뜻인데요. SealedClass는 abstract클래스여서 객체로 만들수 없는 자신과, 자신을 직접 상속받는 서브클래스나 interface 들로 구성되어 있습니다. 외부의 다른 Class들은 이 sealed클래스로부터 상속을 받을 수 없도록 봉인되어 있습니다. 이렇게 외부에서 확장되지 않은 밀봉된 구조를 가짐으로서, 컴파일타임에 코드를 작성하면서, 서브클래스들에 접근해서 사용이 가능해 지는 것 이지요. 이 서브클래스들은 각각의 특성에 따라서 다양한 생성자를 가질 수 있는데요. 데이터를 받아서.. 2022. 10. 11. Kotlin By 키워드에 대한 이해 # Property Delegate Pattern 오늘은 Kotlin에서 많이 사용되는 by 키워드에 대해서 정리해 보려고 합니다. by 키워드에 대해 알아보기 전에, 그 근간이 되는 Deletgate Pattern에 대해서 알아 보도록 하겠습니다. 1. Delegate Pattern 에 의한 Class Delegatation (클래스 위임) Delegate 라는 의미는 위임한다는 뜻 입니다. 프로그래밍에서 자주 등장하는 용어이기도 한데요. 코드를 보면서 이해해 보도록 하겠습니다. 아래에는 같은 Car라는 인터페이스를 상속받는, Tesla라는 클래스와 Kia라는 클래스가 있습니다. Testla는 일반적인 클래스 이구요. Kia는 Delegate패턴을 이용하였습니다. 2022. 10. 11. Kotlin Coroutine Flow 총정리 part3 # launchIn 지난 글에 이어서 part3에서는 Coroutine의 Flow에 대해서 정리해 보도록 하겠습니다. 지난 part1과 part2는 아래 링크를 참조해주세요. >> Kotlin Coroutine 총정리 part1 # launch, async, Context, Job, CoroutineScope >> Kotlin Coroutine 총정리 part2 # Cancellation, ExceptionHandling 1. Flow 1-1. Flow Coroutine의 suspend 함수는 비동기이기는 하지만 값을 하나만 return해 줍니다. 지속적으로 혹은 한번에 여러개의 값들이 나오는 경우에 대응하기 위해서 만든, Coroutine의 비동기 스트림 API가 flow입니다. RxJava API를 사용해보았다면 사용방.. 2022. 10. 10. Kotlin Coroutine 총정리 part2 # Cancellation Exception Handling 이 글은 이전글에 이어서, Exception Handling과 Cancellation 그리고 여러개의 Job을 다룰때의 주의점등에 대해서 정리해 보겠습니다. 참고로 이전 글을 아래 링크를 참조해주세요. >> Kotlin Coroutine 총정리 part1 # launch async Context Job CoroutineScope 1. Exception Handling cancel된 Coroutine은 CancellationException을 전파한다는 것을 알게 되었는데요. 이것은 suspension포인트에서는 무시됩니다. 이것은 cancel을 위한 정상적인 방법이기 때문입니다. 1-1. Exception의 전파 코루틴의 Exception전파에 있어서는 2가지로 나누어 지는데요. Exception 전파 .. 2022. 10. 9. Kotlin Coroutine 총정리 part1 # launch async Context Job CoroutineScope 오늘은 Kotlin의 Coroutine에 대해서 정리해 보도록 하겠습니다. 1. Coroutine Kotlin에서 네트워크 호출이나 디스크아이오 같은 비동기 코드를 다룰 때 언급되는 것이 Coroutine인데요. 공식문서에서의 Coroutine에 대한 정의를 보면, suspendable한 Computation이라고 나와있습니다. suspend는 중단하다 혹은 유예하다의 뜻 인데요. 필요할 때 마다 suspendable한 단위의 코드들이, suspend 되었다가 다시 깨어나서 resume 하여 과업을 완료한다는 것 입니다. 그리고 Coroutine과 쓰레드는 컨셉적으로는 비슷하지만, 쓰레드는 아닙니다. 한 쓰레드에서 suspend 되었다가, 다른 쓰레드에서 깨어나서 실행될 수 도 있는 좀 더 가볍고 작은 .. 2022. 10. 7. Kotlin 확장 함수 및 Property 에 대한 정리 # Extension Functions Kotlin을 이용하면 기존 Class와 Interface의 확장이 매우 용이합니다. 오늘은 이러한 확장을 가능하게 하는 중요한 개념인 Extension Functions 와 Extension Property에 대해서 정리해 보겠습니다. 1. Extension Functions 와 Extension Properties 1-1. Extension Functions 와 Extension Properties 여기서 사용된 Extention의 뜻은 확장 또는 연장인데요. Kotlin에서는 Class나 Interface를, 다른 Class나 Interface에서 상속받지 않고도, 함수를 추가하거나 Property를 추가함으로서 확장할 수 있는 능력을 제공해주고 있습니다. 예를 들어서, 만약 Retrofit이나 G.. 2022. 10. 4. Bitbucket App Passwords 이슈 해결 # Account Sourcetree 오늘은 Bitbucket에서 해결해야할 이슈 한가지에 대해서 정리해 보려고 하는데요. Push를 하면 기존 Bitbucket 패스워드로는 인증이 안되기 시작한 이슈입니다. 오랜 만에 Bitbucket을 사용하시는 분들은 모르실 수 있어서 정리해 보도록 하겠습니다. 1. Push 후 보이는 에러메시지 커밋을 한 다음, SourceTree에서 Bitbucket에 푸쉬를 해보면 다음과 같은 메시지를 볼 수 있습니다. 2022. 9. 18. HILT 에 대해서 정리해 보겠습니다. # DI Dependency Injection 오늘은 Hilt를 이용한 Dependency Injection에 대해서 정리해 보도록 하겠습니다. Dependency Injection에 대해 경험이 없으신 분들이라면, 아래 글을 통해서 기본적인 개념에 대해서 이해해 보시면 도움이 될 것 같습니다. 특히 Dependency를 주입해준다는 말의 의미에 대해서 이해해 보아야 합니다. >> Dependency Injection(DI)에 대해서 알아보자 이제 DI에 대해서 이해가 가신다면, HILT에 대해서 알아보도록 하겠습니다. 1. HILT HILT는 Google의 Dagger를 기반으로 만든 Dependency Injection 라이브러리인데요. 공식문서에는 Hilt의 목표에 대해서 아래와 같이 정리하였는데요. Kolin이 Kotlin에 특화된 심플한 D.. 2022. 9. 16. Python 이용한 Web Scraping 방법 # requests beautifulSoup 오늘은 Python의 request 와 BeautifulSoup 모듈을 이용해서, WebScrapping을 하는 방법에 대해서 정리해 보도록 하겠습니다. 1. Web Scraping과 작업순서 1-1. Web Scraping Web Scraping이라고도 하구요. web data extraction이라고도 합니다. 웹사이트들로부터 데이터를 추출해내는 것을 의미하는데요. 요즘은 사이트를 검색하면 사이트의 프리뷰도 미리 검색사이트에서 볼 수 있습니다. 이것도 다 Web Scraping해서 얻은 데이터를 기반으로 하는 것 이지요. 1-2. 작업순서 WebScraping은 모듈사용방법을 읽히는 것도 중요하겠지만, 그보다도 Scraping할 페이지를 분석하고 어떻게 읽어올지를 파악하는 것이 중요합니다. 만약 특정.. 2022. 5. 7. Selenium Web scraping 방법 정리 # Python implicit Explicit wait 오늘은 Python으로 Selenium 을 이용한 WebScraping 에 대해서 정리해 보도록 하겠습니다. 1. 필요한 모듈 설치 1-1. Selenium 모듈설치 가장 먼저해야할 것은 selenium 모듈을 설치하는 일 입니다. 프로젝트 폴더에서 아래코드로 Selenium 모듈을 설치해 줍니다. python -m pip install selenium 1-2. Chromedriver 설치 드라이버를 설치하면서 주의할 점이 있는데요. 바로 자신의 크롬버전과 같은 버전을 설치해야 한다는 점 입니다. 따라서 제일 먼저 할 것은 Chrome버전을 확인하는 일 입니다. 제 맥에는 아래버전의 크롬이 설치가 되어 있네요. 2022. 5. 6. NodeJS 에서 CSV 읽어들이기 # JS 오늘은 NodeJS에서 CSV 파일을 읽어들이는 방법에 대해서 정리해 보도록 하겠습니다. 1. 큰 그림 어떤 방식으로 csv파일을 읽어들일지 정리해보면 다음과 같습니다. csv파일은 row는 "\n" 또는 "\r"로 구분되어 있구요. Column은 ","으로 구분되어 있습니다. 그러므로, NodeJS파일핸들 모듈을 이용해서 파일을 읽어들인다음, 먼저 "\n" 또는 "\r"로 텍스트데이터를 분리해서 list에 넣어주구요. 각 list에 들어간 아이템들을 다시 ","으로 분리해서 Column으로 읽어들이는 것 입니다. 2. fs 모듈 제일 먼저 필요한 것은 fs 모듈인데요. NodeJS에 이미 포함되어 있으므로 따로 설치하거나 할 필요는 없습니다. require로 해당 모듈을 사용할 수 있도록 해 줍니다. .. 2022. 5. 5. pip 로 패키지 설치하고 관리하는 방법 # Python pip는 파이썬을 Package를 설치하고 관리할 수 있게 해주는 Package Installer인데요. 오늘은 이것에 대해서 정리해 보도록 하겠습니다. 1. pip 설치 1-1. pip 설치 pip를 설치하기 위해서는 python에 기본적으로 들어있는 ensurepip라는 모듈을 이용해야 하는데요. 아래 명령어를 이용하면 pip를 실행시킬 수 있습니다. python -m ensurepip --upgrade 2022. 4. 26. Mac 에서 Cafe24 가상서버 호스팅 접속방법 # SSH 접속 Cafe24의 가상서버호스팅은 가격도 저렴하면서 용량도 적절해서 토이프로젝트나 테스트사이트를 론칭하기에 좋은데요. 오늘은 Mac에서 cafe24의 가상서버 호스팅에 접속하는 방법에 대해서 정리해 보도록 하겠습니다. 1. 부여받은 ip주소 확인하기 Cafe24에서 가상서버를 계약하고 나서 호스팅센터 홈페이지에 가면 다음과 같은 화면을 볼 수 있습니다. 먼저 찾아야 할 것은, '나의서비스관리' 메뉴입니다. 아래이미지의 화살표가 가르키는 곳을 찾아가면 됩니다. 서버 접속 정보는 아래와 같이, 간단하게 나와 있습니다. 아래 빨간색 화살표에 해당하는 것이, 우리가 할당받은 가상서버의 고정 ip주소입니다. 2022. 4. 26. Python 에서 Time 다루는 방법 # epoch strftime 오늘은 python에서 time 을 다루는 방법에 대해서 정리해 보도록 하겠습니다. 1. time 모듈 python의 standard library 모듈에는 시간을 다루는데 필요한 time모듈이 포함되어 있습니다. 따라서, 시간관련함수를 사용하기 위해서 이 모듈을 아래와 같이 import 해주어야 합니다. import time 2. time() 과 time_ns() time모듈에 들어있는 time()함수는 현재의 시간을 보여주는데요. epoch로부터 얼마나 시간이 지났는지를 밀리세컨단위로 보여줍니다. import time time.time() epoch는 1970년 1월 1일부터의 시간을 초단위로 나타낸 것을 가르킵니다. 이 함수에서 return되는 값은 아래와 같이 float 입니다. 정수가 필요할 때.. 2022. 4. 26. Flask 웹프레임워크 사용방법 정리 # python Routing 오늘은 파이썬의 경량 웹프레임워크인 플래스크(Flask)에 대해서 정리해 보도록 하겠습니다. 1. flask 설치 프로젝트 디렉토리에서 pip모듈을 이용해서 flask를 먼저 설치해 주어야 하는데요. 아래 명령어를 사용해주면 됩니다. python -m pip install Flask 2. Hello World 경량 웹프레임워크이므로 빠르게 코드를 작성해서, Hello World를 뛰어 보겠습니다. 아래와 같이 해주면 되는데요. host는 test용이므로, 'localhost'로 지정해주구요. port는 원하는 port를 할 수 있는데, 지정하지 않으면, 5000포트로 열립니다. 다만, macOS에서는 5000포트가 이미 사용되는 것으로 알고 있어서 여기서는 3000포트를 사용하였습니다. 정상적으로 잘 동.. 2022. 4. 23. MongoDB Atlas 무료 로 사용하기 오늘은 MongoDB의 Atlas서비스를 무료로 사용하는 방법에 대해서 정리해 보겠습니다. 1. Cluster 만들기 가장 먼저 해야할 것은 Cluster를 만드는 것 입니다. 회원가입을 하였다면, 우측 상단에 New Project 버튼을 눌러서 프로젝트를 생성해 줍니다. 이제 아래 화면에서 Build a Database를 선택해 줍니다. 우리에게 필요한 것은 Free로 제공되는 Shared입니다. 공짜로 제공되는 대신, 다른 사람과 서버를 공유하도록 하는 것 같습니다. 그럴일은 별로 없겠지만, 같이 쓰는 누군가가 서버를 크래쉬하면, 같이 다운되어버리겠지요. Create 해 주면, 아래와 같이 Shared 의 region을 선택하는 화면이 나옵니다. 예전에는 없었는데, Seoul이 포함되어 있는 것을 볼.. 2022. 2. 6. Javascript Object 와 Function 에 관한 정리 오늘은 Javascript의 Object(객체)와 Function(함수)에 대해서 정리해 보도록 하겠습니다. 1. Object의 생성 Javascript의 Object르 생성하는 방법은 여러가지가 있지만, 다음과 같이 "{"과 "}"을 사용할 수 있습니다. 생성한 object의 property에는 아래와 같이 "." 또는 "[]"를 이용해 접근할 수 있습니다. 그럼 아래와 같은 log를 볼 수 있습니다. 2. Object의 값 변경 값을 변경하는 방버도 아래와 같이 간단합니다. 로그를 찍어보면 true로 값이 변경된 것을 볼 수 있습니다. 단순히 property의 값을 변경하는 것 이외에도, property를 추가할 수도 있습니다. 로그를 보면, iq라는 property가 추가된 것을 알 수 있습니다. 2022. 2. 1. Array 정리 # Javascript 오늘은 Javascript의 Array에 대해서 정리해 보겠습니다. 1. Array 생성과 사용 Javascript에서 Array를 만드는 방법은 아주 쉽습니다. Javascript에서는 "["과 "]"을 이용해서 아래와 같이 Array를 생성할 수 있습니다. 위의 마지막 줄에서는 3번 인덱스의 아이템을 로그로 출력하도록 하고 있는데요. 한가지 주의할 점은 아이템의 순서는 0번째 부터 시작한다는 것입니다. 그래서 car2가 아니라, car3를 출력하여야 하는 것이구요. 아래와 같이 "model2"가 나오는 결과를 얻게 됩니다. 2022. 1. 31. 이전 1 2 3 4 5 6 7 8 ··· 13 다음