분류 전체보기(112)
-
[React] useCallback의 onChangeEvent handler로 사용 최적화
안녕하세요. 뭐 질질 끌어야 되나요? 그냥 바로 해보죠. 1. useCallback에 대해서 Hooks API Reference – React A JavaScript library for building user interfaces ko.reactjs.org const memoizedCallback = useCallback( () => { doSomething(a, b); }, [a, b], ); useCallback은 메모이제이션 된 콜백을 반환합니다. 엥? 그러면 그냥 함수랑 무슨 차인가요? useCallback을 사용하면 불필요한 렌더링을 방지할 수 있습니다. 특히 onChangeEvent와 결합했을 때 더 심한데요. e.target.value값이 변할 때 마다 state가 바뀌기 대문에 그 sta..
2022.08.19 -
[JS] 표 편집 - 양방향 연결리스트(Linked List)를 사용해보자!
안녕하세요. 또 어려운 문제가 왔습니다... 이번엔 연결리스트에 관한 문제입니다. 특히 삭제나 삽입에 대해서 알아볼 수 있는 좋은 기회입니당.. 자 같이 한 번 볼까요? (그리고 이 문제 js로 구현하신 블로거 분들이 다 한 코드를 보고 복사하신건지 다 코드가 똑같더라구요..) 문제 요약 업무용 소프트웨어를 개발하는 니니즈웍스의 인턴인 앙몬드는 명령어 기반으로 표의 행을 선택, 삭제, 복구하는 프로그램을 작성하는 과제를 맡았습니다. 세부 요구 사항은 다음과 같습니다 위 그림에서 파란색으로 칠해진 칸은 현재 선택된 행을 나타냅니다. 단, 한 번에 한 행만 선택할 수 있으며, 표의 범위(0행 ~ 마지막 행)를 벗어날 수 없습니다. 이때, 다음과 같은 명령어를 이용하여 표를 편집합니다. "U X": 현재 선택..
2022.08.18 -
[JS] 연결리스트에 대해서
안녕하세요. 카카오 2021 인턴 표 편집을 하던도중 이건 그냥 봐도 연결리스트를 쓰라는 것 같더라구용. 자바스크립트에서 한 번도 연결리스트를 써본 적이 없었는데 구현 코드를 보니 상당합니다. 이건 정리 한 번 해야겠어요! 자 그럼 같이 한 번 보죠! 1. 연결리스트가 유용한 상황 연결리스트는 배열 중간에 자료를 없앤다던가, 새로 삽입해야한다던가 하는 상황에서 매우 유용한 자료입니다. 일반적인 stack 구조에서는 pop이나 push가 아닌 중간에서 자료를 조작해줘야하는 상황이 오면, 뒤에 모든 요소를 같이 조작해줘야하거든요. 이런 구조에서 유용하게 쓰입니다. 그럼 javascript에서 구현을 한 번 알아볼까요? 2. javascript에서 구현 팁 큐나 힙처럼 배열안에서 조작한다면 결국엔 나중에 fi..
2022.08.17 -
[JS] 셔틀버스 - 시간을 비교할땐 항상 조심하자!
2018년 카카오 채용에 있었던 문제입니다.문제도 뭔가 요즘처럼 복잡하지도 않고 직관적입니다.다만, 케이스 분류할 때 조심해야할 점들이 몇몇 가지 있어서 같이 이야기해보면 좋을 것 같습니다.자 같이 볼까요? 문제 요약 카카오에서는 무료 셔틀버스를 운행하기 때문에 판교역에서 편하게 사무실로 올 수 있다. 카카오의 직원은 서로를 '크루'라고 부르는데, 아침마다 많은 크루들이 이 셔틀을 이용하여 출근한다. 이 문제에서는 편의를 위해 셔틀은 다음과 같은 규칙으로 운행한다고 가정하자. 셔틀은 09:00부터 총 n회 t분 간격으로 역에 도착하며, 하나의 셔틀에는 최대 m명의 승객이 탈 수 있다. 셔틀은 도착했을 때 도착한 순간에 대기열에 선 크루까지 포함해서 대기 순서대로 태우고 바로 출발한다. 예를 들어 09:0..
2022.08.16 -
[SWR] revalidate가 없어진 지금 어떻게 데이터를 갱신하는가?
안녕하세요. redux의 시대가 끝났으면 좋겠습니다. 이번 sleact에서는 redux 대신 swr을 사용하는데요. 강의 기준일이 작년 초 정도여서 여러 라이브러리가 많이 바뀌었더라구요...홍홍 import React from 'react'; import useSWR from 'swr'; import axios from "axios"; const LogIn = () => { //옛날엔 이런 꼴이었는데요. // const { data, error, revalidate, mutate } = useSWR("YOUR_API_ADDRESS", fetcher); //요즘엔 이렇게 씁니다. const { data, error, isValidating, mutate } = useSWR("YOUR_API_ADDRESS"..
2022.08.16 -
solidity 적응기 1. 어렵지 않아요 헤치지 않아요.(기초 구조)
대망의 solidity를 처음으로 해봤습니다. 자료형을 쭉 읊어봤자 의미 없는 것 같고 일단 구조부터 크게 이해를 하고 넘어가는게 좋을 것 같습니다. 먼저, 이 시리즈는 개인적으로 이해한 내용을 가볍게 풀어낸 내용임을 설명드립니다. 실제와 약간 틀리거나 다른 부분이 분명 존재합니다. 언제든지 피드백은 환영합니다! 1. solidity의 목적과 특징 solidity는 프로그래밍 언어입니다. 제가 느끼기에는 javascript와 동작구조가 비슷한 것 같아요. 각 언어에는 최적화된 목적이 있죠. C는 임베디드, javscript는 웹, python은 데이터 분석이나 매크로등 solidity는 스마트 컨트랙트를 구현하기 위한 언어입니다. (이더리움 기반입니다.) EVM이라는 머신 안에서 동작을 하고 remix라..
2022.08.15