개발자상식 <백엔드 개발자> (21)[책리뷰 & Book review]
본문 바로가기

컴퓨터공부/책리뷰 & book review

개발자상식 <백엔드 개발자> (21)[책리뷰 & Book review]

by Life & study 2024. 1. 25.

개발자상식 <백엔드 개발자> (21)

[책리뷰 & Book review]

 

 

JSP와 리액트의 차이점은 무엇인가?

JSP와 리액트 간의 사용 차이는 여러 가지 이유가 있습니다. 그중 한 가지는 설정에 대한 제한일 수 있습니다.

JSP는 자바를 기반으로 한 서버 사이드 스크립트 언어로, 웹 서버에서 동작하며 HTML 코드 안에 자바 코드를 넣어 동적인 웹 페이지를 생성합니다. 이는 서버에서 페이지를 렌더링 하고 클라이언트에게 전달하는 방식입니다.

java

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
    String name = request.getParameter("name");
    if (name == null) name = "Guest";
%>
<h1>Hi, <%=name%>. Welcome to our website!</h1>
</body>
</html>

 

 

 



반면에 리액트는 자바스크립트 라이브러리로, 사용자 인터페이스를 구축하기 위해 사용됩니다. 클라이언트 사이드에서 렌더링되며, 사용자의 상호작용에 따라 동적으로 UI를 업데이트합니다.

jsx

import React from 'react';

class Welcome extends React.Component {
  constructor(props) {
    super(props);
    this.state = {name: 'Guest'};
  }

  render() {
    return <h1>Hi, {this.state.name}. Welcome to our website!</h1>;
  }
}

export default Welcome;


리액트는 세세한 설정이 필요하며, 이를 위해선 웹팩이나 바벨과 같은 도구를 사용해야 합니다. 이러한 설정 과정이 복잡하고 시간이 많이 소요되기 때문에, 초기 설정에 대한 제한이라는 이야기가 나올 수 있습니다. 하지만, 이러한 설정 작업을 간소화해 주는 Create React App과 같은 도구를 사용하면, 쉽게 리액트 프로젝트를 시작할 수 있습니다.

리액트는 컴포넌트 기반의 구조로, 재사용성이 높고, 상태 관리를 통해 동적인 UI를 효율적으로 제어할 수 있다는 장점이 있습니다. 이러한 이유로, 극히 소기업이나 스타트업에서 많이 사용되는 것이 아니라, 많은 기업에서 사용하고 있습니다.

따라서, 리액트를 사용하려면 초기 설정에 시간과 노력을 투자해야 하지만, 그 이후의 개발과 유지보수는 매우 효율적입니다. 이는 JSP와는 다른 접근 방식이지만, 각각의 장단점을 고려하여 적절한 기술을 선택하는 것이 중요합니다.

 

 

 

 

 

 

 

 

 

React.js 를 사용하기 위한 설정과 배워야 하는 것은 무엇인가?

 

리액트를 설정하는 것은 웹팩(Webpack), 바벨(Babel), ESLint 등의 도구를 사용해 개발 환경을 구성하는 것을 

의미합니다. 이들 도구를 이해하고 설정하는 것이 필요합니다.

웹팩(Webpack) : 웹팩은 모듈 번들러입니다. 

JavaScript, CSS, Image 등의 여러 파일들을 하나의 파일로 묶어주는 역할을 합니다. 

 

이를 통해 브라우저가 파일을 한 번에 다운로드 받아 성능을 향상하고, 파일 간 의존성을 관리할 수 있습니다.

 

Webpack.config.js 예시:

javascript

const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'main.js',
    path: path.resolve(__dirname, 'dist'),
  },
};


바벨(Babel) : 바벨은 자바스크립트 컴파일러로, 최신 자바스크립트 문법을 브라우저에서 호환 가능한 이전 버전의 자바스크립트로 변환해 줍니다. 

 

이를 통해 최신 문법을 사용하면서도 다양한 브라우저에서 코드가 동작하게 할 수 있습니다.
.babelrc 예시:

javascript

{
  "presets": ["@babel/preset-env", "@babel/preset-react"]
}
ESLint : ESLint는 자바스크립트 문법 검사 도구로, 코드의 일관성을 유지하고 오류를 미리 찾을 수 있게 돕습니다.
.eslintrc 예시:

javascript
{
    "extends": "react-app",
    "rules" : {
        "indent": ["error", 2],
        "quotes": ["error", "double"],
        "semi": ["error", "always"],
    }
}


이러한 설정 작업은 복잡하고 시간이 많이 소요될 수 있습니다. 하지만, Create React App과 같은 도구를 사용하면 이러한 설정 없이도 쉽게 리액트 프로젝트를 시작할 수 있습니다.

 

 

 

 

 

 

 

Create React App과 같은 도구는 무엇인가?

Create React App은 리액트 프로젝트를 시작할 때 필요한 설정을 미리 해놓은 보일러플레이트입니다.

 즉, 웹팩, 바벨, ESLint 등의 설정을 미리 해놓았고, 이를 통해 쉽게 리액트 프로젝트를 시작할 수 있습니다.

Create React App을 사용하는 것은 '설치'라기보다는 '이용'에 가깝습니다.

 새로운 프로젝트를 생성할 때, 이 보일러플레이트를 기반으로 생성하게 되는 것이죠.

하지만 먼저 Create React App을 이용할 수 있게 전역(global)으로 설치는 해야 합니다. 

설치 방법은 아래와 같습니다:

먼저, Node.js가 설치되어 있어야 합니다.

 Node.js 설치는 공식 홈페이지(https://nodejs.org/)에서 할 수 있습니다.
Node.js 설치 후, NPM(Node Package Manager) 또는 Yarn을 이용해 Create React App을 전역으로 설치합니다.

 


NPM을 이용한 설치 방법:

bash

npx create-react-app my-app

 



Yarn을 이용한 설치 방법:

bash

yarn create react-app my-app


위 코드에서 'my-app' 부분은 생성하려는 프로젝트의 이름을 넣으시면 됩니다.




설치가 완료되면, 생성한 프로젝트 디렉토리로 이동합니다:
bash

cd my-app


이후 npm start 또는 yarn start 명령어를 통해 리액트 애플리케이션을 실행시킬 수 있습니다:
bash

npm start


또는

bash

yarn start


이제 브라우저에서 'localhost:3000' 주소로 접속하면, 

Create React App으로 생성한 리액트 애플리케이션이 실행된 것을 확인할 수 있습니다. 

이렇게 Create React App을 사용하면 복잡한 설정 없이 바로 리액트 개발을 시작할 수 있습니다.

 

 

 

 

 

 

보일러플레이트는 무엇인가?

 

'보일러플레이트'는 반복적으로 사용되는 코드를 의미합니다.

 즉, 보일러플레이트는 개발자가 새 프로젝트를 시작할 때마다 반복적으로 작성해야 하는 코드를 미리 작성해 놓은 템플릿을 의미합니다.

Create React App은 바로 이런 보일러플레이트 중 하나로, 리액트 프로젝트를 시작할 때 필요한 기본 설정을 미리 해놓았습니다. 웹팩, 바벨 등의 설정을 포함하고 있어, 개발자는 복잡한 설정 없이 바로 리액트 개발을 시작할 수 있습니다.

Create React App을 사용하는 방법은 다음과 같습니다:

먼저, Node.js가 설치되어 있어야 합니다.

Node.js 설치는 공식 홈페이지(https://nodejs.org/)에서 할 수 있습니다.
Node.js 설치 후, NPM(Node Package Manager) 또는 Yarn을 이용해 Create React App을 전역으로 설치합니다.
NPM을 이용한 설치 방법:

 



bash

npx create-react-app my-app


Yarn을 이용한 설치 방법:

bash

yarn create react-app my-app


위 코드에서 'my-app' 부분은 생성하려는 프로젝트의 이름을 넣으시면 됩니다.
설치가 완료되면, 생성한 프로젝트 디렉토리로 이동합니다:
bash

cd my-app


이후 npm start 또는 yarn start 명령어를 통해 리액트 애플리케이션을 실행시킬 수 있습니다:
bash

npm start


또는

bash

yarn start


이제 브라우저에서 'localhost:3000' 주소로 접속하면, Create React App으로 생성한 리액트 애플리케이션이 실행된 것을 확인할 수 있습니다.

 Create React App은 이처럼 복잡한 설정 없이 바로 리액트 개발을 시작할 수 있도록 도와주는 보일러플레이트입니다.

 

 

 

 

 

 

 

 

JSP에서 자바스크립트와 제이쿼리 중에 무엇을 배우면 좋을까?

 

jQuery는 웹 개발 초기에 브라우저 간의 호환성 문제를 해결하고, 자바스크립트로 DOM을 조작하는 복잡한 과정을 단순화하는데 큰 역할을 했습니다.

브라우저 호환성 : 과거에는 브라우저마다 자바스크립트를 해석하고 실행하는 방식에 차이가 있었습니다. 

이로 인해 동일한 자바스크립트 코드가 서로 다른 브라우저에서 다르게 작동하는 문제가 발생했습니다.

 jQuery는 이러한 브라우저 간의 차이점을 추상화하여 동일한 코드가 모든 브라우저에서 동일하게 작동하도록 만들었습니다.

 

javascript

// 순수 자바스크립트
document.getElementById('myId').addEventListener('click', function() {
  alert('Clicked!');
});

// jQuery
$('#myId').click(function() {
  alert('Clicked!');
});


DOM 조작 단순화 : jQuery는 복잡한 DOM 조작을 단순한 메서드 호출로 가능하게 했습니다.

 이로 인해 개발자는 보다 직관적이고 간결한 코드로 원하는 동작을 구현할 수 있게 되었습니다.

 

javascript
// 순수 자바스크립트
document.getElementById('myId').style.display = 'none';

// jQuery
$('#myId').hide();


그러나 현재는 웹 표준이 잘 지켜지고 있고, 대부분의 브라우저가 이 표준을 잘 따르고 있습니다.

 또한, 자바스크립트 자체도 발전하여 jQuery에서 제공하는 많은 기능을 기본적으로 지원하게 되었습니다. 따라서 jQuery의 필요성은 과거보다 줄어들었지만, 그럼에도 불구하고 이전에 작성된 많은 웹 사이트들이 jQuery를 사용하고 있으므로 jQuery에 대한 이해는 여전히 중요합니다

 

 

 

 

 

 

자바스크립트와 제이쿼리의 차이점은 무엇인가?

 

자바스크립트는 웹 페이지에 동적인 요소를 추가하기 위한 프로그래밍 언어입니다. 

반면, jQuery는 자바스크립트를 통해 웹 페이지를 조작하는 데 필요한 복잡한 작업들을 단순화하는 라이브러리입니다.

자바스크립트 :
장점 : 모든 웹 브라우저에서 지원하며, 웹 개발의 기본이 되는 언어입니다. 

자바스크립트만으로도 DOM 요소를 선택하거나 조작, 이벤트를 처리, HTTP 요청을 보내는 등의 작업이 가능합니다.
한계 및 단점 : 복잡한 DOM 조작이나 AJAX 요청 등의 작업에 많은 코드가 필요하고, 브라우저 간 동작 차이가 있을 수 있습니다.
javascript

// DOM 요소 선택 및 조작
var element = document.getElementById("myElement");
element.style.display = "none";

// 이벤트 처리
element.addEventListener("click", function() {
  alert("Element is clicked!");
});


jQuery :

 

장점 : 복잡한 자바스크립트 작업을 단순화하고, 브라우저 간의 자바스크립트 호환성 문제를 해결해 줍니다. 또한, 플러그인 시스템을 통해 다양한 추가 기능을 활용할 수 있습니다.

 

계 및 단점 : jQuery를 사용하려면 먼저 라이브러리를 로드해야 하므로 초기 로딩 시간이 늘어날 수 있습니다. 

또한, 모든 기능을 직접 구현하기보다는 라이브러리에 의존하는 경향이 있습니다.
javascript

// DOM 요소 선택 및 조작
$("#myElement").hide();

// 이벤트 처리
$("#myElement").click(function() {
  alert("Element is clicked!");
});


따라서, 자바스크립트와 jQuery를 선택할 때는 개발 환경, 프로젝트의 요구사항, 개발 팀의 선호도 등을 고려해야 합니다. 

하지만 어떤 라이브러리를 사용하더라도 자바스크립트의 기본적인 이해는 필수적입니다.

 

 

 

 

 

 

 

 

#개발자취업 #개발자기초 #개발자 #개발자분야 #개발자분류 #개발자종류 #it개발자 #서버개발자 #개발자성장 #신입개발자 #ios개발자 #개발자노트북 #개발자 되는 법 #개발 #앱개발 #웹개발 #개발분야 #it개발 #개발공부 #코딩상식 #개발공부 #개발초보

 

#개발자취업 #개발자면접 #개발자채용 #백엔드개발자 #백엔드개발자 #백엔드개발자취업 #백엔드개발 #프론트엔드개발자 #개발자상담 #백엔드 #개발자 #앱개발자 #웹개발자 #개발자팁 #앱개발자 #백엔드취업 #백엔드공부 #백엔드강의 #백엔드독학

 

#전산직면접 #면접 #면접팁 #면접관 #공공기관전산직면접 #공사면접 #면접질문 #면접할말 #면접준비 #면접준비 #면접답변 #면접질문 #면접기출 #전화면접 #면접복장 #면접답변 #면접꿀팁 #모의면접 #면접후기 #롯데면접 #면접후기 #임원면접 #최종면접 #면접꿀팁

 

 

 

 

 

댓글