전체 글

배우고 성찰한 것을 기록하는 블로그입니다.
HTML, CSS

(기록용 링크) CSS: has()

https://bejamas.io/blog/learn-css-has-selector-by-examples-top-use-cases/ Learn CSS :has() selector by examples: 5 top use cases Let's explore ten practical examples to learn CSS :has selector. bejamas.io https://developer.mozilla.org/en-US/docs/Web/CSS/:has :has() - CSS: Cascading Style Sheets | MDN The functional :has() CSS pseudo-class represents an element if any of the relative selectors th..

C, C++

C++) 참조형 (변하지 않는 포인터)

참조형 참조형은 특정 인스턴스의 주소를 참조하는 자료형이라고 할 수 있다. C의 포인터와 비슷하다. 특이한 점은 선언과 동시에 초기화를 해야하며, 이후 값을 변경할 수 없다는 것이다. 참조형이 메모리에서 직접 참조중인 데이터는 변경이 가능하겠지만, 참조형 자체가 가진 메모리 주소값은 변경이 안된다. (참조 메모리가 불변이라는 점에서 진정한 의미의 Call by reference라고 할 수 있다.) int main() { int data(10); // 참조형 int& ref = data; ref = 20; std::cout

C, C++

C++) 메모리 동적 할당

C++의 메모리 동적 할당은 C의 그것에 비해 훨씬 간편하다 C의 경우 malloc 함수를 호출할 때 매개변수로 메모리의 크기부터 형까지 모든 것들을 C에 알려주었어야 했는데, C++에서는 단순히 new 연산자를 이용해 메모리를 동적 할당하고, delete 연산자로 메모리 할당을 해제하면 된다. 아래 코드를 보자 개별 인스턴스의 new, delete 연산자 int main(void) { int* pData = new int; int* pNewData = new int(10); *pData = 1000; std::cout

C, C++

C++) 변수 선언 및 정의

C++ 변수 선언 및 정의 C에서는 변수 정의를 아래와 같이 했다. int a = 10; C++도 C 문법을 호환하기에 위처럼 변수를 선언하고 정의할 수 있다. 그러나 C++에서 주로 사용하는 변수 선언 및 정의는 아래 코드처럼 한다. int main() { int a(10); int b(a + 5); auto c(b + 5); std::cout

C, C++

C++) 리다이렉션 연산자 및 std::cout (콘솔 출력)

리다이렉션 연산자 (>>) >> 기호는 명령의 출력을 파일에 추가하는데 사용된다. 예를 들어 dir >> test.txt 라는 명령을 실행하면 dir 명령의 결과가 test.txt라는 파일에 추가되는 형식이다. 이런것이다. 이 기호는 C++에서도 엇비슷하게 동작한다. std::cout (콘솔 출력) 기본 입출력을 한번 더 해보자. int main() { std::cout

C, C++

C++) Hello world

안녕 C++ 헬로~ #include int main(void) { std::cout

C, C++

C) 싱글 링크드 리스트 구현 + 메모리 추적

시작하기에 앞서 이걸 왜 하고 있는가? 자바스크립트로만 구현해봤던 자료구조들을 C언어를 이용해서도 구현해보고 싶었다. 메모리단까지 까집어볼 수 있다면 왠지 간지날 것 같아서이다. 지금 하는 이 공부가 현재 내가 하고 있는 프론트엔드 개발에 직접적인 도움을 주지는 않겠지만, 개발에 필요한 사고의 폭과 넓이를 확장시켜줄 수 있지 않을까 생각한다. C를 공부하며 느낀 좋은 점은 절차적인 개발 능력이 향상되는 것 같은 느낌이 든다는 것(?)이다. 메모리의 지역변수와 스택을 고려해볼 수 있게 되었고, 힙에 동적으로 메모리 할당을 하고, 할당한 메모리를 해제해보면서 뭐랄까... 역시 그냥 돌아가는 것은 없구나. 라는 것을 새삼 체감하게 된다. 아무튼 아직도 배워가고 있다. 컴퓨터란 것을... 기초라는 것을... ...

개발 일지

프론트엔드 설계 아이데이션

설계의 필요성 재직중인 회사에 자사 쇼핑몰도 생기고 커머셜 커뮤니티도 생길 것 같다. 나중에 유지보수에 허덕이지 않으려면 사용할 라이브러리 채택, 디렉토리 구조 등 간단한 설계를 미리 해놓는게 좋을 것 같다. 회사가 요구하는 기능 구현의 양은 선형적으로 증가하고 있다. 행복한 상황이지만, 아무래도 프론트엔드 개발자가 나 혼자뿐인 만큼 책임 소재도 그만큼 막중해지는듯 하다. 물론 백엔드 개발자분께서 간간히 도움을 주시고는 있다지만 도움을 받더라도 도와주시는 분께서 큰 고민 없이 코드만 치실 수 있도록 해드리는게 내 역할이지 않을까. 아무튼 여러 필요로 인해 프론트엔드 설계에 대한 정보들을 이것저것 모으고 있다. 일단 정보를 착실히 모은 후, 내것으로 만들어서 개발환경에 잘 풀어내기 위해서다. 다행히 참고할..

Typescript

객체 키 타입의 유니온 추출 및 활용

객체 키 타입의 유니온 추출 및 활용 상수로 이용하려는 이미 정의된 객체 데이터를 타입스크립트로 다루다보면 가끔씩 불편한 상황을 마주하곤 한다. 나의 경우에는 객체 데이터 자체를 타입으로써 이용하고 싶은데 타입스크립트가 너무 빡빡하게 굴 때 종종 심기가 불편해진다. 가끔은 객체 타입을 모두 손수 지정해버리고 싶다는 충동이 들 때마저 있다. 물론 왕도는 없는듯 하다. 유지보수가 다소 어려워질것을 감안하고 객체의 타입을 모두 손수 지정해서 사용할 것인지, 아니면 특정 객체를 100% 신뢰한 상태에서 타입을 뻗어낼 것인지는 상황에 따라 판단하면 된다. 하지만 두 방법 모두 잘 알고 있기는 해야할 것이다. 객체 타입을 모두 손수 지정하는 것은 어렵지않은 단순 노가다이므로, 이 글에서는 객체 타입을 프로퍼티로 각..

개발 일지

iOS/Android flutter 웹뷰 렌더링 엔진 이슈 해결

iOS flutter 웹뷰 환경에서 구동중인 next.js 프로젝트의 a 태그를 터치했을 때, 화면이 전환되었음에도 불구하고 a 태그의 잔상이 0.5초 정도 남아있던 이슈가 있었다. https://github.com/pichillilorenzo/flutter_inappwebview/issues/1553 Problem with afterimage remaining when button is clicked in iOS · Issue #1553 · pichillilorenzo/flutter_inappwebview [o] I have read the Getting Started section [o] I have already searched for the same problem Environment Techno..

2DC
2DC