728x90
반응형
728x90
반응형
정규화단일 atom 객체로 각각 다 테이블 별 쪼개서join 치는거 정규화 데이터베이스(Normalized Database)는 중복을 최소화하도록 설계된 데이터베이스를 말한다. 적절히 비정규화 db 섞어서 씀비정규화의 장점은 바로 1. 빠른 데이터 조회(Join 비용이 줄어들기 때문), 2. 데이터 조회 쿼리의 간단화이다.각 테이블 비용이 줄어듦 단점은?하지만 비정규화의 단점은 바로 1. 데이터 갱신이나 삽입 비용이 높음, 2. 데이터의 무결성 해침, 3. 데이터 중복저장으로 인한 추가 저장공간 확보 필요가 있다. 정규화의 장점은 1. 데이터베이스 변경 시 이상현상 제거, 2. 효과적인 검색 알고리즘 생성, 3. 데이터 구조의 안정성, 무결성 유지 등이 있다. 하지만 단점은 1. Join연산의 증가로 응..
2년만의 이직 최근 불경기에도 불구하고 운이 좋게 좀더 좋은 조건으로 이직에 성공했다.그렇게 실력이 좋지 않음에도 이직이 된 이유를 추측해보건데, '대형 프로젝트 경험 인력 요구 사유'가 해당 면접 합격의 큰 요인이 된 듯하다. 대형 서비스 개발 경험을 기반으로 현재 MVP 서비스 단계를 점차 고도화시켜야하니까!(근데 난 잘 모르는데...!?) 솔직히 면접 합격이 들어왔을때 기존에 있던 SI 에서 좀더 경험을 쌓는 것을 좀더 고민했었다.아무래도 프로젝트 규모도 다르고, 각각의 사이트마다 배웠던 내용을 통해 스스로 성장을 하는 것이 느껴져서 더 그랬던 것 같다. 그래도 SI에서 배웠던 부분을 SW에 적용하면 보다 만족감과 실력 향상에 도움이 될 까하여 최종 입사를 결정했다. SI는 다 나쁜것이 아닌가요?..
요즘에 대부분의 게임들이 구글 로그인 연동해서 회원가입을 잘 시켜줍니다. 아주 편리하죠. 근데 항상 구글 통해서 로그인만 하고나면, 여러분들 피씨방에 가서 게임 HTTP를 사용할 때 해커가 정보를 중간에 가로채는 방법을 설명하겠습니다. 이를 통해 HTTP와 HTTPS의 차이를 더욱 명확하게 이해할 수 있습니다. ### MITM 공격 (Man-In-The-Middle Attack) **1. 개요** - MITM 공격은 해커가 사용자의 통신을 가로채고, 정보를 엿보거나 수정할 수 있는 방법입니다. HTTP는 데이터를 암호화하지 않기 때문에 해커가 쉽게 접근할 수 있습니다. **2. 공격 과정** **단계 1: 네트워크 접근** - 해커는 공용 Wi-Fi 같은 불안정한 네트워크에 접근합니다. 예를 들어, 카페..
하기 전 준비물 2개 1. ESSID와 ERCR 정보들을 갖고오기 위해 kali linux 사용- VMWARE 사용하거나- 갖고있는 노트북 사용* 단 VMWARE 사용하면 WLAN USB 형식 하나 필요함 2. hashcat 다운로드https://hashcat.net/files/hashcat-6.2.6.7z kali linux에서ip addr 하여 wlan 활성화 되어있는지 파악 비밀번호 찾아낼 와이파이 리스트 scansudo wifite --wpa --kill 후index 번호로 wifi 선택* WPA Handshake Attack 사용* 나머지 Attact 들은 Ctrl + C 하여 무시하고 c 로 넘김파악한 .cap 파일 확인cd /hs hccapx 형식으로 변환/usr/share/hashcat-..
sh 파일 실행아래 파일을 다운 받아서 sh ubuntu_reset.sh 로 실행하거나,명령어 실행아래 명령어를 하나씩 입력하여 초기화 하면된다.# 모든 패키지 제거sudo apt-get purge -y $(dpkg --get-selections | grep -v deinstall | grep -v "apt" | grep -v "dpkg" | grep -v "grub" | grep -v "sudo" | grep -v "login" | grep -v "libc6" | grep -v "init" | awk '{print $1}')# 필수 패키지 재설치sudo apt-get install --reinstall ubuntu-server# 설정 파일 재설정sudo cp -r /etc/skel/. /etc/# 시스..
개요최근에 관심이 있는 분야이기도하고 회귀 분석 쪽으로도 접목시킬 수 있는 장점이 있어서오픈소스 컨트리뷰터 및 프로그램 개발을 위해 해당 오픈소스 분석 시작! 최근 정리한 오픈소스 분석 방법론을 통해 순차적으로 뜯어볼 예정이다.(너무 어렵지만 해결했을 때의 짜릿함 기대중)https://timmer.tistory.com/350 깃허브 내 오픈소스 코드 분석하는법 총 정리 - 순서대로만 따라하면 이해되는 오픈소스코드 분1. 배경지식을 갖출 것정렬이라던가 검색같은데 특정 알고리즘을 사용했다면,해당 알고리즘의 작동원리 이해하고 난 후 분석하는 것이 효율적이다. 만약 해당 지식이 없이 코드로만 이해하려timmer.tistory.com 1. 배경지식을 갖출 것간단하게 한줄로 요약이 가능하다.'비트코인 투자 자동화 ..
1. 배경지식을 갖출 것정렬이라던가 검색같은데 특정 알고리즘을 사용했다면,해당 알고리즘의 작동원리 이해하고 난 후 분석하는 것이 효율적이다. 만약 해당 지식이 없이 코드로만 이해하려고 한다면, 비효율적인 시간이 수반된다. 또한, 분석하려는 오픈소스의 도메인이 본인의 관심사에 부합해야한다.관심도 없는 오픈소스를 분석하려면 재미가 없어서 고문이 아닐까...? 2. 큰 그림을 보자각각의 파일 내 개별 함수부터 파악하기보다는, 먼저 튜토리얼의 문서 및 관련 md 를 먼저 살펴본다. 오픈소스이므로 소스트리를 막 만들어놓지는 않았기 때문에 (대부분 그럼),소스트리의 구조와 문서를 비교해가며 소스코드의 큰 그림을 파악한다. 프로젝트 구조 파악이 우선!왜 이 코드의 기능을 이렇게 설계했을까를 생각하며 파악하자. 3..
개인적으로 사용했던 이유회사에서 업무를 맡으면서 주로 도커와 클라우드 스토리지 (S3) 를 사용하는데,이번에 리눅스 서버 내 로컬 스토리지를 사용하는 일이 있었다. 이 때 서버 내 nginx 를 사용하여 백엔드 load balancer를 사용하여 같은 파일을 공유해야하는 문제가 발생했다.(load balancer로 백엔드를 여러개 구성하면, 각각의 개인 저장 파일을 참조하기 때문에 문제가 발생함) 이 문제를 각각의 backend 를 공용 volume에 마운트하여 로컬 스토리지를 같이 공유하여 해결함. 도커 Volume이란?도커를 사용하여 앱을 실행하여 어떤 이미지나 파일을 저장한다고 해보자.나중에 사용하지 않는다고 그 앱(도커 이미지)을 지워버리면, 내부에 저장되어있는 이미지 혹은 파일도 다 날아간다.하..