전체 글

프론트 개발을 주로하는 사람
백엔드 개발/Node.js

[#2] Express.js란 무엇인가?

Express - Node.js web application framework Fast, unopinionated, minimalist web framework for Node.js $ npm install express --save expressjs.com ExpressJS는 NodeJS를 위한 빠르고 개방적이고 간결한 웹 프레임워크라고 소개합니다. 혹시 일반 VanillaJS로 서버를 구현해 본 적이 있나요? 하나의 Post 로직을 짜기 위해서 많고 복잡한 코드를 필요로 합니다. JS로 구현하는 것은 HTTP 모듈 등을 사용하면 비교적 다른 언어보다 구현하기 쉬운 편이지만, 서버 측 로직을 전부 코드로 작성하는 것은 상당히 복잡합니다. 일반 JS로 Request를 받고 Response를 Client ..

백엔드 개발/Node.js

[#1] NodeJS란 무엇인가?

자바스크립트는 브라우저에서 많이 사용하는 프로그래밍 언어로, DOM을 편집하거나, 브라우저에서 로딩된 페이지를 편집, 팝업, 모달 같은 효과 또는 기능을 사용할 수 있도록 합니다. JavaScriot는 브라우저에서 사용 되는 언어로 페이지 로딩 이후에도 페이지와 사용자의 상호작용(Interactive) 가능하도록 합니다. 따라서 브라우저에서 JS는 필수적인 요소라고 볼 수 있습니다. JS의 기능은 이게 전부가 아닙니다. Node.js는 다른 버전의 Javascript라고 볼 수 있습니다. JS기반으로 만들어 졌고, 몇몇 기능을 더하고, 기존 JS로 브라우저에서 가능했던 기능들 중 일부는 빠진 형태입니다. NodeJS는 JS코드를 서버에서 실행 할 수 있도록 해주며, 그뿐만 아니라 어떤 기기에서도 실행할 ..

대학교 수업/Java 프로그래밍

[Java] 명품 자바 프로그래밍 10장 실습문제

1번 import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.*; class Chapter10 extends JFrame{ Chapter10(){ setTitle("마우스 올리기 내리기"); setDefaultCloseOperation(3); Container c = getContentPane(); c.setLayout(new FlowLayout()); JLabel label = new JLabel("Love Java"); label.addMouseListener(new MouseAdapter() { public void mouseEntered(MouseEvent e)..

대학교 수업/Java 프로그래밍

[Java] 명품 자바 프로그래밍 10장 Open Challenge

import java.awt.*; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import javax.swing.*; class Challenge10 extends JFrame{ Challenge10(){ setTitle("Open Challenge 10"); setDefaultCloseOperation(3); Container c = getContentPane(); c.setLayout(null); JLabel labels[] = new JLabel[3]; JLabel result = new JLabel("시작합니다."); result.setSize(200, 20); result.setLocation(180, 250); this...

대학교 수업/Java 프로그래밍

[Java] 명품 자바 프로그래밍 9장 Open Challenge

import java.awt.*; import javax.swing.*; class Challenge9 extends JFrame{ Challenge9(){ setTitle("Open Challenge9"); setDefaultCloseOperation(3); Container c = getContentPane(); c.setLayout(new BorderLayout()); c.add(new NorthPanel(), BorderLayout.NORTH); c.add(new CenterPanel(), BorderLayout.CENTER); setSize(400, 500); setVisible(true); } class NorthPanel extends JPanel{ NorthPanel(){ setBackgr..

대학교 수업/Java 프로그래밍

[JAVA] 명품 자바 프로그래밍 11장 실습문제

1번 import javax.swing.*; import java.awt.*; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; public class Chapter10 extends JFrame { Chapter10(){ setTitle("CheckBox Practice"); setDefaultCloseOperation(EXIT_ON_CLOSE); Container c = getContentPane(); c.setLayout(new FlowLayout()); JCheckBox disableButton = new JCheckBox("버튼 비활성화"); JCheckBox hideButton = new JCheckBox("버튼 감추기"..

대학교 수업/Java 프로그래밍

[JAVA] 명품 자바 프로그래밍 9장 실습문제

1번 import javax.swing.*; public class Chapter9 extends JFrame { Chapter9(){ setDefaultCloseOperation(EXIT_ON_CLOSE); setTitle("Let's study Java"); setSize(400, 200); setVisible(true); } public static void main(String args[]){ new Chapter9(); } } 2번 import javax.swing.*; import java.awt.*; public class Chapter9 extends JFrame { Chapter9(){ setDefaultCloseOperation(EXIT_ON_CLOSE); setTitle("Border..

프론트엔드 개발/Recoil

[Recoil] 상태 관리 라이브러리, Recoil

Recoil이란? 리액트를 공부하면 꼭 짚고 넘어가야 하는 부분이 바로 전역 상태 관리입니다. 전역 상태 관리를 쌩(?)으로 하려면 지옥 같은 Props Drilling을 맛보게 될 겁니다. Props Drilling을 더한 상태 관리가 생긴다면, 코드를 읽을 때 props를 추적하기 굉장히 힘들어지고, 추적하다가 개발 시간을 다 잡아먹고 말 것입니다. 이러한 이유로 Redux, MobX, Context API, 오늘 알아보고자 하는 Recoil까지 다양한 상태 관리 라이브러리들을 사용합니다. 제가 가장 처음 접한 상태 관리 라이브러리는 바로 Redux였습니다. DND 포스팅 참고 최근 1년간의 npm trends를 살펴보면 Redux가 압도적으로 많은 것을 알 수 있습니다. Redux는 7년이라는 역사..

Jongung
기록하는 습관