#Software #100daysofcode #prodsens #live #programming #tutorial #webdev
Origin | Interest | Match
#Software #100daysofcode #prodsens #live #programming #tutorial #webdev
Origin | Interest | Match
#webdev #programming #django #100daysofcode
Origin | Interest | Match
#webdev #programming #django #100daysofcode
Origin | Interest | Match
Learned
· How to limit the concurrency? - by adding MAX_UNFILLED_COUNT
> index > filledBarCount + MAX_UNFILLED_COUNT
(e.g. 5th bar can tolerate only 3 filled, remaining 2 unfilled, and start transitioning)
#Frontend #React #100DayOfCode
Learned
· How to limit the concurrency? - by adding MAX_UNFILLED_COUNT
> index > filledBarCount + MAX_UNFILLED_COUNT
(e.g. 5th bar can tolerate only 3 filled, remaining 2 unfilled, and start transitioning)
#Frontend #React #100DayOfCode
Learned
· Control every bar's progress using array type state
· Filter to get current unfilled progress bars
· Incrementally updating unfilled bars under concurrency limit count
#Frontend #React #100DayOfCode
Learned
· Control every bar's progress using array type state
· Filter to get current unfilled progress bars
· Incrementally updating unfilled bars under concurrency limit count
#Frontend #React #100DayOfCode
Learned
· Sort entire data before pagination
· String can use localCompare()
#Frontend #React #100DayOfCode
Learned
· Sort entire data before pagination
· String can use localCompare()
#Frontend #React #100DayOfCode
Learned
· translateX with -(curIndex * 100%) to shift to next image
#Frontend #React #100DayOfCode
Learned
· translateX with -(curIndex * 100%) to shift to next image
#Frontend #React #100DayOfCode
I didn’t code!
I wrote a blog post.
I had two interviews. One made me cry.
I went to #BBM algo study session, we went over merge sorted arrays and I eventually cried in front of the students.
Then I went to my other interview which was better.
I also moved!
I didn’t code!
I wrote a blog post.
I had two interviews. One made me cry.
I went to #BBM algo study session, we went over merge sorted arrays and I eventually cried in front of the students.
Then I went to my other interview which was better.
I also moved!
#webdev #programming #javascript #100daysofcode
Origin | Interest | Match
#webdev #programming #javascript #100daysofcode
Origin | Interest | Match
Learned
· Date input only accept string value
· Date.now() return timestamp in millseconds
· How to write formateDate with Date object
#Frontend #React #100DayOfCode
Learned
· Date input only accept string value
· Date.now() return timestamp in millseconds
· How to write formateDate with Date object
#Frontend #React #100DayOfCode
A11y learned
· Close modal on 'Escape' key via useOnKeyDown hook
· Detect if clicking outside by
· Fixed open(button)/close conflict by registering outside click on mousedown
#React #Frontend #100DayOfCode
A11y learned
· Close modal on 'Escape' key via useOnKeyDown hook
· Detect if clicking outside by
· Fixed open(button)/close conflict by registering outside click on mousedown
#React #Frontend #100DayOfCode
A11y learned
∙FileTree as role=tree
∙FileList as role=group
∙FileItem as role=treeitem
↳ aria-expanded=true/false when has children
↳ aria-level, aria-setsize, aria-posinset for x-y position
#Frontend #React #100DayOfCode
A11y learned
∙FileTree as role=tree
∙FileList as role=group
∙FileItem as role=treeitem
↳ aria-expanded=true/false when has children
↳ aria-level, aria-setsize, aria-posinset for x-y position
#Frontend #React #100DayOfCode
Learned
· We can use pure HTML for powerful form validation, like `required`, `minlength`, `pattern`
· we can retrieve form values directly from the form DOM
#Frontend #100DayOfCode
Learned
· We can use pure HTML for powerful form validation, like `required`, `minlength`, `pattern`
· we can retrieve form values directly from the form DOM
#Frontend #100DayOfCode
Just a few lines to make it more performant with a flat structure:
· Extract the nested FileList out of FileObject
· Make FileList root a Fragment
#Frontend #React #100DayOfCode
Just a few lines to make it more performant with a flat structure:
· Extract the nested FileList out of FileObject
· Make FileList root a Fragment
#Frontend #React #100DayOfCode
How React works ⚛️
🔄 1. React handle diffing calculation in the browser idle time
🌲 2. Convert every virtual DOM into a Fiber
🏰 3. After render, React commits to the real DOM
simple react:
github.com/MechaChen/re...
#Frontend #React #100DayOfCode
How React works ⚛️
🔄 1. React handle diffing calculation in the browser idle time
🌲 2. Convert every virtual DOM into a Fiber
🏰 3. After render, React commits to the real DOM
simple react:
github.com/MechaChen/re...
#Frontend #React #100DayOfCode
Learned
· Checkbox has `indeterminate` state
· Nested checkboxes state should be lift up to top
· Use layered indices to locate target checkbox
· Parent state depends on 1st layer children’s state
#Frontend #React #100DayOfCode
Learned
· Checkbox has `indeterminate` state
· Nested checkboxes state should be lift up to top
· Use layered indices to locate target checkbox
· Parent state depends on 1st layer children’s state
#Frontend #React #100DayOfCode
Follow WAI-ARIA best practices:
· Arrow keys navigate headers
· `aria-expanded = true` when open
· Header links panel id via `aria-controls`
· Panel links header id via `aria-labelledby`
#Frontend #React #100DayOfCode
Follow WAI-ARIA best practices:
· Arrow keys navigate headers
· `aria-expanded = true` when open
· Header links panel id via `aria-controls`
· Panel links header id via `aria-labelledby`
#Frontend #React #100DayOfCode
A11y learned
· Trap focus inside modal
↳ Shift+Tab on first → ❌default() + focus last
↳ Tab on last → ❌default() + focus first
· Restore focus on close (Escape / button)
↳ Save activeElement to ref → focus ref on unmount
#React #Frontend #100DayOfCode
A11y learned
· Trap focus inside modal
↳ Shift+Tab on first → ❌default() + focus last
↳ Tab on last → ❌default() + focus first
· Restore focus on close (Escape / button)
↳ Save activeElement to ref → focus ref on unmount
#React #Frontend #100DayOfCode
A11y learned
· role="modal" to tell that this is a modal
· aria-modal="true" to tell that background is inert
· aria-labelledby="XXX" to find the modal title
· aria-describedby="XXX" to find the modal description
#React #Frontend #100DayOfCode
A11y learned
· role="modal" to tell that this is a modal
· aria-modal="true" to tell that background is inert
· aria-labelledby="XXX" to find the modal title
· aria-describedby="XXX" to find the modal description
#React #Frontend #100DayOfCode
Learned
· How to wait for previous bars to finish? - when currentIndex === filledCount, it means bars 0~currentIndex-1 are filled — now can fill the current one.
#Frontend #React #100DayOfCode
Learned
· How to wait for previous bars to finish? - when currentIndex === filledCount, it means bars 0~currentIndex-1 are filled — now can fill the current one.
#Frontend #React #100DayOfCode
🍀 Updated the Landing Page, Dashboard & dealt with Next.js 12=>13 Link's breaking changes affecting Headless UI
💪 did a tiny bit of treadmill walking while coding (its hot)
🦀 no anki/banki
Vid with more details:
youtu.be/KcGaIrlYJ9g
#buildinginpublic
🍀 Updated the Landing Page, Dashboard & dealt with Next.js 12=>13 Link's breaking changes affecting Headless UI
💪 did a tiny bit of treadmill walking while coding (its hot)
🦀 no anki/banki
Vid with more details:
youtu.be/KcGaIrlYJ9g
#buildinginpublic