728x90
반응형

 

 

모든 프로그래밍 수업을 학교에서 듣다보면 기초로 코딩하는 대표적인 예제중에 하나인 구구단을 자바스크립트로 구현해 볼 것이다.

 

구구단                                                                                        

 

맨처음 console.log("자바스크립트로 구구단 코딩하기");은 꼭 써주지 않아도 되지만 

 

그래도 내가 어떤것을 코딩하겠다 라는 제목정도라고 보면 될 것이다.

 

for(let i=1; i<=9 i++) 만 보면 알 수 있듯이

 

자바스크립트는 변수 선언을 let 을 사용해서 선언을 해준다.

 

1단부터 9단까지이니까 for문을 하나 더 써주고 9까지 곱하게 해준다.

 

그 결과의 출력을 console.log로 표현해 주기만 하면 

 

기존 프로그래밍 언어인 Java 나 C에서 코딩하던 것을 금방 응용할 수 있다.

결과는 아래와 같다.

 

-끝-

 

728x90
반응형
728x90
반응형



1.기본문법                                                                                   

◎숫자

기본적인 자료형

 연산자

설명 

덧셈 연산자

-

뺄셈 연산자 

곱셈 연산자 

나눗셈 연산자 

%는 나머지 연산자이다.



◎문자열

-문자의 집합

-문자열 생성시 큰 따옴표나 작은 따옴표를 사용한다.


-이스케이프 문자

따옴표를 문자 그대로 사용가능

문자열 줄 바꿈 할 경우 사용가능


(ex console.log("동해물과 백두산이 \n 마르고 닳도록")


이렇게 줄바꿈이 되어서 출력 됩니다.

이스케이프 문자 

설명 

\t 

수평 탭 

\n 

줄바꿈 

\' 

작은따옴표 

\" 

큰 따옴표 

\\ 

역슬래시 



◎문자열 합하기

+ 연산자는 문자열 연결 연산자이다.


결과는>> 동해물과 백두산이 마르고 닳도록 애국가 >> 이다.


◎문자 선택 연산자

-문자열[숫자] 이다.

console.log("안녕하세요"[0]); 이라고 쓰고 실행시키면 어떤결과가 나오게 될까??


안녕하세요의 문자열 중 0번째 문자열을 선택하는 것 이므로


"안" 이라는 결과가 실행된다.


◎참과 거짓의 표현

-true 와 false

연산자 

설명 

== 

같다. 

!= 

다르다. 

왼쪽이 더 크다. 

오른쪽이 더 크다. 

>= 

왼쪽이 크거나 같다. 

<= 

오른쪽이 크거나 같다. 


◎논리 연산자

연산자 

설명 

논리 부정 연산자 

|| 

논리합 연산자 

&& 

논리곱 연산자 


논리 연산자가 많이 사용되는 부분은 '범위  판단' 이다.


◎변수

-값을 저장할 때 사용하는 식별자로 변수 선언 후 변수 에 값을 할당한다.


변수 선언

=> let 식별자;


연산자 

설명 

변수++ 

기존 변수 값에 1을 더한다.(후위) 

++변수 

(전위)기존 변수 값에 1을 더한다. 

변수-- 

기존 변수 값에 1을 뺀다.(후위) 

--변수 

(전위)기존 변수 값에 1을 뺀다. 



◎undefined 자료형.

- 말그대로 정의가 되어있지않는 자료형, 변수를 선언했으나 초기화 하지 않았을때 결과로 undefined가 나온다.











728x90
반응형
728x90
반응형


1.기본                                                                                  

◎표현식과 문장

-표현식이 하나 이상 모일 경우, 마지막에 종결 의미로 세미콜론(;)을 써준다.

프로그램은 문장이 모이면 프로그램이 된다.


◎식별자

-이름을 붙일 때 사용하는 단어로 변수와 함수 이름등으로 사용한다.

단, 식별자를 쓸때에는 키워드는 사용을 할 수 없고, 특수문자는 _와 $만 허용된다.

그리고 숫자로 시작하면 안되고 공백또한 입력해서는 안된다.


식별자 사용 규칙으로는 

1.생성자 함수의 이름은 항상 대문자로 시작한다.

2.변수,함수,속성 메소드의 이름은 항상 소문자로 시작한다

3.여러 단어로 된 식별자는 각 단어의 첫 글자를 대문자로 한다.


◎주석처리

-주석은 프로그램의 진행에 영향을 주지 않는 코드로

한 줄 주석 처리는 // 주석

여러 줄 주석 처리는 /*  주석  */ 을 사용한다.


◎출력 메소드

-console 객체의 log() 메소드를 사용한다.

console.log("문자열")



첫 줄은 출력 메소드를 사용해서 Hello world를 출력하고

두번째 줄은 주석처리를 사용해서 Hello world를 출력하지 않았다.



728x90
반응형
728x90
반응형




1.자바스크립트의 발전                                                                                                

◎세계에서 가장 오해를 많이 받는 프로그래밍 언어

-> 자바스크립트를 부수적인 프로그래밍 언어로 취급한다.


그러나 자바스크립트는 객체 기반의 스크립트 프로그래밍 언어이다. 이 언어는 웹 브라우저 내에서 주로 사용하며, 다른 응용 프로그램의 내장객체에도 접근할 수 있는 기능을 가지고 있다.

또한 Node.js 와 같은 런타임 환경과 같이 서버 사이드 네트워크 프로그래밍에도 사용되고 있다.

자바스크립트가 썬 마이크로 시스템즈의 자바와 구문이 유사한 점도 있지만 

이는 사실 자바스크립트와 자바 모두 C언어의 기본 구문을 바탕으로 제작되었기 때문이고 자바와 자바스크립트는 직접적인 관련성이 없다.



2.자바스크립트로 할 수 있는 일                                                                                    

◎웹 클라이언트 애플리케이션 개발

-> 웹 브라우저에서 실행되는 웹 클라이언트 애플리케이션 개발이 목적이다.

-> 웹 브라우저에서 실행할 수 있는 유일한 프로그래밍 언어이다.


◎웹 서버 개발

-> 기존에 웹 개발은 두가지 이상의 프로그래밍 언어가 필요했지만 Node.js 가 등장하면서 웹 서버도 자바스크립트로 개발이 가능하다.

-> 웹 페이지를 출력하지 않아도웹 프로토콜(HTTP 또는 HTTPS)을 활용하면 웹서버로 칭한다.

->Node.js 는 웹 개발과 관련해서 간단한 모듈들만 제공해서 데이터 처리와 예외처리등이 조금 복잡한 경우가 있지만 , 빠르다는 장점을 가지고 있다.


◎모바일 애플리케이션 개발

-> 네이티브 애플리케이션 개발을 할 수 있다.

스마트폰에서 인식할 수 있는 프로그래밍 언어로 만든 애플리케이션이다.

대표적으로 페이스북의 React Native가 있다.( 자바스크립트로 네이티브 애플리 케이션을 개발- 내부적으로 프로그래밍 언어를 변환함)





◎데스크톱 애플리케이션 개발

->일렉트론 모듈: 자바스크립트로 개발 전용 텍스트 에디터를 만들어 배포하고 , 본격적으로 데스크톱 애플리케이션 개발에 힘썻다.


◎게임 개발

-> 원래 게임은 서버와 클라이언트 모두 속도문제로 C++로 제작을 하였다.

그러나 스마트폰이 활성화 되면서 한번에 여러 스마트폰 운영체제에서 실행할 수 있는 애플리케이션을 개발하는 것을 경제적 목표로 삼았으며 그 결과로 자바스크립트 기반의 유니티 게임엔진이 등장하였다.




◎데이터 베이스 관리

-> 데이터를 저장할 때 사용하는 프로그램:NoSQL

MongoDB:데이터베이스를 관리할 때 자바스크립트를 활용하는 NoSQL





728x90
반응형
728x90
반응형


문제)피보나치 수열의 각 항은 바로 앞의 항 두개를 더한 것이 됩니다. 1과 2로 시작하는 경우 이 수열은 아래와 같습니다.


 1,2,3,5,8,13,21,34,55,89, ...


짝수이면서 4백만 이하인 모든 항을 더하면 얼마가 됩니까?



소스코드는 이러합니다.

public static void main(String[] args) {

// TODO Auto-generated method stub

int a =1;//1st

int b =2;//2st

int c= 0;//3st=1st+2st

int sum =0;//수열의 합저장

c=a+b;

sum=b;

a=b;

b=c;

while(c<4000000){

c=a+b;

    if(c%2==0)

    {

    sum+=c;

     }//짝수만

a=b;

    b=c;

 }

   System.out.println("sum="+sum);

 }

}


int a,b,c 에서 첫번째 , 두번째 , 세번째 수를 정해주고 뒤에 식으로 피보나치 수열을 완성해 줍니다.


while 문에서 4백만 이하의 조건을 두고

if문으로 짝수만 골라냅니다.




정답.






728x90
반응형

'알고리즘으로 단단해지기' 카테고리의 다른 글

공부해야겠다. 진짜루  (0) 2018.01.29
[Java]간단한 알고리즘 문제 1  (0) 2017.07.24
728x90
반응형


평소 이클립스를 쓰다가 단축키를 자주 사용하게 되는데요 .

저는 그래도 sysout +ctrl+ space bar 를 제일 많이 쓰게되는 것 같네요 ㅎㅎ



1. /*   */ : 주석처리 -> 블럭 지정한후에 ctrl+alt+/    주석 해제는 ctrl+alt+\

   // : 한줄 주석처리 -> ctrl+/ 


2. 자동 완성 기능 : ctrl+spacebar 


3. 줄이동 : atl+방향키(위,아래) -> 커서가 있는 줄의 모든 글자가 방향키에 따라 이동

   줄삭제 : ctrl+D -> 커서가 있는 줄을 삭제


4. 에러 픽스 : 에러난 부분(벌건줄)에서 ctrl+1 ->에러난 곳에대해 해결방법을 제시함


5. Undo/Redo : ctrl+Z/ctrl+Y


6. System.out.println(); 생성 : sysout 입력하고 ctrl+spacebar   


7. 들여쓰기 자동 수정 : ctrl+I -> 커서가 있는 줄의 들여쓰기를 자동으로 맞춰준다. 블록을 지정하고 실행시 블록내에서 자동 들여쓰기


8. shift+alt+s r : getter/setter 자동 생성



F11 : 디버깅 시작

F4 : 상속 구조 클래스 보기(메서드 등)

alt+shift+r : 변수 및 메서드 변경(변경할 변수 에서 단축키를 누르고 변경 후에 엔터를 누르면 변수명이 모두 변경)

ctrl+m : 에디터 화면 넓게/좁게


* Alt

    > Alt + Shift + J : JavaDoc 주석

    > Alt + ←→(좌/우) : 뷰 화면의 탭에 열린 페이지 이동

    > Alt + ↑↓(상/하) : 커서가 있는 줄을 위 아래로 이동


* Ctrl

    > Ctrl + 1 : Quick Fix

        >> 구현하지 않은 메소드 추가

        >> 로컬 변수 이름 바꾸기

        >> Assignment 입력

        >> 행 둘러싸기 (if/where/for이나 블록으로 둘러 싸려면 해당영역을 선택하고 Ctrl + 1)

    > Ctrl + D : 한줄 삭제

    > Ctrl + E : 뷰 화면의 탭에 열린 페이지 이동

    > Ctrl + L : 라인 이동

    > Ctrl + I : 자동 들여쓰기 수정

    > Ctrl + K : 문자열 찾기 (찾고자 하는 문자열을 블럭으로 설정한 후...)

        >> Ctrl + Shift + K : 역순으로 찾기

    > Ctrl + M : 전체화면

    > Ctrl + O : 현재 보고있는 파일의 아웃라인 (메소드 리스트 확인, 메소드나 필드 이동가능)

    > Ctrl + W : 창 닫기

    > Ctrl + , or. : 다음 Annotation(Error, Warning, Bookmark)으로 이동

    > Ctrl + / : 주석 처리 (여러줄 블럭 처리 가능)


    > Ctrl + Alt + ↑↓(상/하) : 한줄(블럭) 복사


    > Ctrl + Shift + E : Switch to Editor (탭에 열려있는 Editor 이동)

    > Ctrl + Shift + G : 클래스의 메소드나 필드를 Reference하고 있는 곳으로 이동

        >> 반대 : F3 (Reference하는 클래스로 이동)

    > Ctrl + Shift + L : 단축키 보기

        >> Ctrl + Shift + L + L : 단축키 지정

    > Ctrl + Shift + W : 열린 파일 모두 닫기

    > Ctrl + Shift + O : 자동 import 처리 (사용하지 않는 Class는 삭제)

    > Ctrl + Shift + R : Open Resource

    > Ctrl + Shift + ↑↓(상/하) : 다음/이전 메소드로 이동

    > Ctrl + Shift + / :JavaDoc주석 추가

    > Ctrl + Shift + Space : 메소드 파라미터 힌트 (메소드에 입력해야 하는 파라미터 정보가 표시된다.)


    > Ctrl + F3 : 클래스 아웃라인

    > Ctrl + F6 : View 화면의 탭에 열린 페이지 이동

    > Ctrl + F7 : View간 화면 전환

    > Ctrl + F8 : Perspective간 화면 전환

    > Ctrl + F11 : 바로 전에 실행했던 클래스 실행

    > Ctrl + PageDown : 뷰 화면의 탭에 열린 페이지 이동


* Function Key

    > F2 : 에러의 원인에 대한 힌트 (에러 라인에 커서를 위치시키고...)

    > F3 : Java 편집기에서 Reference하는 클래스의 자바파일로 이동

        >> Ctrl + 클릭

        >> 반대 : Ctrl + Shift + G (클래스의 메소드나 필드를 Reference하고 있는 곳으로 이동)

    > F4 : 해당 클래스의 Hierarchy

    > F12 : Editor로 포커스


* E.T.C.

    > CTRL + 휠 : 페이지 단위 이동


이상 입니다.

728x90
반응형
728x90
반응형


문제) 10보다 작은 자연수 중에서 3또는 5의 배수는 3,5,6,9 이고 이것을 모두 더하면 23입니다.

1000보다 작은 자연수 중에서 3또는 5의 배수를 모두 더하면 얼마일까요?


구하고자 하는것이 합계이기 때문에 sum을 int로 선언했습니다.


그리고 for문을 통해 i 를 하나씩 증가해가면서 비교를 하지요.


if(i%3==0 || i%5==0) >> 이게 핵심인데요 i를 3으로 나누었을때 0이 나오면 3의배수 이고

i를 5로 나누었을때 0이나오면 5의 배수입니다.


이를 찾아서 sum에 i값을 더해줍니다.

728x90
반응형

'알고리즘으로 단단해지기' 카테고리의 다른 글

공부해야겠다. 진짜루  (0) 2018.01.29
[Java]간단한 알고리즘 문제 2  (0) 2017.07.25
728x90
반응형

 

 

 

제목에는 초간단이라고 되어있지만 엄청 애먹은 MySQL 설치...

 

 http://dev.mysql.com/downloads/에  접속을 합니다. 그리고 MySQL Community Server 을 클릭합니다.

 

 

 

 

 

여기서는 No thanks, just start my download 를 눌러주시면 로그인과 회원가입을 따로하지 않고 설치할 수 있죠

기존아이디가 있으시면 로그인 하셔도 됩니다.

 

 

32비트나 64비트나 상관없이 다운받으시면 됩니다.

 

다운받은 인스톨러를 실행하시게되면 아래 화면이 뜨죠.

 

 

라이센서에 동의 해주시고 Next를 눌러줍시다.

 

Developer Default 를 눌러주시고 Next로 넘어가 줍시다.

 

Execute를 클릭하시고 잠시 화장실을 다녀오시면 설치가 완료 될것입니다.

 

하지만 여기서 끝이 아니고 계속 해봅시다.

 

 

Next 클릭 저는 Password를 설정해주지 않고 Configure MySQL Router for InnoDB cluster. 을 체크 해제하고 넘어갔습니다.

 

비밀번호는 각자 알아서 설정해 주시고요

저는 4자리 비밀번호를 썻습니다.

 

 

Next~~

 

Execute를 눌러주시고 잠시 커피한잔~~~

 

 

Finish 를 눌러줍니다... 하지만 더 남았겟죠??

 

여기서 아까 설정해준 비밀번호를 입력하고 체크!

비밀번호를 맞게 쓰셧다면 Connection successful.이라는 마음의 안정을 주는

초록색 체크표시가! Next

 

Finish를 눌러줍니다.

 

또다시 Next를 눌러줍니다. 얼마 안남았어요~

 

Finish를 눌러줍니다!

 

 

설치가 다 되었다면 Workbench가 반갑게 인사해주네요 ㅎㅎ

 

MySQL Connections 를 클릭하고 아까 설정한 비밀번호를 입력해줍니다.

 

 

 

 

쨔잔 완성....

 

하지만 처음에 왜 간단하지 않았냐고 하면 ... 

 

이 서버가 Failed가 떠서 계속 해맸습니다...

 

detail을 누른후 왜 오류가 나는지 구글에 검색해보니 스텍 오버 플로우에 답이 나와있더라구요...

I had the same issue today while installing MySQL 5.7 and not sure how shall I proceed and found your questions. I was sure that I have installed the 64bit version of Visual C++ Redistributable Packages on my machine. Then I installed a 32-bit version of the same package (URL: https://www.microsoft.com/en-in/download/details.aspx?id=40784) and the MySQL Installer detected that and proceed with the installation.


Looks like the installer was looking for 32bit install path. Hope this help. 

 

 

Failed 가 안뜨시는 분들은 상관없지만 서버가 Failed가 발생하시는 분들은 위 링크로 들어가셔서

 

 

다운로드를 클릭하시고

 

파일들을 설치하시고 다시 워크벤치를 설치하시면 서버가 설치가 됩니다.!!!

 

다음 포스팅에는 MySQL에 대해서 알아보도록 하겠습니다.!!

 

728x90
반응형

+ Recent posts