
내가 생각하는 저연차 개발자의 물경력과 극복법 - 1
2025. 1. 24. 14:46
Experience/Developer
결론부터 말하자면, 근본적으로 문제 해결 능력이 부족하다는 것이다. 이는 사고방식과 업무를 대하는 태도에서 비롯된다고 생각한다. 무언가 해결되지 않은 문제가 생기면, 그 문제에 몰두하다가 시야가 좁아지고 사고가 멈추는 상태에 빠질 때가 있다.이때, 문제를 해결하지 못한 채 누군가에게 질문을 하더라도 정리가 안 되어 두서없는 상황이 된다.문제 해결을 위해 무엇부터 풀어야 할지도 모르는 경우가 많다.이런 상태가 심해지면 질문조차 제대로 하지 못하고, ChatGPT와 같은 도구를 사용할 때도 단순히 코드를 복사해 붙이며 "이거 해결해줘", "이거 만들어줘" 같은 요청만 하게 된다.결국, 이런 방식으로는 도구조차 제대로 활용하지 못한다. 이 문제를 극복하려면 먼저 맞닥뜨린 이슈의 핵심이 무엇인지 명확히 인지해야..
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..