개발 이야기 (9) 썸네일형 리스트형 해시(Hash)함수란? 해시 + 함수죠? 우선 함수는 중학교때 배웠던거 기억하시나요? y = f(x) 에서 f(x)가 함수죠 ㅎㅎ. 그림으로 표현하면 이런겁니다. x값 (파라미터, 인자, 변수)를 넣으면 y값(결과값)이 달라지죠. 해시라는 말은 hash가 잘게 자르다라는 말이 있다고 하네요. 제가 해시 함수의 알고리즘은 잘 모릅니다..... 해시함수의 특징은 다음과 같습니다. 1. 결과값의 길이는 고정이다. 2. 입력값이 하나라도 바뀌면 결과값은 완전히 달라진다(눈사태 효과) 3. 결과값으로 입력값은 알 수 없다. 4. 같은값을 입력하면 같은 결과값이 나온다. 우선 1번의 경우 sha-256함수(해시함수의 종류) 256비트의 공간을 활용하기때문에 결과값 y는 64자리의 문자열으로 고정됩니다. 하지만 해시함수는 암호기술로 많이 .. 윈도우 편리한 단축키 정리(기본 단축키) 윈도우 사용하면서 이 정도는 아는게 편리하다고 생각하는 단축키를 정리했습니다. Alt + tab 화면 전환 window키 + tab 화면 선택 ctrl + a 전체선택 ctrl + alt + delete(작업 관리자 프로세스 강제종료 가능) 파일을 선택하고 shift + delete 파일 완전 삭제 alt + F4 창 닫기, 닫을 창 업으면 윈도우 종료 F5 새로 고침 alt + enter : 소프트웨어의 전체화면 단축키 주로 게임에서 사용 ctrl + f 찾기 ctrl + 마우스 휠 : 보여지는 화면 크기 조절 F11 : 창을 최소화, 최대화 클래스의 상속 클래스의 상속은 왜 써야 할까요? 클래스를 짤때 중복되는 부분을 줄이기 위해서 입니다. 예시를 위해 차 클래스와 트럭 두개의 클래슬르 상속을 사용하지 않고 만들어보겟습니다. class car{ int max_speed; int seat; String name; void accelate(); } 트럭클래스입니다. class truck{ int max_speed; int seat; String name; void accelate(); void load(); } 거의 비슷한 코드이지만 load()라는 함수가 추가 되었습니다. 이렇게 코드가 거의 비슷합니다. 그리고 트럭도 차이죠? class truck extends car{ void load(); } 이렇게 상속을 하면 트럭클래스가 간단히 만들어지는 거죠 기존.. 클래스(class)란 무엇인가? 우선 클래스를 쓰는 이유에 대해서 말씀드리겠습니다. 1. 직관적이다.(사람이 이해하기 편한 코드작성) 2. 단순반복작업을 줄일 수 있고, 유지관리하기 편한다. 개발할때 클래스는 필수요소이며 꽃이라고 생각합니다. 클래스 설계만 잘해놓는다면(물론 정답도 없고 매우 어렵지만) 개발도 빠를 뿐만 아니라 추후 유지보수도 굉장히 편리합니다. 그렇다면 그 '클래스'는 무엇일까요? 일상생활에서 예를 들겠습니다. '사람'이라는 클래스를 예시로 들면 각각의 개인이 '인스턴스'입니다. 무슨말이냐 하면 여러분 자신도 인스턴스, 여러분의 친구도 인스턴스, 선생님, 부모님 모두 각각의 '객체' 또는 '인스턴스'입니다. 그렇다면 사람이라는 클래스를 간략하게 짜보겠습니다 class Human { int age; String name.. 서버의 개념에 대해 사람들은 서버를 추상적인 개념으로 알고 있는 경우가 많아서 정확히 서버가 무엇인지 알아보는 시간을 갖도록 하겠습니다. 보통 일상에서도 서버가 터졌다. 서버렉이 심하다. 이런 표현을 많이 씁니다. server의 사전적 뜻은 service를 제공하는 사람이라는 뜻입니다. 그러면 컴퓨터에서 서버는 무엇을 제공할까요? 클라이언트가 요청한 데이터입니다. 레스토랑을 예시로 들면 손님(클라이언트가) 음식을 주문하죠? 서버는 손님의 주문을 확인하고 음식을 서비스합니다. 서버는 '역할'입니다. 서버가 다른 서버에게 요청할때는 클라이언트가 됩니다. 클라이언트도 마찬가지로 역할이죠. 레스토랑 예시를 다시말씀드리면, 웨이터도 주방에 음식을 요청할 수 있고, 식자재를 주문하는 요청, 사장에게 임금을 요청할 수 있습니다. 그때는.. [C++]반복문을 이용한 도형그리기 1. 우선 가로 5, 세로 5줄의 5 X 5 사각형입니다. #include int main() { for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { std::cout 줄변경 i의 값이 5가 되면 전체 for문은 종료 됩니다. 제가 C++코드라고 적어 놨지만 사실 언어는 그다지 중요하지 않습니다. 자바는 print, 파이썬도 print만 바꾸면 똑같은 출력이 됩니다. 2. #include int main() { for (int i = 0; i < 5; i++) { for (int j = 0; j ChatGPT에 대한 신뢰의 문제 요즘 사람들이 ChatGPT엄청 많이 쓰고 있죠? 저도 사용하긴 합니다만 그렇게 ChatGPT를 좋아하지는 않습니다. 가장 큰 이유는 신뢰의 문제가 있기 때문입니다. ChatGPT에게 어떤 정보를 물어보았을때 우리가 원하는 정보를 주는데 집중하는 것이 아닌 최대한 '있어 보이게' 답변하는데 초점이 맞춰져 있다고 생각이 들었습니다. 에를 들면 찾아보니 양파는 2005년에 발매한 노래도 없었고, 양파의 사랑했지만이라는 노래도 없더군요. 노래가사도 실시간으로 지어냅니다. 저는 의문이 들었습니다. 왜 모르면 모른다고하지. 거짓말을 해서 오히려 신뢰성을 떨어뜨릴까 하고요. 또 다른 예시입니다. 우선 제가 일부러 틀린 질문을 했습니다. 고려의 장군인데요. 답변 중 틀린 내용 1. 활약을 918년 ~ 1392년 ??.. 블로그 글이 복사(ctrl + c)가 안될 때 해결 법 가끔 블로그글이 복사가 안되는 경우가 있습니다. 아예 커서자체가 안되는 경우, 복사를 하면 안된다는 알림이 뜨는 경우 등 그럴때 해결하는 방법을 말씀드리죠. 생각보다 매우 간단합니다 크롬기준입니다. F12를 누릅니다 그럼 아래와 같은 창이 뜰거에요. 제가 표시해둔것처럼 톱니바퀴를 누릅니다. 그리고 스크롤을 최하단으로 내립니다. Disable JavaScript 체크박스를 켭니다. 이제 끝 ~. 복사가 가능해집니다. ㅎㅎ 이걸몰라 직접 타이핑하시거나 글을 복사하지 않으신 분들에게는 엄청난 도움이 될거에요 ㅎㅎ. 이전 1 2 다음