Programming/Web

    [Web] 웹 프로그래밍의 기초(CSS)

    CSS란? CSS는 HTML로 만들어진 콘텐츠에 레이아웃과 디자인 요소를 정의하는 기술을 의미한다. 잘 설계된 CSS 코드는 재활용이 가능하며 더 나아가 테마, 템플릿 형태로 확장할 수도 있다. 또한 자바스크립트와 연계하면 콘텐츠의 내용이나 디자인을 동적으로 처리할 경우에도 유용하게 사용되므로 핵심 요소에 대해 정확하게 이해할 필요가 있다. CSS는 HTML과 함께 웹을 구성하는 기본 프로그래밍 요소다. HTML이 텍스트나 이미지, 표와 같은 구성요소를 웹 문서에 넣어 뼈대를 만드는 것이라면, CSS는 글씨의 색상이나 크기, 이미지 크기나 배치 방법 등 웹 문서의 디자인 요소를 담당한다. CSS 사용을 통해 얻을 수 있는 장점 웹 문서의 내용과 별개로 디자인만 바꾸거나, 디자인은 그대로 두고 웹 문서의 ..

    [Web] 웹 프로그래밍의 기초(HTML)

    HTML은 HyperText Markup Language의 약자로, 모든 웹 콘텐츠는 HTML로 이루어져 있다. 크롬과 같은 웹 브라우저는 서버로부터 전달받은 HTML 문서의 구조를 해석해 화면을 구성한다. HTML은 단순한 파일 형태로 서버에 존재할 수도 있고 서버 프로그램을 통해 생성된 형태일 수도 있다. 어떤 형태이든 클라이언트인 웹 브라우저가 서버로부터 수신하는 데이터의 구조는 HTML이다. 하이퍼텍스트 하이퍼텍스트(HyperText)란 다른 정보와 연결된 텍스트를 의미하며 사용자가 관련 문서를 링크를 통해 이동하며 정보를 얻을 수 있다. 예를 들어 구글에 '고양이'를 검색하면 검색 결과 페이지에서 위키백과에 들어갈 수 있다. 위키백과 화면에서 특정 단어를 클릭하면 다시 해당 단어에 대한 설명 페..

    [Web] 웹(DevOps)

    [Web] 웹(DevOps)

    클라우드 개발환경 최근 전통적인 개발환경 설정을 넘어 클라우드 인프라와 협업을 위한 기본적인 배경지식과 경험이 요구되고 있다. 개발환경이 점점 복잡해짐과 더불어 개발 결과물을 실제 서버로 배포하는 과정도 절차도 점점 복잡해지고 있다. 따라서 세부적인 클라우드 개발환경에 대한 어느 정도 이해가는 필요하다. 배포 프로세스 배포(Deployment)는 배치라고도 하며, 개발된 결과물을 실제 사용자에게 전달하는 작업을 말한다. 웹의 경우 운영 서버로 소스코드를 복사하고 WAS에 등록하는 과정을 의미하며, 모바일 앱의 경우 앱 스토어에 앱을 업로드하는 절차 등이 해당한다. 그 외에도 FTP(File Transfer Protocol)서버, 홈페이지 또는 깃허브 등을 통해 버전을 릴리즈(Release)하는 작업이 될..

    [Web] 웹(Java, JVM, JDK, IDE, Servlet Container)

    자바의 대표적인 특징 간결하면서도 강력한 객체지향 프로그래밍 언어다. 플랫폼에 독립적이어서 여러 운영체제나 하드웨어에서도 동일하게 실행할 수 있다. 많은 오픈소스 라이브러리를 통해 생산성이 향상되고 유지보수 비용이 절감된다. GUI 기반의 응용 프로그램 개발에는 적합하지 않다. 하드웨어를 정밀하게 제어해야 하는 프로그램 개발에는 비교적 적합하지 않다. 최신 모던 프로그래밍 언어에 비해 간결함이 떨어지고 코드가 복잡하며 불필요한 코드가 많다. Java 8~11의 버전 변화를 거치며 많이 보안되었다. 자바의 버전 매년 버전업되어 최신 버전이 나오지만 개발의 안정성과 호환을 위해 LTS(Long Term Support) 버전을 사용하는 것이 좋다. 11은 최대 2026년까지 기술 및 보안 업데이트 등이 보장되..

    [Web] 웹(요약)

    월드 와이드 웹(World Wide Web)은 줄여서 WWW 또는 웹이라고 한다. 웹은 HTML(HyperText Markup Language)이라는 간단한 마크업 언어를 통해 정보의 연결이 가능하도록 하이퍼텍스트를 포함한 콘텐츠를 제공하며, HTTP(HyperText Transfer Protocol)라는 프로토콜을 사용해 TCP/IP 네트워크상에서 서비스를 운영하게 된 것이 웹의 시작이다. 네트워크를 구축하려면 컴퓨터 간의 연결 규격인 프로토콜(Protocol)이 필요하며 여러 프로토콜 중 가장 널리 쓰이는 프로토콜이 TCP/IP다. 인터넷 기반의 대표적인 서비스는 웹 이외에도 이메일, FTP, Telnet, DNS 등이 있지만 일반적으로 사용하는 서비스로는 웹이 절대적이다. HTML, CSS, Jav..

    [Web] 웹(웹 개발 트렌드)

    자바 언어의 대안 등장 한때는 최신 언어였던 자바가 구식 언어가 되어버렸다. 자바로 만든 프로그램을 실행하기 위한 가상머신 기술은 날로 발전해 안정화되고 성능 또한 인정을 받게 되었으나 문법이나 코드 구조는 급속하게 변하는 시대의 흐름 속에서 트렌드에 뒤처지게 되었다. 또한 오라클의 자바 인수로 인해 가속화된 구글과의 자바 라이선스 문제가 오라클의 승리로 끝나자 구글은 새로운 안드로이드 개발 언어로 젯브레인스(JetBrains)에서 개발한 코틀린(Kotlin) 언어를 추가하면서 안드로이드 개발 트렌드는 점점 코틀린 쪽으로 이전하고 있다. 코틀린은 최신 프로그래밍 언어의 특징을 모두 가지는 모던 프로그래밍 언어(Modern Programming Language)이다. 또한 코틀린은 오픈소스 프로젝트로 자바..