[etc] Logout 후 뒤로 가기 방지 - BF Cache
·
🐥 Web/❔ Back-end | etc.
문제 logout을 한 뒤에 로그인 권한이 필요한 페이지로 뒤로 가기를 눌렀을 때, 데이터가 그대로 노출되는 문제 보안상의 결함으로 수정해야하는 경우 원인 브라우저에서 관리하는 BF Cache(Back-Forward Cache) 웹 페이지를 방문하면 해당 페이지의 css/html/javascript/image 등 모든 리소스를 캐시에 저장 뒤로가기 / 앞으로 가기 버튼을 누르면 서버에 다시 요청하지 않고 캐시 리소스 활용해서 로딩 로그아웃 이후에도 BF Cache가 남아있기 때문에 다시 페이지가 보일 수 있음 해결 방법(Fast API 기준) Jinja Template response 사용 로그인 해야 이용할 수 있는 페이지에 접속 요청을 보내면 라우터에서 access token 확인 권한이 있는 경우 ..
[Math] Mathematics for Machine Learning 2. Linear Algebra
·
🐬 ML & Data/❔ Q & etc.
근래에 정말이지 수학 공부의 필요성을 느껴서 MML 이라는 머신러닝 수학의 바이블 같은 책으로 공부를 시작했는데... 일단 영어고(!), 용어가 너무 많고(!), 내용도 어려워서 아주 애를 먹고 있다. 어찌저찌 이해했다고 생각했는데 연습문제를 보니까 또 이야~ 모르겠고 난리다... 답안지를 봐도 이해가 어려운 부분이 많아서 꼼꼼하게 가이드 따라 두세번 풀어봐야 이해가 되지 싶다. 근데 너무 어렵다 ㅎㅋ... 선형대수 강의를 수강했었는데도 내가 들었던 선형대수 강의의 범위보다 더 넓은 듯 하다. 아무튼 아래 링크는 참고한 사이트 등. 한국어 번역 해주신 준별님 정말 감사합니다... 비교하며 보고 있습니다... 교재 - pdf 무료 공개(https://mml-book.github.io/book/mml-boo..
2023년 회고
·
😼 사담
새해를 맞이한만큼 새로운 마음으로, 과거를 발판삼아 나아가자는 의미에서 회고로 시작을 해보려고 합니다. 2023년은 모순적이게도 도전과 안정의 한 해였습니다. 저는 무수한 도전 속에서 삶의 흥미를 되찾고 안정을 얻는 사람인지라 2023년도의 수많은 새로운 도전들이 이전에 개인적인 이유로 불안정했던 마음을 추스리는데 도움이 되었습니다. 3월에 현직장에서 근무를 시작했습니다. 감사하게도 지금 이곳에서 너무나 많은 것들을 배우고, 경험하고, 성장하고 있습니다. 제가 12월까지 10개월간 근무하며 새롭게 도전해서 성과를 내본 것들은 아래와 같습니다. 관련 사항을 공부해서 정리한 블로그를 함께 첨부합니다. - YOLO 기반 object detection [Model Review] YOLOv5 + Roboflow ..
[Docker + ELK] Docker ELK를 사용해서 PostgreSQL DB 모니터링 하기
·
🐳 Docker & Kubernetes
이번 포스팅에서는 이전에 elasticsearch, kibana, logstash를 별도로 실행하여 PostgreSQL DB를 모니터링했던 것을 Docker을 통해서 구현해본다. 로컬 환경에서 elk를 구성했던 포스트는 아래 링크에서 확인할 수 있다. '🐥 Web/❔ Back-end | etc.' 카테고리의 글 목록 호락호락하지 않은 개발자가 되어보자 dnai-deny.tistory.com Docker을 사용해서 배포하면 명령어 하나로 쉽게 다른 사람의 개발환경, 버전, 설정을 복사해서 시스템을 구축할 수 있으므로, 다소 준비단계가 복잡한 ELK stack을 보다 간편하게 사용하기 위해 공부해서 구현해보기로 결정하였다. 사전 작업이 꼼꼼하게 들어가야하지만 제대로 알아두면 다음에도 할 수 있을테니까...👀..
[Protocol] XKNX를 활용한 KNXnet/IP 데이터 통신하기
·
🌠 etc.
ETS를 이용해서 device의 group address가 전부 설정된 이후 read/write 하는 것이 목표 1. knx 객체 정의 from xknx import XKNX from xknx.io import ConnectionConfig, ConnectionType aysnc def main(): xknx = XKNX( connection_config=ConnectionConfig( gateway_ip="knx net/ip address", gateway_port=3671, connection_type=ConnectionType.ROUTING, ), ) router를 사용하는 경우(EX. ABB ips) ConnectionType을 Routing으로, TUNNELING도 설정 가능 device들이 이..
[Protocol] KNX Overview
·
🌠 etc.
KNX https://support.knx.org/ 빌딩 자동화를 위해 표존화된 통신 프로토콜 커뮤니케이션 매체 : 트위스터 페어 / 전력선 / 무선 지원 버트 토폴로지 : 중앙 컨트롤러 필요 정보 구조 : 텔레그램 기반 통신 그룹 주소 지정 : 그룹 주소 사용해서 장치 통신 버스 전원 공급 장치 : 버스 라인에서 전원 공급받음 구성 및 프로그래밍 : ETS(Engineering Tool Software) 사용 KNX python open source library GitHub - XKNX/xknx: XKNX - A KNX library written in Python XKNX - A KNX library written in Python. Contribute to XKNX/xknx development ..
[SciChart] Vanilla Javascript에서 SciChart 사용하기
·
🐥 Web/🎨 Front-end
Javascript에서 SciChart 사용하기 script를 가져오고 미리 필요한 것들 정의하기 ... const { SciChartSurface, NumericAxis, DateTimeNumericAxis, FastLineRenderableSeries, XyDataSeries, XyScatterRenderableSeries, EllipsePointMarker, EZoomState, SweepAnimation, SciChartJsNavyTheme, RolloverModifier, RubberBandXyZoomModifier, NumberRange, LegendModifier, MouseWheelZoomModifier, ZoomPanModifier, ZoomExtentsModifier } = SciCha..
[PostgreSQL] Windows 외부 접속 허용 설정 및 외부 접속 방법
·
🐥 Web/❔ Back-end | etc.
postgresql.conf 수정 C:\Program Files\PostgreSQL\15\data_ 경로에 postgresql.conf listen_addresses = '*' 로 설정 - 모든 ip 주소에서 접속 허용 white list ip 설정하고 싶으면 ip 주소 쓰기 ps_hba.conf 수정 C:\Program Files\PostgreSQL\15\data 경로에 pg_hba.conf # IPv4 local connections: host all all 0.0.0.0/0 scram-sha-256 IPv4 local connection address 0.0.0.0/0 으로 수정(원래는 127.0.0.1) 방화벽 설정 고급 보안이 포함된 windows defender 방화벽 인바운드 규칙 - 새 규..
[라이트 딥러닝] 1. 넓은 시각으로 보는 머신러닝 개괄
·
🐬 ML & Data/🦄 라이트 딥러닝
2022년 11월 Chat GPT가 대중적으로 굉장히 넓게 알려지면서 서서히 붐이 오고 있던 인공지능 시장이 그야말로 전성기를 맞이했다는 생각이 드는 요즘입니다. LLM(Large Language Model) 뿐만 아니라 CV(Computer Vision) 분야에서는 저작권 문제가 대두되고 있기는 하지만 사진과 그림체를 학습시켜 그림체를 입은 새로운 그림을 만들어내고, 음성합성 분야에서는 인공지능을 활용해 TTS가 노래를 부르게 하기도 합니다. 눈에 보이는 서비스를 제공하는 위와 같은 분야를 제외하고도 인공지능을 통한 이상탐지 솔루션, 강화학습을 활용한 게임 봇(Bot) 생성 등 아직 저도 완벽히 쓰임을 다 알지 못하는 무궁무진한 분야에서 딥러닝이 사용되고 있습니다. 이번 포스팅에서는 AI를 공부하기로 ..
[강화학습] Dealing with Sparse Reward Environments - 희박한 보상 환경에서 학습하기
·
🐬 ML & Data/📮 Reinforcement Learning
※ 아래 링크의 내용을 공부하며 한국어로 정리한 내용입니다. Reinforcement Learning: Dealing with Sparse Reward Environments Reinforcement Learning (RL) is a method of machine learning in which an agent learns a strategy through interactions with its environment… medium.com 1. Sparse Reward Sparse Reward(희박한 보상) : Agent가 목표 상황에 가까워졌을 때만 긍정 보상을 받는 경우 현재 실험 환경 세팅과 같음 Curiosity-Driven method agent가 관심사 밖의 환경에도 동기를 받도록 Curric..
[Obsidian] 커뮤니티 플러그인 추천 및 Git을 활용한 연동법
·
🌠 etc.
지난 포스팅에서는 Obsidian과 Notion을 비교하는 내용을 다뤘었는데, 이번 포스팅에서는 어차피 옵시디언으로 넘어온 거! 기깔나게 써봅세! 하는 마음가짐으로 커뮤니티 플러그인 소개를 하도록 하겠다. 이전에 말한 것처럼 옵시디언은 유저가 개발한 플러그인을 다운받아서 기능을 확장시킬 수 있는데, 이게 사실상 옵시디언을 사용하는 이유라고 해도 무방하다. 그럼 바로! 시작하도록 하겠다. 정렬 순서는 추천순은 아니고 생각난 대로이다. Git 활용법만 궁금하시면 1번은 생략하시고 2번으로 넘어가시면 된다. 1. Obsidian 커뮤니티 플러그인 추천 a. Calendar 안녕하세요, 데일리 노트 없이는 살 수 없는 사람입니다. 나와 같은 종류의 사람이라면 장담컨데 옵시디언으로 넘어와서 가장 먼저 찾은 게 캘..
[Obsidian] Notion vs Obsidian, 내가 Obsidian으로 이사한 이유
·
🌠 etc.
2~3주 전이었나? 업무시간 중간에 Notion 서버에 잠시간 장애가 발생했던 적이 있다. 나는 내 기억력을 안 믿는 편이라 해야할 업무부터 일하면서 리서치한 내용 등을 노션에 다 기록해두고 쓰고 있어서 아주, 아주, 아주 불편한 시간이었다. 그때 결심했다. 아, 대체제를 찾아야겠다. 그때 Obsidian을 알게 됐다. 노마드 코더의 영상을 보고(사실 봤다기엔 썸네일만 봤다) 처음으로 Obsidian을 접하게 되었고, 장단점을 비교한 여러 글들을 읽어보고 이사를 결심하게 되었다. 이사 과정이 조금 험난하기도 했고, 적응에도 시간이 필요해서 이제 조금 알 것 같은 기분이라 나처럼 이사를 고민 중인 분들을 위해서 기록을 남겨보려고 한다. 연동성, 디자인(이라 쓰고 사용자 경험), 확장성을 중심으로 비교해보자..
[강화학습] DDPG(Deep Deterministic Policy Gradient)
·
🐬 ML & Data/📮 Reinforcement Learning
DQN의 차원의 저주 문제(고차원 action을 다루는 경우 연산 속도가 느려지고 memory space를 많이 요함)를 off-policy actor critic 방식으로 풀어낸다. 기존 DQN 방식의 insight들에 batch normalization replay buffer target Q network Actor-critic 파라미터화 된 actor function을 가짐 actor function : state에서 특정 action으로 mapping하여 현재 policy를 지정 policy gradient 방식으로 학습 여기에서 J가 Objective Function(목표함수) actor function이 목표 함수를 gradient asent로 최대화→ 이 때의 policy parameter..
[강화학습] Dueling Double Deep Q Learning(DDDQN / Dueling DQN / D3QN)
·
🐬 ML & Data/📮 Reinforcement Learning
Dueling Double DQN https://arxiv.org/pdf/1509.06461.pdf https://arxiv.org/pdf/1511.06581.pdf Double DQN DQN에서 reward를 과대 평가하는 문제가 있음. Q Value가 agent가 실제보다 높은 리턴을 받을 것이라고 생각하는 경향 ⇒ Q learning update 방정식에 다음 상태(state)에 대한 Q value 최대값이 존재하기 때문 Q 값에 대한 max 연산은 편향을 최대화한다. 환경의 최대 true value가 0인데 agent가 추정하는 최대 true value가 양수인 경우에 성능 저하 해결을 위해 두 개의 network 사용. Q Next : action selection → 다음 액션으로 가장 좋은 ..
[Computer Science] CPU 작동원리
·
🔮 CS
CPU 작동원리 CPU 구성 연산 장치(ALU) 산술 / 논리 연산 수행 데이터를 레지스터에서 읽어오고 다시 레지스터에 결과를 저장 제어 장치 명령어의 순서를 제어 주기억장치에서 명령어를 가져와 해독 → 실행을 위한 신호를 기억/연산/입출력 장치로 전송 레지스터 고속 기억 장치 명령어 주소, 코드, 데이터, 결과 등을 임시 저장함 종류 범용 레지스터 일반적인 데이터/연산결과 저장 특수목적 레지스터 특수 목적으로 사용되는 레지스터 특수목적 레지스터 MAR(Memory Address Register) : 읽기/쓰기 수행하는 주기억장치 주소 PC(Program Counter): 다음에 수행할 명령어 주소 IR(Instruction Register): 현재 실행중인 명령어 MBR(Memory Buffer Reg..