전체 글

전체 글

    [Android][어따세워] 메타버스 스터디룸(게더타운) 개설!

    프로젝트를 진행하기 위해서는 단순히 코드만 짜는 것이 아니라, 어떤 기능을 구현해야 할지, 통신은 어떤 식으로 해야 할지와 같은 기획과, 때로는 모르는 것들은 공부를 해야 하기 때문에 스터디까지 해야 할 필요가 있다. 최근에 사람들이 줌(Zoom)을 통해 스터디를 하거나 회의, 수업을 많이 하는 듯 하다. 하지만 뭔가 이런 방식은 고리타분한 느낌과 정말 빡세게 공부만 하는 느낌이기에 나와는 맞지 않는다는 생각이 들었다. 그러다 찾게 된 것이 바로 게더타운(Gather.town)! 아바타 조작, 꾸미기, 화상 채팅 등 많은 메타버스 요소가 포함된 플랫폼이다. 최근에는 여기서 회의, 면접, 심지어 송년회까지도 한다고 한다..(코시국이라 그런 듯합니다) 그럼 어떻게 사용할 수 있을까?? 위 링크를 타고 들어가..

    [Android][어따세워] 토이 프로젝트 주제 정하기

    계기 최근에 최고의 IT 서비스 기업인 네카라쿠배의 채용공고만 보아도 안드로이드 직군에서 MVVM, Coroutine, RxJava, Kotlin은 기본 및 우대사항으로 기재되어 있다. 이런 기술 스택을 보면서 안드로이드를 공부하며 '내가 배우고 있는 내용을 프로젝트와 접목'시켜 시너지를 높여보고 싶었고, 이론뿐만 아니라 실무적인 부분에서도 적용하고 싶은 마음이 커지게 되어 시작하게 되었다. 또한, 기업에서는 혼자 개발하는 것이 아닌, 여러 개발자끼리 '협업'을 할 텐데, 지금까지 1인 개발만 해온 스스로를 더욱 성장시켜주고 싶었다. 주제 아이디어 회의를 하며 떠올린 토픽은 '어따세워' 라는 주차 앱이다. 본인과 지인 모두 군대를 무사 전역하고 슬슬 운전을 시작하기 시작했는데, 초보운전이어서 그런 것인지..

    [Android][0] MVVM 패턴이란?

    * 본 내용은 스스로 학습한 내용을 정리한 게시글입니다. * 오늘부터 Android의 MVVM 패턴에 대하여 정리해보려고 한다. 이미 기존에 대략 공부를 해보긴 했지만, 지식이 너무 얇팍하고 부족함을 느껴 글로 정리해보려고 한다. MVVM 패턴을 사용해야 하는 이유 기존에 Android 앱을 개발하다보면 Activity 하나에 모든 기능을 쏟아붓고 방치해두다가, 며칠 지나서 수정할 일이 생겨 프로젝트를 열어보면 내가 작성한거지만 무슨 용도로 해놓은 메소드인지, 클래스인지 구분하기 어려울 정도로 체계적이지 않았다. 그러다보니 기능 추가 및 수정시 다시 소스코드를 분석해야 하므로 시간이 오래 소요되는 불필요한 상황이 만들어진다. 이런 코드를 흔히 스파게티 코드(spaghetti code)라고 부른다. (코드..

    * 군대 전역 - 블로그 활동 재개 *

    기나긴 군생활 끝에 전역을 이루어냈습니다. 군대 싸지방에서 틈틈이 포스팅을 이어 나가왔지만, 마지막 기간 동안은 상황이 맞춰주지 않아 활동을 할 수 없었습니다..ㅠㅠ 앞으로 블로그 활동을 다시 이어나갈 예정이며, 주 포스팅은 안드로이드 공부 일지 및 개발 현황입니다. 감사합니다 (●'◡'●)

    [인공지능][실습] 순환 신경망(SimpleRNN) 모델로 IMDB 리뷰 감성 분류하기 - (원핫인코딩, 단어 임베딩)

    순환 신경망(RNN)에 대한 이론이 필요하신 분들은 아래 링크를 참조해주시기 바랍니다. [인공지능][개념] 순환 신경망(Recurrent Neural Network) - RNN 모델 완전 정복하기 : https://itstory1592.tistory.com/36 이번 포스팅에서는 지난 글에 이어서 순환 신경망으로 IMDB 리뷰 데이터셋을 훈련시키고, 리뷰가 긍정적인지 부정적인지 감성을 분석하는 모델을 만들어보도록 하자. IMDB 리뷰 데이터셋은 유명한 인터넷 영화 데이터베이스인 imdb.com 사이트에서 수집한 리뷰를 감상평에 따라 긍정과 부정으로 분류해 놓은 데이터셋이다. 총 50,000개로 이루어져 있고 훈련, 테스트 데이터에 따라 각각 25,000개씩 나누어져 있다. 이 데이터셋을 두 가지 방법으로..

    [파이썬] 코랩에서 Python Rich 라이브러리를 사용하여 텍스트 출력을 예쁘게 꾸며보자

    이번 포스팅에서는 파이썬의 Rich 라이브러리를 사용해서 딱딱해 보이기만 하는 콘솔 텍스트를 조금 더 예쁘게 출력하는 방법에 대해 알아보도록 하겠다. 제목은 코랩에서라고 적어놨지만 다른 일반적인 환경에서도 적용된다는 점을 알아두자. !pip install rich !python -m rich 우선, rich 라이브러리를 사용하기 위해서 위 명령어를 사용하여 rich를 설치해주고, !python -m rich 명령어로 Rich 라이브러리에 대한 설명을 확인해보자. 그럼 이렇게 Rich 라이브러리를 사용하여 나타낼 수 있는 기능들에 대해 출력해준다. 문장의 색상을 변경할 수 있으며, 밑줄, Bold체, Italic체, 하이라이트, 마크다운, 테이블 등을 사용할 수 있다고 말해주고 있다. 위 기능들을 하나하나..

    [파이썬] Python Sqlite3 모듈을 사용하여 Database를 생성하고 데이터를 관리해보자

    이번 포스팅에서는 파이썬 Sqlite3 모듈을 사용하여 자체 데이터베이스를 생성하고 데이터를 관리하는 방법에 대해 알아보도록 할 예정이다. Sqlite3는 파이썬에서 제공하는 모듈로써, 텍스트나 숫자와 같이 간단한 데이터를 저장하는 심플한 데이터베이스를 구축할 수 있다. 마치 MariaDB와 MYSQL의 축소형이라고 생각할 수 있다. Sqlite3에서 지원하는 자료형 파이썬 SQLite3 None NULL int INTEGER str TEXT float REAL bytes BLOB 예제에서 사용할 데이터 id (INTEGER) name (TEXT) age (INTEGER) number (TEXT) address (TEXT) 1 김상욱 22 010-4545-6767 서울특별시 종로구 세종대로 종로 1가 2..

    [인공지능][개념] 순환 신경망(Recurrent Neural Network) - RNN 모델 완전 정복하기

    순환 신경망 (RNN) 순환 신경망(Recurrent Neural Network)은 일반적인 완전 연결 신경망과 거의 동일하다. 다만, 완전 연결 신경망에 이전 데이터의 처리 흐름을 순환하는 고리를 하나 추가하면 된다. 위 그림처럼 순환 신경망은 뉴런의 출력이 다시 자기 자신으로 전달된다. 즉, 어떤 샘플을 처리할 때 이전에 사용했던 데이터를 재사용하는 셈이다. 순환 신경망에서 샘플을 처리하는 한 단계를 타임스텝이라고 부르고 층을 셀이라고 부른다. 예를 들어, 타임스텝 A에서 셀의 출력 Oa가 사라지는 것이 아니라 타임스텝 B의 셀로 주입되며, 타임스텝 B에서 셀의 출력 Ob가 다시 타임스텝 C의 셀로 주입된다. 이처럼 이전 데이터를 계속해서 다음 셀로 전달할 수 있다는 장점 덕분에 순환 신경망은 순차 ..

    [백준/파이썬] 1004번 문제 '어린 왕자'

    c 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net 문제 어린 왕자는 소혹성 B-664에서 자신이 사랑하는 한 송이 장미를 위해 살아간다. 어느 날 장미가 위험에 빠지게 된 것을 알게 된 어린 왕자는, 장미를 구하기 위해 은하수를 따라 긴 여행을 하기 시작했다. 하지만 어린 왕자의 우주선은 그렇게 좋지 않아서 행성계 간의 이동을 최대한 피해서 여행해야 한다. 아래의 그림은 어린 왕자가 펼쳐본 은하수 지도의 일부이다. 빨간 실선은 어린 왕자가 출발점에서 도착점까지 도달하는데 있어서 필요한 행성계 ..

    [백준/파이썬] 1003번 문제 '피보나치 함수'

    https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 문제 다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다. int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); } } fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)..