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
반응형



운동은 하고있지만 뭔가 저와 비슷하네요..


이 이미지를 통해서 IT나 라이프 관련 글을 자주 업로드 해보겠습니다!



728x90
반응형
728x90
반응형

 

 

https://atom.io에 접속을 하면 컴퓨터의 사양에 맞추어 인스톨러가 바로 제공됩니다.

 

다운받은 인스톨러를 실행시키면 위와같은 창이뜨고 설치가 됩니다..

 

File->Setting 을 클릭하면 아래와 같이 세팅을 할 수 있는 창이 제공됩니다.

 

 

여기서 Install 을 클릭해주시고

 

script를 검색창에 입력후 Pakages를 눌러줍니다.

 

그리고 Install을 클릭 후 설치가 다 되기를 기다려 줍니다.

 

설치가 끝났으니 테스트를 해보죠

 

hello 의 JavaScript파일을 불러옵니다.

 

 

불러오면 오른쪽에 hello world를 출력하는 코드가 있는데요

 

Ctrl + Shift +B 버튼을 누르면 아래 빨간 동그라미와 같이 오류가 발생됩니다.

 

 

이를 해결하기 위해서는 Node.js 가 필요합니다.

 

https://nodejs.org/en/에 접속합니다.

 

 

Node.js도 컴퓨터 환경에 맞게 인스톨러가 제공됩니다.

 

왼쪽 버전은 대부분 유저들이 추천하는 버전이고

 

오른쪽 버전은 최신의 버전을 다운받을 수 있습니다.

 

저는 왼쪽의 추천버전을 다운받도록 하겠습니다.

 

인스톨러를 실행시켜주시고 Next만 눌러주시면 설치를 손쉽게 끝낼 수 있습니다.

 

Next

 

Install 클릭해주시고 

 

 

CMD 를 실행시켜주고 node -v 를 입력하면 현재 설치된 버전을 확인 할 수 있습니다.

 

저는 6.11.1이 맞습니다~

 

 

그리고 다시 hello 파일을 Ctrl + Shift + B 버튼을 눌러서 실행시켜주면

 

아까와 같이 오류가 발생되지 않고 실행되는 것을 확인할 수 있습니다.

 

 

 

 

728x90
반응형
728x90
반응형


2017년 7 월 20일 서울 을지로 페럼타워에서 열리는 제 11회 공개 sw개발자 대회 오리엔테이션을 듣기위해 서울로 출발했다.


서울에 도착해서 금강산도 식후경이라고 근처에 VIPS가 있어서 우와!한 빕스 이벤트 쿠폰으로

점심을 룰루랄라 먹었당.



하지만 생각햇던거와 다르게 지금은 SEAFOOD 이벤트 중이여서 

동남아 음식이 주를 이뤘다.


결론: 내 입맛은 아니였음 ㅠㅠ


이거는 고혈압걸릴것 같은 엄청나게 달콤한 초코퍼지


아무튼 다시 본론으로 들어와서 




공개 SW개발자 대회에 많은 사람들이 참여했다.


나와 같이 지방에서 온 사람들도 있고 부모님 손을 잡고온 고등학생부터 직장인 까지 


자리가 없어서 의자를 더 가져와서 들을 정도로 관심이 많았다.


공개 소프트웨어는  이노베이션 소프트웨어라고 설명을 해주셨다.


말그대로 innovation 혁신 이라는 것이다.


이 강의에서는 공개소프트웨어, 오픈소스의 가능성과 이해에 대해서


많은 설명을 들은 것 같다.


그 중에서 감명 깊게 들었던 것은 소프트웨어도 


'전략을 잘 세워야 한다'


라는 것이다. 세상이 어떻게 변하고 있는지를 잘 알아야 하고 


그에 따른 대처를 해서 4차 산업혁명속에서 살아 남는 것이 중요하다.


중요한 키워드 5가지를 꼽아서 말하면


ICBMS다.


IOT(사물인터넷) Cloud(오픈스텍) BigData(빅데이터) Mobile(모바일) Security(블록체인)이다.


다른건 다 들어보았지만 블록체인에 대해서는 처음 들어봤다.


인터넷을 검색을 해보니 대충


"공공 거래 장부이며 가상 화폐로 거래할 때 발생할 수 있는 해킹을 막는 기술이다."


"분산 데이터베이스의 한 형태로 지속적으로 성장하는 데이터 기록 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가능하도록 고안되었다."


"잘 알려진 블록 체인 응용사례는 암호화폐의 거래과정을 기록하는 탈 중앙화된 전자 장부로서 비트 코인이 있다."


" 장점으로는 대규모 노드들 사이에서 각 노드에 분산 저장된 장부의 데이터를 항상 최신 버전으로 유지할 수 있도록 하는 합의 수렴 알고리즘으로 볼 수 있다. 이러한 능력은 노드가 익명으로 실행되거나, 연결이 좋지 않거나, 심지어 신뢰할 수 없는 운영자가 참여하는 것도 가능하게 하는 장점이 있다."


한마디로 요새 핫 이슈가 되고 있는 비트코인 관련된 이야기였다.


이러한 공개 소프트웨어에 대한 강의가 진행되었고


각 기업은 오픈소스를 제대로 다룰 수 있는 사람을 찾고 있다고 했다.


대회 심사기준은 공정성,전문성,투명성으로


오픈소스는 다른사람들이 보고 수정할 수 있게 하는것이 중요하다는 것을 강조했다.


모든 심사는 Github를 통해 이루어지는게 대부분인것 같아서


취지에 맞는 대회라고 생각했다.




오리엔테이션이 끝나고 다시 복귀했다.


날씨가 진짜 덥고 습할 뿐더러 퇴근시간의 서울 지하철이란 정말 지옥 그 자체였다...


아무튼 좋은 경험이였다.






728x90
반응형

+ Recent posts