오도원입니다.

건강과 행복을 위하여

반응형

전체 글 305

localhost랑 127.0.0.1이랑 똑같은거 아니야?

localhost와 127.0.0.1은 기능적으로 비슷해 보일 수 있지만, 웹 개발과 CORS(Cross-Origin Resource Sharing) 문제와 관련하여 다르게 취급될 수 있습니다. 둘 다 로컬 머신을 가리키지만, 하나는 도메인 이름(localhost)이고 다른 하나는 IP 주소(127.0.0.1)입니다. 이 차이 때문에 브라우저와 서버가 이 둘을 서로 다른 출처로 인식할 수 있으며, 이는 CORS 정책에 영향을 줄 수 있습니다. CORS와 출처(Origin) CORS 정책은 웹 보안의 핵심 요소로, 웹 애플리케이션에서 다른 출처의 리소스를 요청할 때 이를 제한합니다. "출처"는 프로토콜(http://, https://), 호스트(localhost, example.com), 포트(3000, ..

Development 2024.03.29

Golang. miniredis를 사용하여 redis 테스트하기

Redis를 사용하는 함수를 테스트하기 위해서는 테스트 환경에서 실제 Redis 인스턴스 대신 테스트용 Redis 인스턴스(예: miniredis 라이브러리를 사용한 가상의 Redis 서버)에 연결하여 테스트를 진행할 수 있습니다. 이 방법은 외부 Redis 서버에 의존하지 않으므로, 테스트를 더 빠르고 신뢰성 있게 만듭니다. 아래는 miniredis를 사용하여 Redis를 사용하는 간단한 함수를 테스트하는 Go 코드 예시입니다. 이 예제에서는 SetKey라는 함수가 Redis에 키와 값을 저장하는 기능을 수행한다고 가정합니다. 먼저, miniredis를 설치해야 합니다: go get github.com/alicebob/miniredis/v2 테스트 코드 예시: package main import ( "..

Development 2024.03.12

Golang. go 환경 asdf로 관리하기

기존에 설치된 go는 asdf와 충돌나니까 삭제 > sudo rm -rf ~/go 또는 /usr/.local/go > which go로 어디 설치되어있는지 알 수 있음 export PATH="$HOME/.asdf/bin:$HOME/.asdf/shims:$PATH" 이거 zshrc나 bashrc에 추가 Install Go using asdf for Visual Studio Code on macOS I had a lot of issues trying to install Golang on macOS using asdf package manager to develop on Visual Studio Code. So here's the steps needed to setup it properly: Open Term..

Development 2024.03.11

Python. pip freeze 시, 버전명이 '@ file:///' 로 뜨는 문제

문제 상황 현재 환경에서 사용하고 있는 라이브러리 패키지 정보들을 가져올 때 보통 아래처럼 `pip freeze` 명령어를 사용해 `requirements.txt` 파일로 저장한다. pip freeze > requirements.txt 그럼 아래와 같이 해당 환경에 설치된 패키지들의 정보가 `requirements.txt` 파일에 저장된다. clickhouse-driver==0.2.5 clickhouse-sqlalchemy==0.2.3 colorama @ file:///croot/colorama_1672386526460/work colorlog==4.8.0 colour==0.1.5 commonmark @ file:///Users/ktietz/demo/mc3/conda-bld/commonmark_16306..

Development/Python 2024.01.22

conda 로 pymol, openbabel 설치시 주의사항

pymol-open-source=2.5, openbabel=3.1.1 기준입니다. conda를 이용해서 이들을 설치할 때 순서를 잘 선택해야 합니다. conda install -c conda-forge openbabel conda install -c conda-forge pymol-open-source 이 순서로 설치 시... conda 사용 중에 매우 보고 싶지 않은 다음과 같은 것이 출력됩니다. Collecting package metadata (current_repodata.json): done Solving environment: failed with initial frozen solve. Retrying with flexible solve. Solving environment: failed wi..

Development/Python 2024.01.18

Python. poetry with requirements.txt

requirements.txt requirements.txt는 파이썬 프로젝트에서 사용하는 외부 라이브러리와 해당 라이브러리의 버전 정보를 명시적으로 작성하는 파일입니다. JS의 package.json과 같은 녀석 예시 numpy==1.20.2 pandas==1.2.3 matplotlib==3.4.0 사용 방법 pip으로 패키지들을 설치하고 나서 pip freeze > requirements.txt 를 사용하면 작성이 된다. JS에서 모듈 설치하면 자동으로 명시가 되는데 이걸 수동으로한다. 심지어 txt 확장자다. 역하다 레포지토리 구성할 때 pip install -r requirements.txt로 설치 poetry pip install을 통해 의존성을 설치했지만 패키지 관리가 수동이라니.. 너무 불편..

Development/Python 2024.01.18

react native. 카카오 친구목록 클론코딩

프론트에서 필요한 데이터를 미리 준비하자 컴포넌트를 어떻게 구성할지 생각하자 상태바의 크기는 react-native-iphone-x-helper로 구할 수 있다. -> 아카이빙됨. getBottomSpace, getStatusBarHeight로 구해서 이만큼 패딩주면됨 react-native-safe-area-context를 사용하자. 아이콘은 @expo/vector-icons를 사용하자. 패딩, 마진값을 보고싶으면 백그라운드 컬러를 이용하자. react-native-safe-area-context를 사용하여 상태바 크기 구할 수 있다. https://github.com/th3rdwave/react-native-safe-area-context 로 를 감싸서 사용한다. 에 안전한 영역으로 사용할 부분을 e..

react native. custom hook

컴포넌트를 어떻게 나눌 수 있을까 고민하자. flexDirection row: 가로 column: 세로 클래스 컴포넌트에서 props 접근은 this.props로 접근한다. 커스텀 훅 - 커스텀 훅은 이름이 use로 시작해야한다. - value, setValue, resetValue 3가지를 리턴한다. import React, {useState} from 'react' import {View, TextInput, Button} from 'react-native' const InputBox = (props) => { return } // Custom Hook const useInput = (initialValue) => { const [value, setValue] = useState(initialValu..

react native. 컴포넌트와 props

컴포넌트: 재사용 가능한 객체 props: 부모 컴포넌트가 자식 컴포넌트에게 전달하는 데이터 -> 읽기전용이므로 자식이 변경 불가능. 변경하고 싶으면 state 사용 컴포넌트 1. 클래스형 - class 키워드 필요 - Components 상속 필요 - render 메소드 필요 2. 함수형 -> 추천 - state, lifeCycle은 hook으로 사용해야함 - 클래스보다 메모리 사용 적음 - 컴포넌트 선언이 편함 - 공식문서에서는 함수형 + hook 사용을 권장

pod와 deployment 차이

Pod는 단 한개로서 생성 및 관리 되지만, Deployment는 관리되는 그룹 안에서 지정된 파드(들)이 생성된다. 즉, deployment > pod Pod VS Deployment Deployment 생성 스펙에 replicas가 pod의 개수를 의미한다. apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerP..

데브옵스 2023.09.14

poetry repo install

- pyproject.toml 파일이 있어야함 1. https poetry add git+https://github.com/repo.git 2. ssh poetry add git+ssh://github.com/repo.git 3. 태그지정 poetry add git+ssh://github.com/repo.git@{태그} 4. subdirectory 다운로드 poetry add git+ssh://github.com/repo.git#subdirectory={경로} 5. pyproject.toml로 다운로드 패키지 = {git = "ssh://github.com/{유저}/{레포}.git", subdirectory = "{경로}", tag="{태그}"} 지정 후, poetry install 수행

Development/Python 2023.06.27

1. 코틀린의 시작

1. 코틀린이란? 코틀린은 100% 자바와 호환이 가능한 프로그래밍 언어이다. 안드로이드와 웹개발에서 자바를 대체하기 위해서 개발(JetBrains)된 언어. 오픈소스로 2012년에 릴리즈되었다. 17년에 구글 안드로이드 개발 공식언어로 코틀린을 채택. 2. 특징 자바의 약점(null 등)을 개선하면서 JVM과 호환될 수 있게 개발되었다. 자바의 안드로이드, 웹서비스는 물론이고, 자바스크립트와 스위프트의 연동 개발도 가능하다. 가장 큰 장점으로 Null safe와 coroutine이 존재한다. coroutine은 많은 코드를 한번에 실행할 수 있다. → 다른 언어보다 빠르다. 호환? Java에서 Kotlin 코드를 부를 수 있고, Kotlin에서 Java 코드를 부를 수 있다. Kotlin은 Java b..

Development/Kotlin 2021.04.28
반응형