분류 전체보기(137)
-
[Spring - JAVA] JVM이란
JVM = Java Virtual Machine 자바 가상 기계 "자바 프로그래밍이 실행되는 가상 컴퓨터를 말한다. JVM이 나타나기 전 대부분의 프로그래밍 언어들은 가상 기계가 아닌 OS 환경에서 실행되는 형태로 사용되었다. 또한 OS의 존재가 약했던 초기창기에는 하드웨어 상에서 직접 프로그래밍 언어가 실행되는 형태였다. 하드웨어 상에서 직접 프로그램이 실행되기 때문에 동일한 기능을 제공하지만 하드웨어 환경에 따라 다르게 프로그램을 작성해야되는 문제가 발생하였다. 이러한 상태에서 서로 다른 하드웨어를 관리해주는 운영체제의 등장으로 사용자는 운영체제만 배우면 서로 다른 구조를 가진 컴퓨터에서도 일관된 프로그램을 작성 가능하게 되었다. 하지만 다양한 운영체제와 인터넷의 등장으로 다시 한번 변화를 가지게 되..
2023.10.14 -
2023 토스 NEXT 챌린지 Android 분야 후기
참가 계기 아는 지인이 추천해서 이런 게 있다 해 경험 삼아해 보기로 해 신청하게 됬다. 실력자체가 아직 많이 부족해 경험을 해보자는 느낌으로 참여했다. 참가 과정 일단 토스 NEXT 개발자 챌린지 사이트에서 원하는 직무분야에 지원을 해야한다. 다른 곳과 지원하는 방식은 비슷하기에 어려운 점은 없을 것이다. 참가신청을 하게되는 경우 별도 메일과 테스트 진행 방식에 대한 설명과 노션 링크를 받을 수 있다. 기존 코딩테스트 방식에서 과제 테스트 방식으로 처음 변경된 거 같다.(Android 직무 한정) 이런 식으로 메일이 온다 참가 후기 일단 테스트 문제를 기대한다면 외부 유출이 철저히 금지되어 있어서 힘들 거 같다;;; 테스트 방식은 공지 처럼 특정 기능을 주제 삼아 기능 구현을 하는 방식으로 진행했다. ..
2023.07.09 -
[Docker - 도커] 도커 입문
도커란? 도커는 리눅스 응용 프로그램을 프로세스 컨테이너 별로 분리해 실행하고 관리하는 오픈 소스 플랫폼이다. 도커는 동일한 환경을 원활하게 다른 컴퓨터에도 세팅할 수 있게 만들어준다. -> 환경 세팅 과정을 각각의 컴퓨터 별로 할 필요 없이 하나의 도커 이미지를 통해 동일하게 세팅 가능하게 만들어 준다. 컨테이너란? 컨테이너는 격리된 공간에서 프로세스를 작동시키는 것으로 기존 os 가상환경과는 조금 다른 기술이다. VMware같은 경우에 학교에서 실습할 때 우분투를 다운받아 윈도우에서 VMware를 이용해 우분투 가상환경을 만들어줬다. 이러한 경우 컴퓨터의 성능이에 따라서 엄청나게 느게 작동하는 경우가 많았고 잦은 오류가 발생하였다. -> 환경 자체가 OS 내에 가상 OS를 호출하는 방식이라 프로그램 ..
2023.05.25 -
[안드로이드 - 코틀린] ViewModel을 이용한 Fragment간 데이터 공유
앞에서는 기본적인 ViewModel에 대해 학습하였다. 이번에는 이번 프로젝트에서 사용하게된 Fragment간 데이터 공유 방법에 대해 알아보자 우리가 개발을 하다 Fragment간 데이터를 공유할 때는 일반적으로 bundle을 이용한다 bundle을 생성해 내부에 데이터를 넣어주고 arguments를 이용해 데이터를 받아준다. 하지만 이번에는 ViewModel를 이용해 공유하는 방법에 대해 설명해보겠다. private lateinit var viewModel: MapViewModel viewModel = ViewModelProvider(this)[MapViewModel::class.java] 현재 사용하는 기본적인 ViewModel 작성 방식이다. + 하나의 Activity에서 생성된 Fragment ..
2023.04.30 -
[안드로이드 - 코틀린] ViewModel 역할 및 사용법
예전 프로젝트는 하나의 View에 모든 기능이 들어가 있어 View와 기능의 결합도가 매우 높은 스파게티 코드로 짜인 프로젝트였다.요즘 공부하는 MVVM 아키텍처를 적용해보고자 코드 변경을 하고 있는데 그중 중요한 부분인 ViewModel에 대해 설명하는 시간을 가지겠다. ViewModel - 사용 이유viewModel은 Activity Fragment와 같은 View들의 데이터를 보관하고 관리하는 역할을 수행합니다. 또한 데이터를 ViewModel에서 관리하기 때문에 UI와 데이터 간의 응집도 또한 낮출 수 있게 된다. Activity와 Frgament의 View들에 데이터가 담겨있다면 해당 View가 재생성될 때 초기화가 되는 상황이 발생하게 되고 그러면 데이터의 손실이 발생하게 됩니다. 하지만 V..
2023.04.14 -
[파이썬 - 7785] 회사에 있는 사람
문제 상근이는 세계적인 소프트웨어 회사 기글에서 일한다. 이 회사의 가장 큰 특징은 자유로운 출퇴근 시간이다. 따라서, 직원들은 반드시 9시부터 6시까지 회사에 있지 않아도 된다. 각 직원은 자기가 원할 때 출근할 수 있고, 아무때나 퇴근할 수 있다. 상근이는 모든 사람의 출입카드 시스템의 로그를 가지고 있다. 이 로그는 어떤 사람이 회사에 들어왔는지, 나갔는지가 기록되어져 있다. 로그가 주어졌을 때, 현재 회사에 있는 모든 사람을 구하는 프로그램을 작성하시오. 해당 문제는 데이터를 입력해 로그 작성해서 해당 직원이 회사에 남아있나 퇴근했나를 확인하는 문제이다. 처음 작성한 코드 해당 코드의 문제점은 log 값이 리스트로 작성되어 있고 문제에서 요구한 문자열 제한 5글자또한 들어가있지 않았다 때문에 제출..
2023.04.11