728x90

전체 글 162

[React]Themes를 이용한 일관성 있는 스타일 관리

이번 캡스톤을 하면서 일관성 있는 스타일 관리의 필요성을 깨달았다. 이때, 예전에 배웠던 Themes를 적용하면 좋을 것 같다고 생각하여 간단하게 복습할겸 정리해보았다. ✨ 🔎Themes를 React 프로젝트에 적용하는 방법 styled-components를 이용하면 된다. 설치하고 다음과 같이 파일을 작성한다. 1. theme 파일 작성하기 theme 파일에 사용할 스타일을 작성한다. import { DefaultTheme } from "styled-components"; export const theme: DefaultTheme={ bgColor: "#EFEFEF", subBgColor: "#FFFFFF", textColor: "#2f3542", primaryColor: "#22a6b3", secon..

💻웹(Web)/React 2023.06.17

[React]CORS 에러

캡스톤 프로젝트를 진행하면서 마주했던 에러 중 하나는 CORS 에러였다. 처음 백엔드 팀원분들과 연동을 시도했을 때  CORS 에러가 발생하여 조금 고생했다 히히 ~ 🥹😢 📖CORS(Cross Origin Resource Sharing, 교차 출처 리소스 공유)CORS란 다른 출처(origin) 간 리소스를 공유가능하도록 하는 매커니즘이다. CORS는 다른 출처의 자원의 공유를 가능하게 만들며, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려준다. 이때, CORS에러란 브라우저가 보안 정책 중 하나인 SOP 정책을 따르기 때문에 발생한다.  🔎SOP(Same Origin Policy, 동일 출처 정책)브라우저는 보안 정책 중 하..

💻웹(Web)/React 2023.06.16

[React]카카오톡 소셜 로그인, 구글 소셜 로그인 구현

https://github.com/seoyoung927/social_login_ex GitHub - seoyoung927/social_login_ex: social login with kakao and google social login with kakao and google. Contribute to seoyoung927/social_login_ex development by creating an account on GitHub. github.com 캡스톤 프로젝트를 진행하면서 소셜 로그인을 구현하는 방법을 공부해보았다. 여러 가지 이유로 결국 소셜 로그인 방식이 아닌 아이디/비밀번호 방식의 로그인으로 캡스톤 프로젝트 개발을 진행하였지만, 공부한 내용을 간단히 정리해보았다. 소셜 로그인을 구현하는 과정..

💻웹(Web)/React 2023.06.15

[인터넷보안]방화벽

🔎방화벽 방화벽은 보안을 높이기 위한 일차적인 수단이다. 방화벽은 신뢰하지 않는 외부 네트워크와 신뢰하는 내부 네트워크 사이를 지나는 패킷을 미리 정한 규칙에 따라 차단하거나 보내주는 기능을 하는 하드웨어나 소프트웨어이다. 🔎방화벽의 기능 📎접근제어 방화벽은 관리자가 미리 설정한 규칙에 따라 패킷을 차단하거나 허용한다. 📎로깅 및 감사추적 로깅은 룰셋의 설정과 변경, 관리자의 접속, 네트워크 트래픽의 허용과 차단과 관련된 사항을 로그로 남긴다. 방화벽은 로깅을 통해 방화벽을 통과하는 패킷과 연결, 관리자의 설정 변경 정보 등을 로그로 남긴다. 📎인증 식별 + 인증 + 인가 - 식별: 인증을 받으려고 하는 대상을 특정짓는다. - 인증: 주체가 자신이 주장한 신원임을 증명하는 것 - 인가: 자원에 접근하여 ..

카테고리 없음 2023.06.04

세션 기반 인증, 토큰 기반 인증, JWT를 통한 인증 절차(with Access Token, Refresh Token)

📖세션 기반 인증🔎세션이란?세션이란 서버측에 저장되는 임시상태정보이다. 서버 측에 저장되므로 보안성이 높지만, 확장성이 떨어진다는 단점이 있다.사용자가 접속하면 서버는 고유한 세션 ID를 생성해 사용자에게 전송한다. 사용자는 쿠키/로컬 스토리지 등에 세션 ID를 저장한다. 세션 ID 자체에는 중요한 정보를 가지고 있지 않으므로 보안성 측면에서 안전하다. 만약, 세션 ID가 탈취 당했다면 서버는 단지 해당 세션을 만료시키면 된다. 사용자는 요청시에 세션 ID와 함께 요청을 전달하며, 서버는 이를 통해 사용자의 정보를 확인할 수 있다.서버는 세션 정보를 톰캣의 WAS, DB, 메모리 DB 등에 저장할 수 있다. 메모리 DB에는 Redis 등이 있다. ✏️쿠키와 세션의 비교쿠키는 클라이언트에 저장되는 작은..

💻웹(Web) 2023.03.26

Lab3 : [Analyze Ext2 file system internal]

목표: 2번 directory의 89파일과 98파일 찾기 1. Root Directory에서 찾을 File이 속한 Directory의 Inode Number를 찾는다. 1단계에서 이루어진 내용 정리: 찾고자하는 파일이 속한 directory의 위치를 알 수 없다. Root directory에서 찾고자 하는 파일이 속한 directory이 Inode number를 찾는다. Inode number를 찾으면 Inode table에서 Inode의 위치를 찾을 수 있다. Superblock을 분석하여 Inode table의 위치를 찾을 수 있다.(Supberblock은 file system에 대한 Meta-data를 관리한다.) Inode table에서 Root directory의 Inode number를 통해서..

기타/운영체제 2022.06.06

[운영체제]Advanced File System

1. Locality and Fast File System 2. Crash Consistency: FSCK and Journaling 3. Summary. Feature of Various FS: Ext2/3/4, FAT, Flash FS 2. Crash Consistency: FSCK and Journaling 3. Summary. Feature of Various FS: Ext2/3/4, FAT, Flash FS Advanced File System 1. Locality and Fast File System UFS(Unix File System) :Unix가 처음 만들어졌을 때 만들어졌던 Unix File system이다. 구조 Boot sector 시스템에 처음 전원이 들어왔을 때 부팅에 필요한 정..

기타/운영체제 2022.06.04

[운영체제]Paging

1. paging: Introduction 2. TLB 3. Advanced Page Tables 4. Beyond Physical Memory: Mechanisms 5. Beyond Physical Memory: Policies 1. paging: Introduction Paging을 사용하는 이유 *가변 크기 할당, Segmentation 장점 -sharing, protection support(공유, 보호기능을 제공한다.) -Address translation, using segment table(segment들이 physical memory의 어디에 올라가는지 확인하기 위해서 segment table을 사용한다.) 단점 메모리 단편화 현상이 발생해, free space가 조각나서 관리된다. 단편화..

기타/운영체제 2022.06.03

[운영체제]Memory Virtualization

Memory Virtualization, 메모리 가상화 1. Memory Virtualization 2. The Abstraction: Address Space 3. Interlude: Memory API 4. Mechanism: Addess Translation 5. Segmentation 6. Free-Space Management 1. Memory Virtualization 가상화에는 두 개의 중요한 축이 있다. CPU Virtualization과 Memory Virtualization이다. CPU Virtualization은 process와 thread의 개념으로 설명되었다. Memory Virtualization를 이해하기 위해서 가장 중요한 것을 프로그램이 만드는 모든 Address는 Virt..

기타/운영체제 2022.05.23
728x90