분류 전체보기

분류 전체보기

    [Rewind 2022 - 上] 노력하는 과정, 그 자체를 즐기는 사람으로

    0. 들어가며 얼마 전, 내 두 번째 SOPT, THE SOPT의 종무식과 함께, 2022년의 절반이 비로소 마무리되었다. 쏜살같이 날아가버린 시간이 새삼스럽고 아쉽지만, 정말 많은 일을 겪으며 많은 것을 느꼈던 시간이었다. 너무 많은 이야기를 하려다 지난 기수 SOPT 회고와 2021년 연간 회고를 제대로 마무리하지 못해 아쉬웠다. 그 아쉬움을 되풀이하지 않기 위해, 서둘러 회고 글을 작성하며 2022년 상반기를 되돌아보려고 한다. 1. 열 마리 토끼 잡기 지난 기수와 이번 기수 모두, 학교와 SOPT를 함께 했고, 용돈 벌이를 위한 근로와 건강을 위한 운동까지 욕심을 냈다. 게다가 이번에 솝텀 사이드 프로젝트, 지난 앱잼 프로젝트 릴리즈, OB로 열었던 도커 스터디 등 훨씬 더 많은 일들을 벌였다. ..

    DB에서 상대적 위치 값을 활용해 드래그 앤 드롭으로 인한 순서 변경 처리하기

    최근 나는 드래그 기반의 계획표 서비스인 'DRAG ME'를 개발하고 있다. 우리 서비스의 특징은, 이름에서도 알 수 있듯이 '드래그' 기능이 굉장히 많이 사용된다는 점이다. 특정 계획에 대한 시간을 설정할 때, 특정 계획을 다른 날짜로 이동할 때 모두 드래그 기능이 사용된다. 다양한 드래그 기능들 중, 로직을 구성하고 DB를 설계하는 데 가장 많은 고민을 들였던 부분 중 하나가 바로 '드래그 앤 드롭'으로 인한 순서 변경이었다. 오늘 글에서는 이 기능을 구현하는 과정에서 직면했던 문제를 소개하고, 이를 어떻게 구현했는지에 대해 소개하려고 한다. 아래 화면에서, 사용자는 표지판 모양의 계획블록을 통해 계획을 세우고 시간을 관리할 수 있다. 그리고 이 계획블록들은, '해당 영역' 내에서 순서 변경이 가능하..

    풍요 속의 빈곤

    머릿속에서 문득 떠올랐는데 나의 상태를 너무 잘 표현한 것 같아 머릿속에서 쉽게 떠나가질 않네

    여유와 틈

    '몸과 마음의 여유가 너무 없다' 최근에 가장 많이 느끼고 있는 사실이다. '넌 너무 틈이 없는 사람 같다' 주변 친구로부터 이 이야기를 들었을 때, 반박할 수가 없었다. 내가 편안하게 안주할 수 없는 환경을 만들었고, 더 많은 것을 하고, 더 잘 하라고 스스로를 몰아붙였다. 덕분에 많은 발전과 성장을 이루었고, 현재 나는 올바른 방향으로 잘 나아가고 있다고 확신한다. 이런 성취가 너무 뿌듯하고 자랑스럽지만, 잠시동안 무거운 짐을 내려두고, 가벼운 마음을 가지려고 한다. 너무 앞만 보고 빠르게 달리지 않고, 주변을 둘러 볼 여유를 가지려고 한다. 새로운 것들을 느끼고 받아들일 여유와 틈이 필요한 시점이다.

    [THE SOPT 도커 스터디] Week5 - 3. 도커 스웜

    1) 도커 스웜을 사용하는 이유 도커 엔진을 구동하다가, CPU나 메모리, 디스크 용량과 같은 자원이 부족해지는 경우 현실적으로 새로운 서버를 새로 사는 것은 매우 어려움 가장 많이 사용하는 방법은 여러 대의 서버를 클러스터로 만들어 자원을 병렬로 확장하는 것 도커에서 제공하는 이를 위한 공식 솔루션이 바로 ‘도커 스웜’과 ‘스웜 모드’ 2) 스웜 클래식과 도커 스웜 모드 도커 스웜의 두 가지 종류 컨테이너로서의 스웜 (도커 버전 1.6 이후부터 사용 가능) : 스웜 클래식 여러 대의 도커 서버 하나의 지점에서 사용하도록 단일 접근점 제공 일반적인 도커 명령어, 도커 API로 클러스터의 서버 제어, 관리 가능 분산 코디네이터(각종 정보 저장, 동기화), 매니저(클러스터 내 서버 관리, 제어), 에이전트(..

    [THE SOPT 도커 스터디] Week4 - 2.5. 도커 데몬

    1. 도커의 구조 도커의 구조는 크게 두 가지로 나뉨 : 클라이언트로서의 도커, 서버로서의 도커 도커 서버 : 실제로 컨테이너 생성, 실행, 이미지 관리 도커 엔진의 프로세스는 /usr/bin/dockerd 파일로 실행 도커 엔진은 외부에서 API 입력을 받아 도커 엔진의 기능을 수행 도커 프로세스가 실행되어 서버로서 입력을 받을 준비가 된 상태가 '도커 데몬’ 도커 클라이언트 : API를 사용할 수 있도록 CLI를 제공 유닉스 소켓을 통해 도커 데몬의 API를 호출, 입력된 명령어 전달 2. 도커 데몬 실행 service docker start service docker stop dockerd # 도커 데몬에 대한 정보 출력, 입력을 받을 수 있는 상태 3. 도커 데몬 설정 설정 파일의 DOCKER_O..

    [THE SOPT 도커 스터디] Week3 - 2.4. Dockerfile

    2.4 DockerFile Dockerfile을 사용하는 이유 Dockerfile을 사용하지 않고 이미지를 만드는 경우 컨테이너 생성 패키지, 설치 및 환경 세팅 소스코드 복제 컨테이너 커밋 Dockerfile을 사용 할 경우 Dockerfile에 이미지 생성을 위해 필요한 작업들 기록 build 위 처럼, Dockerfile을 사용하면 훨씬 덜 번거로움. 애플리케이션 빌드 및 배포 자동화 가능 Dockerfile 작성 ADD와 COPY ADD는 외부 Url, tar 파일에서도 파일 추가 가능 하지만 ADD는 권장되지 않음. 정확히 어떤 파일이 추가될 지 개발자가 미리 알 수 없기 때문 CMD 명령어 컨테이너가 시작될 때마다(생성된 이미지로 만들어 진 컨테이너 안에서) 실행할 명령어 설정 컨테이너를 실행..

    [THE SOPT 도커 스터디] Week2 - 2.3. 도커 이미지

    도커 허브 (Docker hub) 도커가 공식적으로 제공하고 있는 이미지 저장소. Github에 코드를 올리는 것 처럼 도커 허브에 이미지 업로드 가능 도커 허브 사이트에 직접 방문하거나, 도커 엔진에서 ‘docker search’ 명령어를 사용해 원하는 이미지 탐색 가능 도커 이미지 생성 사용자가 직접 특정 애플리케이션을 위한 개발 환경 구축 후 이미지 생성하는 경우 사용 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] docker commit \\ -a "hyositive" -m "docker image by commit!" \\ test_container \\ test_container:first 위 명령어를 통해 test_container 컨테이너를 ..

    [WE SOPT 회고] 열정 안에서 열정을 불태우다 - (2) 극락 세미나와 초보 개발자로의 성장

    이 글은 1부에서 이어집니다! [WE SOPT 회고] 열정 안에서 열정을 불태우다 - (1) 첫 만남에서 합격까지 1. 들어가며 얼마 전, SOPT 29기 'WE SOPT'의 공식적인 일정이 모두 종료되었다. 정말 많은 것을 느끼고 배우며 성장했던 소중한 시간이었고, 이 기억의 조각들이 더 희미해지기 전에 곱씹고 기록하고 blog.hyositive.com 6. 서버 파트 극락 세미나 SOPT의 회원들은 매주 토요일 진행되는 파트 별 세미나를 통해 지식을 쌓고, 추후에 참여 할 협업과 프로젝트를 위한 준비를 시작한다. 추후 이야기 할 앱잼이 SOPT의 꽃이라면, 세미나는 꽃을 피우기 위한 씨앗과 같은 역할이다. 세미나 커리큘럼은 파트장이 직접 정하는데. 이번 기수의 경우 Node.js, Express, F..

    [WE SOPT 회고] 열정 안에서 열정을 불태우다 - (1) 첫 만남에서 합격까지

    1. 들어가며 얼마 전, SOPT 29기 'WE SOPT'의 공식적인 일정이 모두 종료되었다. 정말 많은 것을 느끼고 배우며 성장했던 소중한 시간이었고, 이 기억의 조각들이 더 희미해지기 전에 곱씹고 기록하고자 회고를 작성하게 되었다. 2. SOPT와의 첫 만남 SOPT에 대해 처음 알게 된 것은 2020년이었다. 당시 나는 군인이었고, 벌써부터 전역 후를 꿈꾸냐는 선임들의 놀림에도 불구하고 미래 계획을 세우고 있었다. 제대로 개발을 시작해 프로젝트를 경험하고 싶었고, IT 계열 연합동아리나 대외활동에 대해 조사했다. 그러던 중 SOPT를 처음 만났다. 꽤 체계적이고 큰 동아리라는 생각이 들었다. 하지만 현실적으로 군인 신분으로 당장 지원할 수도 없었고, 나의 개발 능력도 턱없이 부족했기에 당장 큰 동기..