반응형

프로그래밍 언어 63

FE공부2 - 웹스토리보이님의 레이아웃02 영상

https://www.youtube.com/watch?v=dNQZqNd_uUE 지난번 영상과 큰 차이가 없는 것 같네요 다만, overflow: hidden 에 대해 이야기를 하고 있습니다. 버그라고 이야기를 하고 있는데, 버그 아니라 표준입니다;; (물론 웹 표준이 구현에 구겨 맞춰 만들어진 감이 있긴 합니다.) https://www.w3.org/TR/CSS2/visuren.html#block-formatting Visual formatting model In the visual formatting model, each element in the document tree generates zero or more boxes according to the box model. The layout of the..

FE공부1 - 웹스토리보이님의 레이아웃01 영상

https://www.youtube.com/watch?v=qnwa6I5WosI "[레이아웃01] 사이트 만들기 프로젝트1 - float, flex, grid 레이아웃 유형별 연습하기" 라는 제목을 갖고 있는데, 내용은 레이아웃 만져보기 정도였습니다. 그래도 궁금한건 직접 찾아서 공부해보면 되서 나쁘지 않았습니다. 언급된 내용들 중 중요하다고 생각되는 것들을 기초적으로만 정리해보면 다음과 같습니다. - float https://developer.mozilla.org/ko/docs/Web/CSS/float CSS 속성(property) float 은 한 요소(element)가 보통 흐름(normal flow)으로부터 빠져 텍스트 및 인라인(inline) 요소가 그 주위를 감싸는 자기 컨테이너의 좌우측을 따라..

[C++] 소스코드에서 컴파일러 구분하기?

원본 : https://quuxplusone.github.io/blog/2021/01/13/conversion-operator-lookup/ 친구의 페이스북에 올라온 C++ 컴파일러 구분하기 란 글을 보았다. 역시 난 C++을 모르는듯 ㅎㅎ 여기서 핵심은 U 와 T가 무엇으로 lookup되어야 하는지를 정하는게 표준에 있는데 컴파일러가 제멋대로 구현했다는 것 같다. U, T 모두에 대해서 gcc만 제대로 A scope으로 룩업한다고... code link : https://godbolt.org/z/jo3dc4 struct T1 {}; struct T2 {}; struct U1 {}; struct U2 {}; struct A { using T = T1; using U = U1; operator U1 T1:..

DART 대충 빠르게 훝어본 C++과 다른점

타입 num 타입 : int 타입 + double 타입인듯 float은 안보임 auto 같은 var as 로 타입변환이 되는데 0.1이 int가 되진 못함 타입검사 if (a is int) {...} if (a is! int) {...} 연산자 https://dart.dev/guides/language/language-tour#operators ~/ : 몫 연산자가 있음 아무래도 int 타입때문인듯 - null aware operators ?? : if null operator : null인지 체크 // prefs.getBool('some-feature') 가 null이면 false 아니면 prefs.getBool('some-feature') bool v = prefs.getBool('some-featu..

[C++11] std::enable_shared_from_this

std::shared_ptr은 std::unique_ptr과 함께 C++11부터 사용 가능한 smart pointer 이다. std::shared_ptr is a smart pointer that retains shared ownership of an object through a pointer. (http://en.cppreference.com/w/cpp/memory/shared_ptr)std::unique_ptr과 다른점은 ownership을 공유(shared)한다는 점이다.std::shared_ptr 객체를 만들때 한가지 문제가 되는 부분이 있는데, 아래와 같은 상황이 발생하지 않도록 주의해야 한다는 점이다.Bad* p = new Bad;std::shared_ptr a1(p);std::shared_..

[읽은 글] const correctness

https://herbsutter.com/2013/05/24/gotw-6a-const-correctness-part-1-3/https://herbsutter.com/2013/05/24/gotw-6b-const-correctness-part-2/https://herbsutter.com/2013/05/28/gotw-6b-solution-const-correctness-part-2/ * 번역이 아니라 이해하고 정리한 내용입니다. 따라서 원 글의 의도가 전달되지 않을 수 있으며, 수정 될 수 있습니다. [ ] https://herbsutter.com/2013/05/24/gotw-6a-const-correctness-part-1-3/ 1. shared variableShared variable이란 하나 이상의 t..

[C++11] std::function의 성능

std::function의 성능이 생각보다 많이 느리다는 것을 알게 되었다. ryuan@webkit:~$ g++ ./test.cpp --std=c++11 -O3 -DINTERFACE_VERSION ryuan@webkit:~$ ./a.out main:96] 8 elapsed ryuan@webkit:~$ g++ ./test.cpp --std=c++11 -O3 -DINTERFACE_VERSION_NO ryuan@webkit./a.out main:96] 437 elapsed 못쓰겠네 -_-;http://probablydance.com/2013/01/13/a-faster-implementation-of-stdfunction/ [Update]Modern Effective C++ Item 5 에 따르면std::fun..

GCC options

> 성능과 관련된 옵션들 -fno-rtti (runtime type information)rtti는 아래와 같이 두가지 경우에 사용됩니다. - #include typeinfo(this).name()### c++class type_info { public: virtual ~type_info(); bool operator==(const type_info& rhs) const; bool operator!=(const type_info& rhs) const; int before(const type_info& rhs) const; const char* name(__type_info_node* __ptype_info_node = &__type_info_root_node) const; const char* raw_n..

[C++11] Range based for loop

목차로 가기 - 업데이트 * 박진수님이 지적해주신 오타 수정 C++11 에는 새로운 형태의 for loop인 range based for loop를 지원합니다.이미 python같은 언어에서는 지원되던 기능이기도 합니다. python에서는 아래처럼 루프를 사용할 수 있었습니다.### pythonpeoples = ['ryuan', 'yesum', 'w.third'] for p in peoples: print 'people :', p 이것을 c++에서 구현하려면 아래와 같이 해야 할 것입니다. ### c++#include #include using namespace std; int main() { vector s; s.push_back("ryuan"); s.push_back("yesum"); s.push_ba..

반응형