- Tech notes
Black box testing and white box testing
In this approach, the tester checks the software's inputs and outputs and confirms that the software works as expected.
- Tech notes
Axios with Credentials and React Infinity scroll
I learned some useful things today and wrote them down: axios leaving out undefined parameters, withCredentials, and an infinite scroll example.
- Tech notes
Customizing react-datepicker's size and position with styled-components
Today I needed a DatePicker at work. Resizing and moving react-datepicker wasn't easy, so I ended up editing its CSS piece by piece.

- Tech notes
Encrypting passwords with crypto-js (SHA256)
At work, the back end asked for passwords to be encrypted when creating members. Our company hashes them with crypto-js, so I practiced it again at home.

- Tech notes
State management with Zustand
Redux-Toolkit was the only state management I had used, until a senior at work said a project used Zustand for global state. It was very simple.

- Tech notes
Reviewing CSS Grid by drawing a Go board
This morning's task at work was centering a set of split buttons, and to do that I had no choice but to use grid.

- Tech notes
Switching from useState to useReducer for user input
I used to manage the information entered at login or sign-up with the useState hook. Here I write about the useReducer approach I learned at work.

- Tech notes
Efficient event management: one listener instead of one per button
While working out, I suddenly started thinking about efficient event management, so I ended up writing some code to try it.

- Learning
Autowini first-round interview
First, many thanks to Autowini for giving me the chance to interview. These are notes on how today's first-round interview went.

- Tech notes
JavaScript closures: outer scope access and information hiding
A closure is an inner function's access to the context of its outer function. Two examples show how it gives encapsulation and information hiding.

- Learning
Back to plain JavaScript: innerHTML vs innerText
In an NHN interview I couldn't build even basic JavaScript features. It was a big reality check, so I started reviewing JavaScript again.

- Tech notes
In browser rendering, do images come before JavaScript files?
The browser rendering steps, why the JavaScript file is downloaded after images finish rendering, and where to place the script tag, including defer.

- Tech notes
JavaScript prototypes: instance-level vs prototype-level functions
A prototype is an original form or typical example, a basis or standard. My practice notes on JavaScript prototypes and why prototype functions save memory.

- Tech notes
Shallow copy / deep copy / complete deep copy with lodash cloneDeep()
How I did a shallow copy, a deep copy, and a complete deep copy, and why a spread copy still changed the original object at 2 depth.

- Tech notes
The difference between 'getStaticProps' and 'getServerSideProps'
Images kept failing to load on the deployed site of my portfolio, which I built with Next.JS. Replacing getStaticProps with getServerSideProps fixed it.

- Learning
Wanted Pre-Onboarding Frontend course: the selection assignment
I created the project with CRA, used Tailwind CSS for styling, and used React-Router-Dom for routing.

- Learning
Wanted Pre-Onboarding Frontend Internship (June)
I was thinking about applying to the Wanted Pre-Onboarding Frontend Internship (June) program, so I took on its pre-assignment.

- Tech notes
Next/image changed in version 13 with Vercel?
Putting the frustration of job applications behind me, I often check that my portfolio's Vercel link works. This time a new error showed up.

- Learning
Urgent fixes to my resume and portfolio!!
After being rejected quickly by a company I applied to, I started to wonder whether there might be a problem with my resume.

- Tech notes
Reviewing TypeScript basic types: tuple, enum, never, symbol, unknown
Today I took some time to review TypeScript's basic types again! My review code covers arrays, tuples, enum, void, never, symbol, any, and unknown.
