본문 바로가기

분류 전체보기120

React 18 ) useTransition 아까 useActionState에 대해서 언급하였는데, 작동이 안되는 경우가 종종 있다. 예를 들어서, isPending 값이 제대로 업데이트 안되는 경우가 존재했다. ( 아무래도 아직 나온지 얼마 안되어서 그런건가? )  * 두가지 반환값이 존재한다. - isPending : 배열을 반환하는데, 첫번 째 값은 업데이트가 진행중인지 나타내는 boolean 값 - startTransition : 비우선 업데이트를 시작하는 함수  * 사용목적예를 들어서, 사용자가 입력하는 동안 목록 필터링처럼 시간이 좀 걸리는 작업이 있다면 이 작업을 startTransiton 안에 넣어서 실행할 수 있다. 그러면 입력반응은 즉시 이뤄지고, 시간이 걸리는 작업은 백그라운드에서 진행되면서 UI가 멈추지 않는다.  import.. 2025. 3. 18.
React 19 ) useActionState( 구 useFormState ) useFormState는 이전에 React Dom에서 제공했었고 이제는 useActionState로 이름이 바뀌어 제공된다. 목적은 폼의 동작을 쉽게 관리하기 위함이다.  useActionState ( 구 useFormState )const [state, formAction, isPending] = useActionState(fn, initialState, permalink?); * 목적- 폼 제출 ( 이걸 액션이라고 한다 ) 을 호출할 때, 이전 상태와 함께 폼 데이터를 인자로 받아 처리한 후, 그 결과 상태를 관리해준다. * 기능- 폼 제출 시 자동으로 pending 상태를 관리한다.- 서버액션 ( 데이터 업데이트, 검증 등 )의 결과를 상태로 반영하여 이후 렌더링에 활용할 수 있다.- 이전 Cana.. 2025. 3. 18.
도커와 라라벨 도커는 어플리케이션과 그 실행환경을 함께 패키징하여 어디서나 동일하게 실행할 수 있도록 돕는 도구다. 즉, 소프트웨어를 컨테이너라는 독립된 단위로 묶어서, 개발환경, 테스트 환경, 실제 운영환경 간의 차이를 줄여줍니다.   몇가지 주요개념- 컨테이너 Container어플리케이션 실행에 필요한 코드, 라이브러리, 환경 설정 등을 함께 포함하는 가벼운 가상화 단위이다.이는 서로 격리되어 실행되며, 시스템 리소스를 효율적으로 사용할 수 있게 한다. - 이미지 Image컨테이너를 생성하기 위한 템플릿이다. 개발자가 어플리케이션 환경을 정의하면, 이를 기반으로 컨테이너가 만들어진다.  - 도커파일 DockerFile 이미지를 생성하기 위한 설정 파일로 어플리케이션 설치 및 구성에 필요한 명령들을 순차적으로 작성한.. 2025. 3. 14.
일렉트론 #1 index.html - 어플리케이션의 기본 HTML 파일- UI의 구조를 정의한다. - 이 파일은 렌더러 프로세스에서 로드되어 화면에 표시된다.  index.js- 렌더러 프로세스에서 실행되는 js 파일- index.html과 함께 로드되어 UI 동작을 제어한다.- DOM 조작, 이벤트 처리, 프론트엔드 로직을 구현 preload.js- 브라우저 창이 로드되기 전에 실행되는 스크립트- Node.js와 브라우저 환경 모두에 접근 가능- 메인 프로세스와 렌더러 프로세스 간의 안전한 통신을 위해서 사용함- contextBridge api를 통해서 렌더러 프로세스에 선택된 기능을 노출한다.  forge.config.js- electron forge의 구성파일로, 어플리케이션의 빌드, 패키징, 배포 설정을 정의한.. 2025. 2. 24.
저장 프로시저 및 C# 사용 저장 프로시저는 데이터베이스에서 여러 SQL 쿼리를 하나의 함수처럼 묶어두고,이를 필요할 때마다 호출하여 실행할 수 있도록 하는 기능이다. 이를 통해서 코드의 재사용성을 높이고, 네트워크 부하를 줄이고, 데이터 무결성을 유지할 수 있다.   예시1. 단순한 데이터 조회 프로시저CREATE PROCEDURE GetAllEmployeesASBEGIN SELECT * FROM Employees;END;  2. 매개변수를 사용하는 프로시저- 특정 부서의 직원들을 조회하는 프로시저로, 부서 ID를 매개변수로 받는다.CREATE PROCEDURE GetEmployeesByDepartment @DepartmentID INTASBEGIN SELECT * FROM Employees WHERE DepartmentID.. 2025. 2. 20.
특정 카테고리에서 현재 군중이 가장 관심가지는 주제를 알고 싶다면? ( 워드클라우드, KONLPY ) 정치인들은 몰라도 우리같은 시민들은 자신의 정치적 견해를 입 밖으로 잘 내뱉지 않는다. 주로 사람들은 디시인사이드나 FM코리아, 스레드와 같은 커뮤니티에 자신의 정치적 견해를 내뱉곤 한다.  나는 갑자기 특정 기간, 예를 들어서 2월 1일부터 2월 4일까지의 사람들의 주요 관심사가 정확히 어떤 대상에 어떤 비중으로 분포되어있는지 알고 싶어졌다.  글을 긁어오는 방식은 간단하다. 우리가 브라우저로 웹페이지를 보는 것은 해당 url에다가 get 요청을 하는 것과 같은데 코드로 get 요청을 하면 된다. 시각적으로 보는 것만 다를 뿐이지 서버 입장에서는 사실 같은 행동이다. 다만, 다른 것이 있다면 나같이 이렇게 긁어가려는 사람들을 서비스 입장에서는 좋게 보지 않을 것이다. 10000명의 유저가 1번 봐서 나.. 2025. 2. 18.
코딩 스타일 권장 가이드(2) foreach $value) { // foreach body} try.. catch  do..while 2025. 2. 7.
코딩 스타일 권장 가이드 (1) PSR-1 - PHP 코딩 스타일 권장 가이드" data-og-description="# **1. Overview** - 파일은 태그 ` PHP 코드는 긴 태그 또는 짧은 에코 태그를 사용해야합니다 . 다른 태그 변형을 사용해서는 안됩니다. `` **…" data-og-host="wikidocs.net" data-og-source-url="https://wikidocs.net/43540" data-og-url="https://wikidocs.net/43540" data-og-image="https://scrap.kakaocdn.net/dn/dox83G/hyYcbV7cIY/S4o4DtlKVNXZvrqr9Mvfkk/img.png?width=100&height=52&face=0_0_100_52"> PSR-1.. 2025. 2. 7.
2주 남은 시점에서.. 학습시키고 그 모델을 서빙하는데 현재 고민이 되는 이슈- 딥시크 R1을 서빙하고 싶다. R1은 성능이 gpt보다도 좋은 것 같다. 데이터 학습도 필요가 없는 정도의 수준이지만, 모델 크기가 매우크다. 164개로 나눠진 safe tensor당 용량이 4-7기가 정도 되는데 못해도 600 - 800 기가 정도 되는 것 같다.- 그렇기 때문에 당연히 코랩이나 우리가 가진 GPU 서버에 올릴 수 조차 없다. 저장공간도 부족하지만, 램에 모델을 올리다 다운된다. - 그러면, 가능한 모델이 무엇이 있냐고 하면 R1의 라마 8b 증류모델이나 라마 8b - ko 모델인데, 성능은 당연히 전자가 좋다.  - 데이터셋이 충분하지 않다. 정확히 말하면 언진재에서 가져온 데이터셋이 있기는 하지만, 토크나이징하는데 시간이 너무.. 2025. 2. 5.
DeepSeek-R1 로드 import loggingfrom typing import Optional, Union, Dict, Any, Tuple# transformers 라이브러리에서 필요한 클래스와 함수를 불러옵니다.from transformers import ( AutoModel, # 사전 학습된 모델을 쉽게 불러올 수 있는 클래스 AutoTokenizer, # 사전 학습된 토크나이저를 쉽게 불러올 수 있는 클래스 AutoConfig, # 모델의 설정(config)을 불러오는 클래스 PreTrainedModel, # 사전 학습된 모델의 기본 클래스 PreTrainedTokenizer # 사전 학습된 토크나이저의 기본 클래스)# 로깅 설정: 현재 모듈 이름.. 2025. 2. 5.