본문 바로가기

고양이의 둥지

(255)
ChatGPT : 거짓 정보를 그럴듯하게 포장해내는 인공지능 ChatGPT 라는 인공지능 언어모델 서비스가 최근 인기입니다. '언어모델' 이라는 단어에서 알 수 있듯이 사용자가 특정 언어로 질문을 하면 같은 언어로 대답을 해주는 인공지능입니다. 현재는 웹사이트에서 '문자' 로 사용가능한데, '음성-문자 변환' 기술을 잘 이어붙여주기만 하면 음성을 문자로 변환하는 것은 가능한 일이니, 곧 음성으로도 서비스 할 것 같아요. 저도 호기심에 몇번 ChatGPT사용을 해보다가, 사용을 해보니 뭔가 쓸만(?) 한 정보를 주는 것 같아서 종종 회사업무에도 활용합니다. 예를 들면 아래와 같이요. 최근에 회사에서 SMB 프로토콜을 사용하는 네트워크 파일 서버에 연결하는 안드로이드 기반 파일탐색기 앱에서 '이미지 미리보기' 기능을 구현할 수 있는지를 빠르게 검증해보라는 상사의 요구..
USB 규격 마스터링 USB(Universal Serial Bus)는 한국어로 '범용 직렬 포트' 라 번역할 수 있는 장치간 연결을 위한 표준 규격이다. 애플이 오리지널 아이맥(iMac)에 사용하기로 결정을 내린 1998년 이래로 2023년 현재까지 컴퓨터와 거의 모든 IT 장치의 표준 연결 유형으로 자리매김해왔다. USB가 등장하기 전에는 장치간 연결에 어떤 규격을 사용했었을까? ADB에서 FireWire (파이어와이어)와 SCSI (한국에서는 보통 '스카시' 불렀다)에 이르는 다양한 연결 유형이 있었다. 게다가 각각은 고유한 변형까지 있었다. USB 모양 다시 USB 이야기로 돌아와서. 대부분의 기술 표준들들이 그렇듯이 USB는 몇 년마다 새로운 버전이 출시되어왔으며, 속도, 기능부분이 점점 향상되어왔다. ‘범용’임에도 ..
동탄신도시 항공뷰와 호수공원 야경 - 2023년 5월 1일 동탄2신도시 라크몽 에서 호수공원 쪽을 바라본 야경이다. 멀리 동탄1신도시의 메타폴리스 주상복합 아파트도 보이고, 오른쪽 구석에는 동탄호수공원 린스트라우스도 보인다. 아래는 동탄신도시를 지나가는 항공기에서 촬영한 사진들이다. 2023년 5월 초에 촬영했다. 사진 오른쪽 볼록하게 순환하도록 놓여진 도로가 최근 도로를 낸 신주거단지라 불리는 지역이다. 사진의 아래는 동탄호수공원 지역인 산척동, 송동. 사진의 윗 부분은 동탄2신도시 시범단지와 11자상가, 중리IC 등이 보인다. 동탄 2신도시를 왼쪽지역과 오른쪽지역으로 갈라놓은 경부고속도로가 보인다. 곧 지하화 되어 땅속 터널이 될 것이고, 그 위는 공원으로 조성될 것이다. 동탄 1신도시의 상징과도 같은 반원형 도로망이 보인다.
웹 서비스 구조(feat. SpringBoot와 nginx) 스프링부트 개념 우선 스프링 부트. '스프링 프레임워크'의 사이드 프로젝트로 시작되어 만들어진 웹 애플리케이션 프레임워크다. Java를 기반으로 한다. '스프링 부트'가 등장하기 전 '스프링 프레임워크'가 먼저 등장했는데, '스프링 프레임워크'는 초기 환경 설정시 시간을 많이 할애해야했다. 그것을 문제로 생각한 이들이 사이드 프로젝트로 '스프링 부트' 를 만들었다. 즉, '스프링 부트' 는 '스프링 프레임워크' 를 기반으로 하지만, 엄밀히 말하면 다른 것이니 주의가 필요하다. '스프링 프레임워크'는 위와 같은 구조를 가지고 있다. Python을 이용한 Django, Ruby를 이용한 Ruby on Rails, Javascript를 이용한 Node.js 이 있다면, Java 개발자들은 스프링(=스프링 프레..
2023년. 아파트 분양가가 비싼 이유 2023년 4월입니다. 최근 분양하는 아파트단지들을 보고있자면, 흔히 말하는 '입지좋은' 곳이 아니면 청약미달이라는 쓴 잔을 마시게 됩니다. 당연한 것이긴 합니다만, 지난 상승장 기간이었던 2019년~2022년에는 논밭 한가운데 위치한 나홀로 아파트 입지가 아닌이상, 대부분 청약완료가 되었었지요. 그리고 모두가 똑같이 말씀하십니다. "분양가가 비싸다." 네. 맞습니다. 분양가가 비쌉니다. 그런데 한 번 생각해 봐야 할 것은 물가의 상승입니다. 보통 분양가는 주변 아파트 시세를 기준으로 1차적인 기준이 선정되고, 앞으로의 발전가능성으로 2차적인 기준이 산정됩니다. 그리고 준공시 까지의 물가상승률을 고려한 뒤에, 시공사의 마진을 추가합니다. 여기서 문제가 "물가상승률" 입니다. 이미 원자재 가격과 인건비가 ..
[스프링부트] 레퍼런스 문서는 필수품 스프링부트 개발을 하다보면 스프링부트 버전별로 조금씩 달라지는 것들이 있다. 내가 겪었던 문제를 예를들면, 스타터 + 자동설정이 되도록 만든 라이브러리(maven프로젝트)를 AutoConfigure 에 등록하는 것. 2.X 버전까지는 META-INF/spring.factories 파일에, org.springframework.boot.autoconfigure.EnableAutoConfigration = [추가할 클래스 전체경로] 이런식으로 해줬었다. 그런데 이게 스프링부트 3 버전 부터는 변경된 걸 모르고 그대로 했더니, key is not supported as of Spring boot 3... 이런 에러가 발생한다. 레퍼런스 문서에서 'auto-configuration' 관련 키워드로 급하게 찾아보니..
[Rust] 윈도우 환경에서 컴파일 실패 : linker link.exe not found 문제 아래는 Rust의 Hello world 출력 코드이다. fn main() { println!("Hello, world!"); } MS윈도우 환경에서, 이것을 cargo run 명령을 통해 실행해보려고 하는데 아래와 같은 에러를 만나게 될 때가 있다. error: linker link.exe not found 원인 Rust컴파일러는 MS윈도우 용 실행파일을 만들어내기 위해 MS Visual C++ Build Tools 를 사용한다. link.exe 는 컴파일된 오브젝트파일을 라이브러리들과 링크 시켜주는 빌드 툴의 하나. 그런데, 어떤 이유에서인지 이게 설치가 안된 상황이라면 이런 에러가 발생한다. Compiling helloworld v0.1.0 (C:\Users\DELL\helloworld) err..
[Rust] main함수에서 test function 호출하는 방법? Rust에서는 unit test 를 위해 #[cfg(test)] 및 #[test] 와 같은 annotation을 사용한다. 아래와 같이 tests라는 모듈에 #[cfg(test)] 를 붙여주면, 해당 모듈은 test 를 위한 모듈이라고 선언하는 것과 같은 의미. 그런데 이걸 main 함수에서 호출할 수 있을까? main 함수에서 tests 모듈안의 open_door 함수를 호출하는 방법이 있을지 알아보았다. #[derive(Debug)] struct Door { is_open: bool, } impl Door { fn new(is_open: bool) -> Door { Door { is_open } } } trait Openable { fn open(&mut self); } impl Openable fo..