전체 글
-
스마일프로 수술 후기 (당일~일주일) #고도근시essay/My Life 2023. 10. 3. 12:00
수술 전 안경 탈출 결심 전에는 안경 쓰는 게 불편해도 수술을 생각할 정도 까진 아니었다. 근데 최근들어 눈이 더 나빠져서 안경 압축을 3번이나 하기도 했고, 크로스핏을 시작하면서 안경이 더 거슬리게 되어 시력교정수술을 하고 싶어졌다. 수술 방법 고민 어떤 시력교정수술을 받을지 시력교정술 관련 논문을 찾아보았다. (어떤 정보 찾을 때 논문 보는 버릇이 있다) 전문적인 의료지식은 없어 잘은 모르지만 여러 수술 관련 논문과 유튜브를 서치 해본 결과 본 결과 [스마일라식]이 지금 있는 수술방법 중 가장 안전한 방법이라는 결론이 났다. 그래서 스마일라식을 잘하는 병원을 찾아보았다. 병원 찾기 서울에 스마일라식 하는 여러 병원이 있어서 비교를 해보았다. 일단 스마일라식 건수,수술기계 등 비교해서 몇개의 병원을 추..
-
[Docker]Docker에서 RViz 실행하기(ROS Error log)카테고리 없음 2023. 3. 27. 11:16
최근 ROS1를 사용할 일이 생겨서 그냥 우분투 18.04 위에서 사용하고 있었는데 우분투를 20.04로 업데이트를 해버려서 디펜던시 에러가 났다. 우분투 버전에 따라 ROS 버전도 달라져서 그냥 도커를 써버리기로 했다. 도커를 사용할때 ROS Visualizaion Tool 인 RViz의 GUI사용이 docker 내에서 작동이 안 되는데 간단하게 볼륨 마운트를 통해 도커 내에 GUI사용을 가능하게 할 수 있다. ROS 버전 Ubuntu 14.04 + ROS Indigo Ubuntu 16.04 + ROS Kinetic Ubuntu 18.04 + ROS Melodic Ubuntu 20.04 + ROS Noetic 위에처럼 버전이다다르고 다른 버전끼리 충돌 나니 docker를 사용하는 게 정신 건강에 이롭다..
-
[Linux] ldconfigprogramming/Linux 2023. 3. 6. 22:23
ldconfig 공통적인 라이브러리를 사용하는 것을 동적 라이브러리라고 하는데, 바이너리를 실행할 때 shared object(.so) 등의 동적 라이브러리를 연결해 주는 링커 설정 명령어이다. 리눅스에서 .so 파일을 제대로 인식하지 못할 때 공유 라이브러리 캐시를 재설정한다. ldconfig는 존재하는 파일을 조사하고, /etc/ld.so.cache 캐시 파일을 설정하면서 필요한 라이브러리를 적재하고 심볼릭 링크를 만드는 역할을 한다. /etc/ld.so.conf.d/ 에 .conf 파일을 추가, 수정하거나 LD_LIBRARY_PATH 를 변경하게 된다면 ldconfig를 통해 라이브러리를 다시 설정해야 한다. ldconfig 옵션 -C cache : /etc/ld.so.cache 파일 대신 지정한 ..
-
[Python] 타이핑, 타입 힌트 (typing / type hint)programming/Python 2022. 11. 6. 22:06
최근 회사 프로젝트에서 AI모델 개발, 웹 개발, 배포까지 혼자서 해야 했던 프로젝트가 있습니다. 집에 가서도 모델을 튜닝하고 백엔드 로직을 작성하고 DB도 만들고... 프론트도 하고.. 개발 중에 여기저기서 발생하는 문제들을 해결하다가 보면 어느 순간 제가 작성한 코드를 보면 많은 변수들의 타입을 알지 못해서 맨탈이 나갈 때가 있습니다. 프로그램의 복잡도가 높아지고 거대해질수록 이러한 문제는 빈번하게 발생합니다. 파이썬은 동적타입언어(dynamically typed language)여서 변수에 타입을 알아서 동적으로 지정해주기 때문에 빠르게 개발을 좋지만 프로그램이 점점 거대해질수록 타입을 알지 못하는 변수들 때문에 생상성이 급격하게 하락할 수 있습니다. 이러한 단점을 보안하기 위해 Python에서는 ..
-
[Linux] tar 와 tar.gz 차이 압축, 압축 해제programming/Linux 2022. 7. 8. 11:54
tar 리눅스에서 압축 파일을 다룰때 대부분 tar를 많이 사용하는데 tar, tar.gz, tar.bz2 다양하게 사용된다. tar는 (Tape ARchiver)의 앞 글자들을 따서 tar라는 이름으로 만들어졌다. "tar로 압축(compress)한다"는 표현을 쓰는 경우가 많은데, 정확히 말하자면 tar 자체는 "데이터의 크기를 줄이기 위한 파일 압축"을 수행하지 않는다. 아래의 그림과 같이 여러파일을 하나의 파일로 묶는 용도로 사용된다. 대신, tar옵션을 사용하여 데이터의 크기를 줄이기 위한 파일 압축(gzip, bzip2)를 수행할 수 있다. tar가 많이 사용되는 이유 중 한가지는, 단순 아카이버 기능에 더해, tar로 묶여지기 전 파일들의 속성과 심볼릭 링크, 디렉토리 구조등을 그대로 가져갈..
-
[Algorithm]_2. 파이썬으로 피보나치수를 구하는 방법들Algorithm 2022. 6. 3. 14:44
피보나치수열 이탈리아의 수학자 피보나치는 아라비아에서 발전된 수학을 유럽에 소개하여 유럽 전역에 수학을 발전시키는데 기여하였습니다. 피보나치는 1202년 자신의 저서 Liber abaci 에서 다음과 같은 토기 번식에 문제를 제시하였습니다. 갓 태어난 토끼 암수 한 쌍이 있다. 이 토끼 한 쌍은 태어난 지 두 달이 되는 달부터 매달 암수 한 쌍의 토끼를 낳으며, 새로 태어난 토끼 한 쌍도 태어난 지 두 달이 되는 달부터 매달 아뭇 한 쌍의 토끼를 낳는다. 일 년 후 토끼는 모두 몇 쌍이 될까? (토끼는 중간에 죽지 않는다.) 이를 수열로 나타내면 아래와 같습니다. "1,1,2,3,5,8,13,21..." 위와 같이 어떤 수열의 항이, 앞의 두 항의 합과 같은 수열을 레오나르도 피보나치의 이름을 따서 피보..
-
[Docker]Docker 설치하기(Ubuntu)Ops/Docker 2022. 5. 10. 21:48
최근 들어 MSA(Micro Service Architecture)가 대세로 떠오르면서 MSA의 단점인 관리의 복잡성을 해결해주기 위해 서비스의 컨테이너화가 이루어지면서 Docker를 활발이 사용하게 되었습니다. 컨테이너 == Docker 가 될 만큼 Docker 성장세는 무섭게 올라가고 있습니다. 오늘은 우분투(Ubuntu) 환경에 도커를 설치해보겠습니다. Docker 컨테이너 기술을 사용하여 애플리케이션에 필요한 환경을 신속하게 구축하고 테스트 및 배포를 할 수 있게 해주는 소프트웨어 플랫폼 입니다. 컨테이너란 애플리케이션 소스 코드를 임의의 환경에서 해당 코드의 실행에 필요한 운영체제 라이브러리 및 종속 항목과 결합하는 실행 가능한 표준 컴포넌트를 말합니다. Docker를 사용하지 않고도 컨테이너를..
-
[Django]Startproject, Startapps 명령어로 생성되지 않은 파일에서 장고 사용하기programming/Django 2022. 5. 6. 14:56
오류 파이썬 장고에서 프로젝트나 앱을 만들면 해당 이름의 폴더와 .py 파일이 생성되는데 생성한 프로젝트 안에서 다른 .py파일을 생성하고 장고에 등록된 모델 또는 함수를 사용할 때 다음과 같은 애러가 발생됩니다. django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. ImproperlyConfigured( django.core.excep..