에게해 스터디원들과 함께하는 CS 간단 발표 및 독후감🐱‍🐉

[1일1로그 100일 완성 IT지식] 13번 '프로세서와 계산기의 다른 점' 

프로세서와 계산기의 다른 점을 설명하기 앞서 공통 점을 먼저 보자면,

1. 산술 연산이 가능하다.

2. 메모리에서 데이터 가져오기.

3. 연산 결과를 메모리에 저장.

=> 인데 큰 맥락에서 보면 프로세서는 계산기와 하는 일이 별반 다르지 않다.

      단 하나의 다른 점을 빼고말이다.

다른 점

0. 지 혼자 결정을 내릴 수 있다. 

=> 바꿔 말하면 명령어를 입력시켜 자동화가 가능하다 인데,

 

저자는 모형컴퓨터로 더하기 프로그램을 만들었는데 나처럼 가볍게 읽고 싶은 사람들은 조금 지루해서..

for문을 예로 들어보자.

코딩 해본 사람이라면 익숙 하실 for 반복문이다. i = 1 부터 10까지 더한 값을 뱉어주는 로직인데,

계산기는 1부터 10까지 수를 하나하나 더해서 값을 구할겁니다.

 

그런데 프로세서는 명령어를 입력시켜 더하기를 자동화 시킬 수 있습니다.

보시면 add function 에 더한 값을 저장할 변수 sum을 선언을 하고, for문 돌려서 i가 1부터 10까지 하나씩 커지면서

선언한 sum에 값을 저장하고 sum을 return 하는 로직인데, 계산기와 달리 명령어를 입력시켜 자기혼자 결정을 내리게 했고, 다른 말로는 자동화시켜 답을 구했습니다.

 

끝~!

에게해 스터디원들과 함께하는 CS 간단 발표 및 독후감!🐱‍🏍

[1일1로그 100일 완성 IT지식]  10번 '비트 모아 데이터' 

 

저자는 2진법 10진법의 차이와 둘을 변환하는 사례를 들어주면서 시작합니다.

요건 그냥 넘어가고! 개인적으로 읽으면서 중요하다고 생각한

 

바이트

최신 컴퓨터에서 데이터 처리와 메모리 구성의 기본 단위는 1바이트(8비트) 입니다.

1비트가 0 또는 1 이니까 1바이트는 2⁸(=256) 개의 구별되는 값을 인코딩 가능합니다.

 

이 값은 0~255 사이 정수이거나, 7비트 아스키코드 문자 집합 중 하나의 문자이거나(1비트는 다른 용도로 남겨둔다고 하네용) 다른 많은 걸 표현 할 수 있습니다.

 

비트와 바이트 기억해야 할 가장 중요한 것

비트 모음의 의미가 상황에 따라 결정된다는 겁니다. 보이는 것 만으로는 비트가 무엇을 의미하는지 식별할 수가 없습니다.

 

바이트는 1개는 참 or 거짓을 나타내는 비트 1개와 사용되지 않은 비트 7개로 이루어졌을 수도 있고,

작은 정수 또는 &(특수문자) 같은 아스키코드 문자를 저장한 것일 수도 있습니다. 

혹은 2바이트, 4바이트, 8바이트로 표현되는 큰 수의 일부이거나, 사진이나 음악 작품의 일부분, 프로세서가 실행할 명령어의 일부일 수 있고 또 그 외 다양한 표현일 수 있습니다.

 

어떤 의미나 상황에 따라 결정될 지는 후에 cs스터디를 통해 알게되겠죠..ㅎㅎ 나중에 또 봐요~!

 

 

에게해 스터디원들과 함께하는 CS 간단 발표 및 독후감!🤴

[1일1로그 100일 완성 IT지식] 79번 '곳곳에 도사리는 위험' 

 

제목에서 유추해 볼수 있듯이 주제는 해킹에 관련된 보안 문제입니다.


해킹 유형은 많으니 우리가 많이 체감하는 것만 다뤄보겠습니다~ 

저자는 보안 문제를 아주 중요하게 생각하고 있고, 독자가 그러한 위험을 인식하고 피하게끔

하나하나 친절하게 사례를 들어 설명해줍니다.

(할아버지가 손녀한테 조심하라고 이것저것 알려주는거 처럼)

 

1. 흔히들 마주하는 스팸이나 피싱(수신자가 정보를 자발적으로 넘겨주도록 설득하는 방법) 

스팸이나 피싱이 갈수록 교묘해지는것은 모두들 체감하고 있을텐데요.. 

이게 나쁜놈들 사이에서 유행(?) 하는 이유는 비용이 거의 들지 않아, 아주 적은 타율로도 괜찮은 수익률이

나오기 때문이라고 하네요.

보안 측에서는 스팸, 피싱을 차단하려고 필터링을 하는데 머신러닝의 주요 응용 분야라고합니다. 머신러닝

이 아주 톡톡히 역할을 해주었으면 하네요. 뭐 그렇다고 100% 걸러지는건 당연히 아니어서 다들 조심하시는 것

말고는 방법이 없네용.. 

 

2. Target 피싱인 스피어 피싱

나쁜놈들이 내 이름이나 기타 정보등을 알고 접근하는 경우인데, 예를들어 갑자기 전화가와서

"xx야, 나 지금 너무 급해서 그러는데 xx원만 이체 해줄 수 있어?? 조금 있다가 바로 갚을께!ㅠㅠㅠ" 

등의 내 이름이나 전화번호를 정확하게 알고 노린 방법입니다. 스팸 링크를 잘못 클릭하거나 검증이 안 된

웹페이지에 나의 정보를 입력했거나 또 내 컴퓨터의 보안수준이 낮게 설정되어 있어 악성코드 등이 설치되었을

수도 있으니 내 정보를 조금 더 소중히 생각해야 할 거 같습니다.

이러한 내 정보는 의외로 활발한 SNS 활동으로도  나쁜놈들이 내 정보를 수집해 간다고하니

정말 나쁜놈들이 아닐 수 없네요.

 

3. 휴대전화

우리가 너~무 많이 사용하는 휴대전화는 개인의 모든 정보가 들어있습니다. 개인 컴퓨터만 조심할 것이 아니라

내 폰도 잘 지키셔야해요! 특히 아무 앱이나 받다가 악성코드를 함께 받거나 내 정보가 유출되는 경우가 굉장히

많다고 하니 검증되지 않은 어플리케이션을 조심하세요!

 

클라이언트 공격 뿐아니라 서버공격이나 전송 중인 정보 공격 유형도 많은데 재미없으니 이정도만 하겠습니다:)

 

 

 

에게해 스터디원들과 함께하는 CS 간단 발표 및 독후감!

오늘은 [1일1로그 100일 완성 IT지식] 중 009번인 0과 1의 세계를 다뤄봤다.

컴퓨터는 우리가 주로 사용하는 10진법을 사용하지 않고 0과 1밖에 없는 2진법을 다룬다. 

처음에는 데이터가 어떻게 이루어지는지 몰라 '그러면 비효율적인거 아냐?' 라고 생각했었는데,

2진법으로는 거의 모든것을 표현할 수가 있었다.

ex) 숫자 2는 -> 01로 숫자 10은 -> 1010 으로

 

세계적으로 사용하는 유니코드와 아스키코드 등을 사용해서 A~Z 까지 알파벳을 일정한 숫자로 바꾸도록

약속했고, 컴퓨터는 알파벳을 입력하면 약속했던 숫자값으로 변환해서 읽기 때문에 입력하고 출력 할 수 있다.

(물론 알파벳 말고 특수문자, 스페이스, 엔터 입력 등도 숫자로 바꾸도록 약속했다)

여기서 사용하는 이진숫자를 비트(Bit)라고 하고, true에 1 false에 0을 할당하여 조건이나 컴퓨터의 다양한 명령어에 적용할 수 있다. 해당 내용은 자세히 다룰 필요가 있어 후에 범위가 오면 다루도록 하겠습니다~ 사실 아직 잘 몰라요~~

 

이번 알고리즘 주차도 무사히 끝났습니다~ 쨕쨕👏

휴 시간이 호로록 지나가서 아무것도 안한거 같은데 TIL 써놓은거 살~짝 보니까 생각보다 이것저것 많이 했더라구요:)

 

요번주는 주특기 언어인 자바스크립트 알고리즘 문제를 열~심히 풀었습니당. 나는 재밌게 한주 보낸거 같은데 여기저기서 지루해선지? 곡소리가 울려퍼지고 어떤 회의감? 에 빠진 분도 몇몇 보였다. 뭐 나중엔 정신차리고 하는거 같긴 하더만.

한 30문제를 찬찬히 리뷰하면서 한주를 보내니까 로직에 대한 이해라든지 자주 쓰는 반복문이나 삼항 연산자 같은 코딩이 많이 익숙해진게 큰 힘이됐다.

특히 나중에는 짰던 코드에 오류가 발생하면 해결하는 능력치가 많이 올라갔다.

그리고 문제를 풀면서 매일 팀원들끼리 자기가 푼 문제 설명하고 리뷰하는 시간을 가지면서 내 생각을 언어로 표현하는 능력이 많이 향샹된걸 느꼈다. 이래서 뭐든 해보는게 중요하다니깐, 항해99는 사람에게 중요한 능력치가 뭔지 제대로 파악하고 있고 해당 능력치를 올릴 방법또한 상당히 잘 파악하고 있는게 틀림없다.

 

아 생각보다 복병이었던게 이번주부터 CS스터디를 시작했는데 첫날 발표가 당첨돼서 준비하는데만 6시간은 쓴거같다.... 에잉 뭐 이거 관련해선 나중에 목차를 따로 만들어서 이야기를 풀어야할거 같으니 이만 줄이고, 오늘 WIL 은 또 숙제를 줘서.. 휴 JavaScript의 ES란?, ES5/ES6 문법 차이 를 적어야겠다.... 이거 작성하는 오늘이 일요일이라 빈둥거리다가 WIL 숙제 생각나서 부랴부랴 쓰러왔다ㅠ 

 

자바스크립트 ES란!?

자바스크립트 표준 규격이다. 뭐 옛날에 브라우저 전쟁했다가 당시 절대자가 표준규격으로 정한게 ES라던데 그때야 전쟁이지 지금 내가 알게뭐냐~ JS 잘쓰고 있습니다 감사합니다~

 

ES5/ES6 문법 차이

게임에서 패치를 통해 버전 업그레이드 하듯이 언어들도 업그레이드 과정을 거친다. 예상대로 당연히 6은 5의 업그레이드  버전이다. 간단하게 해당 버전의 특징만 보자,

ES5 (2009)

  1. 배열에 forEach, map, filter, reduce, some, every와 같은 메소드들이 지원되었다.
  2. Object에 대한 getter와 setter가 지원되었다.
  3. Javascript strict모드가 지원되었다. (기존에 비해서 더 엄격하게 문법 검사를 진행한다.)
  4. json 형식의 자료들을 지원한다. 과거에는 XML이라는 규격을 사용했다가, json이 인기를 끌면서 javascript 역시 지원을 하게 되었다.

ES6 (2015)

  1. Hoisting을 개선했다.
    기존에는 var키워드를 사용하여 호이스팅이 빈번하게 일어났는데 이를 방지하기 위해 블록 스코프를 가진 let과 const를 추가했다.
  2. 화살표 문법을 지원한다.
    장점 : 코드의 간결화, this를 바인딩하지 않는다.
  3. iterator와 generator 추가.
  4. module의 import/export 추가.
  5. Promise 도입
    자바스크립트는 비동기적 언어이기 때문에 callback에 대한 이슈가 많았으나 이부분을 해결할 수 있는 문법을 제공한다.

끝~! 다음주엔 WIL 좀 길게 쓰고싶다 자꾸 숙제만 하는느낌이넹

 

출처 :https://velog.io/@janghoon333/study-ES 감사합니당

 

 

 

 

항해 99 출항

항해 첫 주가 끝났다.

스파르타.. 일정은 이름에 걸맞게 진행되었고, 항해원들은 비바람을 맞으며 허우적거렸다...

 

하지만 허우적거림도 잠시, 인정하기 싫었지만 사람은 맞으면서 배울때가 효율이 가장 좋았고

우리들은 얼굴에 붙은 머리카락과 낙엽을 때며 현실을 파악했다ㅠ

 

처음 보는 사람들, 기본9 to 9 의 일정(11시가 기본이더라), 등등 속에서 시작된 프로젝트.

불행인지 다행인지 우리팀은 조타실에 내가 들어갔고 부담스러웠지만 든든한 팀원들 덕에 첫 프로젝트는 잘 마무리됐다.

 

프로젝트에 대한 막연한 불안감을 갖고 있었는데 이번 프로젝트를 잘 끝마치며 말끔히 치유되었고, 앞으로 개발자로서의 방향성이 조금 더 잡힌 것 같다. 특히 커뮤니케이션의 중요성을 너~무 깨닫게 되었다. 물론 사람과의 커뮤니케이션도 너무 중요하지만 Git 이라는 개발자들의 기본 커뮤티케이션의 중요성을 알게되었다..

 

진행하다보니 웹개발을 1~2달이라도 더 해본 내가 업무를 조금씩 더 맡았었는데, JWT 방식 로그인 회원가입 진행하고나니 팀원이 맡은 유틸페이지가 전혀 구현이 되지 않아서 전에 조금이라도 해본 본인이 유틸페이지 등등까지 맡게되었다.

나도 뭐 구현까지 해본건 아니어서 JWT나 유틸페이지나 고민도 많이하고 적용하는 과정에서 코드도 많이 작성하고 공부도 많이 하게된것 같다. 프로젝트 기간에는 업무가 좀 부담스럽나 싶었지만 끝나고 나니 얻어가는게 정말 많았다.


뭐 이것저것 일기처럼 쓸 생각이었는데 WIL 키워드를 정해줘서 JWT에 대해 설명을 잠깐 해야겠다.

 

    1. JWT

 

JWT 뭔 소리여~ 아직도 정확하게 이해한건 아닌데, 그냥 내가 코드 짠것도 있고 하니 내가 느낀 특성을 말해보면,

id pw 입력하고 들어온 사용자에게 너 제대로 id pw 입력하고왔으니까 해당 웹페이지를 사용할 수 있는 자유이용권을 준다~ 정도다. 로그아웃 할때는 자유이용권 뺏어버리면됨!

(재미없는 내용이라 이정도만 하고 넘어가고 싶지만) 조금만 더 자세히 설명해보자면,

 

1) 로그인시에 사용자의 id와 pw를 암호화해 토큰화시킨다(JWT 메서드로 암호화함). Token->브라우저에선 쿠키라고 부른다.  ($Cookie. 라는 jQuery 문법도 따로있을 정도로 많이 쓰는 개념)

 

2) db에 저장된 id와 pw를 입력하고 접속한 사용자에게 토큰을 전달해주고

(이때 토큰을 Header로 바로 전달주는 방식과 -> 브라우저에 쿠키값을 꽃음

Body로 넘겨주는 방식이있음 -> response로 프론트쪽으로 넘겨주는 방법)

 

3) 로그아웃시엔 토큰만 빼았으면 된다.

 

물론 회원가입시에 pw 또한 그냥 db에 저장하면 안되고 해쉬함수를 통해 pw를 암호화해 저장한다.

기본적으로 pw와 Token 값이 암호화되어 있어 db에 저장된값을 쓰기가 어려워 Jinja를 사용하는게 수월하당

 

끝~!  

매일 TIL 남기고 있으니께 여기다가도 링크 남겨놔야지 뭐 프로젝트때 TIL은 아니구 프로젝트 끝난 금요일부터 알고리즘 하고 있는데 그때 TIL임!

https://translucent-bit-b63.notion.site/2-e144c49e78b24cb5b1d12aad7695e664

 

다들 낙오하지 말자구~

 

# 저장 - 예시

doc = {'name':'bobby','age':21}

db.users.insert_one(doc)

 

# 한 개 찾기 - 예시

user = db.users.find_one({'name':'bobby'})

 

# 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)

all_users = list(db.users.find({},{'_id':False}))

 

# 바꾸기 - 예시

db.users.update_one({'name':'bobby'},{'$set':{'age':19}})

 

# 지우기 - 예시

db.users.delete_one({'name':'bobby'})

'잡담' 카테고리의 다른 글

React 시작시 기본적으로 설치해야되는거!  (0) 2022.08.13
4. 나만의 프로젝트  (0) 2022.07.28
3. 나만의 프로젝트  (0) 2022.07.28
2. 나만의 프로젝트  (0) 2022.07.28
1. 나만의 프로젝트  (0) 2022.07.28

귀여운 르탄이와 무서운 진도사우르스..

 

2주 전 너튜브 광고로 스파르타 코딩클럽을 처음 접한 당시, 정신을 차려보니 이미 웹개발 종합반을 결제한 후였다..

 

1. 스파르타 코딩클럽

 스파르타는 사람이 빨려 들어가는 입구가 있었다. 

그거슨 이범규 대표님의 1시간 직장인 코딩강의

https://spartacodingclub.kr/ (해당 사이트 가면 무료로 들을 수 있음!)

 

난 코딩 비전공자다.

 

나의 직업에 염증을 느끼고 난 코딩왕이 될꺼야! 라며 꿈에 부풀어 퇴사 후 

국비지원 내일배움으로 JAVA 웹 개발 수업을 듣고있었는데(지금도 듣는중..)

너~무 지루하고 재미없어서 대체재를 찾고있었다.

 

너튜브에 범규찡 광고 나오길래 들어가서 1시간 호로록 보고 나니까

'와 진짜 잘 알려준다' 는 생각이 들어, 그대로 웹개발 종합반 강의까지 수강했음.

 

2. 스파르타 강의 할인 

하지만 결제하기 직전에 정신을 차리고(강의가 50만원이라 정신이 차려졌다)

 

할인을 이것저것 찾아보니까 마침? (얼리버드 할인) +  (포인트 할인) 등등

여차저차 하니까 330,000원 정도까지 가격이 내려가던데

 

결론만 말하면 국비지원인 내일배움으로 수강하는게 가장저렴하고(내일배움 링크 https://spartacodingclub.kr/nb)

(10%인 5만원으로 수강가능 ->완강 후 그 5만원마저 환급)

 

나처럼 내일배움이 해당 안 되는 사람은 위에 언급한 할인에

+ 친구 할인 (밑에 링크 통해서 수강하면 +5만원 중복 할인 가능)

https://spartacodingclub.kr/?f_name=%EC%9D%B4%EC%9A%A9%EA%B7%9C&f_uid=62430becb0bd4c744f8cd899

정도가 가장 할인 많이받는거 같음. 

 

아, 내일배움 해당 안 되는 사람도 위에 내일배움 링크 통해서 시도는 하는게 좋음.

중간까지 시도하다가 안돼서 하차하면 내일배움 할인 쿠폰?주는데 쿠폰은 이게 제일 많이 할인해줌!

(근데 이거는 언제까지 해주는지 모르겠네)

 

3. 강의 수준

많은 분들이 걱정되는 부분이 나한테 이 강의가 맞을까? 일텐데 이거 맞음.

 

스파르타 유입되는 상당수는 코린이 일텐데 JavaScript까지 맛만 본 나로서도 충분히 따라갈 수 있었고

(진짜 맛만봤다. 생활코딩 강의 들어보면 알거임. 추천추천-https://opentutorials.org/course/3084)

 

실제로 많은 개발언어에 대한 나침판이 되는 강의였다.

 

1~2주차 강의만으로 코린이의 진입장벽인 HTML, CSS, JavaScript 가 모두 해결되고,

덤으로 실제 웹페이지 만들어서 친구들한테 자랑하고 나름 피드백?을 통해 수정하면서 주체적인 복습 & 성취감을 느낄 수 있었다. 

 

4. 웹개발 종합반 그 후

마음같아선 앱개발 종합반을 수강하고 싶지만

난 아직 국비지원 내일배움으로 5개월짜리 JAVA 웹/앱 개발 수업을 듣고있고..(진짜 후회중 이것저것 알아보고 수강한 건데, 국비지원의 경우 강사의 강의 수준을 모르는 경우가 대부분이라 정~말 신중히 선택하세요)

 

이직 기간을 1년으로 잡아 위의 국비 수업이 끝나면 스파르타에서 진행하는 항해99에 참여해 다듬어서 이직 성공률을 높일 계획이다.

 

여기까지 긴글 읽어주신분이 있으려나

뭐 다들 성공하자~

 

'항해99' 카테고리의 다른 글

2주차 알고리즘  (0) 2022.11.19
2주차 알고리즘(2일차)  (0) 2022.11.19
2주차 알고리즘(1일차)  (0) 2022.11.19
실전 프로젝트 트러블슈팅(SSE)  (0) 2022.10.31
1주차 프로젝트  (0) 2022.07.28

+ Recent posts