μλ νμΈμ! μ€λμ λ§μ΄ν¬λ‘μννΈ(MS)κ° λ°νν 2026λ 7λ AI νΈλ λ μ€, μ°λ¦¬ κ°λ°μλ€μ μΌμμ μ‘λ리째 λ°κΏ 'νΈλ λ 6: μ½λ λ¬Έλ§₯μ μ΄ν΄νλ AI'μ λν΄ μ΄μΌκΈ°ν΄λ³΄λ € ν©λλ€.
λ¨μν "μ½λ ν μ€ μ§μ£Όλ AI"μ μλλ λλ¬μ΅λλ€. μ΄μ AIλ λ΄ νλ‘μ νΈ μ 체λ₯Ό νμ΄λ³΄λ©° λμ μ΅κ΄κ³Ό μ€κ³ μλλ₯Ό νμ νκ³ μμ΅λλ€.
1. '리ν¬μ§ν 리 μΈν 리μ μ€(Repository Intelligence)'λ?
κΈ°μ‘΄μ AI μ½λ© λκ΅¬κ° "μ λ ₯μ°½(Input)μ λ§λ€μ΄μ€"λΌλ μμ²μ μν μ½λλ₯Ό λμ Έμ£Όλ μμ€μ΄μλ€λ©΄, 리ν¬μ§ν 리 μΈν 리μ μ€λ λ€λ¦ λλ€.
- κ³Όκ±°λ₯Ό κΈ°μ΅ν¨: "μ΄ κ°λ°μλ 2λ μ λΆν° λ²νΌ μ»΄ν¬λνΈμ μ΄λ° λͺ λͺ κ·μΉμ μ¨μꡬλ."
- κ΄κ³λ₯Ό νμ ν¨: "μ΄ CSS ν΄λμ€λ κΈλ‘λ² λ³μμ μ°κ²°λμ΄ μμΌλ, μμ ν λ μ£Όμν΄μΌκ² κ΅°."
- λ§₯λ½μ μ μν¨: "μ§κΈ λ€κ° μ§λ €λ μ΄ ν¨μλ A λͺ¨λμ λ‘μ§κ³Ό μΆ©λν κ°λ₯μ±μ΄ μμ΄."
μ¦, AIκ° λ΄ νλ‘μ νΈμ 'μμ¬'μ 'ꡬ쑰'λ₯Ό μλ²½ν νμ΅ν μλμ΄ μ¬μκ° λλ μ μ λλ€.
2. νλ‘ νΈμλ/νΌλΈλ¦¬μ μκ² λ―ΈμΉλ μν₯
νλ‘ νΈμλ μμ μ μ λ 'λ§₯λ½'μ΄ μ€μν©λλ€. μ»΄ν¬λνΈ κ°μ λ°μ΄ν° νλ¦, μΌκ΄λ λμμΈ μμ€ν , μ μ§λ³΄μκ° μ©μ΄ν CSS ꡬ쑰 λ±μ΄μ£ . AIκ° μ΄ λ¬Έλ§₯μ μ½κΈ° μμνλ©΄ μ΄λ€ λ³νκ° μκΈΈκΉμ?
1. BEM λ°©λ²λ‘ μ κ°μΉκ° κ·Ήλνλ©λλ€
AIλ ν¨ν΄μ λ¨Ήκ³ μ½λλ€. μ°λ¦¬κ° BEM(Block-Element-Modifier) νμμ μ² μ ν μ§μΌ ν΄λμ€λͺ μ μ§μΌλ©΄, AIλ "μ, μ΄ νλ‘μ νΈμ μ€νμΌ κ΅¬μ‘°λ μ΄λ κ² μ²΄κ³μ μ΄κ΅¬λ"λΌκ³ νλ¨νμ¬ μλ‘μ΄ μ»΄ν¬λνΈλ₯Ό λ§λ€ λλ μλ²½νκ² ν΅μΌλ μ€νμΌ μ½λλ₯Ό μ μν©λλ€.
2. 리μ‘νΈ μ»΄ν¬λνΈμ μΌκ΄μ± μ μ§
νλ‘μ νΈλ§λ€ μν κ΄λ¦¬ λ°©μμ΄λ Props μ λ¬ λ°©μμ΄ λ€λ¦ λλ€. λ¬Έλ§₯μ μ½λ AIλ μ¬λ¬λΆμ΄ μ νΈνλ Airbnb μ€νμΌ κ°μ΄λλ₯Ό νμ νμ¬, λ΄κ° κ΅³μ΄ λ§νμ§ μμλ νμ 컨벀μ μ 100% μΌμΉνλ μ½λλ₯Ό μμ±ν΄ μ€λλ€.
3. 'μ€νκ²ν° μ½λ'μ μ’ λ§
AIκ° λ¦¬ν¬μ§ν 리 μ 체λ₯Ό κ°μ(?)νκ³ μκΈ° λλ¬Έμ, κΈ°μ‘΄ ꡬ쑰λ₯Ό ν΄μΉλ μ΅μ§μ€λ¬μ΄ μ½λλ₯Ό μμ±νλ €κ³ νλ©΄ μ¦κ° κ²½κ³ λ₯Ό 보λ λλ€. "μ΄λ΄, μ΄κ±΄ λ€κ° μ μ§ν΄μ¨ μν€ν μ²μ λ§μ§ μμ!"λΌκ³ λ§μ΄μ£ .
3. μ€μ μμ: AIκ° λΆμν μ°λ¦¬μ μ½λ (Airbnb + BEM)
AIκ° μ°λ¦¬ 리ν¬μ§ν 리λ₯Ό νμ΅ν λ "μ°Έ μ μ§°λ€!"λΌκ³ λλ λ§ν νμ€μ μΈ μ½λ ꡬ쑰λ₯Ό μ΄ν΄λ΄ μλ€.
import React from 'react';
import PropTypes from 'prop-types';
/**
* 2026λ
μ AIλ μ΄ μ½λλ₯Ό 보κ³
* 'Card'λΌλ λΈλ‘κ³Ό 'title'μ΄λΌλ μμμ κ΄κ³λ₯Ό
* νλ‘μ νΈ μ 체 λ§₯λ½μμ νμ
ν©λλ€.
*/
const UserCard = ({ name, role, isGoldMember }) => {
const modifierClass = isGoldMember ? 'c-user-card--gold' : '';
return (
<div className={`c-user-card ${modifierClass}`}>
<h2 className="c-user-card__title">{name}</h2>
<p className="c-user-card__role">{role}</p>
<button type="button" className="c-user-card__btn c-user-card__btn--primary">
νλ‘ν 보기
</button>
</div>
);
};
UserCard.propTypes = {
name: PropTypes.string.isRequired,
role: PropTypes.string.isRequired,
isGoldMember: PropTypes.bool,
};
UserCard.defaultProps = {
isGoldMember: false,
};
export default UserCard;
4. μ½λ λ°μμ λ리λ ν: μ 컨벀μ μ΄ λ μ€μν΄μ§κΉμ?
μ μ½λμμ 보λ―, Airbnb μ€νμΌ κ°μ΄λλ₯Ό μ€μνμ¬ propTypesλ₯Ό λͺ
μνκ³ BEMμΌλ‘ ν΄λμ€λ₯Ό μ μΈνλ νμλ μ΄μ μΈκ° κ°λ°μλ§μ μν κ²μ΄ μλλλ€.
- AI νμ΅ λ°μ΄ν°μ νμ§: μ¬λ¬λΆμ΄ μμ±ν κΉ¨λν 리ν¬μ§ν 리λ AIμκ² μ΅κ³ μ νμ΅ κ΅μ¬κ° λ©λλ€. λμ μ½λλ₯Ό μ§λ©΄ AIλ λμ μ½λλ₯Ό μ μνκ² λ©λλ€.
- κ²μ¦ λ₯λ ₯μ μ°¨μ΄: AIκ° λ¬Έλ§₯μ νμ ν΄ μ½λλ₯Ό κ°μ Έμ€λλΌλ, κ·Έκ²μ΄ BEM κ·μΉμ μ΄κΈλμ§ μλμ§, Vanilla JSλ‘ λ μ΅μ νν μ μλμ§ νλ¨νλ κ²μ κ²°κ΅ μ°λ¦¬μ λͺ«μ λλ€.
- νμ μ ν¨μ¨: AIκ° '리ν¬μ§ν 리 μΈν 리μ μ€'λ₯Ό ν΅ν΄ μ μ μ¬μμκ² νλ‘μ νΈμ λ¬Έλ§₯μ μ€λͺ ν΄ μ£Όλ μλκ° μ¬ κ²μ λλ€. μ΄λ κ·μΉμ΄ μλ§μ΄λΌλ©΄ AIλ μ€λͺ μ μ€ν¨νκ² μ£ .
5. λ§μΉλ©°: κ°λ°μλ μ΄μ 'κ°λ κ΄'μ λλ€
2026λ , MSκ° μκ³ ν λ―Έλμμ κ°λ°μμ μ€λ ₯μ "μ½λλ₯Ό μΌλ§λ 빨리 μΉλλ"κ° μλλΌ "μΌλ§λ μΌκ΄μ± μλ μμ€ν (λ¬Έλ§₯)μ ꡬμΆνλλ"λ‘ κ²°μ λ κ²μ λλ€.
μ§κΈλΆν°λΌλ BEMκ³Ό Airbnb κ°μ΄λλ₯Ό μ΅κ΄ννμΈμ. κ·Έκ²μ΄ κ³§ μ¬λ¬λΆμ 리ν¬μ§ν 리λ₯Ό κ°μ₯ κ°λ ₯ν AIλ‘ λ§λλ μ§λ¦κΈΈμ λλ€.
