전체 글 63

운영체제 - 기본

1. 운영체제란? 운영체제는 컴퓨터 시스템을 관리하고 제어하는 소프트웨어. 컴퓨터 하드웨어와 응용 프로그램 사이에서 중재자 역할을 하며, 사용자와 하드웨어 간의 효율적인 소통을 도와준다. 2. 주요 기능 가. 자원 관리 운영체제는 컴퓨터의 자원을 효율적으로 관리한다. 이는 CPU, 메모리, 저장장치, 입출력 장치 등을 포함. 프로그램이 자원을 요청할 때 운영체제는 이를 조절하여 각 프로그램이 원활하게 동작할 수 있도록 지원한다. 나. 프로세스 관리 프로세스는 실행 중인 프로그램을 의미하며, 운영체제는 이러한 프로세스를 생성하고 관리한다. CPU의 할당, 우선순위 결정, 프로세스 간 통신 등을 조절하여 효율적인 작업을 수행한다. 다. 파일 시스템 관리 데이터를 저장하고 검색하기 위한 파일 시스템도 운영체제..

SEO - meta tag (og:description, description 차이점)

메타 태그에서 og:description과 description은 각각 Open Graph 프로토콜과 일반적인 웹 페이지 메타 데이터에 사용되는 태그들이다. 예시를 통해서 한번 알아보자 이거 제대로 작성안해서 네이버 검색엔진에서 빠꾸당한 기억이... og:description 만 적고 아 설명 적었지 하면서 name: description은 안적은 것이다. 그래도 바로 체크해서 반영했다. (바보같았던 그날...) 1) og:description (Open Graph Protocol) 목적: 주로 소셜 미디어 플랫폼에서 공유될 때 사용되는 메타 데이터를 정의한다. 활용: 페이스북, 트위터 등 소셜 미디어에서 링크를 공유할 때 미리보기에 표시되는 설명을 제공. 예시 2) description (일반적인 메타..

JavaScript 2024.01.05

프론트 개발자의 한계

프론트엔드는 사용자와 직접 소통하는 특별한 영역이지만 기술적인 문제들을 부딪힐때마다 한계가 느껴진다 그럴때 마다 이래서 다들 풀스택을 하는건가 싶다. 버그나 다양한 문제를 마주칠때 백엔드, 서버의 이해없이는 풀기 힘든 문제들이 많다고 느껴지기 때문이다. 서버사이드 로직 이라든지 보안이라든지 그런 부분에 이해가 얕은편이고 전체적인 아키텍처를 잘 이해하지못하고 있는거 같다. 시스템 전체를 이해하면서 개발을 해나가면 더욱 좋은 (몸값 높은?) 개발자가 될수 있지않을까 싶다. 나 자신의 성장과 기술의 발전을 쫒아가면서 공부해 나가야겠다… 끄적 끄적 앞으로 소프트웨어 개발 카테고리에 더 많은 글을 작성 할 수 있기를.. 화이팅 해보자!

잡담 2024.01.03

CI/CD Flow - 자동화 배포

1. CI/CD란? CI/CD는 소프트웨어 개발에서의 품질 향상과 속도 향상을 위한 개발 방법론. * Continuous Integration (CI) 개발자들이 작성한 코드를 자동으로 통합하고, 빌드 및 테스트를 수행, 주기적인 빌드와 테스트를 통해 통합 오류를 미리 감지 * Continuous Deployment (CD) 빌드 및 테스트를 통과한 코드를 자동으로 프로덕션 환경에 배포, 지속적으로 안정적인 배포를 실현하며 개발 주기를 단축 2. CI/CD의 이점 1) 가속된 개발 주기 CI/CD를 도입하면 코드 변경이 자주 이루어질수록 더 빠르게 빌드, 테스트, 배포되어 새로운 기능이나 버그 수정이 빠르게 사용자에게 제공. 2)자동화된 품질 보증 자동화된 빌드와 테스트는 품질을 보장하며, 통합 오류를 ..

개발 방법론 - DevOps vs 애자일 vs 워터폴: 비교와 장단점

방법론 비교와 장단점 1. DevOps (Development + Operations) DevOps는 소프트웨어 개발과 IT 운영 간의 협력과 자동화를 강조하는 문화, 철학, 방법론입니다. 개발과 운영 간의 경계를 허물고 지속적인 통합, 배포, 자동화 등을 통해 소프트웨어 제공 과정을 최적화하는 것이 목표. 장점) 빠른 제공: 지속적인 통합과 배포를 통해 빠른 제품 출시 가능. 안정성 향상: 자동화된 테스트와 배포로 안정성을 유지. 단점) 문화 변화 필요: 조직 내에서 협력과 자동화에 대한 새로운 문화를 수용해야 함. 기술적 도전: 기존 시스템과의 통합이나 기술적인 도전에 대한 대응이 필요. 예시) Jenkins, GitLab CI/CD 등의 도구를 활용하여 지속적 통합 및 배포 파이프라인을 구성. In..

Cypress - 테스트 자동화, CI/CD 파이프라인에 통합

Cypress 소개 Cypress는 강력한 엔드 투 엔드(E2E) 테스트 도구로, 사용자 경험을 시뮬레이트하고 테스트하는 데 특히 용이합니다. 다양한 기능과 직관적인 사용자 인터페이스로 프론트엔드 테스트를 쉽게 작성하고 유지보수할 수 있습니다. npm install --save-dev cypress 테스트 작성 // 예시 테스트 파일 (cypress/integration/sample.spec.js) describe('테스트 예제', () => { it('홈페이지 방문', () => { cy.visit('/'); cy.contains('환영합니다!'); // 페이지에 '환영합니다!' 텍스트가 있는지 확인 }); it('로그인', () => { cy.visit('/login'); cy.get('input[n..

JavaScript - 원시값 (Primitive Values) 과 객체 (Feat. CloneDeep)

* 원시값이란? 불변한값 원시값의 종류 1. 문자열(string) 2. 숫자(number) 3. 불리언(Boolean) 4. null과 undefined *객체(Object) 객체는 프로퍼티(속성)를 포함하며, 프로퍼티는 값을 가지거나 다른 객체를 참조 let person = { name: "John", age: 30, city: "New York" }; *깊은 복사(Deep Copy)와 얕은 복사(Shallow Copy) 1. 깊은 복사(Deep Copy) 원본 객체와 복사본이 완전히 독립적으로 되도록 하는 방법 // 깊은 복사 예제 let originalObject = { name: "John", address: { city: "New York" } }; let deepCopyObject = JSON..

JavaScript 2023.12.07

Jest를 사용한 JavaScript Test - 심화

이번글에서 저번에 다뤘던거와 비슷하지만 조금더 응용해서 테스트 코드를 작성해보자. 좀 더 복잡한 코드에선 아래에 코드로 적용해보는것이 좋을거 같다. 1. 모의 (Mocks) 모의는 외부 의존성에 대한 가짜 객체로, 함수 호출 및 동작을 추적하고 기대 대로 모의 객체를 조작할 수 있다. // 사용자 서비스 예시 class UserService { async getUser(id) { // 실제 사용자 데이터베이스에서 사용자를 가져오는 코드 } } // UserService 모의 객체 생성 const mockUserService = { getUser: jest.fn(), }; 2. 스텁 (Stubs) 스텁은 함수의 동작을 가짜로 대체하여 특정 동작을 흉내내도록 하는데 사용된다. // 네트워크 요청 모듈 예시 ..

JavaScript 2023.10.19

Jest를 사용한 JavaScript Test - 기본

Jest는 Facebook에서 개발한 JavaScript 테스트 프레임워크로, JavaScript 애플리케이션의 품질을 유지하고 개선하는 데 도움이 된다. 자 이제 한번 사용방법을 알아보자. 1. Jest 설치npm install --save-dev jest 2. 테스트 파일 생성Jest 테스트 파일은 일반적으로 .test.js 또는 .spec.js 확장자를 사용// example.test.jstest('adds 1 + 2 to equal 3', () => { expect(1 + 2).toBe(3);}); 3. 테스트 실행npx jest 4. 테스트 작성test('2와 2는 같아야 합니다', () => { expect(2).toBe(2);});test('3과 5는 같지 않아야 합니다', () => {..

JavaScript 2023.10.19

구글 계정 로그인 구현 (OAuth)

구글 계정 로그인을 구현하는 방법 https://console.cloud.google.com/getting-started Google Cloud console console.cloud.google.com 1. 구글 개발자 콘솔에서 프로젝트 생성하기 먼저 구글 개발자 콘솔에서 새로운 프로젝트를 생성. 구글 개발자 콘솔에 접속한 후, 새 프로젝트를 생성하고 API 및 서비스를 활성화 2. OAuth 2.0 클라이언트 ID 생성하기 구글 개발자 콘솔에서 OAuth 2.0 클라이언트 ID를 생성. 클라이언트 ID를 생성할 때는 리디렉션 URL도 설정. 이 URL은 사용자가 구글 계정으로 로그인을 완료한 후 리디렉션될 페이지의 URL이다. 로컬 호스트 테스트가 가능하지만 허용목록에 잘추가해줘야됌 3. 클라이언트(..

기타 2023.06.22
반응형