@baealex
·
2023. 11. 10.
13분 분량
2
타입스크립트 코드 작성 시, 불필요한 선언 최소화, for in 활용하여 객체 순회, 동일 배열 다른 타입에는 구분값 활용, any 사용 최소화 및 안전한 타입 단언을 통해 코드 안정성 강화. 이러한 방법을 통해 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.
2023. 08. 07.
4분 분량
0
setInterval은 지정한 간격마다 무조건 실행되어 정확한 타이밍을 보장하지 않고, 실행 시간이 길어지면 문제가 발생할 수 있다. 따라서 setTimeout을 사용하여 콜백 실행 후 남은 시간만큼 간격을 조절하는 방식이 더 안정적이며, 실행 시간이 예측 어려운 경우 일관된 간격으로 실행되도록 개선할 수 있다.
2023. 06. 20.
9분 분량
이 글은 바닐라 JavaScript로 프론트엔드를 개발하다가 복잡성에 직면하여 Svelte를 적용하고 얻은 경험에 대해 이야기합니다. Svelte의 상태 관리 및 리액티브 선언, 전역 스토어 및 구독 스토어 등의 기능에 대해 다루고 있습니다. 이를 통해 Svelte가 UI 관리를 효율적으로 할 수 있는 방법을 제공한다는 점을 이야기 합니다.
2022. 07. 08.
3분 분량
사실 지금까지 도커를 사용하면서 도커 이미지 저장소에 대해서는 생각한 적이 없었다. Dockerfile을 만들어 두고 필요한 환경에서 빌드해서 사용하는 방식으로 사용했었다. 드디어 문제에 봉착하게 되었는데 분산된 서버의 경우 빌드가 불필요하게 각각 돌아간다는 점이다. 저장소를 사용하려고 했는데 숨겨야 할 정보가 있어서 비공개 저장소를 이용하려고 한다. 1. 저장소 실행아래와 같이 이미지 저장소를 도커를 …
2021. 06. 20.
7분 분량
풀사이클 개발을 하지 말라는 조언에 대한 비판적 시각을 제시하는 글입니다. 개발자를 지망하는 사람이나 신입 개발자는 풀사이클 개발을 경험해보는 것이 좋다는 주장을 하며, 풀사이클 개발의 장점에 대해 설명합니다. 자신이 진심으로 하고 싶은 프로젝트에서 문제에 봉착하면 동기부여가 지속적으로 유지되며, 모든 분야의 문제를 해결해나가는 과정은 매우 재미있습니다. 또한, 풀사이클 개발을 하면 자신이 원하는 대로 개발을 진행할 수 있고, 자신의 역량을 더욱 향상시킬 수 있습니다.
2021. 01. 17.
28분 분량
버블 정렬(Bubble Sort) 인접한 원소를 비교하여 자리를 교환하는 방식이다. 처음부터 마지막까지 원소를 비교하여 마지막에는 가장 큰 또는 작은 원소가 배치된다. 이를 정렬이 끝날때까지 수행하며 시간 복잡도는 O(n^2)이며 구현이 압도적으로 간단하다. def bubble_sort(items: list): for i in range(len(items) - 1): for j in range((len(items) - 1) - i): if items[j] < …
2021. 01. 07.
5분 분량
간만에 C++ Qt를 다시 잡았다. 학부생때 대강(당시엔 열심히 했다고 느꼈지만) 만들었던 프로그램에 누군가가 스타를 눌러주었는데, 코드가 매우 부끄러운 수준이었고 이를 개선함과 동시에 몇가지 기능을 추가하고 싶었기 때문이다. 추가하는 기능에 네트워크를 사용할 필요가 있었다. Qt5에서는 QFtp 등등이 사라지고 QNetworkAccessManager로 모든 네트워크 통신을 사용하도록 변경되었다. 학부생인 당시 FTP를 이용하기 위해서 슬쩍 다뤄본 …
2020. 11. 22.
6분 분량
BLOG 테스트 주도 개발(TDD)란? # TDD에 대해서 잘 몰랐는데 이 글이 뭔가 TDD의 핵심을 잘 알려주는 것 같다. TDD란 무엇이며, 어떻게 하는 것이며, 언제 쓰면 좋은지, 안쓰면 좋은지, 왜 필요한지 잘 알려준다. 나의 경우엔 TDD를 해보고 싶었고 어떻게 하는지 대략적으로 알고 있었는데 정말 필요한건지 약간의 의구심이 있었다. 그런 나에게 아래 …
2020. 08. 23.
21분 분량
이 글은 파이썬과 자바스크립트에서의 비동기 처리와 sleep 함수의 효율성에 대한 내용을 다룬다. 자바스크립트에서는 이벤트 루프와 테스크 큐를 활용하여 비동기 처리를 지원하고, 파이썬에서는 asyncio 라이브러리를 통해 비동기 프로그래밍을 지원한다. 비동기 처리를 활용하여 동시성을 높이는 방법에 대해서도 다룬다.
2020. 05. 24.
BLOG 디시인사이드의 문제점 # 요즘 밸로그에 인기있는 블로거다. 작성한 대부분의 글들이 밸로그 트랜드에 줄서있다. 욕설이 다수 포함되어 있지만 솔직하고 공감이 느껴지는 매력적인 글을 쓰시는 것 같다. 여하지간 그런 분께서 한국의 대형 커뮤니티 사이트인 디시인사이드의 문제점이라는 주제로 글을 쓰셨는데 대부분은 이미지와 관련된 문제점이다. 지적한 문제점은 다음과 같다. 🤭 실제로는 서버에서 삭제 …
2020. 05. 07.
8분 분량
React Native에선 Flexbox라는 형식으로 레이아웃 개발을 진행한다. 최신 웹 브라우저에서도 이 레이아웃이 작동하여 CSS 최신 방법론으로 알려져 있다. Flexbox는 다양한 화면 크기에서 일관된 레이아웃을 적용할 수 있다. 아래 내용은 대부분 공식문서인 "Layout with Flexbox #"을 인용하였다. Flex flex will define how your items are going to “fill” over the available …
들어가며 난 무언가를 시작하기전에 이게 왜 필요한지 어디에 활용되는지 반드시 파악하고 진행하는 편이다. 몇몇 자료를 찾아봤지만 아래의 글에서 무엇인가 깊고 진한 전문가의 향기가 났다. 여하지간 아래 글을 참고하여 RN의 특성을 파악하였다. [RN] React-Native의 장단점은? Expo Web(React Native for web) 튜토리얼 내용을 정리해보면 RN의 장점은 다음과 같이 추려진다. React를 알고 있다면 …
2020. 05. 03.
BLOG await의 함정, 숨은 병목을 찾자 # 나는 요즘 자바스크립트를 쓴다. 그리고 자연스럽게 async, await을 남발하는 나를 발견한다. 마음속에선 이걸 '차라리' 파이썬으로 짯다면 더 훌륭한 가독성으로 짤텐데라는 생각이 든다. 그리고 비동기를 처리할 일이 생기면? 스레드를 사용하겠지. 노드를 쓰면서도 노드의 장점을 하나도 활용하지 못한체 아직도 파이썬을 코딩하던 사고방식에 갖혀있는 것 같다. …
2020. 04. 22.
BLOG 알고리즘 공부, 어떻게 해야하나요? # 알고리즘을 해결하는 실력을 키우려면 1.구현력 2.문제해결능력 3. 배경지식에 대한 능력을 향상시켜야 한다. 또한 글의 저자는 컴퓨팅적 사고력을 기르기 위한 문제로 BOJ 모든 '별찍기'와 'n과 m' 시리즈를 풀어보길 권하고 있다. 구현력 : '대충 어떻게 짜라는지 알겠는데 코드로 못 만들겠다' 이런 생각이 든다면 이 능력이 부족한 …
2020. 04. 20.
11분 분량
잠시동안 배운 R 어쩌다 R 프로그래밍 언어를 배울 기회가 있었는데, 새로운 언어를 익히는 건 재미있었지만 너무 수학적인 언어라 다시 쓸일이 있을까 싶은 생각이 든다. 여하간 이번에 배운 R 프로그래밍 기본 문법을 블로그에 정리해 둘 생각이다. 1. 변수의 이름 변수의 이름에는 . _ 등이 올 수 있다. .은 먼저 사용할 수 …
@mildsalmon
2020. 04. 14.
0분 분량
2020. 04. 12.
러스트 웹 개발을 위한 프레임워크 선택을 고민하는 글로, ACTIX, Rocket, Nickel, Yew 등의 프레임워크를 비교하며 Rocket을 선택한 이유와 사용 방법을 소개하고 있다. Template 기능도 포함되어 있으며, tera라는 템플릿 엔진과 함께 사용하는 방법도 설명하고 있다.
2020. 04. 04.
이 글은 AJAX 개념과 PHP에서의 활용 방법을 다루고 있다. AJAX는 비동기 통신 기술로, 백엔드에서 필요한 부분만 제공하고 프론트에서 필요한 부분만 가져와 붙힐 수 있다. 예제를 통해 AJAX의 구현 방법과 JSON을 이용한 통신도 소개하고 있다.
2020. 03. 23.
4
자바스크립트의 변수, 연산자, 조건문, 함수, 배열 등의 기본적인 문법을 설명하고, 각각의 예시와 함께 사용 방법을 소개하였다. 최신 자바스크립트에서 추가된 let과 const, 화살표 함수 등도 다루었다. 배열과 관련된 메소드에 대해서도 설명하였다.
2020. 03. 19.
Cargo Rust-Lang은 Node의 NPM처럼 Cargo라는 공식 패키지 관리자를 제공하고 있다. 러스트 공식 문서에서는 source.rs를 생성하여 코드를 작성하는 것 보다는 Cargo를 이용하는 것을 추천하고 있다. Cargo를 사용하면 소스코드의 라이브러리 의존성을 간단하게 관리할 수 있다. 새로운 프로젝트 cargo new project_name 위 명령어를 사용하여 프로젝트를 생성할 수 있다. 라이브러리를 생성하는 거라면 아래와 같이 …
2020. 03. 11.
이번에도 파이썬으로 풀었던 알고리즘 코드를 러스트로 변환해 볼 예정이었다. 수 찾기라는 문제인데 해당 문제는 10만개의 숫자가 주어지는 만큼 빠른 속도로 탐색이 이뤄져야 하는 문제다. 필자는 직접 이진 탐색 트리를 구현하여 해결하였고 러스트에서도 그러할 계획이었다. 다만 이 문제를 해결하기 위해선 두가지의 지식을 알아야 했는데 러스트에선 어떻게 구조체를 구현하는가? 러스트에선 어떻게 구조체의 …
2020. 03. 08.
저번에는 기초적인 문제로 기초적인 문법을 다뤘으니 이번엔 파이썬으로 작성한 코드중에 뭔가를 러스트로 변환해 보고자 하였다. 2가지 정도를 변환해 볼 것인데 이번에는 백준에서 무려 25점을 받았던 (...) 개발자 능력 실화? K번째 소수라는 문제의 파이썬 코드를 러스트로 변환해 볼 것이다. 이 코드를 변환하는 이유는 필자의 궁금증을 해결하기 위함이다. 파이썬이기 때문에 25점을 받은건지, …
2020. 03. 07.
3
2019-12-10에 작성한 러스트와 관련된 첫 글인데 이번이 두번째 쓰는 글이다. 2-3일은 무슨... 3달이 훌쩍 지나버렸다. 맨날 '해야지 해야지' 하면서 '해야지'만 맨날 하는중이다. 정말 너란 녀석... 이제는 진짜 해야지! 진짜 진짜 스스로와의 약속을 하겠다. 죽이되든 밥이되는 무엇이건 러스트를 이용해서 해결할 것이다. 함수형과 러스트에 익숙해지기 위해서 2일에 하나씩 30일간 15개의 개시글을 꼭 …