Skip to content

[Day60] ๐Ÿงฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๐Ÿงฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜: URL ์ฟผ๋ฆฌ์ŠคํŠธ๋ง ํŒŒ์‹ฑย #134

Description

@github-actions

๐Ÿงฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜: URL ์ฟผ๋ฆฌ์ŠคํŠธ๋ง ํŒŒ์‹ฑ

์นดํ…Œ๊ณ ๋ฆฌ: ๐Ÿงฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜
๋‚œ์ด๋„: ๐ŸŸก Medium
์ œํ•œ ์‹œ๊ฐ„: 20๋ถ„


๋ฌธ์ œ

์‡ผํ•‘๋ชฐ ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€์—์„œ URL์˜ ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์„ ํŒŒ์‹ฑํ•˜์—ฌ ํ•„ํ„ฐ๋ง ์กฐ๊ฑด์„ ์ถ”์ถœํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜์„ธ์š”. ์ด ํ•จ์ˆ˜๋Š” ์ฃผ์–ด์ง„ URL์—์„œ ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์„ ๋ถ„์„ํ•˜์—ฌ ๊ฐ์ฒด ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ

// ์˜ˆ์‹œ URL: "https://shop.example.com/admin?category=electronics&sort=price_desc&inStock=true"

// TODO: ์—ฌ๊ธฐ์— ๊ตฌํ˜„ํ•˜์„ธ์š”
function parseQueryString(url) {
    // URL์—์„œ ์ฟผ๋ฆฌ์ŠคํŠธ๋ง ๋ถ€๋ถ„๋งŒ ์ถ”์ถœ
    const queryString = url.split('?')[1];
    
    // ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์„ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜
    const queryObject = {};
    
    // TODO: ์—ฌ๊ธฐ์— ๊ตฌํ˜„ํ•˜์„ธ์š”
    
    return queryObject;
}

์š”๊ตฌ์‚ฌํ•ญ

  1. URL์—์„œ ์ฟผ๋ฆฌ์ŠคํŠธ๋ง ๋ถ€๋ถ„์„ ์ถ”์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  2. ์ถ”์ถœํ•œ ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์„ key-value ํ˜•ํƒœ์˜ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  3. ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์ด ์—†๋Š” ๊ฒฝ์šฐ ๋นˆ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํžŒํŠธ

๐Ÿ’ก ํžŒํŠธ ๋ณด๊ธฐ

URL์˜ '?' ์ดํ›„ ๋ถ€๋ถ„์„ '&'๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ฐ๊ฐ์˜ key-value ์Œ์„ '='๋กœ ๋‚˜๋ˆ„์–ด ๊ฐ์ฒด์— ์ €์žฅํ•˜์„ธ์š”.


๐Ÿค– ์ด ๋ฌธ์ œ๋Š” AI์— ์˜ํ•ด ์ž๋™ ์ƒ์„ฑ๋˜์—ˆ๊ณ , ์ƒ์„ฑ ํ›„ ๊ฒ€์ˆ˜ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณค์Šต๋‹ˆ๋‹ค.
ํ’€์ด๋Š” PR๋กœ ์ œ์ถœํ•ด์ฃผ์„ธ์š”! ์ •๋‹ต์€ ๋‹ค์Œ ๋‚  ์ž์ •์— ๋Œ“๊ธ€๋กœ ๊ณต๊ฐœ๋ฉ๋‹ˆ๋‹ค.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions