IT톡톡 > 지식나눔
프레임워크(Framework)
프레임워크는 소프트웨어를 만들 때 사용하는 거대한 레고 세트라고 할 수 있어요.내가 만들고 싶은 것의 기본 구조와 필요한 모든 블록을 제공해 주는 레고세트처럼, 프레임워크도 비슷합니다. 코딩이라는 레고 블록을 쌓아 올릴 때, 프레임워크는 개발자가 특정 규칙에 따라 블록을 정확한 위치에 맞춰 쌓도록 도와줘요.프레임워크는 개발 프로젝트를 수행할 때 필요한 구조적 지원을 제공하는 소프트웨어 환경입니다. 반복되는 코딩 작업을 줄이고 효율을 높여주기 위해 재사용 가능한 여러 클래스(변수와 함수의 집합체)를 제공합니다. 프레임워크를 통해 개발자는 프레임워크가 정한 규칙에 따라 필요한 기능을 더 빠르고 쉽게 구현할 수 있습니다. 예를 들어, JavaScript에서는 Vue.js와 Angular가, Java에서는 Spring이 주요 웹 개발 프레임워크로 활용됩니다. 즉, 프레임워크가 있으면 이미 예쁘게 디자인된 레고 모델을 따라 만들 수 있게 되는 거죠.
특정 프로그램 개발을 위해 필요한 함수나 기능들을 모아 둔 집합입니다. 프레임워크가 전체적인 개발 흐름을 제시하는 반면, 라이브러리는 개발자가 필요에 따라 선택적으로 사용할 수 있는 도구 모음입니다. 라이브러리의 장점은 개발자가 자유롭게 필요한 기능을 선택해 사용할 수 있으며, 이미 존재하는 라이브러리를 적절히 사용하는 방법을 배우면 손쉽게 프로젝트에 적용할 수 있다는 점이에요. JavaScript에서는 React와 jQuery가 이러한 라이브러리의 예시입니다.
마치 비디오 게임에서 사용할 수 있는 치트 코드나 보너스 아이템 같은 거예요. 게임을 하다 보면, 때로는 더 빠르게 달릴 수 있는 신발이나, 더 높이 뛸 수 있는 점프 팩 같은 “특별한 아이템”이 필요하죠. 플러그인도 바로 그런 역할을 해요. 이미 잘 작동하는 소프트웨어나 애플리케이션에 '플러그인'하여, 마법처럼 새로운 기능이나 능력을 추가할 수 있게 되죠.플러그인이란 어떤 특정한 기능을 해결하는 데 쓸 수 있도록 미리 만들어 놓은 코드 및 데이터의 모음입니다. 보편적으로 하나의 라이브러리나 프레임워크에서 여러 개의 플러그인을 제공하고 있습니다.
검색 엔진 최적화(SEO: Search Engine Optimize)
SEO. 웹 페이지를 구글 등 검색 엔진이나 포털사이트의 기준에 맞춰 구성하는 작업입니다. 웹 페이지를 검색 엔진의 검색 결과 상단에 노출시키기 위해 최적화하는 작업을 의미합니다.웹사이트의 가시성을 높이기 위한 주요 방법에는 _관련 키워드의 적절한 배치, 웹 표준의 준수, 그리고 스팸 방지 조치_가 포함됩니다.
"키워드 배치"는 검색 엔진에서 웹페이지가 관련 검색 결과에 쉽게 나타날 수 있도록 합니다.
"스팸 방지 조치"는 사이트의 신뢰도를 높여 검색 엔진에서의 순위를 개선합니다.이러한 요소들은 모두 웹사이트의 온라인 가시성 향상에 필수적입니다.
소프트웨어 세계에서 가장 유명한 파티 크래셔로, 초대받지 않았음에도 불쑥 나타나서 모든 것을 혼란에 빠뜨리는 불청객입니다. 가장 예상치 못한 순간에 나타나 당신의 프로그램을 멈추게 하거나 예상치 못한 반응을 일으키고는 해요.
소프트웨어 개발 과정에서 발생하는 예기치 않은 오류나 기능 장애를 말합니다. 버그는 시스템의 예상치 못한 동작을 일으켜 사용자 경험을 저하시킬 수 있습니다.
잘못 짠 코드처럼 내부 문제로 예상하지 못한 문제가 일어나는 버그와 달리, 외부 사용자의 잘못된 입력이나 조작으로 인해 발생하는 문제입니다. 에러는 대개 사용자가 제공된 지침을 따르지 않았을 때 발생하며, 적절한 예외 처리를 통해 대응할 수 있습니다.
에러가 일어날 가능성을 개발자가 미리 예상하고 프로그램이 비정상적으로 종료되지 않도록 하는 것입니다.
예외 처리(Exception Handling) 또는 트러블 슈팅(Trouble Shooting)을 통해 사전에 인식하고, 이에 대응하여 프로그램이 중단되지 않도록 처리하는 방법입니다. 이를 통해 안정적인 소프트웨어 운영을 지원합니다.
트래픽이란 서버로부터 전송되는 데이터의 양을 말해요. 웹사이트나 앱을 방문하는 사람이 많거나, 접속 횟수가 늘어날수록 이 데이터 양도 증가해요. 트래픽이 지나치게 많아지면, 서버는 감당을 못 하고 먹통이 되어버릴 수 있어요 (즉, 서버 다운).
대학교 수강신청이 시작되는 날처럼 학생들이 몰려드는 사이트가 갑자기 '붐' 하고 맛이 가버리거나, 많은 컴퓨터를 해킹하여 의도적으로 서비스를 마비시키는 DDoS 공격 같은 경우도 바로 트래픽 폭주 때문입니다.
소프트웨어 개발을 위해 필요한 도구, 가이드, 샘플 코드 등을 포함한 키트입니다.
SDK는 특정 플랫폼이나 언어에 맞춰진 개발 도구를 제공하여 개발 과정을 용이하게 해요. SDK 안에는 개발에 필요한 샘플 코드, 코드 편집기 같은 툴이나 콘솔, 안내 문서, API 등이 포함됩니다.
소프트웨어 개발을 위한 통합 작업 환경을 제공하는 도구입니다.
코드 편집, 컴파일, 디버깅 등 개발에 필요한 다양한 기능을 한곳에서 제공하여 개발자의 효율성을 높여줍니다. IDE는 개발자가 필요로 하는 코드 스니펫이나 참고 자료를 쉽게 찾을 수 있게 도와줍니다. 또한, IDE는 개발자가 필요로 하는 코드 라이브러리나 프레임워크에 즉시 접근할 수 있도록 해줍니다.
IDE는 코드를 작성하는 동안 오타나 문법적 오류를 지적해 주고, 때로는 더 나은 코드 작성 방법을 제안해 줘요.
(비주얼 스튜디오(Visual Studio), 이클립스(Eclipse), 인텔리제이 아이디어(IntelliJ Idea) 등