
GitGit은 여러 사람들이 협업을 하기 쉽도록 만든 분산 버전 관리 시스템입니다. Branch- 브랜치란 협업 시, 하나의 프로젝트를 여러 갈래로 나누어서 관리할 수 있는 기능입니다. 각각 독립된 브랜치에서 작업한 후 원래 버전과 비교할 수 있습니다. - 브랜치를 나누지 않고 작업을 할 경우, 여러 사람들이 commit을 할때 충돌이 발생 할 수 있기에 꼭 브랜치를 나눠서 작업하는 것이 문제를 발생하지 않는 방법입니다. Merge- 각각의 브랜치에서 작업해 나뉘어져있는 작업들을 합치는 기능입니다. - 브랜치를 합치는 방법은 4가지 정도 있습니다. 1. 3-way Merge 각 브랜치에 커밋이 있는 경우, git merge 명령어를 사용하면 두 브랜치의 코드를 합쳐서 새로운 커밋으로 만들어주는 방식입..

시멘틱 태그란?웹문서에 포함된 정보의 양이 많아지면서 일관적이지 않은 문서 구조로 웹에서 원하는 정보를 찾는게 어려워지면서 생긴 것입니다.포함된 콘텐츠의 특정 의미를 정의하고 목적을 갖는 태그라고 보면 됩니다. 기존의 태그로 내용을 나눌수 있지만, 구조를 더 명확히 해주는 태그라고 생각하면 됩니다.시멘틱 태그의 요소로는 , , , , , 등이 존재합니다. 이러한 시맨틱 태그 요소는 콘텐츠를 논리적 섹션으로 구성하고 각 부분의 역할과 기능을 전달하는 데 도움이 됩니다.아래 이미지를 보면 더 직관적으로 시멘틱 태그로 이뤄진 웹페이지를 이해할 수 있을 것입니다. 시멘틱 태그의 장점1. 접근성 향상 HTML 시맨틱 태그 요소는 사람들이 웹페이지를 탐색하고 페이지와 상호 작용하는 데 도움이 되는 화면 판독..
CSS의 cascading에 대해 설명해주세요CSS, Cascading Style Sheet의 약자입니다. Cascading은 위에서 아래로 떨어진다는 뜻을 가지고 있습니다. 이 캐스캐이딩은 CSS에서 가장 중요한 스타일 적용 규칙입니다. CSS를 사용하다 보면 같은 요소에 대해 여러개의 스타일이 중복되는 경우가 있습니다. cascading 이 코드를 보면 p는 div의 하위 요소입니다. 하위요소들은 상위 요소에 적용된 스타일이 상속되어 적용되는데 p 태그에도 스타일을 사용자가 따로 지정을 해놨습니다. 이런 일들 때문에 CSS는 스타일링 규칙을 세웠습니다. 1. 스타일 우선순위2. 스타일 상속 스타일 우선순위 실제 CSS에는 단순히 코드가 나열된 순서만 고려하는 것이 아니라 중요도, 명시도, 코드..

2023년에 정처기 필기 3회때 합격하고 바로 24년 1회 실기 신청했다. 일단 컴과 전공생이라 괜찮겠지라는 생각 반과 졸업한지 2년정도 됬는데 기억이 남아있을까 불안감 반으로 시험을 치렀던 것 같다. 결과는 다행히도 합격..! [실기 시험 접수 꿀팁] 컴퓨터 한 대, 모바일 한 대 둘 다 켜놓고 대기하고, 원서 접수 현황을 통해 시험장 마다 남아있는 인원수를 확인하기 시험 후기- 1회차 시험이 1년 시험 중에 제일 쉽다고 하는데 나는 첫번째 실기였어서 난이도에 대해 잘 체감은 못했지만, 3수한 친구 왈 1회차라서 쉽다매!! 였다. - 필기를 그냥 문제은행 식으로만 공부했다면, 내가 했던 공부법보다 더 열심히 해야 될것 같았다. 주관식 문제라서 필기 때와 달리 찍을수가 없었다.- 문제가 생각보다 쉽다고..
같은 숫자는 싫어문제 설명배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면,arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다.arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다.배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 1234567def solution(arr): answer = [] for i in ran..
1. RDBMS(관계형 DB)와 NoSQL(비관계형 DB)의 장단점에 대해 설명해주세요관계형DB특징• 트랜잭션(전부 아니면 무): 전체 트랜잭션이 하나의 단위로 기록. 실패 시 전체 롤백• 정규화: DB설계 시 중복을 최소화해서 구조화하는 프로세스장점• 데이터의 성능이 일반적으로 좋아 정렬, 탐색, 분류가 빠름• 신뢰성이 높아 데이터의 무결성을 보장• 정규화에 따른 갱신 비용을 최소화단점• 기존에 작성된 스키마를 수정하기 어려움• 데이터베이스의 부하를 분석하기 어려움• 빅데이터를 처리하는데 매우 비효율적임비관계형 DB특징• 거대한 Map으로서 key-value 형식을 지원함.• 관계형 db와 달리 PK,FK JOIN등 관계를 정의하지 않음.• 스키마에 대한 정의가 없다.장점• 대용량 데이터 처리를 하는데..
1. CORS란?• 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제이다. 웹 애플리케이션은 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 교차 출처 HTTP 요청을 실행한다. 브라우저는 보안상의 이유로, 스크립트에서 시작한 교차 출처 HTTP 요청을 제한한다. 따라서 다른 출처의 리소스를 불러오기 위해서는, 그 출처에서 교차 출처 리소스 공유에 대한 헤더(CORS)를 응답 시 반환해주어야 한다. preflight request는 실제 요청을 보내도 안전한지 판단하기 위해 사전에 보..
디자인 패턴이란? 디자인 패턴이란 프로그래밍 할 때에 문제를 해결하고자 코드의 구조들을 일정한 형태로 만들어 재이용하기 편리하게 만든 일정한 패턴이다. 즉, 구조적인 문제를 해결하는 방식을 이름을 붙여서 재이용하기 좋은 형태로 정리해둔 것이다. 사용하는 목적은 SW 재사용성, 호환성, 유지보수성을 보장함에 있다. 일반적으로 문제가 있어보이는 코드 구조 및 패턴을 'Design Smells' 스파게티 코드라고 한다. 이것들은 아래와 같다.Rigidity (경직성)시스템이 변경하기 어렵고 하나의 변경을 위해서 다른 것들을 변경 해야할 때 경직성이 높다. 경직성이 높다면 non-critical한 문제가 발생했을 때 관리자는 개발자에게 수정을 요청하기가 두려워진다.2. Fragility (취약성)취약성이 높다면..