Adventure Time - Jake '분류 전체보기' 카테고리의 글 목록 (4 Page)
본문 바로가기

전체보기90

시맨틱 요소 | div태그 대신 시맨틱 태그 사용 이유? | 시맨틱 태그 종류들 태그는 영역을 구분할 때 쓰는 태그 즉, 레이아웃을 관리할 때 사용하는 태그이다. 그런데, 태그를 쓰는 것보다 시맨틱 태그를 쓰는 것이 오늘날에 더 권장되는 코드 작성 방식이다. 는 아무 의미가 없다. 단지 영"역을 구분한다"의 기능만 하는 것이다. 화면을 구성하는 모든 레이아웃을 div 태그를 이용해 작성했다고 해보자. "화면에서 사이드바를 구현한 코드를 보고 싶어!" 라고 한다면, 많은 div 태그들을 뒤져서 찾아야할것이다. 가독성이 매우 떨어질 것이다. 하지만 시맨틱 태그로 구성한 문서에서는 태그를 찾으면 되는 것이다. 시맨틱 태그를 사용한다면 마크업을 강조하거나 의미를 부여하여 개발자들이 우리 코드를 보기만 해도 무슨 일이 일어나는지 바로 알 수 있고, 스크린 리더 사용자와 SEO 접근성 향상, .. 2024. 1. 18.
하루를 48시간으로 사는 마법 | 이재은 저 하루를 48시간으로 사는 마법 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 무엇인가에 도전해서 가슴이 두근거린다는 것은 살아있다는 증거이고, 그 설렘이 곧 앞으로 나아갈 활력과 동력이 되어줄 것이다. 편한 길로 가려고 하지 말자.용기를 내어 새로운 길을 가보자. 매일 도전하자. 무엇보다 나의 길을 가자. 처음 가는 길은 두렵고 막막하지만 그 길에는 언제나 새로운 기회와 기쁨이 있다. [...] 작은 일에서부터 자신만의 길을 개척해나간다면 그 누구도 대체할 수 없는 존재가 되어있을 것이다. 시간이 걸리더라도 반드시 그렇게 되리라 믿는다. 아침은 꿈을 꾸고 미래를 위해 투자하는 시간이다. 내가 나아갈 다음 무대를 준비하는 시간이다. 내가 즐겁게 할 수 있.. 2024. 1. 17.
복잡도(Big O) 줄이기 | 성능개선하는 방법들(mallloc()의 단점, std::move(), Sanity check, 배열복사, 증감연산자, call-by-value) | 좋은 코드란 무엇일까 좋은 코드란?성능, 안전함, 에러찾기쉬운, 관리쉬운, 중복x시간복잡도와 공간복잡도 고려하기.   Big O 예시)O( 2*(n+1) ) becomes O(n)O( n^3+n^2+1 ) becomes O(n^3)영향 적게 주는건(차수가 낮은 항) 그냥 제외하면 됨. Big O 계산 예시)아래와 같이 함수 호출을 하는 코드가 있다고 가정int f(int n){ if (n f(n)-> f(n-1) +f(n-1)-> f(n-2) + f(n-2) + f(n-2) + f(n-2)-> f(n-3) + f(n-3)+ f(n-3)+ f(n-3)+ f(n-3)+ f(n-3)+ f(n-3)+ f(n-3)-> . . .1, 2, 4, 8, ... 2^n -> 2^(n+1)-1 ->O(2^n) 이 된다. 성능 개선 방법들1. .. 2024. 1. 16.
이진탐색트리(Binary search tree,BST)의 시간복잡도 이진 탐색 트리 : 왼쪽자식은 root보다 항상 값이 적고, 오른쪽은 큰 값이 들어가게 되는 순서를 만족하는 것. 한번 입력이 되게 되면 자리를 바꾸지 않음. 주로 데이터 검색에 사용하며 탐색 속도를 개선할 수 있음. 그러나 맨 첫번째 항목이 어떤 항목이 삽입되느냐에 따라 이진탐색트리는 한쪽으로 쏠리는 불균형 현상이 일어날 수 있음. 지금 현재있는 것과 비교해서 왼쪽으로갈지 오른쪽으로 갈지 정함.(완전이진트리처럼 왼쪽부터 채우지 x) 그래서 최악의 경우 복잡도를 고려해 균형화 작업을 하는 것이 좋다. 균형화 : height difference의 절댓값이 1이하이도록 작업하는 것. 항목 균형화하지 않을 때 균형화할 때 탐색(search) -평균: O(log N) -최대: N/2 =>O(N) -평균: O(l.. 2024. 1. 11.
C++ 상속 멤버함수 상속되지않는 멤버함수 -생성자 -소멸자 :자식 클래스의 소멸자 호출되면 자동으로 부모 클래스의 소멸자가 호출. 명시적 호출이 필요없음. 따라서 자식 클래스의 소멸자는 자식클래스에서 정의된 변수에 대해서만 delete 수행 /* 정의하지않으면 디폴트 버전 생성됨 */ -복제 생성자 //포인터와 동적메모리 생성 기능이 사용되면 별도로 구현해야함 -대입 연산자 상속되는 멤버함수 -그 외 모두 생성자와 소멸자, 대입 연산자는 특정 클래스에 완전히 종속적이며 해당 클래스의 멤버에 대해서만 동작하기 때문에 자식 클래스는 이 함수들을 직접 사용할 필요가 없음. (대신 초기화 리스트에서는 호출 가능) 부모클래스의 클래스이름 :: 해당되는 생성자; 2024. 1. 8.