전체 글 35

무접점 키보드 튜닝 - 키압 스프링(feat. 콕스 엔데버)

먼저 이 글은 지극히 개인적인 생각입니다. (태클 ㄴㄴ) 우연히 무접점의 세계에 접어들게 되어 타건샾에서 이것저것 쳐보다가 내 나름대로 손맛과 가성비에 이끌려 콕스 엔데버를 사게 되었다. 내가 산 제품은 콕스 엔데버 텐키리스 35g이었다. 그런데 막상 써보니 키캡이 너무 마음에 안 들었다. 키캡의 모서리 부분이 너무 날카로웠고 누를 때 느낌이 키캡 높이 때문인지 손가락이 밀리는 듯한 느낌을 받았다. 그래서 어쩔 수 없이(?) 주문한 것이 아래의 키캡이다. 처음 보자마자 딱 이거라는 느낌이 왔고, 실제 장착해서 쳐보니 밀리고 날카로웠던 키감이 부드럽고 조금 더 쫀득하게 변해서 아주 마음에 들었다. 그런데 회사에서는 45g을 쓰고 집에서는 35g을 쓰니 무언가 아쉬운 느낌이 자꾸 들었고, 처음에는 보글거림을..

사람 이야기 2023.02.12

[C 언어] 구조체 초기화 방법

지난 글에서는 지역/전역 변수의 초기화 방법에 대해 알아보았다. 오늘은 구조체의 초기화 방법에 대해 알아보려 한다. 구조체도 마찬가지로 지역 변수, 전역 변수, 동적 할당 등에 따라 초기화 방법이 다르다. 1. 전역 변수 / 지역 변수 초기화 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 typedef struct{ int data[SIZE]; int head; int tail; }QUEUE; QUEUE que; int main(void){ QUEUE que2; for(int i = 0; i

C언어 2023.02.06

[C 언어] 변수 초기화에 관해서 (전역, 지역 변수)

일반 변수의 초기화에 대해서는 일반적으로 알고 있는 내용이 많다. 그렇지만 전문적으로 프로그램을 개발하기 위해서는 정확하게 변수의 생성 위치와 초기화 원리를 알고 있는 것이 좋다. 1. 전역 변수 / 지역 변수 초기화 일반적인 변수들을 크게 나누자면 전역 변수와 지역 변수로 나눌 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 int g_arr[10]; int main(void){ int s_arr[10]; for(int i = 0; i

C언어 2023.02.06

AI시대가 활짝 열리다 (feat. chatGPT, openAI)

Intro AI 인공지능은 아주 오래전부터 인류가 상상하는 소재로 많이 등장했었고, AI 로봇과 인류의 싸움을 다루는 영화나 소설 등이 많이 등장했었다. 이 때문인지 우리는 AI에 대해 이미 상당히 익숙한 상태이고, 이세돌과 알파고의 대결에서 인공지능이 얼마나 발전할 수 있는지에 대해 가능성을 알게 되었다. 이러한 AI 인공지능 분야가 점점 더 발전하는 동안 사람들의 관심은 오히려 낮아지고 있었는데, 최근 openAI가 발표한 chatGPT가 아주 뜨거운 관심을 받으면서 발 빠른 사람이라면 chatGPT를 사용해 기존의 사업모델을 바꾸려고 하고 있다. 한 가지 분명한 것은 위기와 기회는 항상 같이 온다는 것이다. 누구에게는 이것은 삶을 뒤흔들만한 위기가 될 것이고, 누군가에게는 삶을 바꿀 수 있는 기회가..

AI 2023.02.02

[chatGPT] 한글로 앱 개발 가능?

오늘은 AI에게 앱 개발을 의뢰해 보려고 한다. 나도 이것이 될지 아주 궁금한 상태라 평소 생각한 아이디어를 더해 질문해 보았다. 먼저 신기한건 며칠 전 한글로 질문했을 때 약간의 어색함이 있었는데 그사이 업데이트를 통해 많이 자연스러워졌다. 그 다음은 이전엔 무조건 코드를 작성해 주었는데 이젠 조각단위로 작성해 주는 것으로 잠정 업데이트 된 것 같다. 자연스럽게 요구사항을 거절하는 것도 신기하고 이대로 가면 세상에 엄청난 변화가 있을 것 같다.

AI 2023.02.01

[chatGPT] 한글도 될까?

chatGPT 인기가 하늘 높이 치솟고 있다. 많은 자료가 영어로 나와 있어서 오늘은 한글로 이용하는 방법을 보여드리려 한다. 오늘도 chatGPT 모바일 환경에서 접속하여 진행해 보았다. 접속 사이트는 이전글을 참조해 주시고 원하는 것을 아래와 같이 한글로 물어보면 한글로 물어보았더니 답변이 아래처럼 잘 나왔다. 아쉽게도 모두 영어 이름만 추천해 줬다. 질문을 추가해서 한글 이름을 받아보자. 그 결과!! 한글로 나오긴 했지만 아쉬운 수준이다. 이전 영어 답변을 그대로 번역한 느낌이라 자연스럽지 않다. 이 이유를 추측해 보자면 학습한 데이터의 대부분이 영어 기반이고 한글 자료가 상대적으로 적다 보니 chatGPT의 동작 방식은 입력을 영어로 번역하여 의미를 해석하고 그에 적절한 연결고리를 찾아 조합하여 ..

AI 2023.01.31

[C 언어] Dangling pointer

오늘은 포인터를 사용할 때 마주칠 수 있는 dangling pointer라는 것에 대해 알아보려 한다. Dangling pointer : 유효하지 않은 메모리 영역의 주소를 가지고 있는 포인터 쉽게 말해서 포인터가 가르키는 메모리에 접근했을 때 에러가 발생하는 포인터를 말한다. 1. 지역 변수 return시 발생 1 2 3 4 5 6 7 8 9 10 11 12 13 int* return_arr_pointer(void){ int arr[10]; for(int i = 0; i

C언어 2023.01.28

[C 언어] 연산자 우선순위

모두들 코딩을 배울 때 연산자 우선순위에 대해 들어보거나 배운적이 있을 것이다. 오늘은 다양하고 많은 연산자들이 뒤섞였을 때 정확한 원리로 우선순위를 파악하는 방법에 대해 적어보려고 한다. 1. 연산자 우선순위란? 연산자들이 연속으로 이어졌을 때 어떠한 연산자부터 계산해야 하는지를 나타내는 것이다. 수학에서의 연산자 우선순위는 () >> * / >> + - 위와 같이 괄호가 높고 곱하기 나누기 그리고 + - 연산자 순서로 이루어지는 것이 기본이다. 그렇다면 코드에서는 어떨까? 2. C 코드의 연산자들 먼저 C 코드에서 나타날 수 있는 연산자들이 어떤 것들이 있는지 살펴보자. 연산계열 * / % + - Bit 연산 > & | && || ^ 비교 = == != 대입연산 = += -= *= /= %= &..

C언어 2023.01.26

[chatGPT] 사용법

어제 서버가 터져서 안되던 chatGPT가 오늘은 모바일에서만 정상적으로 동작하고 있다. 여전히 PC에서는 접속이 안된다. 그래서 모바일로 간단히 사용할 수 있는 방법을 소개하려 한다. 먼저 chatGPT 사이트로 이동해 보자 https://openai.com/blog/chatgpt/ 여기에서 하고 싶은 것을 메시지로 대화하듯 작성하면 된다. ChatGPT: Optimizing Language Models for Dialogue We’ve trained a model called ChatGPT which interacts in a conversational way. The dialogue format makes it possible for ChatGPT to answer followup questions..

AI 2023.01.26

[chatGPT] 무엇인가? (현재 서버 터짐)

요즘 chatGPT가 아주 핫하다. openAI에서 만든 것으로 대화형 AI인데, 생각보다 성능이 좋은 것 같다. 나는 이전에 DALL-E 베타 서비스에 참여하여 AI 그림에 대해 이것저것 테스트해봤었는데 생각보다 만족하지 못했었던 기억이 있었다. 그 당시의 DALL-E는 텍스트의 정보에 너무 집중한 것인지 어울리지 않는 그림 조합을 하거나 어설픈 경계가 너무 눈에 잘 보여서 자연스럽지 못하다는 느낌을 많이 받았었다. 일단 오늘은 chatGPT에 대해서 간단히 알아보고 어떻게 활용하면 좋을지 생각해 보는 것으로 하려 한다. 1. chatGPT 먼저 chatGPT를 이용하기 위해서는 아래 사이트로 들어가 회원가입을 하고 로그인을 해야 한다. https://openai.com/blog/chatgpt/ Cha..

AI 2023.01.25
728x90