Code-Refactoring(코드-리펙토링) # 리펙토링이란? '결과의 변경 및 변화 없이 코드의 구조를 재정비'를 뜻한다. 즉, 현재코드의 동작은 유지하되 가독성을 향상하고, 확장성을 향상하게 소스 코드를 재수정하는 것이다.(버그 제거 또는 새 기능 추가와는 별개이다.) # 리펙토링 필요 시기 기능 추가 전 버그 수정 전 코드 리뷰시 3번의 중복 행위가 발생하는 로직 존재 시(삼진 규칙) CleanCode vs Code-Reafctoring 클린 코드 - 프로젝트 진행 시 코딩하는 과정에 있어 규칙을 잘 지킨 코드 작성을 의미 - 설계부터 잘 이루어져 있는 것이 중요 리펙토링 - 더 넓은 의미로 클린 코드를 포함한 유지보수를 위한 전체적인 프로젝트 구성 및 코드 개선을 의미 - 결과물이 나온 이후 수정 및 추가 작업 진행시 개선해 나가는 것이 옳.. 2023. 4. 11. [CS] Stack&Heap 메모리에 대하여 # 메모리 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야 한다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요하다. >>프로그램이 운영체제로부터 할당받는 대표적인 4가지 메모리 공간 코드(code) 영역 데이터(data) 영역 스택(stack) 영역 힙(heap) 영역 *코드 영역(텍스트 영역) - 실행할 프로그램의 코드가 저장되는 영역이다. - CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리해준다. - 프로그램이 시작하고 종료될 때까지 메모리에 계속 남아있는다. *데이터 영역(정적메모리) - 프로그램의 전역 변수와 정적(static) 변수가 저장되는 영역이다. - 프로그램 시작과 동시에 메모리를 할당받게 되고, 프로그램이 종료되면 소멸된다 *스택.. 2022. 12. 16. 네트워크(Network)에 대하여 네트워크란? 두대 이상의 컴퓨터들이 통신 기술을 이용하여 그물망처럼 연결된 통신 이용 형태를 의미한다. (Net+Work의 합성어) 일상에서 찾아본 네트워크 사용 예시 -미디어 스트리밍으로 언제 어디서든 사진, 음악 또는 비디오 등의 디지털 미디어를 네트워크를 통해 재생 -광대역 인터넷 연결을 공유하여 각 PC 마다 별도의 인터넷 계정하지 않고 인터넷 사용 -온라인 게임 안에서 사람들과 만나 함께 게임 플레이 -사무 공간에서 하나의 프린터기를 구입하여 네트워크 범위 속 모든 직원들 공용 사용 -유선에서 무선으로 바뀌며 책상에서 벗어나 무선 네트워크 범위 안 어디서든 웹작업 네트워크 사용시 주의 사항 -바이러스나 악성코드, 해킹, 개인정보 유출 등의 위험에 항시 주의 해야한다. 네트워크의 종류 *PAN (.. 2022. 10. 29. Transaction 과 ACID ⚡️Transaction이란? 트랜잭션은 여러 개의 작업을 하나로 묶은 실행 유닛을 뜻한다. 한 트랜잭션 속에 속해 있는 모든 작업들(밑에 그림에서는 읽기, 쓰기, 지우기, 읽기)이 모두 무사히 완료돼야 종료된다. 만약 하나의 작업이라도 실패한다면, 트랜잭션에 속한 모든 작업들은 작업 실패로 된다. 무조건 모든 작업이 성공하여야 트랜잭션 또한 성공이다. 성공 또는 실패의 결과만 존재하는 트랜잭션은, 미완료된 작업없이 모든 작업을 성공해야 한다. 트랜잭션이란 데이터베이스의 상태를 변환시키는 기능을 수행하기 위한 하나 이상의 쿼리를 모아 놓은 하나의 작업 단위이다. 데이터 베이스 트랜잭션은 ACID란느 특성을 가지고 있다. 2022. 7. 20. [Web] 클라이언트 / 서버 웹서비스를 만든다는 건, 클라이언트와 서버 두개 모두 만들어야 한다는 것을 뜻한다. 클라이언트는 사용자 / 서버는 제공자이다. *클라이언트(Client) 클라이언트는 사용자, 고객 이라 할 수있다. 이는 서버와 서로 대응되는 개념이며, 서비스를 사용하는 사용자를 의미한다. 웹사이트로 따지면 크롬 브라우저나 사파리, 익스플로러가 해당되겠고 앱으로 따지면 여러분들 휴대폰에 많이 존재하는 어플, 즉 앱 자체가 해당된다. *서버(Server) 서버는 일반적으로 네트워크를 통해 서비스를 클라이언트에게 제공하는 시스템을 의미한다. 우리가 일반적으로 사용하는 PC는 클라이언트의 역할을 하는데, 이는 서버 컴퓨터로부터 정보를 받아 웹 브라우저를 통해 정보를 볼 수 있다. 폼페이지를 제작하거나 웹 어플리케이션을 만들 때.. 2022. 5. 25. 이전 1 다음 728x90