Project 25

2020 여성가족부 청년여성멘토링 with 🐶

지원과 합격 청년여성멘토링 이란 여성가족부에서 주관하는 사업으로 다양한 분야로 진출한 여성 리더들이 멘토가 되어, 청년여성 (대학생, 취업준비생, 사회초년생) 의 진로 상담과 커리어 개발을 비롯한 멘토링을 지원하는 프로그램 이다. 관심 분야의 커리어로드맵을 개발하고자하는 멘토링이 필요한 청년여성을 대상으로 진행된다. 소프트웨어 전공으로 대학교를 다닌 지 (휴학을 포함해) 5년이 되어 간다. 처음 학과에 들어와서 2학년까지는 큰 관심이 없어 이 분야로 나아가고자 하는 마음이 없었다. 그래서 2학년을 마친 후 곧바로 휴학을 했고 1년의 자유로운 시간 동안, 타 전공들을 경험해보았다. 먼길을 돌고 돌아 다시 ㅍ소프트웨어 전공으로 돌아왔고, 3학년부터 4학년 1학기까지 학과 생활에만 충실히 해왔다. 처음 접하는..

Project/review 2022.01.11

부스트 코딩 뉴비 챌린지 2020 마치며

1. 시작하며 ​ '온 우주가 돕는 코드문맹 탈출기'라는 타이틀을 건 부스트 코딩 뉴비 챌린지 2020에 참여하게 되었다. 챌린지를 진행한 edwith는 네이버와 커넥트재단이 제공하는 MOOC(Massive Open Online Course) 서비스를 제공하는 플랫폼이다. 사이트에서는 소프트웨어 코딩의 기초 개념부터 웹/모바일 개발 및 인공지능 강좌까지 양질의 수업들을 무료로 수강할 수 있다. 뿐만 아니라 카이스트, 포스텍, 유니스트와 같은 과학 기술 특성화 대학 및 소프트웨어 중심 대학의 강좌도 들을 수 있는 기회를 제공한다. 대부분의 강좌들이 상시 수강 가능하며, 몇몇 강의들은 온라인 수료증도 발급받을 수 있다. ​ ​ 처음, 챌린지에 참여하기 위해서 하버드 대학교에서 진행하는 "모두를 위한 컴퓨터 ..

Project/review 2022.01.08

서울형 직무캠프 청년인턴 3개월 간 기록

2021년 9월의 첫날 안드로이드 모바일 앱 개발자 면접을 보고, 개발팀 인턴으로 3개월 간의 근무를 마치고 그간의 기억을 붙잡아둘 겸 회고록을 작성하고자 한다. 어떻게 보면 처음 작성해보는 이 회고록은, 이전에 읽었던 [회고를 해야하는 이유] 를 참고하였다. / 회고를 해야 하는 이유 ... 시각화된 기록으로 남김으로써 내 경험을 더욱 유의미한 것으로 만들고자 한다. 경험을 당한 것이 아니라 직접 글로 써보면서 내가 한 경험을 확실하게 정리할 수 있다. 실수면 비슷한 실수를 고칠 수 있고, 잘한 점이라면 자신을 칭찬할 수도 있다. 3개월이라는 기간이 짧게 느껴지면서도, 만난 사람들 때문인지 마주한 오류 때문인지 돌이켜 생각해보았을 때 결코 적지 않은 시간이었다고 생각된다. 개발자로써는 나름의 첫 도전이..

Project/review 2022.01.08

[React Native] Android 와 iOS 네이티브 모듈 구현하기

현재 프로젝트가 React Native 하이브리앱으로 제작되면서, 네이티브 코드를 만질 일이 많지는 않지만 후에 커스텀하기 편하도록 RN 코드와 AndroidㆍiOS 간 네이티브 모듈을 제작해보았다. 구현 방식 자체는 어렵지 않다 ! 해당 내용들은 React Native 공식 홈페이지에서 캘린더 모듈을 생성하는 예제를 토대로 작성해보았다. 천천히 알아보자 🚀 안드로이드 네이티브 모듈 (1) 파일 생성 네이티브 모듈을 생성하기 위해 우선 모듈 파일과 패키지 파일을 생성해주어야 한다. android/app/src/main/java/com/your-app-name/ folder 위 경로에 "..Module.java", "...Package.java" 의 형태로 파일을 생성한다. 아래의 예제는 캘린더 모듈을 생..

Project/softsphere 2021.12.16

[React Native] Access Token 과 Refresh Token

로그인 구현하는 김에 토큰의 종류도 함께 알아보자! 단순히 "로그인을 하면 발급받는 토큰을 저장해두고, 해당 토큰을 사용하여 사용자의 로그인 상태를 관리한다" 정도로만 알고 있기에 이번 기회에 더 정확히 알고 사용하자는 다짐 .. ✍ JWT JSON Web Token 모바일이나 웹의 사용자 인증을 위해 사용하는 암호화된 토큰을 의미한다. 자세히 말하면, JSON 포맷을 이용해 사용자에 대한 속성을 저장하는 Claim 기반의 웹 토큰이다. 이는 토큰 자체를 정보로 사용하는 self-contained 방식으로 정보를 안전하게 전달한다. JWT 정보를 request 에 담아 사용자 정보 열람, 수정 등 개인적인 작업을 수행할 수 있도록 한다. 💫 JWT 구조 Header : Signature 서명 값을 만드는..

Project/softsphere 2021.12.09

[React Native] 코드 분석하며 마주친 애들 정리

1. Touchable (1) TouchableHighlight 터치가 되었을 때 색을 어둡게 하거나, underlayColor prop을 활용해 특정 색을 활성화시킨다. (2) TouchableOpacity 사용자가 터치했을 때 래핑된 뷰의 불투명도가 감소해 흐리게 표시된다. (3) TouchableNativeFeedback 터치했을 때 잔물결이 일어난다. 이런 잔물결을 사용자에게 피드백을 준다는 뜻으로 사용된다. (4) TouchableWithoutFeedback 터치했을 때 잔물결이 일어나지 않는다. - Press Event 리액트 네이티브에서 onClick 이벤트와 가장 비슷한 이벤트는 press 이벤트다. import React from 'react'; import { TouchableOpaci..

Project/softsphere 2021.10.24

[JavaScript] Export Default 에 대해서

해당 게시글은 노마드코더의 "Export Default" 영상을 토대로 정리하여 작성하였다. ES 모듈인 import export 에 대해 자세히 다뤄보면서 코드도 깔끔하게 정리하고, 애플리케이션 로딩 속도도 향상시켜보자! Import & Export 간단하게 둘의 개념부터 집고 넘어가보자면, import 문은 다른 모듈에서 내보낸 바인딩을 가져올 때 사용한다. export 문은 자바스크립트 모듈에서 함수, 객체, 원시 값을 내보낼 때 사용한다. 내보낸 값은 다른 프로그램에서 import 문으로 가져가 사용할 수 있다. (1) Named Exports 많은 것들을 export / import 하고 싶을 때, Named Exports 를 사용한다. 파일 혹은 모듈이 원하는 만큼 많은 수의 Named Exp..

Project/softsphere 2021.10.24

[React] HTTP API 연동을 위한 Axios vs Fetch API

리액트는 효율적인 UI 구현을 위한 라이브러리다. 이는 따로 내장 클래스가 존재하지 않기에, AJAX 를 구현하려면 자바스크립트 내장객체인 XMLRequest 를 사용하거나, 다른 HTTP Client 를 사용해야 한다. 리액트와 함께 쓰면 좋은 HTTP Client 라이브러리 중에서 노마드 코더 강의를 수강하면서 알게 된 Fetch API 와 axios 에 대해서 정리해보려 한다 💫 AJAX Asynchronous Javascript And XML 자바스크립의 라이브러리 중 하나 자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능으로, 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해 전체 페이지를 새로 고치지 않고도 페이지의 일부만을 위한 데이터를..

Project/softsphere 2021.10.24

[React Native] AsyncStorage

날씨 앱에 이어서 ToDo 앱을 제작하면서, 사용자가 작성한 일정들이 앱을 재시작했을 때에도 남아있기를 ! 하는 마음으로 찾게 된 AsyncStorage 안드로이드에서 SQLite 처럼 React Native 에 내장된 기본 데이터 저장소인 AsyncStorage 에 대해 알아보자 💾 React Native 에서 로컬 데이터베이스를 사용하기 위해서는 아래와 같이 2가지 방법이 있다. SQLite AsyncStorage SQLite 는 안드로이드에서 자주 다루어보았으니 AsyncStorage 에 대해 다뤄보자 💫 (추가로, realm 도 있지만 expo 에서 작동되지 않는다고 한다!) AsyncStorage AsyncStorage 는 React Native 를 위한 key-value 형식의 저장소이다. 이..

Project/softsphere 2021.10.19

[React Native] 환경변수 사용하여 API KEY 숨기기 (a.k.a. env)

날씨 앱을 제작하면서, (사실 이전에도 한번 제작했었지만 👀) API KEY 는 잘 꼭 꼭 숨겨두어야 한다고 보았기에, React Native 앱 제작하면서도 API 연동하는 작업을 보자마자 키 숨기는 방법부터 찾아나섰다. 이틀동안 빨간 창 보게 한 dotenv 에 대해 . . 알아보자 ! 😡 ENV 웹, 앱 개발을 하다보면 API KEY 뿐만 아니라 포트, DB 관련 정보, 등 개발자만 알아야 하는 값, 즉 Github 과 같은 오픈 소스에 올리면 안 되는 값들이 있다. 그 때 그 값들을 저장해 놓는 파일을 .env 에 넣어둔다. .env (environment) 에는 이름에서 알 수 있듯이, 환경 변수들이 들어간다. 여기서 환경변수는 특정 process를 위한 key-value 형태의 변수이다. No..

Project/softsphere 2021.10.19