<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title></title>
    <link>https://harui.tistory.com/</link>
    <description>설명은 하고 싶지 않아.</description>
    <language>ko</language>
    <pubDate>Fri, 31 Jul 2026 04:37:03 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>풍풍</managingEditor>
    <item>
      <title>display: grid-lanes 샘플코드</title>
      <link>https://harui.tistory.com/247</link>
      <description>&amp;lt;style&amp;gt;
	.grid {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
		gap: 10px;
	}
	/* firefox용. about:config에서 layout.css.grid-template-masonry-value.enabled를 true로 해야 동작함  */
	@supports (grid-template-rows: masonry) {..</description>
      <category>CSS</category>
      <category>grid-lanes</category>
      <category>Masonry</category>
      <author>풍풍</author>
      <guid isPermaLink="true">https://harui.tistory.com/247</guid>
      <comments>https://harui.tistory.com/247#entry247comment</comments>
      <pubDate>Thu, 9 Jul 2026 22:05:01 +0900</pubDate>
    </item>
    <item>
      <title>Antd와 Mantine 잡담</title>
      <link>https://harui.tistory.com/246</link>
      <description>Antd를 먼저 도입해서 쓰고 있었는데, 기능은 많지만 빌드 용량이 너무 무거워서 Mantine으로 점진적으로 교체중이다.
vscode의 cost impact라는 확장프로그램만 봐도 antd는 mantine의 2~3배는 찍는달까
다만, mantine은 도입초기, 서양에서 만든거 답게 padding이 넉넉한 편이라 전체를 뜯어고치고픈 욕구가 치미는데, 사이트의 문서가 너무 부실하여 provider에서 적용가능한 설정을 고치고 또 고치고 난리도 아니었다.&amp;..</description>
      <category>Javascript/React.js - Next.js</category>
      <category>antd</category>
      <category>Mantine</category>
      <author>풍풍</author>
      <guid isPermaLink="true">https://harui.tistory.com/246</guid>
      <comments>https://harui.tistory.com/246#entry246comment</comments>
      <pubDate>Fri, 26 Jun 2026 13:42:05 +0900</pubDate>
    </item>
    <item>
      <title>react에서 사용하기 좋은 무료 데이터 그리드 2가지</title>
      <link>https://harui.tistory.com/245</link>
      <description>1. react-data-grid
npm:&amp;nbsp;https://www.npmjs.com/package/react-data-grid
demo: https://comcast.github.io/react-data-grid/
demo code: https://github.com/Comcast/react-data-grid/tree/main/website
특징: headless 아님
장점: 컬럼 순서 변경하기 등은 자체 제작하여 내장되어있고, 가상화가 기본 동..</description>
      <category>Javascript/React.js - Next.js</category>
      <category>react-data-grid</category>
      <category>react-table</category>
      <category>tanstack-table</category>
      <author>풍풍</author>
      <guid isPermaLink="true">https://harui.tistory.com/245</guid>
      <comments>https://harui.tistory.com/245#entry245comment</comments>
      <pubDate>Fri, 26 Jun 2026 11:15:46 +0900</pubDate>
    </item>
    <item>
      <title>React Virtual Scroll 간단 예제</title>
      <link>https://harui.tistory.com/244</link>
      <description>import { useEffect, useMemo, useRef, useState } from 'react'
import { faker } from '@faker-js/faker'

type Person = {
	id: number
	// userId: string
	firstName: string
	lastName: string
	age: number
}

const range = (len: number) =&amp;gt; {
	const arr: numbe..</description>
      <category>Javascript/React.js - Next.js</category>
      <category>react</category>
      <category>virtual scroll</category>
      <author>풍풍</author>
      <guid isPermaLink="true">https://harui.tistory.com/244</guid>
      <comments>https://harui.tistory.com/244#entry244comment</comments>
      <pubDate>Wed, 17 Jun 2026 23:25:45 +0900</pubDate>
    </item>
    <item>
      <title>heif, heic 파일 webp로 전환하는 방법</title>
      <link>https://harui.tistory.com/243</link>
      <description>다양한 루트로 얻은 소스를 짬뽕한거라 일관성은 없지만 대략 사용방법을 터득하기에는 괜찮을 것 같아서 정리해봄
최종 채택은 2번으로 했지만 나머지도 기록 삼아 남김
&amp;nbsp;
1. 클라이언트 - heic2any: webp 바로 전환은 안되서 png 거쳐서 변환. 갤럭시 울트라 200M 사진은 처리불가
'use client'

import { useState } from 'react'

export function FileUpload() {
	const ..</description>
      <category>Javascript/React.js - Next.js</category>
      <author>풍풍</author>
      <guid isPermaLink="true">https://harui.tistory.com/243</guid>
      <comments>https://harui.tistory.com/243#entry243comment</comments>
      <pubDate>Fri, 29 May 2026 19:27:59 +0900</pubDate>
    </item>
  </channel>
</rss>