반응형
반응형

클라우드 컴퓨팅, 모바일 개발, AI의 발전에도 전 세계 기업의 일상적인 비즈니스는 여전히 1990년대에 등장한 3가지 프로그래밍 언어를 기반으로 운영되고 있다. 거의 모든 언어 순위 조사에서 최상위를 차지하는 자바스크립트와 파이썬 그리고 자바다. 깃허브의 연례 옥토버스 현황(State of the Octoverse) 보고서를 보면, 2014년부터 매년 상위 4개 언어 중 3개를 이들 언어가 차지한다. 이들 프로그래밍 강자가 거의 30년 동안 개발자에게 최고의 선택지로 남으며 마땅한 경쟁자조차 없는 이유가 무엇일까?

 

자바스크립트(사용자 580만 명)

자바가 백엔드를 움직인다면, 자바스크립트(이름과는 달리 실제로는 자바와는 아무런 관련이 없다)는 애플리케이션의 프론트엔드를 구동한다. 웹 페이지의 모든 상호작용은 자바스크립트로 작성, 제어되며, 깃허브의 프로그래밍 언어 순위에서 10년 동안 1위를 차지하고 있다.

자바스크립트와 서버 측 짝꿍인 Node.js는 단순하면서도 다양한 용도로 쓸 수 있어 1995년 데뷔 직후부터 인기를 얻었다. 웹 페이지를 만드는 데 사용하는 언어인 HTML과 원활하게 작동하는 자바스크립트는 모바일 앱 개발이 등장하면서 웹 개발 표준으로 자리 잡았다. 현재는 구글부터 유튜브, 페이스북에 이르기까지 모든 곳에서 자바스크립트를 찾을 수 있으며, 세인트루이스 브라운스 야구팀 사이트부터 인기 있는 디자인 매터스 팟캐스트 사이트까지 놀라운 디자인 작업을 구현한다.
 

파이썬(사용자 520만 명)

스크립팅 언어인 파이썬의 강점은 쿼리 작성, 작업 자동화, 데이터 분석이다. 빅데이터와 분석 애플리케이션용 프로그래밍 언어로 최근 들어 인기가 급상승했지만, 의외로 파이썬은 1991년에 데뷔했다. 즉, 여기서 살펴보는 빅 3 언어 중 가장 오래됐다. 아마존, 넷플릭스, 스포티파이, 인스타그램의 애플리케이션은 모두 파이썬으로 작성됐다. 2019년 깃허브 보고서에서 자바를 제치고 2위를 차지했으며, 2022년에는 22.5%로 인기가 더 올라갔다.

파이썬은 일회성 범용 작업에는 탁월하지만, 반면 가장 큰 단점이 속도다. 밀리초가 중요한 실시간 작업이나 금융 거래를 지원하는 데는 자바에 미치지 못합니다. 그럼에도 여전히 소프트웨어 개발자가 가장 많이 선택하는 언어이자 기업이 가장 선호하는 기술이다.
 

자바(사용자 320만 명)

자바는 대부분의 엔터프라이즈 애플리케이션의 기본 프로그래밍 아키텍처다. 인증, 스토리지, 배송 등에 로직과 인텔리전스를 제공하는 등 보이지 않는 곳에서 많은 작업을 수행한다. 아줄(Azul)의 자바 현황 조사 보고서에 따르면, 압도적인 98%의 기업이 소프트웨어 애플리케이션 또는 인프라에서 자바를 사용하고 있다. 이들 중 57%는 자바가 대부분 애플리케이션(60% 이상)의 근간이라고 답했다.

자바는 잘 정립된 언어일 뿐만 아니라 '플라이휠' 효과로 되어 지속적인 인기를 얻고 있다. 자바로 애플리케이션을 만드는 것은 빠르고 쉬우며, 자바로 구축된 애플리케이션이 많을수록 개발 프로세스가 더 단순하고 빨라진다. 일반적으로 애플리케이션은 처음부터 코딩하는 경우는 거의 없다. 특정 기능과 기능을 구현하기 위해 다양한 기술을 조합해 만든다. 자바의 진정한 장점은 수많은 프레임워크, 라이브러리, 오픈소스 자료를 통해 모든 구성 요소가 실전에서 테스트를 거쳤다는 사실이다. 덕분에 개발자는 이런 조합이 잘 작동한다는 것을 신뢰하고 빠르게 애플리케이션을 만들 수 있다.

자바가 인기 언어 상위권에 머무는 이유는 단지 역사적인 힘뿐만이 아니다. 자바는 6개월마다 중요한 기능  업데이트를 제공하며, 분기별로 사소한 개선 사항, 버그 수정, 보안 업데이트가 포함된 릴리스가 나온다. 또한 새로운 기술에 유연하게 적응할 수 있다. 최신 버전인 자바 22는 대형 언어 모델과 생성형 AI를 엔터프라이즈 애플리케이션에 적용하는 데 사용될 가능성이 높다.
 

인기는 계속된다

물론 이들 언어에도 한계가 있다. 가트너 부사장 겸 리서치 디렉터인 린다 아이비 로서는 "(이들 언어로 만들어진) 엔터프라이즈 소프트웨어는 오랜 기간 일종의 지원 기능으로 인식됐다. 혁신이 부족하고, 잘 만들어진 애플리케이션 전략의 이점을 누리는 데 오랜 시간이 걸린다"라고 지적했다. 숙련된 개발자가 부족하고 IT 예산이 빠듯한 상황에서 기업이 당장 문제가 되지 않는 오래된 소프트웨어를 빠르게 수정하지 않는 것이 이해되는 측면도 있다.

언어 측면에서 보면, 오늘날 소프트웨어 개발의 기본 구성 요소인 자바, 파이썬, 자바스크립트를 뒤집을 만한 추진력과 힘을 가진 다른 프로그래밍 언어는 아직 등장하지 않았다. 이들 3가지 언어는 현재 디지털 비즈니스 운영 방식에 필수적인 요소이며 앞으로도 당분간 이 자리를 계속 유지할 것으로 보인다.

 

https://www.itworld.co.kr/news/338433

 

JSㆍ파이썬ㆍ자바가 기업 IT를 지배하는 이유

클라우드 컴퓨팅, 모바일 개발, AI의 발전에도 전 세계 기업의 일상적인 비즈니스는 여전히 1990년대에 등장한 3가지 프로그래밍 언어를 기반으

www.itworld.co.kr

 

반응형
반응형

https://www.facebook.com/pyconkorea/

 

로그인 또는 가입하여 보기

Facebook에서 게시물, 사진 등을 확인하세요.

www.facebook.com

 

[python] 파이콘 2024  - https://2024.pycon.kr/

파이썬 코리아! 2024 이벤트 공지
파이토닉의 순간!
2024년 10월 25~27일 - 수원컨벤션센터
파이썬 사용의 크고 작은 순간을 함께 나누는 파이썬 코리아 창립 10주년 기념 행사에 함께하세요.
이 특별한 이벤트에서 파이썬의 즐거움과 감동을 느껴보세요.
예상 사항:
파이썬 전문가들의 토크 및 워크샵
동료 Pythonistas와 네트워킹 기회
오픈 소스 프로젝트 및 데모
그리고 훨씬 더!
Python 커뮤니티와 연결하고 최고의 소식을 배울 수 있는 이 기회를 놓치지 마세요.
 

 

2024] 파이콘 한국! 올해 슬로건과 일자를 공개합니다!
 
"Pythonic Moments!"
 
2024.10.25 ~ 27 - 수원 컨벤션센터
파이썬을 사용하는 작고 큰 활동과 순간을 공유하고
그 과정에서 느껴지는 재미와 감동의 경험을
올해 10주년을 맞이하는 파이콘 한국에서 만들어볼까요?
더욱 특별한 파이콘 한국 10주년의 순간에
여러분과 함께하길 기대합니다.
SNS를 구독하여 이어질 행사 정보를 가장 빠르게 받아보세요!
 

 

반응형
반응형

구글이 플러터 팀의 인력을 감축한 데 이어 다트, 파이썬 팀을 인력도 줄이고 있다는 소식이다. 구글은 그러나 해고 사실을 묻는 인포월드의 문의에 응답하지 않았다. 

일부 직원들의 소셜 미디어 포스트에 따르면 구글은 5월 중 개최하는 연례 I/O 개발자 컨퍼런스를 앞둔 현재, 이들 팀의 인력 일부를 해고하고 있다. 그러나 구체적인 팀, 역할, 대상자 수 등은 알려지지 않고 있다. 

플러터와 다트의 한 PM은 X에 게재한 글에서 이번 정리해고가 "많은 팀"에 영향을 미쳤으며 "많은 훌륭한 프로젝트에서 인력을 잃었다"라고 말했다. 
 
레딧에 게재된 다른 게시물에서 또 다른 네티즌은 이번 해고로 영향을 받은 파이썬 팀이 내부 파이썬 런타임과 툴체인을 관리하고 OSS 파이썬을 다루는 직원들이라고 언급했다. 

현재까지의 정보를 살펴보면 구글은 4월 24일에 제출된 WARN 공지를 통해 일부 해고 인원을 발표한 것으로 관측된다.  캘리포니아 근로자 조정 및 재교육 통지법(WARN)에 따르면 100명 이상의 직원을 둔 고용주는 정리해고 60일 전에 통지해야 한다. 구글은 해당 서류에서 서니베일의 세 곳에서 총 50명의 직원을 해고한다고 밝혔다. 

한편 구글은 2주 후 구글 I/O 컨퍼런스에서 플러터 업데이트를 공개하겠다고 약속한 바 있다. 이번 인력 감축으로 인해 이들 두 기술의 미래에 대한 의문이 제기되고 있다.  https://www.ciokorea.com/news/335542

반응형
반응형

[python] pip install prettytable, 표 형태로 데이터를 보여준다. 

 

pip install prettytable

 

 

https://pypi.org/project/prettytable/

 

prettytable

A simple Python library for easily displaying tabular data in a visually appealing ASCII table format

pypi.org

시각적으로 매력적인 ASCII 테이블 형식으로 표 형식의 데이터를 쉽게 표시하기 위한 간단한 Python 라이브러리

A simple Python library for easily displaying tabular data in a visually appealing ASCII table format

 

from prettytable import PrettyTable

# Create a PrettyTable object
table = PrettyTable()

# Define the table's columns
table.field_names = ["Name", "Age", "City"]

# Add rows to the table
table.add_row(["Alice", 30, "New York"])
table.add_row(["Bob", 25, "Los Angeles"])
table.add_row(["Charlie", 35, "Chicago"])

# Print the table
print(table)

 

# HTML 형식으로 테이블 표시


# HTML 형식으로 테이블 표시
# PrettyTable은 HTML 형식으로 테이블을 인쇄합니다 <table>. ASCII 형식과 마찬가지로 실제로 문자열 표현을 얻을 수 있습니다 
# get_html_string(). . HTML 인쇄는 ASCII 인쇄 와 동일한 방식으로 fields, start, 및 인수를 지원합니다.

print('\n\n',table.get_html_string(attributes={"id":"my_table", "class":"red_table"}))

반응형
반응형

[python] 엑셀 읽고 쓰기 

 

https://pypi.org/project/openpyxl/

 

openpyxl

A Python library to read/write Excel 2010 xlsx/xlsm files

pypi.org

 

pip install openpyxl

 

반응형
반응형

[python] 한글 자음, 모음, 초성 추출하기 

 

# pip install jamotools 
# https://pypi.org/project/jamotools/
# A library for Korean Jamo split and vectorize. 
#
# 음절 분할 및 jamos를 음절에 결합하는 API는 hangul-utils 를 기반으로 합니다 .
# 
# Split_syllables : 음절 문자열을 jamos 문자열로 변환하고 유니코드 유형을 변환하도록 선택할 수 있습니다.
# Join_jamos : jamos 문자열을 음절 문자열로 변환합니다.
# Normalize_to_compat_jamo : jamos 문자열을 한글 호환성 Jamo 문자열로 정규화합니다 .
import jamotools

print(jamotools.split_syllable_char(u"안"))
#('ㅇ', 'ㅏ', 'ㄴ')

print(jamotools.split_syllables(u"안녕하세요"))
# ㅇㅏㄴㄴㅕㅇㅎㅏㅅㅔㅇㅛ


sentence = u"앞 집 팥죽은 붉은 팥 풋팥죽이고, 뒷집 콩죽은 햇콩 단콩 콩죽.우리 집  깨죽은 검은 깨 깨죽인데 사람들은 햇콩 단콩 콩죽 깨죽 죽먹기를 싫어하더라."
s = jamotools.split_syllables(sentence)
print(s, '\n')

""" ㅇㅏㅍ ㅈㅣㅂ ㅍㅏㅌㅈㅜㄱㅇㅡㄴ ㅂㅜㄺㅇㅡㄴ ㅍㅏㅌ ㅍㅜㅅㅍㅏㅌㅈㅜㄱㅇㅣㄱㅗ,
ㄷㅟㅅㅈㅣㅂ ㅋㅗㅇㅈㅜㄱㅇㅡㄴ ㅎㅐㅅㅋㅗㅇ ㄷㅏㄴㅋㅗㅇ ㅋㅗㅇㅈㅜㄱ.ㅇㅜㄹㅣ
ㅈㅣㅂ ㄲㅐㅈㅜㄱㅇㅡㄴ ㄱㅓㅁㅇㅡㄴ ㄲㅐ ㄲㅐㅈㅜㄱㅇㅣㄴㄷㅔ ㅅㅏㄹㅏㅁㄷㅡㄹㅇㅡㄴ
ㅎㅐㅅㅋㅗㅇ ㄷㅏㄴㅋㅗㅇ ㅋㅗㅇㅈㅜㄱ ㄲㅐㅈㅜㄱ ㅈㅜㄱㅁㅓㄱㄱㅣㄹㅡㄹ
ㅅㅣㅀㅇㅓㅎㅏㄷㅓㄹㅏ. """

sentence2 = jamotools.join_jamos(s)
print(sentence2)
""" 앞 집 팥죽은 붉은 팥 풋팥죽이고, 뒷집 콩죽은 햇콩 단콩 콩죽.우리 집 깨죽은 검은 깨
깨죽인데 사람들은 햇콩 단콩 콩죽 깨죽 죽먹기를 싫어하더라. """

print(sentence == sentence2)
# True


# 자음만 추출
def extract_vowels(text):
    vowels = set(['ㅏ', 'ㅑ', 'ㅓ', 'ㅕ', 'ㅗ', 'ㅛ', 'ㅜ', 'ㅠ', 'ㅡ', 'ㅣ', 'ㅐ', 'ㅒ', 'ㅔ', 'ㅖ', 'ㅘ', 'ㅙ', 'ㅚ', 'ㅝ', 'ㅞ', 'ㅟ', 'ㅢ'])
    result = ''
    for char in text:
        if '가' <= char <= '힣':  # Check if the character is Hangul
            syllables = jamotools.split_syllables(char)
            for syllable in syllables:
                if syllable in vowels:
                    result += syllable
    return result

sentence = u"앞 집 팥죽은 붉은 팥 풋팥죽이고, 뒷집 콩죽은 햇콩 단콩 콩죽.우리 집  깨죽은 검은 깨 깨죽인데 사람들은 햇콩 단콩 콩죽 깨죽 죽먹기를 싫어하더라."
vowels_only = extract_vowels(sentence)
print(vowels_only)
# ㅏㅣㅏㅜㅡㅜㅡㅏㅜㅏㅜㅣㅗㅟㅣㅗㅜㅡㅐㅗㅏㅗㅗㅜㅜㅣㅣㅐㅜㅡㅓㅡㅐㅐㅜㅣㅔㅏㅏㅡㅡㅐㅗㅏㅗㅗㅜㅐㅜㅜㅓㅣㅡㅣㅓㅏㅓㅏ


# 모음만 추출 
def extract_consonants(text):
    consonants = set(['ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ', 'ㄹ', 'ㅁ', 'ㅂ', 'ㅃ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'])
    result = ''
    for char in text:
        if '가' <= char <= '힣':  # Check if the character is Hangul
            syllables = jamotools.split_syllables(char)
            for syllable in syllables:
                if syllable in consonants:
                    result += syllable
    return result

sentence = u"앞 집 팥죽은 붉은 팥 풋팥죽이고, 뒷집 콩죽은 햇콩 단콩 콩죽.우리 집  깨죽은 검은 깨 깨죽인데 사람들은 햇콩 단콩 콩죽 깨죽 죽먹기를 싫어하더라."
consonants_only = extract_consonants(sentence)
print(consonants_only)
# ㅇㅍㅈㅂㅍㅌㅈㄱㅇㄴㅂㅇㄴㅍㅌㅍㅅㅍㅌㅈㄱㅇㄱㄷㅅㅈㅂㅋㅇㅈㄱㅇㄴㅎㅅㅋㅇㄷㄴㅋㅇㅋㅇㅈㄱㅇㄹㅈㅂㄲㅈㄱㅇㄴㄱㅁㅇㄴㄲㄲㅈㄱㅇㄴㄷㅅㄹㅁㄷㄹㅇㄴㅎㅅㅋㅇㄷㄴㅋㅇㅋㅇㅈㄱㄲㅈㄱㅈㄱㅁㄱㄱㄹㄹㅅㅇㅎㄷㄹ


# 초성만 추출 
def extract_initial_consonants(text):
    result = ''
    for char in text:
        if '가' <= char <= '힣':  # Check if the character is Hangul
            initial_consonant = jamotools.split_syllable_char(char)[0]
            result += initial_consonant
    return result

sentence = u"앞 집 팥죽은 붉은 팥 풋팥죽이고, 뒷집 콩죽은 햇콩 단콩 콩죽.우리 집  깨죽은 검은 깨 깨죽인데 사람들은 햇콩 단콩 콩죽 깨죽 죽먹기를 싫어하더라."
initial_consonants_only = extract_initial_consonants(sentence)
print(initial_consonants_only)
반응형

+ Recent posts