[책]의약품 살인사건 짧은 리뷰
·
독서
의약품 살인사건 - 백승만똑같은 성분과 효과이지만 사람을 살릴수도, 죽일수도 있는 의약품세상을 편리하게 하기도, 마약으로 둔갑하기도 하는 의약품책에서는 역사적으로 의약품으로 인해 일어난 살인사건들을 나열해준다.전공 분야도 아니고, 어렵다고 생각해오기만 했던 화학과 의약품에 대한 이야기들을 스토리텔링 방식으로 쉽게 풀어서 설명해준 점이 좋았다.다만 어려운 화학식에 대한 부분은 그냥 읽고 넘어가게되고, 기억이 잘 안나기도 하고한 줄의 주제(이로울수도, 해로울수도 있습니다)만이 반복되는 스토리들이 책 후반부에는 조금 지루하다고 느껴지기도 했다.건강검진이나 치료 받을때 마취제나 의약품들 투여를 막 받고 있는데, 조금은 경각심이 들기도 했다.
군중심리를 읽고..
·
독서
군중심리 - 귀스타브 르 봉사실 책을 읽은지는 꽤 오래 됐지만, 뒤늦게나마 독후감을 다시 쓰기 시작했다.최근에 여러 권의 책들을 읽기 시작하며 읽고 난 이후 사람들의 독후감을 찾아보며 나름대로의 생각을 나누는것이 하나의 과정이 되었는데,나와 비슷한 누군가가 책 리뷰를 검색하고, 나와도 생각을 나누었으면 하는 마음에 ㅎㅎ밀린 독후감 쫌 있지만 천천히 올려봐야지 군중심리 리뷰처음 이 책을 읽을 때는 현재의 시대상과는 맞지 않는 편견으로 가득한, 말 그대로 '쓰레기 같은 책'이라는 생각이 들었다.군중을 비이성적이고 줏대 없이 휘둘리는 존재처럼 묘사하고, 여성·노인·어린이·신분·인종 등에 대한 차별적 표현이 자주 등장했기 때문이다. 그런 부분은 읽는 내내 불편했고, 지금의 기준으로 봐도 충분히 비판받아 마땅하다..
백준5373: 큐빙(Python)
·
알고리즘/문제풀이
https://www.acmicpc.net/problem/5373총 구해야하는 회전의 경우의 수는 12개(각 면 6개와 시계/반시계방향)필요한 경우의 수에 대한 모든 함수를 구현하지 않아도,마주보는 면을 한 쌍으로 규칙을 찾으면 같은 함수로 처리할 수가 있다(ex: 윗면의 시계방향과 아랫면의 반시계방향은 인덱스만 다를 뿐 돌아가는 나머지4면의 종류와 방향이 동일하다) 아래 큐브 맞추기 사이트를 참고하여 디버깅을 하며 문제풀이를 진행하였다.각 면마다 0,0과 2,2인덱스가 될 부분이 어딘지 잘 정해주고 그에 따라 배열을 회전했을 때 어떻게 되는지만 잘 분기해주면 된다.https://rubiks-cube-solver.com/ko/ 루빅 큐브 맞추기온라인 루빅 큐브 맞추기는 뒤섞인 루빅 큐브를 푸는데 필요한 ..
백준9527: 1의 개수 세기(Java, Python)
·
알고리즘/문제풀이
오랜만에 풀이가 야무진 문제를 풀어서 블로그에 남긴다.인덱스랑 비트, 제곱근 등등 이것저것 수식 생각하느라 머리아팠던 문제일단 입력값의 범위가 매우 크다.1~10^16일반적인 순회로는 못푼다 -> 숫자를 2의 거듭제곱 단위로 나누어서 생각하자우선 최댓값의 범위가 10^16이니, 최댓값보다 작은 가장 큰 2의 거듭제곱을 구한다.아래와 같은 수식으로 구할 수 있고, 따라서 시간/공간복잡도 또한 53이 된다`log2(10^16) = 53.15`그래서 배열의 인덱스를 53보다 조금 넉넉하게 60으로 잡음풀이과정을 풀어서 설명하면 다음과 같다1. N자리수의 1의 개수의 합을 구한다 - ex: 세 자리수의 1의 개수의 합을 구한다(`100`, `101`, `110`, `111`) - 이는 두 자리수로 구할 수 ..
Ollama로 로컬에 LLM API 띄우기
·
AI
참고 블로그 : https://recording-it.tistory.com/115Docs : https://github.com/ollama/ollamaAgent 파이프라인을 띄우려면 Endpoint로 접근할 수 있는 API가 필요외부 API를 쓰면 돈이드니까, Ollama를 이용해 로컬에 모델을 띄운다 Ollama란 ?로컬 PC에서 대형 언어 모델(LLM)을 “설치·실행·관리”까지 한 번에 해주는 런타임 도구모델 파일을 가지고 실행시켜주는 엔진이라고 생각하면 될듯 GGUF(가중치, 토크나이저, 메타데이터 포함)나 Safetensors(가중치 정보만 보유)를 Import해서 구동시킬 수 있다고 한다링크를 통해 다운로드 https://ollama.com/download/mac모델 다운로드 및 실행ollama..
[독서의 기록] 드럼, 드러머, 드러밍 - 강민규,이충섭 지음
·
독서
다른 사람들의 경험과 생각을 글을 통해 읽는다는 것이 매력적이었고, 그 글로부터 나의 세상과 생각을 확장할 수 있다는 점에 이전부터 계속 독서를 취미로 하고싶다는 생각은 해왔었다.여러 가지 주제 -심리학, 뇌과학, 사회과학 등-로 독서를 시도는 해보았으나 번번히 완독에 실패하고.. 독서라는 것을 잠깐 잊고 살아왔다.그러던 와중 최근 드럼이라는 새로운 취미가 생겼고, '독서를 하고싶다'는 마음보다는 '드럼을 더 잘 알고싶다!'는 마음으로 드럼과 관련된 책을 냅다 집어들어 읽기 시작했다.처음부터 드럼에 대해 깊이 이해하고 싶다는 바램으로 시작한 독서이니, 책을 완독한 이후에 목표를 달성해서 기쁨에 더해 글을 읽는 행위에 대한 순수한 즐거움까지 어떤 건지 작게나마 느낄 수 있었던 점이 좋았다.그래서 오늘을 시..
FastAPI, LLM 연동하기 (2) - FastAPI 사용 가이드
·
AI
async, await지난 포스팅에서 FastAPI, ASGI 등에 대해서 알아보았다.비동기 함수 개발을 위한 async, await 키워드에 대해서 알아보도록 하자Flask의 async, awaitFlask에서도 async, await 키워드를 지원하기는 한다고 한다.하지만 ASGI방식으로 동작하는 것은 아니며, 기존에 생각하던 비동기 방식과는 조금 다르게 동작한다.기본적으로 Flask는 WSGI + Thread per Request 구조 비동기 요청이 들어오면 이벤트 루프를 생성해서 처리→ 하지만 다른 스레드와 이벤트 루프를 공유하지는 않는다. 한 Request 내에서 여러 개의 비동기 이벤트를 처리해야 할 때 유용하게 쓸 수 있음참고 링크 : https://teus-kiwiee.tistory.com..
MCP & A2A
·
AI
Agent to Agent의 약자로, 에이전트끼리 통신하기 위한 표준 프로토콜 / SDK / 서버 프레임워크를 말한다.AI Agent란 ?AI 에이전트는 인간의 개입 없이 고객 문의를 이해하고 응답할 수 있는 지능형 시스템입니다. 머신 러닝과 자연어 처리(NLP)를 기반으로 간단한 질문에 대한 답변부터 복잡한 문제 해결, 멀티태스킹까지 다양한 작업을 처리할 수 있습니다.예시를 들어보면 이런 것들이 있을 것이다.업무 보조형 에이전트이메일 요약 Agent → Gmail 같은 곳에서 메일 본문 요약해주기Task 관리 Agent → "회의 잡아줘", "Jira 티켓 생성해줘" 같은 요청 처리정보 검색 & 분석 Agent날씨 검색 Agent → 외부 날씨 API 호출 후 결과 반환뉴스 크롤링 Agent → 특정 ..
FastAPI, LLM 연동하기 (1) - FastAPI 사용 가이드
·
AI
일단 하고 싶은 것 → 채팅(String)을 Input으로 보내서 스트리밍 방식으로 LLM에게 응답 받기 이걸 위해서 필요한 것들에 대해 공부를 해 볼 것이다.외부로부터 채팅을 입력받을 서버가 필요 = FastAPI채팅 내용을 기반으로 LLM에게 질의 = LangChain ? Langgraph ?응답 생성하여 리턴FastAPI, uvicornFastAPI란 현대적이고 빠르며, 파이썬 표준 타입 힌트에 기초한 Python3.6+의 API를 빌드하기 위한 비동기 웹 프레임워크이다. 이 프레임워크로 작성된 코드를 구동하기 위해서 어떤 명령어가 필요한지 대강 살펴보면 다음과 같다.uvicorn main:app --host 0.0.0.0 --port 8080 --reloadFastAPI 자체는 HTTP를 통해 들..
Comparable과 Comparator
·
알고리즘/자료구조
Comparable과 ComparatorComparable과 Comparator 모두 객체의 정렬 기준을 명시하기 위한 인터페이스 이다. primitive type을 정렬하는 데는 사용하지 않는다.그렇다면 이 인터페이스들은 정확히 어떤 역할을 수행하며 어떻게 사용하는 것인지 알아보도록 하자.이 문서에서 참고하고있는 링크들Java8 API(영문)Java 2 Platform Standard Edition 5.0 API (한글번역)Comparablejava.lang.Comparablejava.lang 패키지 내에 존재하기때문에 별다른 import 없이 사용 가능하다.descriptionComparable은 해당 인터페이스를 구현하는 각 클래스의 객체에 전체 순서를 부과합니다. 이 순서를 클래스의 자연 순서라고..