목록전체 글
Step-by-Step

ReactJs React는 View, 즉 사용자 인터페이스(UI)를 효과적으로 구축하기 위해 사용하는 자바스크립트 기반 라이브러리 React에서는 이벤트가 처리되는 방식, 시간에 따라 state가 변하는 방식, 화면에 표시하기 위해 데이터가 준비되는 방식 등 렌더링 로직이 본질적으로 다른 UI로직과 연결됨 React는 페이스북에서 개발하였음 ReactJs 특징 1. 선언적 (Declarative) React는 선언형 성격에 맞게 컴포넌트를 얻기 위해 JSX(JavaScript XML) 문법을 통해 구현 ※ JSX는 아래에서 다시 설명 2. 컴포넌트 기반 (Component-Based) 스스로 상태를 관리하는 캡슐화된 컴포넌트를 만들어 이를 조합하여 UI를 개발할 수 있음 컴포넌트 로직은 템플릿이 아닌 J..

웹 브라우저 위에서 동작하는 요소는 크게 HTML, CSS, JavaScript가 있다 우선 개념 정리 전에 간단히 영상으로 개념을 확인해보았다!! 원래 구독 안했는데 이번에 했음! 자투리 시간에 보려고ㅋㅋ https://www.youtube.com/watch?v=ffENjt7aEdc 출처 : 얇팍한 코딩사전 정리하자면 HTML은 웹에 나타날 정보 및 구조이고, CSS는 정보를 웹에 어떤식으로 꾸미는지이며, JavaScript는 웹의 동작을 구현해주는 것이다 JavaScript 객체 기반의 스크립트 프로그래밍 언어 (Script 언어에 대한 설명은 아래) 웹 브라우저 내에서 주로 사용하며, 다른 응용 프로그램의 내장 객체에도 접근할 수 있는 기능을 가짐 JavaScript 특징 1. 객체 기반의 스크립트..

백준 사이트에서 프로그래밍 문제를 풀면 입력 값을 받기위해 Scanner를 꼭 이용한다 처음으로 배웠던 입력 방식이다 보니 가장 익숙하고 쓰기 간편해서 아직까지 쓰고 있었다 그동안 아무 문제 없이 사용했으나 점점 난이도가 높아질수록 Scanner를 사용하면 시간 초과가 발생하기 시작하였다 밑은 조금 전에 끝낸 따끈따끈한 실패작이다~! 하핫 이전에는 시간이나 메모리 제한도 여유로워서 출력만 제대로 되면 성공했는데, 더이상 그럴수 없게 됐다 코드에서 가장 중요한 것은 알고리즘! 알고리즘에서 가장 중요한 것은 효율성이다 ※ 알고리즘 정의 포스팅 : https://smile-development.tistory.com/8 이제 효율적인 코드를 작성하기 위해 Scanner에 대한 집착?고집?을 놓아줄 필요가 있다 ..

여러 알고리즘 유형들을 파악하기 앞서 알고리즘이라는 것에 대해 정리해보려고 한다 알고리즘 (Algorithm) 문제를 해결하기 위한 절차나 방법 어떠한 행동을 하기 위해서 만들어진 명령어들의 유한 집합(finite set) 반복되는 문제를 풀기 위한 작은 프로시저(procedure;진행절차) 알고리즘 조건 알고리즘은 아래의 조건을 만족해야 한다 입력 - 알고리즘은 0 도는 그 이상의 외부에서 제공된 자료가 존재한다 출력 - 알고리즘은 최소 1개 이상의 결과를 가진다 명확성 - 알고리즘의 각 단계는 명확하여 애매함이 없어야 한다 유한성 - 알고리즘은 단계들을 유한한 횟수로 거친 후 문제를 해결하고 종료해야 한다 효과성 - 알고리즘의 모든 연산들은 사람이 유한한 시간 내 정확하게 수행할 수 있을정도로 충분히..

백준 문제들은 거의 Scanner를 통해 사용자의 입력을 받아서 처리하는 문제들이다 StringBuffer를 공부하다가 연습삼아 한 문제를 골라 풀어봤다! 바로 백준 9093번 단어 뒤집기 ~ 마침 StringBuffer랑 StringTokenizer를 공부하고 있던 참이었으니 이용해보기로 했다 StringBuffer 두 개를 선언해서 하나는 최종 결과물로 내놓고 나머지는 그때그때 단어 순서를 바꾸는 용도로 쓰기로 결정했다 import java.util.Scanner; import java.util.StringTokenizer; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); S..

Java를 이용하여 코드를 작성하다 보면 import 문을 사용하는 경우가 매우 많다 import로 무엇을 가져오는지 다시 한 번 복습하기 위해 글을 작성하였다 자바 API(Java API) Java를 설치하면 자바 개발 도구인 JDK가 설치된다 JDK에는 개발자들이 사용할 수 있는 많은 클래스들이 패키지에 담기고 다시 패키지들은 모듈에 담겨 제공된다 이 때 사용자의 편의를 위해 자바에서 제공하는 기본 클래스들을 Java API라고 한다 이 개념을 이해하기 위해 패키지와 모듈의 개념을 다시 짚어보았다 (JDK ; Java Development Kit : 썬 마이크로시스템즈에서 개발한 Java 환경에서 돌아가는 프로그램을 개발하는데 필요한 툴들을 모아놓은 소프트웨어 패키지) 패키지(Package) 서로 관..

하노이의 탑 (Tower of Hanoi) 세 개의 기둥과 이 기둥에 꽂을 수 있는 크기가 다양한 원판들이 있고 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대로 쌓여있다 아래 두 가지 조건을 만족시키며 탑 전체를 다른 기둥으로 옮겨 다시 쌓는 게임이다 1. 한 번에 한 개의 원판만 옮길 수 있다 2. 큰 원판이 작은 원판 위에 있어서는 안 된다 원리 알고리즘 강의를 들을때 분명 배웠던 내용이지만 (머리가 기억하지 못하니ㅠ_ㅠ ) 다시 공부를 했다 글만 보고는 원리를 한 번에 이해하기 힘들기 때문에 글을 읽은 다음 항상 영상을 찾아보곤 한다 재귀함수랑 하노이의 탑을 이해하기 위해 봤는데 도움이 많이 되었다 [출처:얄팍한 코딩사전] https://www.youtube.com/wat..

에라토스테네스의 체 (Sieve of Eratosthenes) 고대 그리스 수학자 에라토스테네스가 만들어 낸 소수를 찾는 방법 마치 체로 치듯이 수를 걸러낸다고 하여 '에라토스테네스의 체'라고 불림 임의의 자연수 n에 대해 그 이하의 소수를 찾는 가장 간단하고 빠른 방법 수학 공식 : f(x)=1P(x)x 원리 시작 전 간단하게 이해하기 위해 아래 2분 30초짜리 영상으로 확인해보자 [출처:비상교육] https://www.youtube.com/watch?v=G1_6A9Ifi3o 1. 1~100까지의 수가 있음 2. 1은 소수가 아니므로 걸러냄 3. 소수 2는 남기고, 2의 배수(짝수)는 모두 걸러냄 4. 소수 3을 남기고 3의 배수를 모두 걸러냄 => 계속 반복 후 남은 숫자들이 소수임 에라토스테네스..