반응형
반응형

22 HTML Input Types That Will Make Your Forms 10x Better

 

https://pixicstudio.medium.com/22-html-input-types-that-will-make-your-forms-10x-better-4fcf806e7a58

 

22 HTML Input Types That Will Make Your Forms 10x Better

The HTML <input> element is honestly one of the most versatile tags in web development. It's been around forever, but there are so many…

pixicstudio.medium.com

 

 

https://codepen.io/web-strategist/pen/vELyGyb

 

22 HTML Forms Input Types

...

codepen.io

See the Pen 22 HTML Forms Input Types by Usman (@web-strategist) on CodePen.

1. type=”text”

This is the bread and butter of input fields.

It’s the default input type for single-line text.

<input type="text" name="username" placeholder="Enter your username">

Perfect for names, usernames, or any short text.

Nothing fancy, but you’ll use it everywhere.

2. type=”password”

Ever needed to hide what users are typing?

type="password" masks the input automatically.

<input type="password" name="password" placeholder="Enter password">

The text shows as dots or asterisks.

Security 101 for login forms.

3. type=”email”

Email validation built right in.

It checks for the @ symbol and proper email format on mobile keyboards.

<input type="email" name="email" placeholder="your@email.com">

Mobile browsers automatically show the @ key.

Plus, you get instant validation on submit.

Cleaner. Smarter. Less JS needed.

4. type=”number”

Number inputs give you numeric keyboards on mobile and built-in validation.

<input type="number" name="quantity" min="1" max="100" step="1">

You can set:

  • min and max for ranges
  • step for increment values

The browser handles all the validation for you.

5. type=”tel”

Telephone inputs bring up the number pad on mobile devices.

<input type="tel" name="phone" placeholder="(123) 456-7890">

It doesn’t validate format automatically, but it makes typing phone numbers way easier on mobile. Perfect for better user experience.

6. type=”url”

URL inputs validate web addresses and show optimized keyboards.

<input type="url" name="website" placeholder="https://example.com">

Mobile keyboards show .com and / buttons. The browser checks for valid URL format automatically.

7. type=”search”

Search inputs look like search fields with a clear button.

<input type="search" name="query" placeholder="Search...">

Some browsers add an X button to clear the input. It’s semantically correct and improves accessibility.

8. type=”date”

Date pickers, no JavaScript needed.

<input type="date" name="birthday" min="1900-01-01" max="2025-12-31">

The browser shows a native date picker. You can set min and max to restrict date ranges. So much cleaner than custom date picker libraries.

9. type=”time”

Time inputs give you native time pickers.

<input type="time" name="appointment" min="09:00" max="18:00">

Perfect for scheduling forms. No more struggling with AM/PM dropdowns.

10. type=”datetime-local”

This one’s powerful: date AND time in one field.

<input type="datetime-local" name="meeting">

It combines date and time selection. Great for event registration or booking systems.

11. type=”month”

Month pickers for month/year selection.

<input type="month" name="expiry" min="2025-01">

Perfect for credit card expiry dates or monthly reports. The browser handles the calendar interface.

12. type=”week”

Week pickers let users select a specific week of the year.

<input type="week" name="week">

It’s niche, but super useful for scheduling or timesheet applications.

13. type=”color”

Color pickers built right into HTML.

<input type="color" name="theme-color" value="#4f46e5">

The browser shows a native color picker. No more importing color picker libraries for simple use cases.

14. type=”range”

Sliders for selecting values within a range.

<input type="range" name="volume" min="0" max="100" step="5" value="50">

Visual, intuitive, and perfect for settings like volume or brightness. You can customize the appearance with CSS too.

15. type=”file”

File uploads made simple.

<input type="file" name="document" accept=".pdf,.doc,.docx">

You can restrict file types with accept. Add multiple to allow multiple file selection:

<input type="file" name="photos" accept="image/*" multiple>

Essential for any upload functionality.

16. type=”checkbox”

Checkboxes for yes/no or multiple selections.

<input type="checkbox" name="subscribe" id="subscribe">
<label for="subscribe">Subscribe to newsletter</label>

You can have multiple checkboxes with the same name for selecting multiple options. Simple, but absolutely essential.

17. type=”radio”

Radio buttons for single selections from multiple options.

<input type="radio" name="size" value="small" id="small">
<label for="small">Small</label>
<input type="radio" name="size" value="medium" id="medium">
<label for="medium">Medium</label><input type="radio" name="size" value="large" id="large">
<label for="large">Large</label>

Same name attribute groups them together.

Only one can be selected at a time.

18. type=”hidden”

Hidden inputs store data without displaying it.

<input type="hidden" name="user_id" value="12345">

Perfect for passing IDs, tokens, or other data that users don’t need to see. They’re invisible but still submitted with the form.

19. type=”submit”

Submit buttons trigger form submission.

<input type="submit" value="Sign Up">

It’s the classic way to submit forms. Though <button type="submit"> is more flexible these days.

20. type=”reset”

Reset buttons clear all form fields to their default values.

<input type="reset" value="Clear Form">

Use sparingly users rarely expect or want this.

But it’s there when you need it.

21. type=”button”

Generic buttons that don’t submit forms.

<input type="button" value="Click Me" onclick="doSomething()">

Perfect for JavaScript interactions without form submission.

Modern code usually uses <button> instead, but this works too.

22. type=”image”

Image buttons that act as submit buttons.

<input type="image" src="submit-icon.png" alt="Submit">

It submits the form AND sends the x,y coordinates of where you clicked.

Niche, but useful for image maps or creative submit buttons.

Bonus Attributes You Should Know

Here are some powerful attributes that work across multiple input types:

required: Makes the field mandatory

<input type="email" name="email" required>

placeholder: Shows hint text

<input type="text" placeholder="Enter your name">

pattern: Custom validation with regex

<input type="text" pattern="[A-Za-z]{3,}" title="At least 3 letters">

minlength and maxlength: Character limits

<input type="text" minlength="3" maxlength="50">

readonly: Display only, no editing

<input type="text" value="Cannot edit this" readonly>

disabled: Grays out and prevents interaction

<input type="text" value="Disabled" disabled>

autocomplete: Controls browser autofill

<input type="email" autocomplete="email">

autofocus: Focuses field on page load

<input type="text" autofocus>

list: Connects to datalist for autocomplete suggestions

<input type="text" list="browsers">
<datalist id="browsers">
  <option value="Chrome">
  <option value="Firefox">
  <option value="Safari">
</datalist>

Modern Input Attributes (Bonus Round)

capture: Accesses camera/microphone on mobile

<input type="file" accept="image/*" capture="environment">

inputmode: Optimizes mobile keyboards

<input type="text" inputmode="numeric">

multiple: Allows multiple values (for email, file)

<input type="file" multiple>

accept: Filters file types

<input type="file" accept="image/png, image/jpeg">

The Power of Native HTML Is Here

That’s it, every HTML input type and the most important attributes that are making building forms actually fun again.

Some of them you’ll use every single day, and others are perfect for specific use cases.

Either way, they’re worth knowing inside and out, because they eliminate the need for heavy JavaScript libraries and give you better mobile experiences out of the box.

The browser does the heavy lifting. You just write better HTML.

I’ve covered all 22 input types from the basic text and password to the modern ones like datetime-local, color, and range, plus essential attributes like required, pattern, autocomplete, and mobile-specific ones like capture and inputmode.

반응형
반응형

길만큼 좋은 스승은 없다.
길은 종합선물세트다. 책과 선생님과
건강이라는 선물을 무상으로 안긴다. 길이라는
책과, 길이라는 선생님과, 길이라는 건강을 깨닫게 되면
길의 무한성에 성큼 다가선 것이다. 모든 교육은
경제적인 문제가 따르기 마련이다. 그러나 길은
어떤 대가도 바라지 않는다. 참 교육자를
만나기 쉽지 않은 현실이지만 길은
언제나 예외다. 길의 위대성이
빛을 발하는 순간이다.


- 돌솔 이응석의 《자유, 너는 자유다》 중에서 -


* 같은 길을 걸어도
어제의 길이 다르고 오늘의 길이 다릅니다.
기분 따라 마음 따라 보이는 것도 달라집니다.
길이 막혔다, 길을 잃었다 싶은데 도리어 새로운
길을 만나기도 합니다. 인생을 길에도 비유합니다.
나그네길, 고생길, 순례길, 도(道)의 길. 그 길 위에
책이 있고, 스승도 만납니다. 덤으로 건강도
얻습니다. 길을 걷는 것만으로도
사람은 새롭게 태어납니다.

반응형

'아침편지' 카테고리의 다른 글

'거대한 가속'의 시대  (0) 2025.10.17
저체온 여성이 늘고 있다  (0) 2025.10.16
집단지성이 필요한 이유  (0) 2025.10.14
서점 문화운동  (0) 2025.10.13
지혜  (0) 2025.10.13
반응형

대한민국 사회의 대립과
갈등의 진폭이 갈수록 커지는 이유 가운데
하나는 바로 쓰레기 정보와 가짜 뉴스에 휘둘리는
사람이 많아졌기 때문이다. 시민과 대중의 각성은
반드시 필요하다. 누구나 생각할 수 있는 권리가 있고,
그 생각을 표현할 수 있는 권리 또한 헌법에 보장되어
있다. 그러나 나쁜 의도로 퍼뜨리는 지식과 정보의
습득에 매몰되어 그것을 근거로 인식할 때
문제가 심각해진다.


- 김경집의《6I 사고 혁명》중에서 -


* 우리 사회의 큰 병폐가
이른바 쓰레기 정보와 가짜 뉴스입니다.
더 큰 문제는 그에 휘둘리는 사람들이 많다는
사실입니다. 여기에 더해 가짜를 열심히 퍼나르는 것을
업처럼 여기는 사람들도 많아졌습니다. 우리 사회의
기본 자산인 신뢰를 멍들게 하는 일입니다.  
이제는 깊은 성찰이 필요합니다.
더 멍들기 전에 집단지성이
발휘되어야 합니다.  

반응형

'아침편지' 카테고리의 다른 글

저체온 여성이 늘고 있다  (0) 2025.10.16
길만큼 좋은 스승은 없다  (0) 2025.10.15
서점 문화운동  (0) 2025.10.13
지혜  (0) 2025.10.13
기쁨은 어디에서 오는가  (0) 2025.10.10
반응형

일본 애니 목록

 

https://m.kinolights.com/collection/1522

 

애니 - 키노라이츠 컬렉션

OTT 뭐 볼지 찾고 있나요? 상냥한 디카프리오_97402님의 컬렉션을 확인해보세요!

m.kinolights.com

 

 

 

 

 

반응형
반응형

 

 

 

https://blog.boot.dev/education/vibe-coding-hell/

 

I'm in Vibe Coding Hell

When I started thinking about the problems with coding education in 2019, “tutorial hell” was enemy number one. You’d know you were living in it if you:

blog.boot.dev

https://news.hada.io/topic?id=23590

 

“튜토리얼 지옥”을 대체한 “바이브 코딩 지옥”의 등장 | GeekNews

최근 코딩 교육 환경에서 “튜토리얼 지옥” 대신 “바이브 코딩 지옥” 이 새로운 문제로 대두됨튜토리얼 지옥이 "튜토리얼 없이는 아무것도 만들지 못하는" 상태였다면, 바이브 코딩 지옥은 "

news.hada.io

 

  • 최근 코딩 교육 환경에서 “튜토리얼 지옥” 대신 “바이브 코딩 지옥” 이 새로운 문제로 대두됨
  • 튜토리얼 지옥이 "튜토리얼 없이는 아무것도 만들지 못하는" 상태였다면, 바이브 코딩 지옥은 "AI 없이는 코딩할 수 없고, AI가 생성한 코드가 어떻게 작동하는지 이해하지 못하는" 상태를 의미
  • AI 도구의 과도한 사용이 학습 동기를 저하시키며, AI 리터러시가 낮은 사람일수록 AI를 더 많이 사용하는 역설적 상황이 발생하고 있음
  • AI 도구는 적절하게 활용하면 학습 보조에 큰 도움이 될 수 있으나, 무작정 ‘답만 얻기’식 사용은 건설적 이해 형성에 방해가 됨
  • 학습 과정에서 직접 고민하고 스스로 해결하려는 노력이 핵심, 튜토리얼·AI 보조 없이 문제 해결 경험을 쌓는 자세가 중요함

문제의 배경: 튜토리얼 지옥에서 바이브 코딩 지옥으로

  • 2019년 당시 코딩 교육의 주요 문제는 "튜토리얼 지옥" 이었음
    • 튜토리얼을 따라하는 데는 성공하지만 혼자서는 아무것도 만들지 못함
    • 실제 프로그래밍보다 프로그래밍 관련 동영상 시청에 더 많은 시간을 소비하며, 핵심 개념은 이해하지 못함
    • 결과적으로 피상적 지식만 쌓고, 내부 작동 원리는 이해하지 못해서 현실에서는 코드를 스스로 쓰지 못하는 상태
  • Boot.dev는 이를 해결하기 위해 세 가지에 집중함
    • 심층 커리큘럼: 전통 대학 외부에서도 CS 기초를 배울 필요성 강조
    • 실습 중심 방식: 모든 개념 학습과 함께 코드를 직접 작성
    • 비디오보다 리치 텍스트 강화: 비디오는 수동적 소비에 그칠 위험성 있음
  • 2019년에는 수백만 조회수를 기록하던 긴 YouTube 강의들이 현재는 5만 조회수도 달성하기 어려움
    • FreeCodeCamp, Traversy Media, Web Dev Simplified 등의 채널이 이러한 추세를 보임
  • 그러나 "learn to code"에 대한 Google Trends 데이터는 여전히 높은 관심도를 유지하고 있음
  • Boot.dev에 매일 약 1,300명의 신규 사용자가 등록하며, 최근 18개월간 튜토리얼 지옥에 대한 불만은 줄었지만 새로운 형태의 어려움이 나타남

바이브 코딩 지옥의 정의

  • 튜토리얼 지옥의 특징
    • "튜토리얼 없이는 아무것도 만들 수 없다"
    • "문서를 이해하지 못하니 동영상이 필요하다"
    • "간단한 작업에도 복잡한 프레임워크가 필요하다"
  • 바이브 코딩 지옥의 특징
    • "Cursor의 도움 없이는 아무것도 할 수 없다"
    • "멋진 타워 디펜스 게임을 만들었어요. 여기 링크에요 http://localhost:3000";
    • "이미지 lazy-load를 위해 Claude가 6,379줄을 추가한 이유를 모르겠어요"
  • 현재 자기주도 학습자들은 많은 것을 만들고 있지만, 소프트웨어 작동 방식에 대한 멘탈 모델을 발전시키지 못하는 프로젝트를 구축
  • AI의 환각(hallucination)과 싸우고, 테스트 통과에만 집중하는 봇과 씨름하며 실제 문제 해결보다는 AI가 생성한 코드를 맹목적으로 신뢰

AI 코딩의 미래와 현실

  • 나는 단기적으로 AI가 개발자를 완전히 대체하지는 않을 것이라는 데 긍정적 입장
    • "AI가 일자리를 빼앗을 때까지 6개월"이라는 말이 나온 지 3년이 지났지만 여전히 개발자를 고용하고 있음
  • GPT-5가 출시되었지만 GPT-4 대비 점진적 개선에 그쳤으며, AGI가 곧 도래하지 않을 것임을 보여주는 증거로 해석됨
  • 매일 AI 도구를 사용하지만 실제로 생산성이 얼마나 향상되는지 확신하지 못함
    • AI가 더 생산적이게 만드는지, 아니면 더 게으르게 만드는지 불분명
  • 2025년 연구 결과: 개발자들은 AI가 20-25% 생산성을 높인다고 가정했지만, 실제로는 19% 느려짐
    • 7조 달러 투자 대비 실망스러운 결과

AI와 학습동기 저하의 위험성

  • AI 활용 문화가 학습자의 동기 부여에 부정적일 수 있음
  • AI 열풍(버블?)에서 가장 우려되는 점은 "왜 배워야 하나? AI가 다 알잖아"라는 태도를 가진 세대가 등장한다는 것
  • AI가 실제로 모든 화이트칼라 직업을 대체하지 못한다면, 주식 시장 버블뿐 아니라 교육받은 인력의 가뭄도 겪게 될 것
  • 기술적 배경이 없는 투자자들은 “AI가 이미 코딩의 전부를 대체했다”고 오해하고, 시니어 개발자들은 여전히 AI 도구를 일상 업무에 통합할 유용한 방법을 찾지 못함
  • AI 리터러시가 낮은 사람일수록 AI를 더 많이 사용하는 경향이 있어 우려됨
    • 궁극적인 ‘Dunning-Kruger(더닝-크루거)’ 함정으로 작용 - 지식이 부족한 사람이 오히려 자신이 잘 안다고 착각하는 현상
    • 학습자들이 "AI가 이미 알고 있으니" 자기계발이 무의미하다고 결론 내림

AI는 학습에 유익한가?

  • 여전히 코딩 배우기에 대한 사회적 관심도 높음
  • AI가 학습에 유익할 수도 있지만, 두 가지 구조적 문제가 존재함
  • 첫 번째: 아첨(sycophant) 문제
    • AI 챗봇은 질문자 의견에 과도하게 동조하는 경향이 있음
    • “ROAS(광고수익률)에 대해” 채팅해보면, 같은 데이터를 놓고 질문 방향에 따라 정반대 결론을 내며, 모두 전문가적 어조로 확신 있게 답함
    • 이는 학습자에게 검증, 비판적 사고, 오류 지적을 경험할 기회를 박탈함
      • 전문가에게 묻는 이유는 우리가 틀렸을 때 알려주기 위함
      • IRC 채팅이나 Stack Overflow는 이를 잘 수행했음(아마도 너무 잘)
      • LLM(대형언어모델) 챗봇은 기존 학습자의 근본적 오해를 바로잡지 못하는 경향이 강함
      • 현재 학생들은 LLM과 편안한 대화를 나누며 필요한 것이 아닌 듣고 싶은 것을 듣게 됨
  • 두 번째 문제: 학습자는 실질적 ‘의견’을 원함
    • AI는 지나치게 균형 잡힌 입장을 제시함
      • "어떤 사람들은 X라고 생각하고 어떤 사람들은 Y라고 생각한다"
      • 학습자가 어느 쪽에 동의할지 결정하기 더 어려워짐
    • "자본주의자 역할" 또는 "마르크스주의 혁명가 역할"을 하도록 프롬프트했지만 만족스러운 결과를 얻지 못함
    • 학습자는 실제 경험에서 나온 의견과 논평을 듣고 싶어함
      • DHH가 Turbo에서 TypeScript를 제거한 이유
      • Anders Hejlsberg가 TypeScript가 JavaScript 개발자에게 해결해주는 것
      • 각 저자의 편견과 맥락이 명확히 드러나는 실제 의견을 통해 미묘한 멘탈 모델이 형성됨
    • LLM 특유의 중립적·조심스러운 답변은 실제 지식 내면화에 방해가 됨

AI가 학습에 진짜 도움 되는 경우

  • AI는 올바르게 사용하면 학습을 위한 놀라운 도구
  • 코딩을 배우기에 이보다 쉬운 시대는 없었음
  • Boot.dev의 Boots(AI 교육 보조 도구) 사례
    • 학생들이 인스트럭터 솔루션(이상적인 정답)을 보는 것보다 AI 튜터(Boots)와 채팅하는 것을 거의 4배 더 많이 사용
    • Boots는 일반 챗봇과 달리 다음 방식으로 학습에 도움 줌
      • 답을 직접 알려주지 않도록 사전 프롬프팅
      • 소크라테스식 방법을 사용하여 학생이 문제에 대해 더 깊이 생각하도록 유도
      • 강사의 솔루션에 접근할 수 있어 정답에 대한 환각 가능성이 훨씬 낮음
      • 즐거운 캐릭터성 부여(마법사 곰)

바이브 코딩 지옥 탈출법

  • 결론적으로, 튜토리얼 지옥이든 바이브 지옥이든, ‘남에게 맡기지 말고 스스로 해보는 경험’ 이 매우 중요함
    • 튜토리얼 지옥: 비디오 끄고 직접 코드 작성 경험 쌓기
    • 바이브 지옥: 코파일럿 등 AI 자동완성 꺼두고, 스스로 문제 해결 경험 쌓기
  • 피해야 할 것:
    • 에디터 내 AI 자동완성
    • 에이전트 모드 및 AI 자동화 도구로 프로젝트 처리
  • 활용할 수 있는 것:
    • 질문에 답하고, 개념을 설명하고, 예제를 제공하는 챗봇
    • 소크라테스식 방법으로 질문하도록 유도하는 시스템 프롬프트를 통해 깊은 사고 촉진
    • 주장을 할 때 출처를 인용하고 문서에 링크하도록 요청하는 시스템 프롬프트로 정보 신뢰성 확보

핵심 원칙

  • 학습은 반드시 불편해야 함
    • 튜토리얼 지옥은 다른 사람이 코딩하는 것을 보면서 불편함을 피할 수 있게 해줌
    • 바이브 코딩 지옥은 AI가 코드를 작성하게 하면서 불편함을 피할 수 있게 해줌
  • 진짜 학습은 막히고, 좌절하고, 가장 중요하게는 문제 해결을 강제당할 때 일어남
    • 이것이 인간의 신경망이 재배선되는 방식
  • "학습은 어려워야 한다"는 개념을 지나치게 확대하면 형편없는 교육 설계의 변명이 될 수 있음
    • 저자는 이를 옹호하지 않음
    • 개념이 최선의 방식으로 설명되더라도, 학생은 여전히 그것과 씨름하고 새로운 맥락에서 스스로 사용해야 진정으로 이해할 수 있음
  • 진짜 학습 은 직접 막히고, 좌절하고, 자신의 힘으로 돌파하는 과정에서 완성됨
반응형
반응형

[PYTHON] Python 3.14.0 정식 버전 출시 🐍

 

Python 3.14.0의 정식 버전이 출시되었습니다. 이번 업데이트는 성능 향상과 새로운 기능 추가에 중점을 두었습니다.


주요 기능

  • PEP 779: 자유 스레드 Python (Free-threaded Python) 공식 지원: 여러 스레드에서 Python 코드를 동시에 실행할 수 있어 멀티코어 프로세서를 더 효율적으로 활용할 수 있습니다.
  • PEP 649: 어노테이션 평가 지연: 타입 힌트와 같은 어노테이션의 평가를 나중으로 미루어 시작 시간을 단축합니다.
  • PEP 750: 템플릿 문자열 리터럴 (t-strings): f-string과 유사하지만 더 안전하고 유연한 새로운 문자열 형식입니다.
  • PEP 734: stdlib에 다중 인터프리터: 하나의 프로세스에서 여러 개의 독립적인 Python 인터프리터를 실행할 수 있습니다.
  • PEP 784: 새로운 compression.zstd 모듈: Zstandard 압축 알고리즘을 지원하여 더 빠르고 효율적인 데이터 압축이 가능합니다.
  • PyREPL의 구문 강조 표시 및 색상 지원: unittest, argparse, json, calendar CLI에서 색상을 지원하여 가독성을 높였습니다.

주요 변경 사항

  • PEP 761: 릴리스 아티팩트에 대한 PGP 서명 중단: 더 이상 PGP 서명을 제공하지 않고 Sigstore 사용을 권장합니다.
  • 실험적인 JIT 컴파일러 포함: 공식 macOS 및 Windows 릴리스 바이너리에 실험적인 JIT 컴파일러가 포함되어 성능이 향상될 수 있습니다.
  • 공식 Android 바이너리 릴리스: 이제 Android에서도 공식적으로 Python을 사용할 수 있습니다.
  • 새로운 Windows 설치 관리자: Windows Store 또는 다운로드 페이지에서 설치할 수 있는 새로운 설치 관리자로 교체됩니다.

https://www.python.org/downloads/release/python-3140/

 

Python Release Python 3.14.0

The official home of the Python Programming Language

www.python.org

 

 

반응형

+ Recent posts