전체 글
![[CS] Main Memory](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsDcvW%2FbtrZR1SqaFe%2FDV3lCbIF6FSpSDVmKmjeek%2Fimg.jpg)
[CS] Main Memory
메인 메모리(main memory) == 주기억장치 == Random Access Memory(RAM) CPU가 직접 접근할 수 있는 기억 장치 프로세스가 실행되려면 프로그램이 메모리에 올라와야 한다 RAM은 DRAM(주기억장치), SRAM(캐시, 레지스트리)가 있음 CPU는 레지스터가 지시하는대로 메모리에 접근하여 다음에 수행할 명령어를 가져옴 명령어 수행 시 메모리에 필요한 데이터가 없으면 해당 데이터를 우선 가져와야 함 이 역할을 하는 것이 바로 MMU. MMU (Memory Management Unit, 메모리 관리 장치) CPU 코어안에 탑재되어 가상 주소를 물리주소로 변환해 준다. 메모리 보호나 캐시 관리 등 CPU가 메모리에 접근하는 것을 총 관리해주는 하드웨어 메모리의 공간이 한정적이기 때..
[Error] Mixed Content: The page at 'https://...' was loaded over HTTPS, but requested an insecure resource
암호화된 HTTPS 페이지에 암호화되지 않은 HTTP를 통해 요청할 때 발생하는 에러다. 스프링부트에 ssl을 설치하면 된다 SpringBoot 무료 SSL 인증서 적용하기 (Certbot) 1. 필요성 SSL 인증서 없이 웹 어플리케이션을 서버에 올리면 http로 접속이 되고 아래와 같은 경고가 나타난다. "주의요함" 클릭해보면 보안이 취약하다는 문구가 뜨는게 내가 만들었지만 들어가 subbak2.com 파일을 받을땐 github를 이용해서 파일을 스프링으로 옮겼음 Error :NET::ERR_CERT_COMMON_NAME_INVALID 해결 도메인마다 ssl 인증서가 다르게 발급되는데 새로 발급되기 전의 도메인으로 요청을 해서 이런 오류가 나왔음 # VITE_SERVER_DOMAIN=https://i..
![[Jenkins] Jenkins로 nginx + react 빌드 및 배포하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbp8LMq%2FbtrX1wz0kqy%2FTRCmDntVkukr7lwcJh8W80%2Fimg.png)
[Jenkins] Jenkins로 nginx + react 빌드 및 배포하기
react 배포 준비 npm run build 명령어를 통해 frontend 프로젝트 build 진행 ※ 단, script에 따라 build 결과 생기는 디렉토리가 build가 아니라 dist나 다른 이름의 폴더일 수도 있음을 유의 Frontend의 Dockerfile과 Nginx 구성 파일을 작성 nginx.conf server { listen 3000; location / { root /app/build; index index.html; try_files $uri $uri/ /index.html; } } Dockerfile # nginx 이미지를 사용합니다. 뒤에 tag가 없으면 latest 를 사용합니다. FROM nginx # root 에 app 폴더를 생성 RUN mkdir /app # work..
[CS] UI & UX에 대해
개발에 대해 배우고 프로젝트를 시작하면 가장 많이 듣고 경험하는 개념인 UI & UX에 대해 알아보려고 한다 UI & UX 디자이너라는 직군이 따로 있을정도로 쉽지만 중요한 개념이다 Why? 우리가 개발을 하는 이유는 사용자를 위한 개발을 하기 때문 UI (USER INTERFACE) UI는 사용자가 제품/서비스를 사용할 때, 마주하게 되는 것, 화면 즉, 사용자가 제품/서비스와 상호작용할 수 있도록 만들어진 매개체 따라서 UI 디자인은 폰트, 칼라, 레이아웃과 같이 사용자가 마주하게될 시각적인 디자인 UX (USER EXPERIENCE) UX는 사용자 경험의 약자로, 사용자가 어떠한 서비스/ 제품을 직간접적으로 이용하면서 느끼는 종합적인 만족을 의미 UX 디자인이란 사용자에게 만족스러운 경험을 제공하는..
[CS] 웹에서 일어나는 Push, Pull, Polling, WebSocket에 대해
Push 클라이언트의 요청이 오면 응답해주는 방식이 아닌 서버가 클라이언트에게 공지사항과 같은 무엇인가 통지해주기 위한 방법이다 다시 말해 클라이언트의 요청이 없이도 서버는 클라이언트에게 응답하는 방식이다 웹 푸시(Web Push): 웹사이트 방문자에게 ‘웹 브라우저‘를 통해 푸시 알림을 수신하는 기능 앱 푸시(App Push): 스마트 기기에 설치된 ‘앱‘을 통해 운영자가 제공하는 정보를 수신하는 알림 기능 Pull 반대로 서버의 데이터를 주기적으로 클라이언트가 가저가는 것 혹은 달라고 서버에 요청하는 것을 말한다. Polling Real-Time Web을 위한 기법으로 특정 주기적으로 서버와 응답을 주고 받는 방식 클라이언트가 평범한 http request를 서버로 계속 날려서 이벤트 내용을 전달받는..
[CS]CSRF & XSS & CORS에 대해
스프링 시큐리티에 대해 공부하던 중 CSRF & XSS에 대한 개념이 많이 언급되서 정리를 해보려고 한다 사실 여러번 들어보고 개념정도는 말할 수 있지만 좀 더 자세히 공부를 해보는게 좋을 것 같다 CSRF(Cross-Site Request Forgery), 사이트 간 요청 위조 말 그대로 사용자가 자신의 의지와는 무관하게 사이트 간의 통신이 일어나는 중에 요청(Request)를 위조해서 공격한다는 의미 대표적으로 2008년에 옥션에서 CSRF로 인한 해킹사건이 일어났었다 옥션 관리자 중 한명이 관리 권한을 가지고 있는 상태에서 회사 내에서 작업하던 중 메일이 날라왔는데 그 메일을 열어볼 때 해킹을 하여 시원하게 털린 기록이 있음 ** 여기어때는 2017년에 SQL Injection으로 털림 대처방법 S..

눈물없인 들을 수 없는 땅지원의 서버 설정 이야기
이야기처음에 gitlab cicd를 이용하여 적용을 해보려고 했는데 gitlab-cicd.yml 작성하는게 너무너무너무 어려웠다. 관련자료도 너무 없어서 수요일을 모두 날리고 목요일 아침에 출근하자마자 Jenkins로 하자고 눈물을 머금고 갈아탔다.서버안에 도커를 깔아서 MariaDB, Redis, OpenVidu, Jenkins 4가지 Container를 돌린다=========================================여기까지 진짜 완벽함 그리고 docker에 Jenkins를 설치하고 Jenkins 계정을 생성하고 플러그인을 다운을 하는데 갑자기 청천벽력 같은 에러를 마주한다 계절학기 때 Jenkins에 대해 충분히 경험을 해본 땅지원은 한번도 만난적없는 이런 에러에 당황을 했지만 침착하..
![[Jenkins] Jenkins로 Springboot 빌드 및 배포하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcxgYKk%2FbtrXdaesPUu%2F6byenbQA8WUVe57rBdsNP0%2Fimg.png)
[Jenkins] Jenkins로 Springboot 빌드 및 배포하기
Jenkins 설치 sudo docker run -itd --name jenkins -p 8080:8080 -v /docker/jenkins:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -e TZ=Asia/Seoul -u root jenkins/jenkins:lts 바로 명령어 실행하면 알아서 jenkins/jenkins:lts 버전 받아짐 # 이걸로 하는게 맞는듯? sudo docker exec -it jenkins bash sudo docker exec -it jenkins /bin/bash cat /var/jenkins_home/secrets/initialAdminPassword ** 다른 방법으로 젠킨스 설치하고 싶을 떄 Jenk..