Ruby 버전 업데이트 및 전역 적용하는 방법
2023. 10. 31. 15:03
Basic
우선 ruby 버전을 변경하기 위해서는 brew가 기본적으로 설치를 해야 한다. (아래 링크 - brew 다운로드 사이트) https://brew.sh/ Homebrew The Missing Package Manager for macOS (or Linux). brew.sh brew 설치가 완료되었다면 rbenv를 설치하자 brew install rbenv rbenv를 설치하였다면 ruby 설치 가능한 버전 리스트를 확인한다. rbenv install -l 리스트 중에 원하는 버전을 명시하여 설치한다. 이때 반드시 리스트에 있는 버전으로 기입한다. # rbenv install x.x.x(설치 버전 기입) rbenv install 3.0.6 전역적으로 rbenv에 설치된 버전으로 ruby를 바꾸도록 명령한다..
[Javascript] 문자열 자리수 채우기 - padStart, padEnd
2023. 8. 17. 01:09
Basic/JavaScript
예를 들어 숫자를 표현할 때, 네자리 고정으로 출력하기를 원할 때가 있다. 예를 들어, 네자리를 채우고 싶고 100을 입력하면 0100, 5를 입력하면 ***5 등등.. 보통 비밀번호 표시, 혹은 숫자 카운팅에 많이 쓰인다. 이를 구현하기 위해 padStart와 padEnd를 사용하면 구현하기 쉽다. padStart 내장함수를 사용하면 입력한 문자열 앞에 원하는 문자 또는 문자열로 만족하는 문자열 길이까지 채워준다. 반대로 padEnd는 입력한 문자열 뒤에서 채워준다. MDN의 예시를 한 번 보자 "abc".padStart(10); // " abc" "abc".padStart(10, "foo"); // "foofoofabc" "abc".padStart(6, "123465"); // "123abc" "ab..
맥북 충전기 연결음 on/off 하기
2023. 7. 11. 00:42
Convenient
맥북 충전기를 연결한 채로 사용하다보면 불안정한 접촉때문에 연결이 됐다 안됐다를 반복하여 계속해서 연결할 때 나는 소리를 내며 신경쓰이게 한다. 연결 단자를 고칠 수 없다면, 소리를 꺼보자. 터미널을 켜고, 아래 명령어를 치면 소리가 꺼진다. defaults write com.apple.PowerChime ChimeOnNoHardware -bool true; killall PowerChime 다시 소리를 키고 싶다면 아래 명령어를 치면 된다. defaults write com.apple.PowerChime ChimeOnAllHardware -bool true; open /System/Library/CoreServices/PowerChime.app &
[Firebase] 파이어베이스로 React 프로젝트 3분만에 호스팅하기 (무료로 URL, 웹사이트 구축하기)
2023. 6. 8. 01:12
Basic/etc
파이어베이스에서 제공하는 많은 기능들이 있지만, 모두 번외로 하고 자신이 만든 프로젝트를 실서버(URL)에 등록(호스팅)만 하는 방법에 대해 알아보자. https://firebase.google.com/?hl=ko Firebase Firebase is an app development platform that helps you build and grow apps and games users love. Backed by Google and trusted by millions of businesses around the world. firebase.google.com 파이어베이스에 접속(상단 링크 참고)하여 "시작하기" 또는 "콘솔로 이동" 버튼을 클릭하여 다음 스텝으로 진행한다. "프로젝트 추가" 영역을 ..
[React Native] react-native-bottom-sheet, AndroidManifest.xml 내 android:windowSoftInputMode 설정 충돌 방지하기
2023. 6. 7. 20:39
Front-end/App
https://github.com/gorhom/react-native-bottom-sheet gorhom/react-native-bottom-sheet는 React Native로 bottom sheet를 구현할 때 필요한 거의 대체 할 수 없는 필수 라이브러리이다. GitHub - gorhom/react-native-bottom-sheet: A performant interactive bottom sheet with fully configurable options 🚀 A performant interactive bottom sheet with fully configurable options 🚀 - GitHub - gorhom/react-native-bottom-sheet: A performant inte..
[디자인패턴] MVC 패턴의 간단한 개념과 구현 예시
2023. 5. 30. 00:20
Basic/etc
MVC 패턴의 개념을 설명하는 document나 블로그는 많으니, 간단하게 정리하고 그 예시에 대해서 자세히 알아보자. MVC 패턴이란? "MVC(모델-뷰-컨트롤러)는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다. 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있습니다." (참고 문헌: https://developer.mozilla.org/ko/docs/Glossary/MVC ) MVC (Model-View-Controller) 패턴 Model: 데이터와 비즈니스 로직을 처리한다. View: 사용자에게 표시되는 인터페이스를 담당한다. Controller: 사용자의 입력을 처리하고 Model과 View를 관리한다. 결과적으로 이 패턴을 사용함..
[디자인패턴] 디자인패턴(design pattern)이란 무엇일까?
2023. 5. 28. 00:42
Basic/etc
개발자의 기본 소양의 덕목 중, 디자인패턴이 있고 실제로 많은 기업에서 다양하고 깊은 이해를 바탕을 가진 개발자를 원한다. 그럼 디자인패턴은 무엇이고 왜 필요할까? 디자인 패턴은 소프트웨어 디자인에서 반복적으로 발생하는 문제들을 해결하기 위한 일련의 해결책이다. 소프트웨어 개발자들은 많은 문제들을 매번 처음부터 해결하는 대신에, 이전에 해결되었던 유사한 문제들에 대한 해결책을 재사용함으로써 시간과 노력을 절약할 수 있다. 디자인 패턴의 사용은 개발자들 사이에서 소통과 이해를 촉진하고, 소프트웨어의 유지보수성과 재사용성을 높이는 데 도움을 줄 수 있다. 또한 디자인 패턴은 개발자들이 공통된 언어와 개념을 가지고 소프트웨어 디자인에 접근할 수 있도록 도와줌으로써 개발 프로세스를 향상시킬 수 있다. 개발자가 ..
[React Native] WebView로 Android PDF 링크 띄우기
2023. 5. 17. 17:53
Front-end/App
안드로이드의 WebView에서 PDF 관련 링크를 띄우려고 할 때, SSL 인증서의 문제로 발생할 수 있다. 기본적으로 WebView는 안전하지 않은 SSL 인증서를 가진 웹 사이트에 대해 경고를 표시하고 해당 사이트에 접속을 차단한다. 차단을 풀고 접속하는 방법에 대해 알아보자. 1. WebView 컴포넌트의 ignoreSslError 추가 2. AndroidManifest.xml에서 보안 설정 변경 매니페스트에서 "android:usesCleartextTracffic" 속성을 추가하여 앱이 텍스트 트래픽을 사용할 수 있게 변경한다. ... 3. 강제로 구글 드라이브로 이동하여 표시하기 const { url } = route.params; const googleDriveUrl = `https://dri..
[Javascript] 자바스크립트는 싱글 스레드 (+비동기 심화 학습)
2023. 5. 15. 23:37
Basic/JavaScript
자바스크립트는 단일 쓰레드(single-threaded) 언어이다. 이는 자바스크립트 엔진이 한 번에 하나의 작업만 처리할 수 있다는 것을 의미한다. 다른 많은 프로그래밍 언어들은 멀티 쓰레드(multi-threaded)를 지원하여 동시에 여러 작업을 처리할 수 있다. 멀티 쓰레드 언어에서는 한 쓰레드가 작업을 처리하는 동안에도 다른 쓰레드가 다른 작업을 처리할 수 있다. 그러나 자바스크립트는 단일 쓰레드 언어이므로 한 번에 하나의 작업만 처리할 수 있다. 이는 자바스크립트 코드가 순차적으로 실행되는 것을 의미한다. 자바스크립트는 이벤트 루프(event loop)와 비동기 콜백(callback)을 통해 비동기적인 작업을 처리할 수 있게 한다. 이벤트 루프는 콜백 함수를 대기열에 추가하고, 대기열의 작업이..