전체 글

"연중 무휴 24시간 개발 노트"
자바 JAVA

자바Java | Hailstone Sequence | Java 기초 문제

우박수 (Hailstone Sequence) 이란 우박수 수열이란 만약 Hailstone()함수에 어떠한 수 n을 대입했을때, \( n ㅡ> n/2 \) (n이 짝수) \( n ㅡ> 3n+1 \) (n이 홀수) if \( n = 5 \), 출력 : [5, 16, 8, 4, 2, 1] 라는 과정을 통해 결국에는 마지막 숫자는 1이 된다는 추측입니다 우박수 수열을 콜라츠 추측(Collatz Conjecture)이라고도 합니다 이와같은 우박수 수열을 코드로 나타낸다면 아래와 같을 것 입니다 public static void main(String[] args) { int n = 5; while (n != 1) { System.out.println(n); if (n % 2 == 0) { n = n/2; } els..

알고리즘 분석 및 데이터 구조

알고리즘 분석 | 점근 표기법 | Big-O | - 2

점근 표기법(Asymptotic notation ) 점근 표기법은 알고리즘의 성능을 수학적으로 표기하는 방법입니다 점근 표기법을 사용하면 실행 시간에 영향을 미치는 주요 요인을 특징화할 수 있습니다 점근 표기법이 필요한 이유는 우리가 어떠한 프로그램 개발에서 Y라는 결과물을 위해서 코드(알고리즘)를 작성할 것입니다. 이때 다른 개발자가 내어놓은 \( 100000n + 100000 \)이라는 알고리즘이 있습니다. 이 과정에서 내가 작성한 \( 2n^2 + 1 \) 이라는 알고리즘과 비교할때, 어떤 것이 더 나은 알고리즘 인지 구분하기란 쉽지 않습니다. 이때 알고리즘의 계산 복잡성 증가양상을 단순화시켜서 우리가 아는 로그, 지수, 다항함수의 수식으로 표현하는 방법이 점근 표기법입니다 함수 증가율(Growth..

소프트웨어 공학 Software engineering

애자일 스크럼(Agile Scrum) 간단하게 이해하기

애자일 스크럼(Agile Scrum)이란 애자일(Agile)은 하나의 방법론으로서 짧은 주기의 개발단계를 거치며 지속적으로 하나의 소프트웨어를 개발해 나가는 방법입니다. 스크럼은 이러한 팀이 애자일의 반복적인 개선에 집중할 수 있도록 가치, 역할, 지침의 틀을 제공하는 프레임 워크입니다. 스크럼은 특정 개발 언어나 방법에 얽매이지 않고 스프린트라는 작업 단위를 사용하며 어떤 프로젝트에도 사용이 가능한 프로세스 프레임워크입니다. 요구사항 정의서와 문제 정의서 우리가 End-Users, Customer 그리고 stakeholders에게 외주를 받게 됩니다. 그럼 외주를 요청한 고객과 만나 미팅을 가지고 그 자리에서 고객이 요청하는 요구사항 정의서와 문제 정의서를 문서로 작성하게 됩니다. Fig. 2 문제 정..

알고리즘 분석 및 데이터 구조

알고리즘 분석(Algorithm Analysis) | 개념 | 임의 접근 머신 | 원시 연산

알고리즘 기본 개념 알고리즘이란 정해진 시간 동안 어떠한 문제를 해결하기 위한 순차적인 단계입니다 "0개 이상의 인풋을 넣었을 때 1 이상의 값을 도출해 내는 방법이나 과정" 내비게이션 - root-find algorithm mp3/4 파일 전송 - Compression algorithm 태양 전지 - Optimization algorithm 2D/3D 모델 이미지 생성 - Rendering algorithm 그렇다면 "좋은" 알고리즘을 만들기 위해서는 어떻게 해야 할까요? 그전에 좋은 알고리즘이란 무엇일까요? 알고리즘 분석(Algorithm Analysis) 알고리즘의 분석은 컴퓨터 프로그램의 성능과 자원 사용에 대한 이론적 연구이다 - 첫 번째 기준: 러닝 타임 (time-complexity) - 두..

Frontend/JS 자바스크립트

자바스크립트 기초 정리(반복문 while, do while, for, for in, for of) - 3📘

반복문이란? 반복문도 하나의 제어문으로써 같은 명령을 일정 횟수만큼 계속 반복할 수 있게 만드는 실행문입니다. 대부분의 프로그램이 반복을 요하는 경우가 많기 때문에 엄청 많이 사용되는 실행문이라고도 할 수 있습니다 다음과 같은 출력을 해야하는 경우 Fig. 1 과 같이 보기만 해도 너무 번거로워 보입니다. 이와 같은 출력을 Fig. 2와 같이 간결하게 작성해 줄 수 있는 장점이 있습니다! Fig. 2 과 같이 for(변수 선언 = n; n < 10; n++){명령} 형식으로 작성할 수 있습니다. 일반적으로 변수는 i, j, k로 설정하고 0부터 시작합니다. 왜 1부터 세지 않지?라고 생각 하실 수 있는데, 배열(array) 인덱스가 0 부터 시작하는 규칙 때문입니다! var arr = [red, blue..

Frontend/JS 자바스크립트

자바스크립트 기초 정리(조건문 if else, switch) - 2📘

조건문이란? 프로그래밍 언어에서 조건문의 정의는 주어진 표현식에 따라 별도의 명령을 수행하도록 제어하는 실행문입니다.한마디로 어떠한 조건이 주어졌을 때, 조건에 따라 어떠한 결과를 도출할 것인지를 정의해 주는 것을 뜻합니다 조건문의 형태 조건문의 형태는 아래 네가지로 구분해 볼 수 있습니다 if 문 if / else 문 if / else if / else 문 switch 문 * 아래의 설명에서 표현식을 만족한다, 만족하지 않는다는 각각 참(yes) / 거짓(no)을 나타냅니다! if 문 예를 들어 노트북 배터리가 80%보다 적으면 충전하려는 코드를 작성할 때, 우리는 Fig. 1 같이 flow chart를 작성해볼수 있습니다. 그리고 이것을 자바스크립트에서 조건문을 통해 작성할 수 있습니다 let bat..

Frontend/JS 자바스크립트

자바스크립트 기초 정리(js란, var, let, const) - 1📘

자바 스크립트란? 개발을 최근에 시작하셨다면, 프로그래밍 언어에는 많은 종류가 있는 것을 아실 텐데요 Java, Python, C, C++, 최근에는 R 과 같이 많은 언어가 존재하는 데, Javascript도 마찮가지 입니다 Javascript는 웹페이지를 좀 더 생동감 있게 해주기 위해서 개발된 언어입니다 Java 와 Javascript는 완전히 다른 언어입니다!! Javascript는 HTML안에 작성 가능한데, 웹페이지를 불러올때 자동으로 실행됩니다 HTML = 사람의 뼈대 CSS = 피부 Javascript = 뇌 HTML을 잘모르신다면, 아래 포스팅을 통해서 조금은 이해하실 수 있을 거에요 더보기 https://jelong.tistory.com/entry/%EB%91%90%EC%8B%9C%EA..

Frontend/웹 개발

두시간동안 간단한 웹(Web) 개발하는 법(배포)🔥 - 2

개요 netlify로 사이트 등록하기 결과 netlify를 등록하는 것은 어떤 건가요? 지난 포스팅까지의 내용은 쉽게 말해 웹페이지를 만들었지만, 다른 누군가에게 내가 만든 웹사이트를 보여주려 한다면, index파일이 저장되어 있는 내 컴퓨터를 직접 가지고 가서 보여줘야 하는 상태입니다 Fig. 1 그래서 내 컴퓨터에 저장된 파일을 백앤드 서버에 올려주면 링크를 제공받고 다른 사람들이 웹사이트에 접속을 할 수 있는 데, netlify가 그 역할을 수행해줍니다 netlify로 등록하기 account가 따로 존재하지 않으신다면, 회원가입을 해야 하는 데, 저는 GitHub계정을 가지고 있어서 GitHub로 로그인했습니다. 어렵지 않아서 먼저 회원가입 해주시면 됩니다 Fig. 2 Fig. 3 Site over..

Jelong
24/7 Developer's Note