[TIL_Carrotww] 84 - 23/01/10

μœ ν˜•μ„Β·2023λ…„ 1μ›” 10일
0

TIL

λͺ©λ‘ 보기
99/138
post-thumbnail

πŸ“Carrotww의 μ½”λ”© 기둝μž₯

🧲 CS - Django λ™μ‹œμ„± 병렬성

πŸ” DjangoλŠ” Python 기반의 μ›Ή ν”„λ ˆμž„μ›Œν¬λ‘œ, λ™μ‹œμ„±κ³Ό 병렬성을 μ§€μ›ν•˜λ©°, 이λ₯Ό ν™œμš©ν•˜μ—¬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μ„±λŠ₯을 ν–₯μƒμ‹œν‚¬ 수 μžˆλ‹€.

λ™μ‹œμ„±(concurrency)은 μ—¬λŸ¬ μž‘μ—…μ΄ λ™μ‹œμ— 싀행될 수 μžˆλŠ” ν™˜κ²½μ„ μ˜λ―Έν•˜λ©°, 병렬성(parallelism)은 μ—¬λŸ¬ μž‘μ—…μ΄ λ™μ‹œμ— μ²˜λ¦¬λ˜λŠ” ν™˜κ²½μ„ 의미.

DjangoλŠ” 기본적으둜 단일 ν”„λ‘œμ„ΈμŠ€, 단일 μŠ€λ ˆλ“œλ₯Ό μ‚¬μš©. μ΄λŸ¬ν•œ ꡬ성은 λ™μ‹œμ„±μ„ μ§€μ›ν•˜μ§€λ§Œ, 병렬성은 μ§€μ›ν•˜μ§€ μ•ŠλŠ”λ‹€.. μ΄λŠ” κ°„λ‹¨ν•˜κ²Œ μ„€μ •ν•˜λ©°, 관리가 μ‰¬μš°λ©°, μ‹œμž‘ν•˜κΈ° μ‰¬μš΄ νŽΈμ΄μ§€λ§Œ μ„±λŠ₯이 μ œν•œμ μ΄λ‹€.

ν•˜μ§€λ§Œ, DjangoλŠ” μ΄λŸ¬ν•œ ν•œκ³„λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄ μ—¬λŸ¬ 기법을 제곡.

  1. μ›Ή μ„œλ²„λ₯Ό μ—¬λŸ¬ 개 μ‹€ν–‰ν•˜μ—¬ λ™μ‹œμ„±μ„ ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€. (예λ₯Ό λ“€μ–΄, Gunicorn, uWSGI)

  2. μž₯κ³ μ—μ„œ μ‚¬μš© κ°€λŠ₯ν•œ λ©€ν‹° μŠ€λ ˆλ”© κΈ°λŠ₯

🧲 python algorithm interview

πŸ” LeetCode 49 Group anagrams
μ—¬ν–‰ λ‹€λ…€μ˜€κΈ° 전에 ν’€μ—ˆλ˜κ±° κ°™μ§€λ§Œ 일단 책을 νˆλ”λ‹ˆ λ°”λ‘œ μ•žμ— μžˆμ–΄μ„œ μ˜¬λ¦°λ‹€.
ν•˜λ£¨μ— 책에 μžˆλŠ” 문제 2~3문제 ν’€κ³  μœ ν˜•λ³„λ‘œ 2~3λ¬Έμ œμ”© ν’€μ–΄μ•Όκ² λ‹€ λ„ˆλ¬΄ λͺ»ν•΄μ§„κ±° κ°™μ•„μ„œ μŠ¬ν”„λ‹€...

from collections import defaultdict

class Solution:
    def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
        sorted_words = defaultdict(list)
        for i in strs:
            word = ''.join(sorted(i))
            sorted_words[word].append(i)
        result = [sorted(x) for x in sorted_words.values()]
        result.sort(key=lambda x: len(x))

        return result
profile
Carrot_hyeong

0개의 λŒ“κΈ€