케이플케이플· 21일

React native에서 pod install시 boost 오류날 때 해결 과정

React Native 0.73.1에서 pod install시 다음과 같이 boost 오류가 발생한다.Installing boost (1.83.0) [!] Error installing boost Verification checksum was incorrect, expected 6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e, got 79e6d3f986444e5a80afbeccdaf2d1c1cf964baa8d766d20859d653a16c39848React Native 버전과 boost 버전이 호환되지 않아서 발생하는 오류 이기때문에라이브러리가 지원하기 전까지는 임시로 해결해야 한다.해결하려면,node_modules/react-native/third-party-podspecs/boost.podspec 파일을 열어서 아래와 같이 되어있는 부분을spec.source = { :http => 'https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2', :sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }아래와 같이 변경한다.spec.source = { :http => 'https://sourceforge.net/projects/boost/files/boost/1.83.0/boost_1_83_0.tar.bz2', :sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }그런 다음 다시 pod install를 실행하면 정상적으로 실행 될 것이다.
195
1
0
라이너라이너· 26일

리눅스 서버에서 원격 접속 터미널 세션 유지하기: tmux 활용법

서버에서 중요한 작업을 수행하던 도중 터미널이 갑자기 끊긴 경험이 있는가? 얼마 전npm install을 실행하고 한참을 기다렸는데, CPU 사용량이 치솟더니 SSH 세션이 강제 종료되어 터미널 접속이 끊겨버렸다. 다시 접속해 보니 작업이 중단되어 있었고, 처음부터 다시 시작해야 하는 상황이었다. 이러한 예상치 못한 터미널 종료는 단순한 불편을 넘어 시간과 생산성에도 큰 영향을 미친다.하지만 이 문제를 해결할 방법이 있다. tmux를 사용하면 터미널 세션을 유지하면서 안정적으로 작업을 수행할 수 있다.1. 세션이 끊기는 주요 사례인터넷 연결이 불안정하여 SSH 연결이 강제 종료되는 경우터미널을 실수로 닫았을 때네트워크 환경이 바뀌거나 VPN이 끊어질 때npm install과 같은 높은 리소스를 요구하는 작업이 서버에서 실행 중일 때장시간 유지해야 하는 작업 도중 터미널이 자동으로 종료될 때이러한 문제를 해결하기 위해 tmux를 사용하면 SSH 세션이 끊겨도 터미널 작업이 계속 실행된다.2. tmux 개념과 기본 사용법tmux란?tmux는 하나의 터미널 내에서 여러 개의 세션을 관리할 수 있는 터미널 멀티플렉서이다. 이를 통해 SSH 세션이 종료되더라도 실행 중인 프로세스를 유지할 수 있다.3.1 tmux 설치대부분의 리눅스 배포판에서 tmux를 쉽게 설치할 수 있다.# Ubuntu / Debian sudo apt update && sudo apt install tmux # CentOS / RHEL sudo yum install tmux # macOS (Homebrew 사용 시) brew install tmux3.2 tmux 세션 시작하기tmux위 명령어를 입력하면 새로운 tmux 세션이 시작된다.3.3 세션 분리 (detach) 후 유지하기Ctrl + b, d위 단축키를 누르면 현재 tmux 세션에서 빠져나오면서 세션을 백그라운드에서 유지할 수 있다.3.4 기존 세션 재접속 (attach)tmux attach -t 0 # 세션 번호가 0일 경우만약 여러 개의 세션이 있을 경우 세션 목록을 확인 후 접속하면 된다.tmux list-sessions # 실행 중인 세션 목록 확인 tmux attach -t <세션명>3.5 세션 종료세션이 더 이상 필요 없다면 종료할 수 있다.exit # tmux 세션 내에서 실행또는, Ctrl + b, x를 눌러서 창을 종료할 수도 있다.3. tmux 활용 예제4.1 백그라운드에서 npm install 실행하기tmux new -s install-session npm install # 패키지 설치 실행 Ctrl + b, d # 세션 분리이렇게 하면 SSH 세션이 끊겨도 npm install이 계속 실행된다.4.2 다중 창 활용하기새 창 만들기: Ctrl + b, c창 간 이동: Ctrl + b, n (다음 창), Ctrl + b, p (이전 창)창 삭제: Ctrl + b, &4. 마무리tmux를 활용하면 SSH 연결이 끊겨도 작업이 지속되므로 서버 관리가 훨씬 안정적이고 편리해진다. 중요한 작업을 수행할 때마다 tmux 세션을 생성하고, 필요할 때 다시 접속하는 습관을 들이면 서버 운영이 더욱 원활해질 것이다. 이제 tmux를 사용하여 SSH 세션 종료 걱정 없이 리눅스 서버를 효율적으로 관리해보자!
203
1
1
픽셀노마드픽셀노마드· 1개월

Chrome에서 ERR_BLOCKED_BY_ORB 이미지 차단 문제와 해결 과정

최근 Chrome 브라우저에서 특정 이미지가 정상적으로 로딩되지 않고 ERR_BLOCKED_BY_ORB 오류가 발생하는 현상을 겪었다. 이 오류는 특히 404 Not Found 상태일 때 브라우저가 이미지를 제대로 표시하지 못하는 경우에 발생한다. 처음에는 img 태그에 onError 속성을 추가하여 이미지가 로드되지 않을 때 기본 이미지를 표시하도록 설정했지만, 여전히 이미지가 나타나지 않는 문제가 있었다. 📌 사용했던 onError 코드 예제 <img src="/assets/profile/1234.jpg" onError="this.src='/default-image.png'"> 이렇게 onError를 활용하면 이미지가 없을 때 기본 이미지를 표시해야 하지만, 크롬 디버그 도구에서 확인해보면 ERR_BLOCKED_BY_ORB 오류가 발생하면서 이 이벤트조차 실행되지 않았다. 즉, Chrome 브라우저가 보안 정책에 의해 HTML 응답을 차단하면서 onError 이벤트도 트리거되지 않는 현상이었다. 이번 글에서는 ERR_BLOCKED_BY_ORB 오류가 발생하는 원인과 해결 과정을 공유한다. 🚨 ERR_BLOCKED_BY_ORB란? ERR_BLOCKED_BY_ORB는 최근에 Chrome의 ORB(Opaque Response Blocking) 정책에 의해 발생하는 오류이다. ORB는 보안상의 이유로 이미지, 스크립트, CSS 파일 등에 대해 기대한 MIME 타입이 아닌 응답을 차단하는 기능이다. 🔍 Chrome의 ORB 정책이란? ORB(Opaque Response Blocking)는 Chrome에서 보안 강화를 위해 도입된 정책으로, 외부 리소스(예: 이미지 요청)에 대해 잘못된 응답을 받으면 브라우저가 차단하는 기능이다. 정상적인 응답: 200 OK + image/png → 정상 표시 잘못된 응답: 404 Not Found + text/html → 브라우저가 차단 즉, 이미지를 요청했지만 서버가 HTML 응답을 반환하면 차단된다. 🔎 문제 발생 원인 처음에 NGINX에서 존재하지 않는 이미지 요청에 대해 기본 404 HTML 페이지를 반환하고 있었다. 📌 발생했던 문제 상황 사용자가 https://mysite.com/assets/profile/1234.jpg 요청 해당 이미지가 존재하지 않음 (404 Not Found) 하지만 NGINX 기본 설정에서는 404.html(HTML 문서)을 반환 Chrome은 이미지 요청에 HTML이 응답된 것을 감지하고 ERR_BLOCKED_BY_ORB 오류 발생 즉, 404 Not Found가 발생했을 때 브라우저가 HTML 페이지를 받으면 보안 정책에 의해 차단되는 현상이 발생했다. 🛠 해결 과정 ✅ 1. 404 상태에서 빈 이미지 반환하도록 설정 이미지가 없는 경우에도 HTML이 아니라 image/png MIME 타입을 유지하면서 404 상태를 유지하도록 설정해야 한다. 첫번째 시도 설정 location ~* \.(png|jpg|jpeg|gif|webp|svg)$ { try_files $uri =404; error_page 404 =200 /EMPTY_FOR_ERROR_BLOCKED_BY_ORB.png; } error_page 404 =200 → 404가 아닌 200 OK로 응답하면서 빈 이미지 제공 하지만 Chrome은 이미지가 아닌 HTML을 받을 수도 있다고 판단하여 차단 즉, =200도 지워줘야만 한다. 🚀 해결된 설정 location ~* \.(png|jpg|jpeg|gif|webp|svg)$ { try_files $uri =404; error_page 404 /EMPTY_FOR_ERROR_BLOCKED_BY_ORB.png; } location = /EMPTY_FOR_ERROR_BLOCKED_BY_ORB.png { root /myweb_dir/assets; default_type image/png; add_header Cache-Control "no-store"; expires -1; try_files $uri =404; } 📌 해결 방법 요약 error_page 404에서 404 상태를 유지하도록 설정 default_type image/png;을 명시하여 브라우저가 올바른 MIME 타입을 인식 add_header Cache-Control "no-store";로 캐싱을 방지 expires -1;로 만료 시간을 즉시로 설정하여 브라우저가 캐싱하지 않도록 함 🔬 최종 테스트 설정 적용 후 아래 명령어로 테스트 진행. curl -I https://mysite.com/assets/profile/1234.jpg ✅ 정상적인 응답 HTTP/2 404 content-type: image/png cache-control: no-store expires: -1 404 상태 코드 유지 MIME 타입이 image/png로 올바르게 반환 브라우저가 더 이상 ERR_BLOCKED_BY_ORB 오류를 발생시키지 않음 💡 결론 🎯 ERR_BLOCKED_BY_ORB 해결을 위한 핵심 포인트 이미지가 존재하지 않을 때 기본 HTML 404 페이지가 반환되지 않도록 해야 함 404 상태에서 이미지 응답을 유지하려면 error_page 404를 빈 PNG로 처리 MIME 타입(image/png)을 명확하게 설정해야 함 캐싱 방지를 위해 Cache-Control: no-store를 추가 이번 설정을 적용한 후, 더 이상 ERR_BLOCKED_BY_ORB 문제가 발생하지 않았다. Chrome 브라우저에서 이미지가 정상적으로 표시되지 않는다면, 서버가 404 응답을 올바르게 처리하고 있는지 확인하는 것이 중요하다! 🚀 이제 404 이미지 요청이 Chrome에서 차단되지 않고, 올바르게 빈 이미지로 응답된다. 비슷한 문제를 겪는 분들은 위 해결 방법을 적용해보길 바란다. 😊
562
1
0
인디드림인디드림· 1개월

1인 개발자가 성공하기 위해 필요한 핵심 역량

내가 생각하는 1인 개발자가 성공하기 위해 갖춰야 할 역량을 정리해 본다. 1. 문제 해결 능력 1인 개발자는 혼자 모든 문제를 해결해야 하기 때문에 문제 해결 능력이 가장 중요한 역량 중 하나다. 에러나 버그가 발생했을 때 해결할 수 있어야 하며, 기술적 한계를 극복하기 위해 검색하고 문서를 탐색하는 능력이 필요하다. 또한, 다양한 기술을 빠르게 습득하고 적용하는 능력이 중요하다. 특히, 구글링, Stack Overflow, GitHub Issues 등을 활용하여 문제를 해결하는 능력이 필수적이다. 2. 기획 및 UX/UI 설계 능력 1인 개발자는 단순히 코드를 짜는 것뿐만 아니라, 사용자가 원하는 서비스를 기획하고 설계할 수 있어야 한다. 사용자 경험(UX)을 고려한 직관적인 UI를 설계해야 하며, MVP(Minimum Viable Product) 개념을 이해하고 빠르게 프로토타입을 제작하는 능력이 필요하다. 또한, 피드백을 반영하여 지속적으로 개선하는 능력이 요구된다. Figma나 Adobe XD 같은 UI/UX 도구를 활용하여 기본적인 와이어프레임을 만드는 것도 큰 도움이 된다. 3. 풀스택 개발 능력 1인 개발자는 프론트엔드, 백엔드, 데이터베이스까지 전체적인 개발을 수행할 수 있어야 한다. 모든 영역을 깊이 알 필요는 없지만, 전반적인 흐름을 이해하고 필요할 때 빠르게 적용하는 능력이 중요하다. 4. 비즈니스 및 마케팅 역량 아무리 좋은 서비스를 만들어도 사용자가 모이지 않으면 의미가 없다. 1인 개발자는 기본적인 마케팅 전략을 알고 있어야 한다. 타겟 고객을 분석하고 니즈를 파악하는 능력이 필요하며, SEO(검색 엔진 최적화)와 SNS 마케팅을 활용할 줄 알아야 한다. 블로그, 뉴스레터, 커뮤니티를 통해 홍보하는 방법을 익히고, 필요할 경우 유료 광고 집행도 고려해야 한다. 초기 사용자를 확보하는 방법을 익히고, 플랫폼을 적극 활용하는 것이 효과적이다. 5. 지속적인 학습 및 자기 관리 능력 빠르게 변하는 기술 트렌드 속에서 지속적으로 학습하고 성장하는 자세가 필요하다. 최신 기술과 트렌드를 YouTube, 개발 블로그 등을 통해 학습하고, GitHub나 개발자 커뮤니티에서 활동하며 정보를 공유해야 한다. 또한, 자기 주도적으로 목표를 설정하고 학습을 관리하는 능력이 필요하다. 혼자 일하기 때문에 시간 관리와 동기 부여가 중요하며, 일정한 루틴을 유지하는 것이 도움이 된다. 6. 운영 및 유지보수 역량 서비스를 개발하는 것만큼 중요한 것이 운영과 유지보수다. 서버 및 인프라를 모니터링하고(AWS CloudWatch, New Relic, Sentry 활용), 보안과 데이터 백업을 철저히 관리해야 한다. SSL 인증서, 데이터 암호화, 정기적인 백업 설정 등을 통해 안정적인 서비스를 유지하고, 고객 피드백을 반영하여 지속적으로 개선하는 능력이 필요하다. 장기적인 운영을 고려하여 최대한 자동화하고 최적화하는 것이 핵심이다. 7. 커뮤니케이션 및 협업 역량 1인 개발자라고 하더라도 완전히 혼자서 모든 것을 할 수는 없다. 다른 개발자, 디자이너, 마케터와 협업할 일이 생길 수 있다. 오픈소스 프로젝트에 기여하며 협업 경험을 쌓고, 프리랜서 및 외주 개발을 통해 커뮤니케이션 능력을 키울 필요가 있다. 또한, 클라이언트나 고객과 원활한 소통을 할 수 있어야 한다. 8. 빠르게 실행하고 개선하는 역량 1인 개발자는 완벽을 추구하기보다 빠르게 실행하고 개선하는 것이 중요하다. 초기 MVP를 빠르게 개발하여 시장 반응을 확인하고, 사용자 피드백을 적극 반영하여 개선해야 한다. 완벽한 제품을 만드는 것보다 작동하는 제품을 먼저 만들어 시장에 내놓는 실행력이 중요하다. 9. 멘탈 관리와 동기부여 능력 혼자 개발을 진행하다 보면 번아웃과 외로움을 겪을 수 있다. 이를 극복하기 위해 목표를 설정하고 작은 성취감을 쌓아가는 것이 필요하다. 개발 외에도 취미나 운동을 통해 스트레스를 해소하고, 커뮤니티 활동을 통해 다른 개발자들과 교류하며 동기부여를 받을 수 있다. 장기적인 성공을 위해서는 심리적 안정과 지속적인 동기 부여가 필수적이다. 결론 1인 개발자로 성공하기 위해서는 기술뿐만 아니라 문제 해결, 비즈니스 감각, 마케팅, 운영, 자기 관리 등 다양한 역량이 필요하다. 문제 해결 능력과 빠른 학습 역량이 중요하며, UX/UI 및 풀스택 개발 능력을 익혀야 한다. 비즈니스 및 마케팅 전략을 익히고, 지속적인 학습과 운영 능력을 길러야 한다. 또한, 멘탈 관리와 동기부여가 중요하다. 모든 역량을 완벽하게 갖출 필요는 없지만, 지속적으로 학습하고 개선해 나간다면 성공적인 1인 개발자가 될 수 있다고 본다.
308
2
0
닥터핸닥터핸· 1개월

개발자가 이직 마음이 있을 때 반드시 준비해야 할 것

개발자로서 한 회사에서 오래 일하는 것도 좋지만, 더 나은 기회를 찾거나 새로운 도전을 위해 이직을 고려하는 경우가 많습니다. 어찌보면 당연한 얘기일 수도 있구요. 하지만 무작정 이직을 결정하는 건 쉽지 않고, 자칫 잘못된 선택을 내릴 수도 있기 때문에 철저한 준비가 필요합니다. 몇 번의 이직 경험을 토대로 개발자가 이직을 준비할 때 반드시 해야 할 것들을 정리해보겠습니다. 1. 이직의 목적을 명확히 하기 이직을 준비하기 전에 왜 이직을 하고 싶은지 스스로에게 질문해보시기 바랍니다. 단순히 연봉을 올리기 위해서인지, 더 좋은 기술 스택을 경험하고 싶은지, 업무 강도가 문제인지 등을 명확히 해야 합니다. 목적이 명확해야 올바른 방향으로 후회없는 이직을 준비할 수 있습니다. 예를 들면, 현재 회사에서 어떤 점이 불만인가? 내가 원하는 회사 문화는 무엇인가? 연봉, 기술 스택, 복지 중 가장 중요한 요소는 무엇인가? 이직 목적이 명확하지 않을 때 발생하는 문제점 지원하는 기업을 선정하는 기준이 애매해져 불필요한 지원을 하게 됨 면접 과정에서 본인이 원하는 방향을 명확히 전달하지 못해 평가가 낮아질 가능성이 있음 이직 후에도 만족스럽지 않아 다시 이직을 고민하는 상황이 발생할 수 있음 연봉 상승만을 목표로 했을 경우, 업무 만족도가 낮아질 위험이 있음 2. 이력서 및 포트폴리오 정리하기 이직을 준비할 때 가장 먼저 해야 할 것은 이력서와 포트폴리오 정리입니다. 많은 개발자들이 이력서를 최신 상태로 유지하지 않다가 급하게 이직할 때 업데이트하는 경우가 많습니다. 평소에 간단하게라도 이력서 관리를 해두면 좋습니다. 이력서 작성 팁 과거보다는 최근 프로젝트 경험과 성과를 중심으로 작성하기 단순한 업무 나열이 아닌, 본인의 기여도와 결과를 설명하기 사용하는 기술 스택을 명확히 정리하기 (예: Java, Spring Boot, AWS 등) 가독성이 좋은 형식 유지하기 (너무 길지 않게 A4 한두 장 이내) 포트폴리오 준비 포트폴리오는 프론트엔드/백엔드 개발자 모두에게 중요합니다. 프론트엔드 개발자: 개인 블로그나 Github, 실제 서비스 배포 경험 백엔드 개발자: 프로젝트 아키텍처 다이어그램, API 설계, 성능 개선 사례같은 게 있으면 좋음. 풀스택 개발자: 실제 운영되는 서비스 링크, GitHub 레포지토리 있다면 공유 특히 네이버, 카카오, 토스, 배달의민족 등 IT 기업들의 채용 과정에서 포트폴리오와 코드 리뷰가 중요한 평가 요소가 될 수 있습니다. 3. 기술 면접 및 코딩 테스트 준비하기 국내 규모있는 IT 기업은 기술 면접과 코딩 테스트를 진행합니다. 코딩 테스트를 보는 곳을 지원한다면 오랜만에 면접을 보게 되면 당황할 수 있으므로 미리 준비하는 것이 중요합니다. 코딩 테스트 준비 방법 프로그래머스, 백준, 코딩테스트 대비 문제 연습하기 자료구조, 알고리즘 (정렬, 탐색, DP, BFS/DFS 등) 개념 복습하기 SQL 문제 및 DB 설계 연습하기 JavaScript, Python, Java 등 사용하는 언어의 최신 트렌드 파악하기 기술 면접 대비 프로젝트 경험을 기반으로 예상 질문 정리하기 CS 기본 지식 복습 (운영체제, 네트워크, 디자인 패턴 등) 모의 면접 진행해보기 (동료 개발자나 AI 면접 도구 활용) 국내 주요 IT 기업(네이버, 카카오, 쿠팡 등)의 면접 방식 분석하기 4. 희망하는 기업 리서치하기 막연하게 여러 기업에 지원하는 것보다는, 자신이 가고 싶은 회사의 정보를 미리 조사하는 것이 중요합니다. 기업 조사 방법 공식 웹사이트 및 기술 블로그 확인 기업이 어떤 서비스를 제공하는지 파악 기술 블로그를 통해 기술 스택 및 개발 문화 확인 채용 공고 분석 요구하는 기술 및 업무 내용 확인 연봉 및 복지 수준 파악 직원 후기 및 기업 문화 조사 잡플래닛, 블라인드 등을 활용하여 실제 직원 리뷰 확인 사내 분위기, 야근 문화, 복지 제도 등의 정보를 얻기 네트워크를 통한 정보 수집 기존 동료나 업계 지인을 통해 회사 내부 분위기 확인 컨퍼런스, 밋업에서 현직자들과 교류 기업 재무 상태 및 성장 가능성 확인 상장 기업이라면 금융감독원 전자공시시스템(DART) 활용 스타트업의 경우 투자 현황 및 최근 성장세 확인 5. 네트워크를 활용하기 이직을 준비할 때 네트워크는 매우 중요한 요소입니다. 지인 찬스나 온라인 커뮤니티를 통해 정보를 얻으면 좋은 기회를 잡을 확률이 높아집니다. 네트워킹 방법 기존 동료 및 친구들에게 관심 있는 회사가 있는지 물어보기 국내 개발자 커뮤니티(뎁스노트, Okky 등)에서 정보 교류 컨퍼런스, 밋업, 개발자 행사 참석 (AWS Summit, GDG DevFest 등) 링크드인에서 활동하는 방법도 있음 많은 IT 스타트업에서는 내부 추천을 통한 채용이 활발하기 때문에, 지인을 통한 추천이 서류 합격률을 높일 수 있습니다. 6. 현재 회사와 원만하게 퇴사 준비하기 이직을 결정했다면, 현재 회사와의 관계도 원만하게 유지하는 것이 중요합니다. 잘 정리된 인수인계와 매너 있는 퇴사는 개발자로서 평판을 지키는 데 큰 도움이 됩니다. 퇴사 준비 체크리스트 최소 1개월 전에 퇴사 의사를 밝히기 (보통 1~2개월 전 공지가 적절함) 주요 업무 및 프로젝트 인수인계 문서 작성 Git, 서버, 문서 등 필요한 자료 정리 남아 있는 연차 소진 및 퇴사 후 건강보험, 연금 등 정리 은근 이 업계가 좁아서 마지막까지 좋은 이미지를 남기는 것이 중요합니다. 마무리 이직을 고민중이고 궁금하다면 댓글로 편하게 남겨주세요! 😊
266
1
0
피토니피토니· 1개월

React Native ExecuTorch를 이용해 모바일에서 AI 모델 실행하기

개요 최근 AI 기술이 급격히 발전하면서, 모바일 애플리케이션에서도 머신러닝(ML) 모델을 활용하는 사례가 증가하고 있다. 하지만 기존의 AI 모델을 모바일 환경에서 실행하려면 높은 연산 비용과 클라우드 의존도가 문제로 작용했다. 이런 문제를 해결하기 위해 React Native ExecuTorch가 등장했다. ExecuTorch는 Meta(구 페이스북)의 React Native와 PyTorch의 ExecuTorch를 결합하여 모바일에서 AI 모델을 효율적으로 실행할 수 있도록 돕는 기술이다. 이를 통해 React Native 기반의 모바일 앱에서도 AI 기능을 쉽게 통합할 수 있으며, 클라우드 서버에 의존하지 않고도 디바이스에서 직접 AI 연산을 수행할 수 있다. React Native를 기반으로 실행되기 때문에 한 번의 개발로 iOS와 Android에서 모두 작동하며, 네이티브 개발이 필요 없이 JavaScript 및 TypeScript 코드만으로 AI 모델을 쉽게 실행할 수 있다는 점이 가장 큰 장점이다. 또한, 앱 내에서 AI 기능을 직접 실행하므로 데이터가 외부 서버로 전송되지 않아 보안성이 높고, 네트워크 연결이 필요 없어 빠른 응답 속도를 제공한다. 그럼 React Native ExecuTorch의 개념, 특징, 사용 방법, 그리고 실제 적용 방법을 다뤄보겠다. 1. React Native ExecuTorch란? React Native ExecuTorch는 React Native 환경에서 PyTorch 모델을 실행할 수 있도록 지원하는 경량 머신러닝 실행 엔진이다. 기존에는 AI 모델을 모바일에서 실행하려면 TensorFlow Lite(TFLite)나 ONNX Runtime을 사용해야 했지만, 이제는 ExecuTorch를 활용하여 PyTorch 모델을 직접 실행할 수 있다. React Native에서 실행되기 때문에 갖는 주요 장점 iOS와 Android 동시 지원 – 한 번의 개발로 여러 플랫폼에서 실행할 수 있어 개발 비용 절감. 네이티브 브릿지 불필요 – 추가적인 네이티브 코드 작성 없이 AI 모델을 실행할 수 있어 유지보수 간편. 빠른 개발 속도 – JavaScript/TypeScript만으로 AI 모델을 사용할 수 있어 React Native 개발자들이 쉽게 접근 가능. 온디바이스 머신러닝(ML) 지원 – AI 모델이 스마트폰에서 직접 실행되므로 네트워크 의존성이 낮고 응답 속도가 빠름. 데이터 프라이버시 강화 – AI 연산이 클라이언트 측에서 실행되므로, 사용자의 개인 데이터가 서버로 전송되지 않아 보안성이 뛰어남. 배터리 및 리소스 효율성 – 클라우드 AI 대비 낮은 전력 소비와 빠른 실행 속도를 제공. 기존 AI 모델 실행 방식과 비교 실행 방식 클라우드 필요 여부 응답 속도 데이터 프라이버시 클라우드 기반 AI 필요 느림 (네트워크 의존) 낮음 (데이터가 서버로 전송됨) TensorFlow Lite 불필요 빠름 높음 ExecuTorch (React Native) 불필요 매우 빠름 매우 높음 ExecuTorch는 PyTorch 기반의 모델을 직접 React Native에서 실행할 수 있도록 지원하며, 클라우드 의존도를 최소화하면서도 빠른 속도를 제공한다. 2. React Native ExecuTorch의 구조 React Native에서 ExecuTorch를 활용하려면 다음과 같은 절차를 거쳐야 한다. PyTorch에서 AI 모델 학습 ExecuTorch 포맷으로 모델 변환 React Native 앱에서 ExecuTorch로 모델 로드 모델 실행 및 결과 반환 그럼 이제 단계별로 구현 방법을 살펴보자. 3. React Native ExecuTorch 적용 방법 Step 1: React Native 프로젝트 설정 먼저, React Native 프로젝트를 생성한다. npx react-native init MyExecuTorchApp cd MyExecuTorchApp 그다음, ExecuTorch 라이브러리를 설치한다. npm install react-native-executorch Step 2: PyTorch 모델 변환 PyTorch에서 간단한 머신러닝 모델을 생성하고 ExecuTorch 포맷으로 변환한다. import torch # 간단한 모델 정의 class SimpleModel(torch.nn.Module): def forward(self, x): return x * 2 # 모델 인스턴스 생성 model = SimpleModel() # ExecuTorch 실행을 위해 모델 변환 scripted_model = torch.jit.script(model) scripted_model.save("simple_model.pt") 변환된 simple_model.pt 파일을 React Native 프로젝트 내부에 추가한다. Step 3: React Native에서 ExecuTorch 실행 이제 변환된 AI 모델을 React Native 앱에서 실행해보겠다. import { ExecuTorch } from 'react-native-executorch'; // 모델 로드 const loadModel = async () => { const model = await ExecuTorch.loadModel('simple_model.pt'); // 입력 데이터 생성 const input = [1, 2, 3, 4, 5]; // 모델 실행 const output = await model.run(input); console.log('AI Model Output:', output); }; // 모델 실행 함수 호출 loadModel(); 이제 앱을 실행하면 AI 모델이 React Native 환경에서 실행된다. 4. React Native ExecuTorch의 활용 사례 ExecuTorch를 활용하면 다양한 AI 기능을 React Native 앱에서 직접 구현할 수 있다. ① 이미지 처리 및 객체 감지 const detectObjects = async (imageData) => { const model = await ExecuTorch.loadModel('object_detection.pt'); const results = await model.run(imageData); console.log('Detected Objects:', results); }; ② 실시간 음성 인식 const transcribeAudio = async (audioData) => { const model = await ExecuTorch.loadModel('speech_to_text.pt'); const transcript = await model.run(audioData); console.log('Transcribed Text:', transcript); }; ③ 자연어 처리(NLP) 기반 챗봇 const chatbotResponse = async (userMessage) => { const model = await ExecuTorch.loadModel('chatbot_model.pt'); const response = await model.run(userMessage); console.log('Chatbot Reply:', response); }; 5. 결론 React Native ExecuTorch는 모바일에서 AI 모델을 실행할 수 있도록 돕는 강력한 도구이다. 특히 React Native 기반으로 동작하기 때문에 멀티 플랫폼 지원, 빠른 개발 속도, 데이터 프라이버시 보호 등의 이점을 극대화할 수 있다. React Native 기반 앱에서 이미지 인식, 음성 인식, 자연어 처리, 추천 시스템 등 다양한 AI 기능을 추가하려면 ExecuTorch를 활용하는 것이 좋을 것이다.
258
0
kimhokimho· 1개월

마케터, 디자이너, 기획자가 개발을 배우면 좋은 이유 😊

개발은 이제 개발자만의 영역이 아닙니다. 마케터, 디자이너, 기획자분들도 기본적인 개발 지식을 갖춘다면 업무 효율이 올라가고 더 많은 기회를 얻을 수 있습니다. 마케터, 디자이너, 기획자가 개발을 배우면 좋은 이유를 알아보겠습니다. 1. 협업의 효율성이 높아집니다 개발에 대한 이해가 부족하면 개발자와 협업할 때 원활한 의사소통이 어려울 수 있습니다. 기획자는 개발 가능성을 고려하지 않고 기능을 설계할 수도 있고, 디자이너는 개발 구현이 어려운 UI를 만들 수도 있습니다. 하지만 기본적인 개발 개념을 익히신다면 기능 기획, 디자인, 개발 간의 갭을 줄이고 더욱 원활한 협업이 가능해집니다. 기획자라면 API와 데이터 구조를 이해하며 현실적인 요구 사항을 정리할 수 있습니다. 디자이너라면 CSS, HTML, JavaScript 기초를 익히면 디자인을 코드로 구현하는 과정을 이해할 수 있습니다. 마케터라면 웹사이트 최적화 및 데이터 분석을 위해 간단한 코드 수정이 가능해집니다. 2. 업무 자동화로 시간을 절약할 수 있습니다 ⏳ 개발을 배우면 반복적인 업무를 자동화할 수 있어 생산성이 크게 향상됩니다. 예를 들어, 마케터는 파이썬이나 자바스트립트를 활용하여 데이터 수집 및 분석을 자동화할 수 있고, 디자이너는 피그마 플러그인이나 스크립트를 활용해 디자인 작업을 효율적으로 처리할 수 있습니다. 기획자는 간단한 스크립트를 통해 테스트 데이터를 생성할 수도 있습니다. 마케터: 구글 시티와 스크립트 기능을 활용한 데이터 자동화 디자이너: CSS와 자바스크립트를 활용하여 인터랙션이 있는 프로토타입 제작 기획자: 웹 크롤링을 이용하여 시장 조사 자동화 3. 디지털 마케팅 및 데이터 분석 역량 강화 📈 마케터가 개발을 알게 되면 SEO 최적화, A/B 테스트, 데이터 분석 등의 업무에서 경쟁력을 갖출 수 있습니다. 간단한 HTML, CSS 수정이 가능하면 웹사이트 최적화가 쉬워지고, 자바스크립트를 활용하면 트래킹 코드 설정도 직접할 수 있습니다. 구글 애널리틱스, 페이스북 픽셀, GTM(Google Tag Manager) 같은 마케팅 툴도 더욱 효과적으로 활용할 수 있습니다. 웹사이트 SEO 최적화를 위한 메타 태그 선정 및 수정 구글 애널리틱스 이벤트 트래킹 코드을 직접 추가 자바스크립트를 활용하여 사용자 행동 분석 데이터 수집 기법 적용 4. 프로토타입 제작 및 테스트가 가능합니다 🛠️ 디자이너나 기획자가 개발을 배우면 실제 코딩 없이도 노코드 툴을 활용하여 프로토타입을 제작하고 테스트할 수 있습니다. 요즘은 점점 도구가 좋아져서 웹사이트나 앱의 초기 버전을 직접 만들면서 개발자 없이도 아이디어를 구체화할 수 있습니다. 노코드나 로우코드 도구를 이용하여 프로토타입 제작 간단한 HTML/CSS/자바스크립트를 배워서 직접 웹 프로토타입 제작 5. 개발 지식이 경력 확장에 도움이 됩니다 🚀 IT 산업에서는 개발 지식이 선택이 아닌 필수 역량이 되어가고 있습니다. 기획자가 개발을 배우면 **PM(프로덕트 매니저)이나 PO(프로덕트 오너)**로 성장할 수 있으며, 디자이너가 개발을 배우면 UI/UX 엔지니어, 인터랙션 디자이너로 발전할 수 있습니다. 마케터 또한 개발 지식을 활용하여 그로스 해킹, 데이터 마케팅 전문가로 성장할 수 있습니다. 기획자 → PO/PM으로 커리어 확장 디자이너 → UI/UX 엔지니어, 프론트엔드 개발자로 확장 마케터 → 데이터 기반 마케팅 및 퍼포먼스 마케터로 성장 6. 스타트업 환경에서 더욱 가치 있는 인재가 됩니다 🌟 특히 스타트업에서는 멀티 플레이어가 중요합니다. 개발뿐만 아니라 기획, 디자인, 마케팅까지 어느 정도 다룰 수 있는 사람은 채용 시장에서 더욱 경쟁력을 가질 수 있는건 당연한 얘기입니다. 개발 지식이 있다면 스타트업에서 빠르게 MVP를 제작하고 시장 검증을 할 수도 있습니다. 초기 스타트업에서 개발팀과 협업 없이 웹사이트/랜딩 페이지 제작 가능 성장 단계에서 개발자와의 원활한 소통으로 빠른 실행 가능 작은 규모의 팀에서 다양한 역할을 수행하며 더욱 많은 기회 확보 7. 개인 프로젝트를 직접 실행할 수 있습니다 ✨ 기획자, 마케터, 디자이너가 개발을 배우면 자신만의 아이디어를 현실화할 수 있습니다. 더 이상 개발자에게 의존하지 않고 직접 웹사이트나 간단한 앱을 만들고 운영할 수 있으며, 사이드 프로젝트를 통해 수익을 창출할 수도 있습니다. 개인 블로그, 포트폴리오 웹사이트를 직접 제작 가능 간단한 사이드 프로젝트로 서비스 런칭 및 운영 크지 않더라도 개발을 활용한 프리랜서 및 부업 기회 확대 요약 마케터, 디자이너, 기획자가 개발을 배우면 협업이 쉬워지고, 업무 자동화가 가능하며, 더 나아가 새로운 커리어 기회를 얻을 수 있습니다. 특히, IT 산업에서 경쟁력을 갖추려면 개발 지식이 필수적인 역량이 되어가고 있습니다. 단순히 개발자가 되지 않더라도, 기본적인 프로그래밍 개념을 이해하고 활용할 줄 아는 것이 큰 강점이 될 것입니다.
181
0
픽셀노마드픽셀노마드· 1개월

🚀 ChatGPT로 React 배우기: AI 기반 학습 가이드

"React를 배우고 싶은데 어디서부터 시작해야 할까?" "문서를 읽고 예제를 따라 해봤지만, 실제로 적용하는 것이 어렵다!" "내가 작성한 코드가 맞는지 확신이 안 든다…" React를 배우려는 사람이라면 한 번쯤 이런 고민을 해봤을 것이다. 그런데 이제는 AI를 활용해서 더 쉽고 빠르게 React를 배울 수 있다! ChatGPT를 활용하면 React 개념을 쉽게 이해하고, 실시간으로 코드 오류를 수정하며, 실제 프로젝트를 함께 만들어볼 수 있다. ChatGPT로 React를 학습 하는 과정을 진행해보면서 학습 속도를 높이고, 실력을 더 빠르게 키우는 방법을 살펴보자. 1. AI를 활용한 React 학습이 왜 효과적일까? 빠른 피드백: ChatGPT에게 코드를 설명하거나 오류를 물어보면 즉각적인 답변을 받을 수 있다. 능동적인 학습: 직접 실습하면서 AI와 대화하며 문제 해결 능력을 향상할 수 있다. 맞춤형 가이드: 학습자의 수준에 맞춰 개인화된 답변을 받을 수 있다. 2. ChatGPT에게 질문하며 React 시작하기 💡 AI에게 질문하는 방법 React를 배우기 전에, ChatGPT에게 올바르게 질문하는 방법을 익혀야 한다. 아래 나쁜 예시와 좋은 예시를 볼 수 있다. ❌ 나쁜 질문 예시: "React가 뭐야?" ✅ 좋은 질문 예시: "React의 핵심 개념 3가지를 초보자가 이해하기 쉽게 설명해줘." 3. React 기본 개념 학습 시작 1단계 : ChatGPT에게 React의 핵심 개념 배우기 아래 질문을 ChatGPT에게 입력해보자. React의 핵심 개념 3가지를 초보자가 이해하기 쉽게 설명해줘. 🔎 ChatGPT 예상 답변 예시: 컴포넌트(Component) - React는 작은 블록(컴포넌트)으로 UI를 만든다. 상태(State)와 Props - 데이터 흐름을 제어하는 핵심 개념이다. 가상 DOM(Virtual DOM) - 빠른 렌더링을 위한 React의 핵심 기술이다. 4. ChatGPT와 함께 첫 번째 React 코드 작성 2단계 : 간단한 "Hello, React!" 컴포넌트 만들기 ChatGPT에게 다음 질문을 입력해보자. React로 "Hello, React!"를 출력하는 간단한 컴포넌트를 만들어줘. 🔎 ChatGPT 예상 답변 예시: import React from 'react'; function App() { return <h1>Hello, React!</h1>; } export default App; 💡 추가 질문 Tip: 코드 설명 요청하기: 위 코드의 각 부분을 초보자가 이해하기 쉽게 설명해줘. 수정 요청하기: 위 코드에서 h1 대신 h2 태그를 사용하도록 변경해줘. 5. ChatGPT로 동적인 React 컴포넌트 만들기 3단계 : 버튼을 클릭하면 카운트가 증가하는 기능 추가 ChatGPT에게 다음 질문을 입력해보자. 버튼을 클릭하면 숫자가 증가하는 React 컴포넌트를 만들어줘. 🔎 ChatGPT 예상 답변 예시: import React, { useState } from 'react'; function Counter() { const [count, setCount] = useState(0); return ( <div> <p>현재 카운트: {count}</p> <button onClick={() => setCount(count + 1)}>증가</button> </div> ); } export default Counter; 💡 추가 질문 Tip: 코드 수정 요청: 숫자가 2씩 증가하도록 수정해줘. 추가 기능 요청: "감소" 버튼도 추가해줘. 6. ChatGPT로 React 프로젝트 확장하기 4단계 : API와 연동하여 데이터 가져오기 ChatGPT에게 다음 질문을 입력해보자. React에서 JSONPlaceholder API를 사용해 사용자 목록을 가져오는 컴포넌트를 만들어줘. 🔎 ChatGPT 예상 답변 예시: import React, { useEffect, useState } from 'react'; function UsersList() { const [users, setUsers] = useState([]); useEffect(() => { fetch('https://jsonplaceholder.typicode.com/users') .then(response => response.json()) .then(data => setUsers(data)); }, []); return ( <div> <h2>사용자 목록</h2> <ul> {users.map(user => ( <li key={user.id}>{user.name}</li> ))} </ul> </div> ); } export default UsersList; 💡 추가 질문 Tip: API 변경 요청: 다른 API를 사용해서 데이터를 가져오도록 수정해줘. 스타일 추가 요청: CSS 스타일을 추가해줘. 결론: ChatGPT와 함께하는 새로운 학습 방식 이런 방법으로 ChatGPT를 활용하면 React의 개념을 더 쉽게 이해하고, 실시간으로 코드 오류를 수정하며, 실제 프로젝트를 함께 만들어볼 수 있다. 또한 AI와 상호작용하며 학습하는 과정에서 능동적으로 사고하고 문제를 해결하는 능력을 키울 수 있다. 실시간 코드 생성과 수정 요청을 통해 즉각적인 피드백을 받을 수 있으며, 직접 프로젝트를 만들어보면서 실용적인 React 경험을 쌓을 수 있다. 이제 직접 ChatGPT와 함께 React 학습을 더욱 효율적이고 재미있게 경험해보자!
183
0
무린무린· 1개월

2025년 이클립스 마켓플레이스 추천 플러그인

Eclipse(이클립스)는 다양한 개발 환경에서 널리 사용되는 IDE 중 하나로, 강력한 플러그인 지원이 특징입니다. 이클립스 마켓플레이스(Eclipse Marketplace)를 활용하면 개발 생산성을 높이고, 다양한 프로그래밍 언어 및 기능을 손쉽게 확장할 수 있습니다. 2025년을 맞아 추천할 만한 인기 플러그인들을 정리해 보았습니다. 📌 1. Java 개발자를 위한 필수 플러그인 🔹 Lombok 보일러플레이트 코드를 줄여주는 필수 플러그인 자동으로 Getter, Setter, toString, Builder 패턴 생성 가능 다운로드 링크 🔹 SonarLint 코드 품질을 자동으로 분석하고, 실시간 피드백 제공 정적 코드 분석을 통해 버그 및 보안 취약점 감지 다운로드 링크 🔹 Checkstyle 코드 스타일을 자동으로 검사하고 일관된 코드 작성 지원 사내 코딩 컨벤션 준수를 위한 필수 플러그인 다운로드 링크 🔹 Spring Tools 4 (ST4) Spring Boot 및 Spring Framework 개발을 위한 공식 플러그인 자동 설정 기능 및 개발 편의성 제공 다운로드 링크 🌐 2. 웹 개발자를 위한 추천 플러그인 🔹 Eclipse Wild Web Developer HTML, CSS, JavaScript, TypeScript 지원 Vue.js, React, Angular 등 최신 웹 프레임워크와 호환 다운로드 링크 🔹 JSDT (JavaScript Development Tools) Eclipse에서 JavaScript 및 Node.js 개발 지원 TypeScript 및 ES6 지원 다운로드 링크 🔹 Angular IDE Angular 프로젝트 개발을 위한 최적화된 환경 제공 실시간 코드 오류 감지 및 IntelliSense 지원 다운로드 링크 💾 3. 데이터베이스 및 백엔드 개발자를 위한 플러그인 🔹 DBeaver 다양한 데이터베이스(MySQL, PostgreSQL, Oracle, MongoDB 등)와 연동 SQL 작성 및 실행을 손쉽게 할 수 있는 UI 제공 다운로드 링크 🔹 MyBatis Plugin MyBatis Mapper XML 파일의 자동 완성 및 SQL 실행 기능 지원 SQL과 Java 코드 간 매핑 기능 향상 다운로드 링크 🔹 JPA Buddy JPA 및 Hibernate를 쉽게 설정하고, 엔티티 클래스 자동 생성 Spring Boot 및 Java EE 환경에서 유용 다운로드 링크 🔧 4. Git 및 형상 관리 플러그인 🔹 EGit Eclipse에서 Git을 쉽게 사용하도록 도와주는 공식 플러그인 GitHub 및 GitLab 연동 지원 다운로드 링크 🔹 Gitflow Plugin Git 브랜치 관리(Git Flow 전략)를 쉽게 적용할 수 있도록 지원 다운로드 링크 🚀 5. 성능 향상 및 개발 편의성을 높이는 플러그인 🔹 Eclipse Memory Analyzer 메모리 사용량 분석 및 메모리 누수 탐지 대용량 힙 덤프 분석 가능 다운로드 링크 🔹 StartExplorer Eclipse에서 파일 탐색기, 터미널, 웹 브라우저 등을 바로 실행할 수 있도록 지원 다운로드 링크 🔹 DevStyle Eclipse UI를 보다 현대적으로 개선하는 플러그인 다양한 테마 및 컬러 스키마 제공 다운로드 링크 🎯 결론 Eclipse 마켓플레이스를 활용하면 개발 환경을 훨씬 강력하게 만들 수 있습니다. 2025년에도 여전히 유용한 플러그인들을 활용해 효율적인 개발 환경을 구축하세요! 여러분이 자주 사용하는 플러그인은 무엇인가요? 추천할 만한 플러그인이 있다면 댓글로 공유해주세요. 😊
259
0
코딩로드코딩로드· 2개월

개발 공부를 계속 이어가기 위한 동기 부여 방법

개발 공부를 시작할 때는 정말 의욕이 넘쳤습니다. "내가 이걸 잘 해낼 수 있을까?"라는 두려움도 있었지만, 그보다는 새로운 것을 배우고 만들어볼 수 있다는 기대감이 더 컸죠. 하지만 시간이 지나면서 '내가 잘하고 있는 걸까?'라는 생각이 들 때도 많았고, 어떤 날은 아예 손을 놓고 싶은 순간도 있었습니다. 특히, 저도 나이가 적지 않아서 이런 고민이 더 컸던 것 같아요. 하지만 주변에서 저같은 비전공자 출신으로 꾸준히 개발 공부를 해나가는 예전 동료가 있는데 그 동료를 보면서 힘을 내며 공부중입니다. 그래도 지금은 간단한 웹사이트나 필요한 기능 정도는 만드는 것 같아요ㅎ 제가 직접 경험한 것, 그리고 그 동료들의 사례를 바탕으로 나름 정리한 개발 동기 부여 팁입니다. 1. 작은 성취 경험을 쌓아보세요 처음에는 "풀스택 개발자" 같은 큰 목표를 세웠지요. 하지만 금방 지쳐버리더라고요. 그래서 작은 목표를 설정하기 시작했어요. 예를 들어, 간단한 계산기를 만들어보거나, 하루에 문제 한 개만 푸는 식으로요. 제 동료는 자기가 영업하는 업체의 가입 신청서를 HTML과 자바스크립트로 만들더라구요. 이렇게 작은 성공을 경험하다보면 "할 수 있다"는 자신감이 생기더라고요. 뭐라도 만드니까 잠시마나 자신감을 얻고 공부를 더 열심히 이어갔어요. 제가 해본 예시 HTML과 CSS로 이력서 페이지를 만들고 주변에 보여줬는데, 생각보다 반응이 나쁘지 않았어요ㅋ 2. 공부한 내용을 기록하고 공유하세요 머리가 나쁜건지 공부한 걸 혼자 알고 있으면 금방 잊어버린다는 겁니다. 그래서 배운 걸 노트 같은 곳에 정리하고 있고, 블로그가 좋다고 해서 블로그에 남기는 것도 시작해보려고 해요. 블로그는 나중에 면접때 잘 활용되는 경우도 있다고 하더라구요. 제가 했던 것들 매주 노트나 Notion에 "이번 주 배운 것"을 정리. 3. 함께 공부할 사람을 찾아보세요 혼자 공부할 때는 가끔은 외롭더라고요. 그래서 커뮤니티 같은 곳에 가입하고 개발하는 선배 하고도 교류했어요. 제 동료도 회사에서 개발자 직원과 친하게 지내면서 공부했다고 하더라구요. 뎁스노트도 초보 개발자들이 쉽게 질문할 수 있는 분위기라서 좋은 것 같아요. 4. 큰 목표를 작은 단계로 나눠보세요 "앱을 만들어야지!"라고만 생각하던 때는 뭘 어디서부터 해야 할지 몰라서 막막했어요. 그래서 목표를 더 작게 나누기 시작했어요. "디자인 먼저", "간단한 로그인 기능".. 이런 식으로요. 제 동료도 "회사 웹 개발자 되기"라는 목표를 세웠지만, 세분화해서 HTML 문법을 익히는 단계부터 차근차근 공부했어요. 제가 나눴던 목표 예시 HTML과 CSS로 기본 레이아웃 만들기. JavaScript로 버튼 클릭 시 동작 추가 등 5. 현업 개발자의 경험을 참고하세요 초반에는 내가 가고 있는 길이 맞는지 확신이 없어서 고민이 많았어요. 유튜브에서 관련 동영상이 많기도 한데 저는 커뮤니티나 주변 개발자를 주로 만나봤던 것 같아요. 제 동료도 회사 개발자 직원과 얘기하면서 동기 부여를 얻었다고 하더라고요. 6. 나만의 학습 보상 시스템 만들기 이걸 개발하면 뭐가 좋은거지? 라는 생각이 들 때는 작은 보상이 큰 힘이 되는 것 같아요. 제 동료는 매달 공부 목표를 달성하면 골프를 치러 갔다는데 이런 방식이 나름 효과가 좋은 것 같아요. 제가 해본 보상 한 달간 개발 공부하고 키보드를 샀어요ㅋㅋ 7. 나의 성장을 시각적으로 확인하세요 처음엔 내가 얼마나 성장했는지 전혀 체감이 안 됐어요. 노션이나 블로그에 눈에 보이게 남기는게 도움이 되는 것 같아요. 8. 왜 개발 공부를 시작했는지 떠올려보세요 개발 공부를 시작했던 이유를 책상 앞에 붙여두는게 도움이 되는 것 같아요. 공부를 하다보면 이걸 왜 하는거지 하는 생각이 한번씩 떠오를 때가 있는데, 붙여둔 메모를 보면서 한번씩 상기합니다ㅎ 지금 당장은 느리게 느껴질지 몰라도, 꾸준히 걸어가면 어느 순간 분명히 성장해 있는 자신을 발견한다고 믿습니다. 여러분도 화이팅입니다!
225
1
0