redqoralsrl의 등록된 링크

 redqoralsrl로 등록된 네이버 블로그 포스트 수는 420건입니다.

여러분이 작성해주길 원하는 블로그 골라주세요! [내부링크]

안녕하세요. React-Native와 이더리움 개발하는 블록체인 개발자 밍키입니다! 여러분들의 격려와 응원 속에 이제 힘내서 노션 블로그에 올리는 것이 아닌 네이버 블로그에 글을 적고자 합니다. 여러분이 알고 싶은 것이나 원하는 IT관련 글이 있다면 알려주세요! 적을 수 있는 것은 아래와 같습니다. 1. 블록체인 지갑 2. 이더리움 solidity 3. React-Native 4. 블록체인 정의 5. 하이퍼레져 패브릭 댓글이나 쪽지로 주시면 추후 IT블로그에 맞는 글을 적겠습니다!

Node.js의 국비 듣는 사람이 많나보네요... [내부링크]

글 정리하면서 Node.js 회원가입을 많이 검색하나보다.... 국비지원을 많이 들으니 아마 조회했나보다... 암호화해서 만들어서 넣는걸로 만들껄... 지금은 아무것도 하기가 싫다.... 잘 적을껄... ㅋㅋㅋㅋ 오늘도 이렇게 하루가 간다!

민팅 NFT 사기 안당하는 방지책? [내부링크]

블록체인 생태계에서 블록체인을 공부하면서 코드 뜯어보면서 개발하면서 NFT 역시 연구하면서 개발하면서 생각해보았다. 다들 NFT가 우와아아 얼마야 사야해 민팅해야해! 라고한다. 사실 NFT는 블록체인에 정보를 넣어 변경이 안되는 점일뿐 그 정보를 잘 넣어야 한다.(잘 넣어야한다? 제일 밑에 저장할때 글보면 이해한다) 우선 NFT의 기본 개념은 알아서 보고 와라. 나는 개인적인 의견을 적는 블로그다. 자 NFT는 우선 크게 세개로 나눈다고 보면 된다. 증명서, 작품(그림, 사진), 민팅으로 나뉜다. 그래 활용으로 증명서는 이해가 된다. 증명은 단지 증명을 하지 가치는 아니니깐. 여기서 작품... 도용이 남발하고 막을 수 있는 방법이 없다.......

첫 개발 배포 - 에이락 리워드 및 블록체인 지갑 출시! [내부링크]

안녕하세요. 블록체인 개발자 밍키망키입니다. 어플 개발 및 블록체인 관련 기능의 어플 출시는 처음인데 두근거립니다. 출시는 4월 11일 블록체인 리워드 지갑을 출시하였습니다. 12일인 지금 블로그에 올린 이유는 안정화가 자리 잡히고나서 하는게 좋다고 생각하여 지금 작성합니다. React-Native로 어플을 만들었으며 블록체인 지갑(비트코인, 이더리움, 클레이튼 등과 토큰들)을 지원하며 리워드를 지급해주는 어플입니다. 에이락 검색하셔서 리뉴얼 버전인(진한 주황색)을 받아주시면 되겠습니다! 빙고 이벤트 참여 잊지마세요!

블록체인 신입 개발자의 이더리움 기술(연구) 간단 문서 [내부링크]

이더리움이란? - P2P 네트워크의 분산 컴퓨팅 플랫폼 => 컴퓨터와 컴퓨터들을 연결한 네트워크로 각자 블록체인이 저장되어 있다. - 비허가형 퍼블릭 블록체인(Permissonless Public Blokchain)으로 C++과 Go언어를 사용해 개발 => 비허가형 퍼블릭 블록체인이란? 블록체인 네트워크에 허가없이 자유롭게 참여 및 탈퇴가 가능하며 트랜잭션의 생성에 직접 참여하거나 트랜잭션을 작성할 수 있다는 것을 의미한다. - 스마트 컨트랙트를 이용해 탈중앙화된 플랫폼 구축 가능 => 중단, 검열, 사기 등과 같은 제 3자의 방해 가능성 없이 프로그래밍 된대로 정확히 동작하는 프로그램이다. => 예시로 자판기처럼 만들.......

블록체인 백엔드 면접준비 [내부링크]

자기소개 1분 안녕하십니까 백엔드 지원자 백민기입니다. 블록체인 국비과정을 통해 프론트엔드/백엔드 및 이더리움 스마트 컨트랙트를 준비함과 동시에 오픈소스와 스택오버플로우에서 트러블 슈팅을 배워가며 스스로 더 공부해 나가고 있습니다. 혹은 openzeppelin나 스팀잇의 소스 코드를 가져와 저만의 것으로 만들어보며 새로운 곳에 적용시켜보는 과정에서 코드는 가독성 좋게 클린코드로 작성하려고 합니다. 배운 내용과 이해한 내용을 토대로 블로그, 또는 책으로 만들어 감으로써 기록과 지식이 점점 쌓여가면서 이 분야가 저에게 가장 알맞다는 생각이들어 도전하게 되었습니다. 감사합니다. 1) 블록체인 프레임워크 사용 => N.......

IT공부 어려워도 포기하지마세요! [내부링크]

블록체인 개발자 꿈을 대학교 3학년부터 이루려고 노력했지만 정말 블록체인 개발자로 거듭났다. 내가 정말 네이버 블로그를 엄청 많이 쓰지만 최근에는 많이 쓰지 못했다.... 왜냐하면 회사계정으로 깃허브 만들고 회사계정으로 노션을 만들어 그곳에서 개발을 시작한지 한달하고 일주일 지나고... 사실상 내가 적는 공부블로그는 올릴 수 있지만 현재는 개발을 진행하면서 회사보안으로 내가 공부하고 적용하는 기술을 공유할 수는 없다. 우선적으로 개발을 하면서 가장 필요한 것은 모르는 언어를 접하고 그 코드를 읽고 회사에 적용시키는 일이 다반사다. 나는 항상 노력으로 지금까지 살아왔다. 코드를 잘하거나 잘 구상하지 못한다. 머리 터.......

나의 2022년 개발 목표! [내부링크]

1. 블록체인 지갑을 한번 공부해보자! 2. 솔리디티는 잊지말고 꾸준히 보자! 3. Rest API의 역할을 잘 배워놓자! 여러 개를 목표 삼으면 현재 작업하는 프로젝트에 무리가 갈 수 있으니 목표는 적게! 회사 일에 지장 없게!

블록체인 풀스택 개발자 일기 [내부링크]

국비지원 블록체인을 통해 공부를 하면서 처음 도전한 연구소에 합격을 하며 무난하게 들어가는 가 했다. 처음 입사한 부산의 블록체인(하이퍼레저 패브릭)의 연구소에 입사해서 공부와 연구를 배워가며 다녔지만 나는 이더리움, 비트코인과 그리고 해당 서비스를 만들고 싶어서 한달만에 그만두고 다시 서울로 블록체인 풀스택 개발자로 취직했다. 현재는 회사계정의 노션을 따로파서 공부한 내용 및 개발 일지 등을 작성한다. 네이버 블로그도 관리해야하지만 내가 입사하자마자 2주공부하고 바로 개발에 들어간지 3달이 되어간다. 리액트 네이티브, node.js, GraphQL/Prisma, Ethers, Bitcoin을 개발하고 있다. 블록체인 풀스택 개발자로 거듭.......

개발자로써 개발하면서 배운점 (한번 읽어보세요!) [내부링크]

개발하면서 프로젝트에서 코드 짤때 주의해야할 점이 있다. 1. 라이브러리 최대한 적게 사용 혹은 비슷한 라이브러리 중에 경량 라이브러리로 사용하자. => 회사 클라우드 서버를 이용하면 최대한 적게 용량을 차지해야함 그래서 파일도 주로 svg사용 (png는 비교적 큼) 그리고 최대한 라이브러리를 사용을 줄이면서 직접 구현하자. 2. 코드를 짜서 코드리뷰를 할때 서로 조언을 아낌없이 하자. => 서로의 코드를 자꾸 읽는 습관을 가지면 무슨 코드가 와도 분석이 빠르다 그리고 생각지 못한 코드 구성 방법을 조언 받거나 막힌 부분을 다른 사람이 도와줄 수 있다. 3. 해당 라이브러리를 100% 활용하려면 Test 코드를 읽자! &#.......

블록체인 개발자가 보는 NFT [내부링크]

나는 블록체인을 좋아해서 부산에서 살다가 공부를 위해 서울로 올라와서 블록체인을 배우고 서울에 현재 블록체인 개발자로 재직 중이다. 우선적으로 나는 블록체인이 돈이라는 건 아직도 인정하지 않는다. 가치를 저장하는 수단으로 생각한다. 가치를 저장하는 것이 제일 나에게 와닿으면서 그에 증명하는 보상이라는 수단에 불과하다. 나는 그래서 리워드 플랫폼에 치중하는 회사에 정말 나와 성격이 같아 만족한다. 블록체인은 누누히 말하지만 돈이 아니다. 현재 블록체인 지갑을 만들며 NFT도 공부하며 그에 따른 기능을 만들고 있다. 현재 공부하면서 느낀건 NFT가 지금 이 상태로 가면 어떻게 될까이다. 여기서부터는 나의 생각과 개발자.......

개발하면서 필요한건 조직! [내부링크]

개발하면서 필요한건 잘하고 못하고가 아니다. 나혼자 잘해서는 안된다. 그리고 팀을 무시하거나 뭐라하면 안된다.(연구소에서 제일 서러웠음.) 연구소에서 정말 팀워크보다 개인 플레이를 중요시하고 각자의 개발 능력으로 각자 개발한다. 정말 난 거기서 발전한게 없었다. 하지만 지금 개발하면서 느끼는 건 협력과 교류다. 서로가 서로를 도와주며 오류를 고쳐주며 배워간다. 연구소에서는 아무것도 못하는 코드만 치는 연구원 이었다면 지금 다니는 회사에서 협력과 교류를 하는 지금 나는 엄청 성장해져있다. 앞으로 몇년 뒤 어마무시한 개발자가 되고 싶다. 우선 블록체인 지갑 개발을 이해해버린 내가 뿌듯하다. 그래서 결론은 팀이 못하.......

블록체인 개발자로 공부와 취업을 원해요 / 질문 시리즈 - 취업시리즈 / [내부링크]

너무 많은 개발 꿈나무분들이 질문을 해서 남기는 질문시리즈다. 내가 이렇게 블로그를 잘 적은 적도 없고 취업하고나서는 노션에서 활동 중이다. 질문이 너무 많이 오는 관계로 반복 질문들은 여기에 적겠다. 1. 블록체인 개발자로 전향이 어려운지? - 팩트를 말해주겠다. IT 자바스크립트나 생활코딩의 영상을 하나 봐라. 그것이 어렵거나 이해하려고 애쓰다가 망하면 그냥 개발자가 안 맞는 것이다. 접는 것을 추천한다. - 우선 블록체인 개발자라고 해서 블록체인을 100%하는 곳도 있겠지만 사실상 Dapp서비스를 만드는 것이다. 일상적으로 웹 서비스나 어플리케이션 서비스를 블록체인 과 연결하는 것이 대부분이다. (메인 개발로 들어가면.......

믿음 [내부링크]

일하면서 느끼는 것이 있다. 바로 믿음이다. 과연 내가 일을 하면서 믿음을 어떻게 해야 보여줄까... 회사에 도움이 되기 위해 매일 블록체인 컨퍼런스... 전시회... 조회하면서 도움이 되는 것을 알려주고 가고 싶다고 제안한다. 하지만 나는 제외일 뿐이다... 나도 관련된 개발을 해야하는데 정작 제외일 뿐이다. 그래도 나는 회사에 도움이 되기위해 메타버스 등 관련 정보들을 혼자 꾸역꾸역 조회해서 알려준다... 나는 언제쯤 도움이 된다고 인정을 받을까? 그래서 더더욱 나는 같은 팀 개발자들한테 무엇을 해야할지 하나도 빠짐없이 알려준다. 나도 물론 내 코가 석자이지만 난 나와 함께 일하는 사람들을 믿는다. 내가 아는 블록체인 정.......

이더리움 정리중 [내부링크]

들어온상태로 나와서 실행이 잘되는 것을 확인할 수 있다. ==================================== 파일이 생성된다. solidity 버전을 migrations.sol에서 가져온다 만약 궁금하다면 help를 쓰자 truffle-config.js에서 포트를 ganache-cli에 나온 포트로 바꾼다. test 폴더에 가서 TestAdoption.sol을 만든다. 같은 위치에 testAdoption.test.js ================&#x.......

Solidity 문법 및 Gas 절약 [내부링크]

uint uint는 기본적으로 숫자를 명시하지 않으면 uint256으로 설정된다. 하지만 struct 안에서는 명시하는 것이 Gas를 덜 소모하는 것이니 명시는 해주자. 8~256까지 8비트 간격으로 설정 할 수 있다. 저장공간보다 커지면 0부터 다시 시작하니 유의하자! uint8은 최대 2 ^ 8 까지 uint16은 최대 2 ^ 16 까지 uint32, uint256까지 있지만 여기서 중요한 점은 숫자가 늘어날수록 가스비가 많이 든다. 그래서 최소한 십몇년만 사용할 정도의 양만 사용해서 Dapp을 구성하는 것이 좋다. 그리고 같은 uint 의 뒤에 승수가 같은 것끼리 묶어놓으면 절약이 된다. 위와 같이 하는 것보다는 아래와 같이 묶어주는 것이 절약이 된다. uint (부호없는 정수.......

Web3.js [내부링크]

설명 Ethereum 네트워크는 여러 사용자(EOA)들이 연결되어 있다. 특정 역할을 하는 smart contract들로 구성되어 있다. 실행하기 위해서는 스마트 컨트랙트의 주소, 실행하고자 하는 함수, 함수에 전달하고자 하는 변수들을 전송해야한다. 하지만 이더리움 노드들은 JSON-RPC로 불리는 언어로 소통하기에 가독성과 읽기가 어렵다. 그래서 Web3.js가 등장했다. Web3.js 라이브러리는 이더리움 생태계를 위한 기능을 포함하는 모듈 모음이다. 모듈 web3-eth - 이더리움 블록체인과 스마트 계약을 위한 것 web3-shh - P2P 및 방송 통신을 위한 귓속말 프로토콜 web3-bzz - 분산 파일 저장소인 Swarm 프로토콜을 위한 것 web3-utils - Dapp 개발자를.......

S-6) 이더리움 투표 Dapp 제작 [내부링크]

Election.sol을 만들어보자. Election.sol에서 코드를 짜보자. migrations에 2_deploy_contract.js를 만들고 연결을 시키자. 그리고 truffle-config.js를 로컬 포트 8545로 변경하자. 여기서 테스트를 해보려면 우선 로컬로 ganache를 실행한다. 이제 테스트를 해보자. 위와 같이 나온다면 만들 준비가 된 것이다. 이제 후보자의 구조체를 만들어보자. id 값, 이름, 투표 수로 만들었다. uint값을 기준으로 후보자의 데이터를 만들었다. 하지만 여기서 투표 수인 전체 데이터를 조회하는 게 불가능해서 따로 숫자를 만들자. 그리고 후보자를 추가하는 함수를 private로 만들어보자. 그러면 이제 후보자 2명을 contract에 등록하자. 다했다면 이제.......

하이퍼레저 패브릭 체인코드 vs 스마트 컨트랙트 [내부링크]

하이퍼레저 패브릭 - 알려진 참가자를 대상으로 하는 비즈니스 응용 환경에 맞는 블록체인 개발 - 다양한 분산 응용 개발을 효율적으로 지원할 수 있는 플랫폼 개발 - 모듈 구조를 가지는 분산 응용 플랫폼 개발 하이퍼레저 패브릭 특징 - 허가형 블록체인 - 일반 프로그래밍 언어 사용 - 내부 가상통화 부재 - 높은 성능 - 교체 가능한 모듈 구조 - 멀티 블록체인 지원 허가형 블록체인 - 멤버십 관리 서비스를 통해 허가된 참여자만 접근을 허용 - 블록체인 접근 권한을 제어 가능 - 참여자 행위에 대한 책임성 확인의 요구사항을 반영 - 작업 증명 기반의 합의 알고리즘을 사용하는 대신 보다 효율적인 합의 알고리즘을 사용 가능 - 높은 거래.......

S-2) 이더리움 토큰 만들기부터 Ropsten 테스트넷 발행하기 [내부링크]

이더리움 토큰을 만들어보자! // ChowToken.sol 해당 솔리디티 버전은 node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol 의 명시되어 있는 버전을 사용하는 것이 좋다. // 2_deploy_GameToken.js 위는 이더리움 트랜잭션을 눈에 보기 편하거나 조회가 가능하게 할 수 있다. 회원가입하면 3개는 무료로 등록할 수 있다. 위와 같은 로그인을 하면 볼 수 있다. 왼쪽에 위에서 첫번째 이더리움 모양을 클릭하면 프로젝트가 나올 것이다. 나는 이미 만들어서 다른 코인이 있지만 새로 한번 만들어보자. CREATE NEW PROJECT를 눌러보자. 난 ChowToken이라고 만들 것이다. 똑같은 이름으로 만들어주면 좋다. 위와 같이 뜬다면 ENDPOINTS를 R.......

S-3) 이더리움 토큰 - mint 토큰 추가로 생성하기 [내부링크]

// MyNFT.sol keccak256은 안에 넣은 문자를 해쉬값으로 32바이트로 반환해준다. 암호화를 하는 것이다. _setupRole은 권한을 첫번째 파라미터는 암호화 두번째는 주소를 넣어 토큰을 건들일 권한을 추가하는 것이다. hasRole은 권한에 이 암호화문자와 주소를 가진 사람이 있는지 확인해주면서 있으면 true를 반환해준다. _mint는 토큰을 생성하는 함수이다. // 2_deploy_MyNFT.js 작성을 하고 truffle-config.js에 주석을 해체하자. 로컬이라 로컬과 관련된 주석을 해체하자. 를 했다면 이제 로컬에서 돌릴 것이다. 새 리눅스를 켜보자. 위에 실행을 하고나서 원래 켜져있는 리눅스에 와서 위의 결과가 나왔다면 메타마스크에 일단 연결시킨다.......

S-4) 이더리움 토큰 - 생성(mint), 소각(burn) [내부링크]

// TestToken.sol // 1) 솔리디티 버전을 선언한다. MIT 라이센스를 사용하고 0.4.22 이상의 버전 0.9.0 미만의 버전을 사용을 선언한다. // 2) 첫번째는 Role이라는 권한을 가진 사용자인지 등록하거나 확인하거나 하는 용도로 사용한다. 두번째는 토큰을 만들기 위해 필수적으로 ERC20을 사용한다. ERC20등등 어떤 기반에 따라서인지 바뀐다. // 3) contract를 선언한다. 여기서 상속을 받기 위해서 is라는 것을 사용한다. // 4) 해당 문자단어를 암호화하는 것이다. keccak256이라는 함수를 사용한다. // 5) 현재 접속중인 지갑의 주소를 넣는다. msg.sender가 현재 연결중인 지갑을 나타낸다. // 6) 코드 실행시 처음 한번만 실행되는 것으로.......

S-5) 이더리움 토큰 - 권한 수동 부여 및 생성(mint), 소각(burn) (2) [내부링크]

위의 버전을 업그레이드해서 만들어보자. 하지만 보안은 안 좋으니 비추천을 한다. 설명은 위의 코드와 같은 것은 설명을 생략하겠다. 우선적으로 권한을 수동으로 주는 것이다. // NewToken.sol // 1) 이번에는 디폴트로 주는 것이다. 나중에 이더 월렛에서 권한을 직접 등록하는 것이다. // 2_deploy_NewToken.js // truffle-config.js 에서 주석을 해제하고 버전을 자신이 사용하는 것으로 바꾼다. 이제 해당 주소를 메타마스크와 연결한 후 토큰을 추가하자. 이제 마이이더월렛에 가서 연결을 해준다. 해당 토큰 생성을 위해서 MINTER_ROLE에서 해당 바이트 값을 받는다. 그 바이트 값을 복사해서 GrantRole에 Role에 넣는다. 그리고 마이닝.......

블록체인 공부 및 취직 고민이 다시 왔다.... [내부링크]

블록체인도 2~3달 뒤에 끝나서 취업 준비하면서 취직 할 곳을 찾고 있다. 내가 서버 리눅스나 윈도우를 해서 서버관리자나 보안을 갔다면 지금도 서버나 클라우드 등을 만졌겠지? 내가 원래 딥러닝과 파이썬을 계속 했다면 이미 실무에서 딥러닝과 파이썬으로 작업을 하고 AI를 만들고 있었겠지? 내가 지금 블록체인을 배우면서 여태까지 많은 IT와 많은 언어들을 접해보았다. 하지만 블록체인을 내가 2015년부터 너무 좋아한 나머지 너무 배우고 싶었다. 이제 마침 그런 기회가 왔고 배우면서 물론 복잡하고 어렵다. 하지만 쉽지는 않을 꺼라 예상했다. 취직 준비하면서 정말 기업들을 보면서 지원을 생각하지만 왠만한 도전의식을 가지고 싶은.......

하이퍼레저 패브릭 [내부링크]

하이퍼레저 패브릭 뜻 블록체인 솔루션과 응용 프로그램을 개발하기 위한 모듈형 아키텍처 플랫폼이다. 리눅스 재단이 주도하여 설립한 하이퍼레저의 프로젝트 중 하나로 다양한 기술 운영위원회와 여러 조직의 유지 관리자에 의해 관리된다. 합의 및 회원 서비스와 같은 구성 요소를 플러그 앤 플레이 방식으로 지원한다. 허가받은 사용자만 참여할 수 있는 허가형 블록체인으로써 프라이빗 블록체인의 일종이다. 개요 리눅스 환경에서 호스팅하는 프로젝트로 오픈소스를 활용하여 비즈니스 환경의 기밀 유지와 확장성을 지원한다. 컨테이너 기술을 활용하여 체인코드라는 스마트 계약을 호스팅한다. 암호화폐 없이 합의 프로토콜을 활용할 수 있.......

이더리움 truffle 설치 및 사용법 및 테스트 스마트 컨트랙트 배포 [내부링크]

설치 윈도우에 솔리디티를 위해 테스트 환경을 만들자. truffle 설치전 node와 vscode를 설치한 뒤 truffle을 설치하자 이번에는 ganache-cli를 설치하자. 블록체인 네트워크를 테스트 환경에서 잘 하게끔 설정하는 것이다. 아래 명령어를 입력하면 잘 실행하면 설치 완료다. 그리고 vscode의 solidity extension을 다운 받자. 그리고 웹 브라우저에 메타마스크를 설치하자. 기본적인 세팅이 되었다면 시작해보자. 우선 cmd창을 켜서 cd Desktop을 해서 바탕화면으로 들어가자. 이제 해당 비쥬얼 스튜디오 코드가 켜진다. 연결 및 작성 Lottery.sol 파일을 만들어 작성해보자. pragma solidity 버전은 Migrations.sol의 버전을 가지고 와서 위와.......

블록체인 코인과 토큰의 차이? [내부링크]

코인과 토큰은 보통 사람이 보면 비슷하거나 똑같다고 한다. 하지만 조금은 다르다. 코인 독립된 네트워크(메인넷)을 소유한 경우 코인이라 칭한다. 자기 자신만의 네트워크가 구축되어 있으며 독립된 형태를 가지고 있다. 토큰 독립된 블록체인 네트워크를 소유하지 않은 경우 토큰으로 부른다. 주로 ERC-20의 기반인 토큰이 많이 생성되는데 이더리움의 네트워크에 의존하는 것이다.

S-1) 이더리움 토큰 만들기 [내부링크]

contracts => GameToken.sol migrations => 2_deploy_GameToken.js truffle-config.js 에서 45~49, 85 주석해체 및 버전 변경 리눅스로 와서 새로운 리눅스를 켜서 하고나서 의 주소를 메타마스크에 토큰추가에 넣으면 토큰이 잘 생성 된다.

블록체인 기반 플랫폼 분류 [내부링크]

공개형 블록체인 공개형 블록체인은 누구나 해당 블록체인 생태계에 자신이 노드를 구성하여 참여할 수 있다. 개발자는 해당 플랫폼의 기능을 개선하거나 해당 플랫폼 기반의 새로운 서비스를 구축할 수 있다. 대표적으로는 비토코인 코어와 이더리움이 있다. - 비트코인 코어 비트코인의 레퍼런스 클라이언트로써 비트코인 파운데이션에서 개발하고 있다. 비트코인 코어를 이용하면 비트코인 네트워크에 연결하여 비트코인 데이터를 다운받고 동기화하고 거래와 마이닝을 할 수 있다. 비트코인 코어를 복제하면 비트코인과 유사한 암호화폐를 구현할 수 있다. 그래서 알트코인이 비트코인 코어를 기반으로 하거나 개선하면서 개발 되었다. - 이.......

Ethereum 토큰 전송 코드 및 이더리움 플랫폼이란? [내부링크]

이더리움 토큰 전송 코드 위와 같이 전송이 가능하다. 이더리움 전송이란? 이더리움의 전송은 예시로 은행에서 거래를 하면 1만원을 전송하는데 1만원 수수료가 들면 총 2만원을 차감하고 받는 사람의 계좌에 1만원을 추가해준다. 이런식으로 이더리움은 전송을 하는데 여기서 송금처럼 트랜잭션이라고 블록체인은 칭한다. 이렇게 잔액 상태가 변하는 동일한 상태 전이 과정을 기반으로 작동한다. 상태 전이란, 특정 시점의 현재상태가 상태 변이 함수에 의해 다른 상태로 전이되거나 전이에 실패하고 이전상태로 복귀하는 것을 말한다. 이더리움의 기본 단위는 어카운트(account)다. 모든 어카운트는 중복되지 않는 식별자로 특정 주소를 부여받.......

이더리움 Solidity - 1 [내부링크]

Solidity 언어로 이더리움 Remix 개발 환경 테스트 툴에서 간단하게 만드는 프로그래밍을 해보자. 우선적으로 위의 Solidity의 확장자는 sol로써 만드는 것이다. 만들고 나서는 SOLIDITY COMPILER를 왼쪽에서 두번째 모양을 클릭해서 Compile 파일이름.sol 을 컴파일 한 뒤 왼쪽에서 세번째 DEPLOY & RUN TRANSACTIONS를 클릭해서 Deploy를 클릭하면 해당 파일을 실행하여 아래에 Deployed Contracts 안에 결과가 나오게 된다. 정수 반환하는 함수 1) 솔리디티 버전 설정 2) 컨트랙트 HelloWorld 생성 3) 문자 타입 private 선언 4) GetHelloWorld 함수를 모두가 볼 수 있는 문자열 반환하는 함수 생성 True, False 반환하는 함수 1) bool 타.......

이더리움 토큰 발행 openzeppelin 및 기본 테스트 [내부링크]

우선적으로 WSL 을 설치하자. WSL에서 설치할 것은 Node.js 와 npm 과 truffle 과 ganache-cli 이다. 위와 같이 설치가 끝나면 을 통해 버전이 나오는지 확인하자. nvm은 없으면 검색을 통해 다운을 받자. 자 이제 필수 실행 요소인 truffle을 다운받자. 위와 같이 설정이 되었다면 이제 이더리움으로 세팅을 해보자. 위와 같이 설치를 마친다면 대략적인 설명을 보자. 위를 설치한 것은 openzeppelin은 토큰 컨트랙트 개발에 도움을 주는 것이다. 즉, 이번에 만드는 것은 ERC20 기준을 따르는 실제 사용 가능한 토큰 컨트랙트이다. 토큰 전송도 가능하고 각 계정의 잔고도 확인이 가능하다. 우선적으로 아래와 같이 기본 파일들이 있는데 contra.......

이더리움 토큰 발행 배열 매핑 [내부링크]

우선적으로 설정이 없다면 아래 링크를 통해 설치하자. contracts => ArrMapping.sol migrations => 2_ArrMapping.js truffle-config.js 에서 45~49, 85 주석해체 및 버전 변경 리눅스로 와서 실행을 하고 아래 링크로 들어간다 만들어 본 것을 잘 실행하면 된다.

이더리움 DApp 개발 전 지식 [내부링크]

스마트 컨트랙트 - 안전하게 배송이 완료되었을 때 구매자가 확인하면 판매금이 판매자에게 송금되게 작동되는 원리이다. 디앱의 목적 - 시스템 상호작용에서 참여자 간 신뢰 필요성을 최소화하거나 제거하는 것이다. 중앙화 앱? - 탈중앙화 앱(디앱) 전에 중앙화 앱부터 알아보자. - 기존 우베이나 기업용 앱은 사용자와 관련된 부분을 회사가 직접 관리하는 중앙 집중 방식으로 처리한다. - 중앙화된 주체가 직접 제어가 가능하다. - 사용자 관점에서 시스템은 신뢰하거나 못하는 경우가 발생한다. 디앱이란? - 긍정적인 거래조건으로 스마트컨트랙트가 대표적이다. - 거래 실행 및 검증의 독립성으로 합의 알고리즘이라고 한다. - 투명성으로.......

클레이튼 월렛과 계정관리 [내부링크]

이번에는 클레이튼 지갑과 클레이를 활용을 위한 개발환경을 세팅하자. 여기서의 클레이는 금전적인 가치가 없는 클레이로 테스트나 개발용으로 사용할 수 있는 곳이다. Create Account를 누르자. Keystore File은 쉽게 말해 은행에가서 통장을 만드는 과정인데 다른사람이 함부로 못사용하게 금고에 넣어서관리 하겠다는 것이다. 이것이 비밀번호와 Keystore File과 합쳐서 만드는 것이다. 만들면은 위와 같이 다운로드를 하라는데 키스토어 파일이다. 그리고 다운로드를 누르면 바로 키번호들이 나오는데 위와 같이 프라이빗 키와 지갑 키가 나온다. 따로 잘 저장하자. 이것은 절대로 외부에 노출되면 안된다. 통장비밀번호와 금액들이 노출되.......

Solidity 기초 [내부링크]

Solidity는 스마트 컨트랙트를 구현하기 위한 컨트랙트 기반의 고급 프로그래밍이다. Solidity는 C++, Python, Javascript의 영향을 받아 만들어졌다. 정적 타입이며, 상속, 라이브러리 그리고 사용자 정의 자료형을 지원한다. 실험하기 좋은 방법은 Remix를 사용하는 것이다. 솔리디티는 책이나 우선 다른 것보다도 C++을 알고 있으면 좋다. C++을 기반으로 아래 링크는 배워볼 수 있는 것이다. 위는 해당 좀비를 만드는 것이지만 나는 스타크래프트 마린 만들듯이 만들어보겠다. version pragma 모든 솔리디티 소스 코드는 version pragma로 시작해야 하는데 솔리디티 버전을 선언하는 것이다. 업데이트나 새로운 컴파일러 버전이 나와도 기존.......

블록체인 팀 프로젝트 1) 웰시코기 코인 Build 및 채굴 (따라만 하면 쉽게 만드는 코인) [내부링크]

팀프로젝트인 코인을 만들고 거래소를 만들기 위함이다. 우선적으로 라이트코인 즉, 비트코인 기반인 웰시코기 코인을 build해보자. WSL은 위와 같이 설치 후 (GUI까지는 안해도 무관) 위의 ubuntu 20.04 LTS를 다운하고 실행하면 잘된다. 해당 설치방법이나 세팅은 생략하고 빌드에 중점적으로 하겠다. 1) WSL의 20.04.2 LTS 우분투 실행하기 2) 작업 공간 만들기 해당 작업을 하기전에 항상 습관이 apt 업데이트와 업그레이드를 하자 3) 만들기에 앞서 필수 요소들 설치하기 위와 같이 설치가 진행을 한다. 하지만 나는 설치를 미리 해놔서 위와 같이 뜬다. 4) 라이트코인 기반(비트코인 계열) 깃 클론 하기 깃 클론한 디렉토리에 가보면 해당.......

블록체인 팀 프로젝트 2) 오라클 클라우드로 웰시코기 코어 지갑 돌리기 [내부링크]

이번에는 웰시코기 코인을 build한 것을 토대로 네트워크에 돌려보자. 우선 위에처럼 코인을 만들었다면 아래의 링크를 통해 오라클 클라우드를 만들자. 방화벽까지 포트 연결을 허용시켰다는 가정하에 시작하겠다. 즉, 우리가 저번에 포트 설정을 한 9535 9525 19525 19535포트까지 열어줘라. 리눅스 포트 여는 것이다. 그리고 블록체인을 build 중에 해당 용량이 부족할 것이다. 용량을 늘려주자. show 를 하면 늘어난 것을 볼 수 있다. 위를 입력해 나노를 키면 위와 비슷하게 뜰것인데 위를 저 위의 내용 밑에 적어주면 된다. ctrl+O, 엔터, ctrl+X를 누르면 저장 후 나가기가 적용된다. ========&#.......

C++ 프로그래머스 카카오 징검다리건너기 [내부링크]

정답은 낼 수 있는 코드지만 효율성은 제로인 코드다. 이분 탐색법을 이용한 효율성 올리기

블록체인 알트코인(비트, 라이트 코인 계열) 만들기 (우분투) [내부링크]

알트코인을 만들어보자. 기반은 비트코인이지만 소스는 비트코인 계열 중 라이트 코인으로 사용할 것이다. 우선적으로 작업할 디렉토리의 위치에서 깃 클론을 할 것이다. 시작하기에 앞서 필수 요소를 설치하자. 이제 깃 클론을 통해 라이트 코인 중에서도 single branch 0.15로 받아오자. 여기서 중요한 점은 해당 코인의 이름을 정해주자. 나는 내 이름의 코인으로 바꿀 것이다. 해당 디렉토리로 들어가보면 위와 같이 구성되어 있지만 작업하기에 앞서 안에 내용들은 Litecoin이나 litecoin들로 이름이 되어있다. 하기에 앞서서 난 이미 사용되었지만 posix를 사용해야해서 아래처럼 나오면 1번으로 설정하자! 이 부분들을 고쳐보자. 라이트코.......

블록체인 정리안함 [내부링크]

vi ./contrib/debian/examples/bitcoin.conf 위에 들어가면 통신에 대한 설명이 나온다. 일단 우선적으로 원래라면 다른이름으로 되어잇어서 kgacoin.conf 해당 코인이름으로 바꿔야하는데 바꿔서 올렸다. 안에 통신할 사람을 추가하고 아래를 실행한다 첫번째는 오타지만 두번째도 오류난다. 해당 데이터 폴더가 없기때문이다. 그러고 다시 실행을하면 잘된다 통신중========================== 위와 같이 해야된다. 이번에는 제네시스를 해보자. curl이 있는지 확인 그리고 실행을 하면 잘된다. 기다리다.......

C++ 백준알고리즘 최댓값 [내부링크]

<다시 짜본 클린코드>

C++ 질문등록 및 설문 알고리즘 [내부링크]

Question.h Question.cpp main.cpp

블록체인 LINUX - SHELL SCRIPT [내부링크]

프로그래밍을 안다는 가정하에 간단하게 작성합니다. 우선적으로 리눅스의 우분투다. 우분투에서 현재 새 디렉토리를 만들어서 안에 아무것도 없는 것을 확인하자. 파일을 sh 쉘 파일을 만들어서 vi 로 편집해보자. 날짜와 내가 무엇으로 로그인 했는지를 알기 위한 쉘 파일이다. 방법은 2가지로 실행이 가능한데 일단 첫번째 방법은 bash로 자신의 쉘 환경으로 바로 실행시키는 것이다. 두번째 방법은 ls -l로 확인해보면 권한이 644인데 권한을 744이든 755든 자유롭게 우선적으로 제일 앞 UID권한을 7로 주자. 그럼 날짜와 어떤 아이디로 로그인 했는지 나온다. 이번에는 출력을 만들어보자. 똑같은 test.sh파일을 열어서 아래와 같이 수정하.......

블록체인 Bitcoin - Build 및 지갑 실행 (우분투) [내부링크]

비트코인을 우리가 코드를 받아서 빌드를 해보자. 우선적으로 자기가 작업할 위치에서 비트코인을 받아오자. 받아오기전 기본적으로 해야할 명령어를 실행하자. 그리고 자기가 작업할 공간인 디렉토리에서 작업을 하자. 난 우선적으로 blog라는 디렉토리에서 작업을 한다. 안에는 전에 하던 내용들이 있는데 이건 일단 없는셈치고 작업을 진행하겠다. 위의 링크는 비트코인을 받아서 어떻게 사용하는지 빌드법이다. 나도 이 방법대로 진행을 한다. 그럼 이제 필수 설치파일들을 설치하자. 이제 비트코인 소스를 깃에서 받아오자. 용량이 조금 커서 컴퓨터가 느린 사람은 오래 걸릴 것이다. 혹은 같은 인터넷 네트워크 이용자가 많으면 조금 느릴.......

C++ 백준알고리즘 최소, 최대 [내부링크]

#include <climits> 에서 INT_MAX와 INT_MIN을 쓸 수 있지만 범위가 지정되어 있어서 어쩔 수 없이 지정하였다.

Klaytn 스마트 컨트랙트, 솔리디티(Solidity) [내부링크]

Smart Contracts - 블록체인에 저장된 프로그래밍 Account 코드가 있는데 그 안에 code hash가 있다. 이것을 가지고 블록체인을 가져올 수 있는 것이다 - 특정 주소에 배포되어 있는 TX로 실행 가능한 코드 스마트 컨트랙트 소스코드는 함수와 상태를 표현, 컨트랙트 소스코드는 블록체인에 저장 함수는 상태를 변경하는 함수, 상태를 변경하지 않는 함수로 분류 사용자(end user, EOA owner)가 스마트 컨트랙트 함수를 실행하거나 상태를 읽을 때 주소가 필요 - 스마트 컨트랙트는 사용자가 실행 상태를 변경하는 함수를 실행하려면 그에 맞는 TX를 생성하여 블록에 추가(TX 체결 = 함수의 실행) 상태를 변경하지 않는 함수, 상태를 읽는 행.......

Klaytn SDK (Software Development Kit) : caver-js [내부링크]

Klaytn SDK - Klaytn은 BApp 개발을 위해 필요한 SDK를 제공 - caver-js는 Node.js로 Klaytn BApp을 만들때 필요한 라이브러리를 제공 개발환경 셋팅 Node.js 설치 개발 디렉토리 생성 및 Caver-js 설치 - 성공적으로 Node.js를 설치한 뒤 원하는 위치에 개발 디렉토리를 생성 - 디렉토리 생성 후 npm으로 Node.js 프로젝트를 초기화, caver-js를 설치 Baobab 테스트넷에 연결 하기에 앞서 클레이튼은 세계관이 3개가 있다. 아스펜, 바오밥, 싸이플러스가 있다. 하지만 프로젝트는 바오밥으로 했다. 신기하게도 나무 이름들이다. a, b, c로 시작하는 나무이름이다. 다음은 d로 시작하는 네트워크가 나오겠지?라는 생각이다. 싸이플러스는 메인넷.......

정리아직안함 [내부링크]

chainparams.cpp chainparamsbase.cpp 메인넷 로 수정 테스트넷 코인 이름번호 제네시스 블록 결과 값 다시 chainparams의 메인넷을 건드리자 49번째줄 timestamp랑 ParseHex를 바꾼다 121번째 줄에 123번~124번째줄에 123 124 126~131 주석 후 2줄 추가 150에 제네시스 해쉬를 추가한다 172번 줄에 메인설정끝 ===================================== chainparamsseeds.h에 안에 배열들을 주석친다 테스트넷과 메인넷 둘다 주석쳐라 테스트넷 &#x.......

블록체인 ( BLOCK CHAIN ) 개발하기 전 알아야 하는 지식 1) [내부링크]

1) 블록체인의 영상이 담긴 글이다. 2) 블록체인을 활용한 디앱과 일반 앱의 차이점이다. 블록체인하면 떠오르는 것? 블록체인이라면 가장 떠오르는 것은 비트코인이다. 하지만 이것은 틀딱이라고 흔히 말해도 된다. 이제는 디파이시대다. 나는 블록체인하면 디파이가 먼저 떠오른다. 아마 옛날로 치면 폴더폰 하면 틀딱이듯이 블록체인도 이제는 변화가 일어난다. 자 이제 블록체인을 알아보자. 블록체인? 일단 가상화폐로 알고 있지만 화폐는 언제부터 개념이 있었을까? 바로 구석기나 신석기에 물물교환이 있는 시대부터 거래가 일어났다. 하지만 발전이 되면서 점점 물물교환에 필요한 지폐가 탄생하게 된다. 중국 송나라 교자때 처음 생겨났.......

기존 블록체인 플랫폼의 약점 [내부링크]

Scalability(확장성) TPS + Block Interval TPS (Transaction Per Second) : 초당 몇개의 거래 처리 Visa : TPS 1700 Bitcoin : TPS 7 Ethereum : TPS 15 ~ 20 Block Interval : 블록 생성 간격 Bitcion : 10분 Ethereum : 15초 ~ 20초 TPS 10,000 & Block Interval이 10분이면 사용자는 1초에 10,000개의 Transaction을 처리하는데 그 내용을 담은 블록이 최대 10분이 걸릴 수 있다는 것이다. 기존 블록체인은 왜 느린가? 블록체인은 제 아무리 사용자가 많아져도 속도가 빨라지지는 않는다. 블록체인 네트워크를 구성하는 노드는 100개의 일이 들어오면 100개의 일을 분산하는게 아니라 다 일을 처리한다. 비트코인이나 이더리움은 많은 양.......

오랜만에 쓰는 일상블로그 나도 인간이다.... 두렵다 [내부링크]

가끔 쓰는 일상 블로그 글이다. 이곳에는 내가 쓰는 글이지만 간혹 생각을 한다. 나도 모르는 부분이 많고 해나가야 할 것이 산더미다. 언제 내가 뒤쳐지거나 못하는 것이 두렵다. 항상 우물 안의 개구리에서 우물 속에 진흙탕만 만드는 것 같다. 나도 우물 밖을 나가서.... 할 수 있을까? 아래 글이 나의 두근거림의 시작이다. 아래 글은 현재 지금도 듣고 있는 나의 글이다 그런데 지금 문득 드는 생각은 여기서 아무리 노력을 하고 개발을 하는 것이 내가 취업을 할 때 표현이나 보여줄 수 있을까? 나도 누군가에게 도움을 받고 누군가에게 배움을 받고 노력을 하는 사람이다. 나도 다 알지를 못한다. 많이 겪어보는 것이다. 내가 좋아하는 글.......

Klaytn 블록체인 이해하기 [내부링크]

합의(Consensus) 알고리즘 중 어떤 것을 사용할까? Public 블록체인은 PoW(작업증명), PoS(지분증명) 등이 해당된다. Private 블록체인은 pBFT, Raft 등이 있다. BFT(비잔티움 결함 허용) BFT는 참여 노드 수를 제한하여 성능을 높일 수 있다. 하지만 합의 노드 수를 제한하면서 분산화 약화가 되며 투명성은 저하되서 블록체인의 혜택을 의미있게 사용하지 못한다. IBFT(이스탄불 비잔티움 결함 허용) 반면에 클레이튼은 BFT의 단점을 해결하여 합의알고리즘 IBFT(이스탄불 비잔티움 결함 허용)을 사용한다. 투명성을 유지하면서 엔터프라이즈 급 성능 및 안정성인 퍼블릭 블록체인을지향하면서 공개를 통한 합의 신뢰 모델을 사용한다. - 합의.......

C++ 단일 리스트 (링크드리스트) [내부링크]

링크드리스트 중 단일 리스트를 함수로 만들지 말고 구조를 만들기만 해보자. 이런식으로 헤드 쪽에 데이터가 추가될 코드로 짤 것이다. 설명은 주석으로 적어놨다. 결과

Klaytn 블록체인 암호화, 상태, 트랜잭션 [내부링크]

블록체인과 공개키 암호 - 블록체인은 암호화적 기법을 토대로 만들어진 기술이다 - Bitcoin은 네트워크 참여자 모두가 같은 '원장'을 공유함으로써 투명한 거래가 가능하다 - 원장은 어느 주소에 BTC가 있는지 기록하지만 그 주소가 누구에게 속하는지 기록하지는 않는다 - Bitcoin은 공개키암호를 사용하여 명시적인 비밀교환과정 없이 BTC의 소유권 증명을 실행한다 위를 보면 주소와 Balance가 있다. 여기서 누가 누구인지는 모른다. 그래서 전자서명을 사용하게 된다. 그래야 누가 누구에게 데이터를 보내는지 알 수 있다. 공개키암호화를 사용한 소유권 증명 - 대부분의 블록체인 주소는 공개키로부터 도출된 값이다 Bitcoin : H.......

C++ 변수 [내부링크]

변수란? 변수란 데이터를 저장하기 위해 프로그램에 의해 할당받은 메모리 공간을 말한다 정수형 변수와 실수형 변수 등으로 구분할 수 있다. 정수형 : int, short, long, long long 문자형 : char 논리형 : bool 부동소수점 : float, double, long double unsinged int 가 있는데 0 이상의 값만 나타내고 음의 방향은 없다. 즉, 마이너스가 없다는 것이다. 위는 현재 속성값의 바이트 크기이다. 한번 확인하는 정도로 보면 좋다. 우선적으로 해당 선언을 뭘로 할지 타입을 정해야한다. int로 할지 float할 지 다른 것을 할지를 선택한다. 그리고 담을 변수를 지정한다. 즉 데이터를 담을 그릇을 정해야하는 것이다. 여기서 변수의 역할은 기본적.......

C++ namespace [내부링크]

네임스페이스 변수, 함수, 구조체, 클래스 등을 서로 구분하기 위해서 이름으로 사용되는 다양한 내부 식별자를 가지고 있다. 프로그램이 복잡해지거나 여러 라이브러리가 포함될수록 충돌 할 수 있다. namespace로 하고 이름을 지정해준다. 사용법은 이름을 부르고 :: 가져와서 안에 정의한 함수를 가져온다. 그럼 민기의함수!라고 잘나온다. 네임스페이스 안에 네임스페이스를 또 지정이 가능하다. 사용법은 네임스페이스를 부르고 그안의 네임스페이스를 부르면 되는 간단구조다.

포트폴리오 [내부링크]

<백민기 포트폴리오>

C++ 함수 [내부링크]

함수는 간단한 방식으로 우선 해보자. 위와 같이 Print라는 함수를 만들었다. 단순 문장을 출력하기위한 함수다. 우선 int main() { } 위에 정의를 하는 방법이 있다. 위와 같이 한다면 프린트 함수가 잘나오는 것을 볼 수 있다. 이번에는 정의를 아래에서 해보자. 위는 // 1을 선언을 하는 것이고 // 2에 정의를 하는 것이다. 이 방법을 많이 사용하니 잘 기억하자. 이번에는 함수 오버로딩을 한번 보자. 물론 이 방법은 함수이름은 같지만 인자로 받는 값이 다르다. 즉 들어오는 개수가 다른 것이다. // 1은 인자로 2개를 받으면 실행하는 함수고 //2는 인자로 3개를 받으면 실행하는 함수다. 지금은 함수를 간단하게 사용하는 법을 알아봤다. .......

C++ enum 열거체 [내부링크]

enum 열거체는 열거체를 비교할 때 실제 값 뿐만 아니라 타입까지도 체크한다 열거체의 상숫값이 재정의되더라도 다시 컴파일할 필요가 없다 새로운 데이터형 이름으로 각 정수 값이 들어간다. 한마디로 기호 상수를 만드는 것이다. 아래를 한번 보자. 위는 간단한 열거체 방식이다. 우선적으로 // 1에 선언을 한다. 해당 값이 RED부터 0으로 인식을 한다. 즉 0 을 입력하면 RED가 해당된다. 그것을 활용해 // 2 에 스위치문을 이용해 해당기능을 이용할 수 있는 것이다. 위는 번호를 입력하면 색깔 단어를 출력하는 형태다. 조금 이해하기가 어렵다면 다음 예시를 보자. spectrum이라는 enum을 만들었다. 그러면 저 단어들은 해당 값들을 나타낸.......

C++ 백준알고리즘 터렛 [내부링크]

이 문제는 원을 그리는 것이다. 좌표가 주어지면 r1 r2는 반지름이라고 취급하면 된다. 이건 중학교 수식의 원 계산이므로 한번 해보자.

C++ 복사생성자 [내부링크]

얕은 복사와 깊은 복사가 있다. 새롭게 생성하는 변수에 다른 변수의 값을 대입하기 위해 대입연산자를 사용한다. 위와 같이 복사를 할 수 있는 기본 형태다. 얕은 복사라고 할 수 있다. 그렇다면 깊은 복사는? 조금있다가 알아보자. 복사생성자 C++에서 복사생성자란 자신과 같은 클래스 타입의 다른 객체에 대한 참조를 인수로 전달받아 참조를 가지고 자신을 초기화 하는 것이다. 새롭게 생성되는 객체는 원본 객체와 같으면서 완전한 독립성을 가지게 해준다. 복사 생성자를 이용한 대입은 깊은 복사를 통한 값의 복사이기 때문이다. 복사생성자는 아래와 같이 주로 사용된다. 1. 객체가 함수에 인수로 전달될때 2. 함수가 객체를 반환값으로.......

C++ 배열길이와 함수 배열 전달 꿀팁 [내부링크]

이거는 간단한 꿀팁이라서 올리는 글이다. 배열의 길이를 일일이 지정하고 함수의 값에 배열을 쉽게 보낼 방법은 없을까? 연구하다가 공부하면서 만든 것이다. 도움이 됬기를 바란다.

React immer [내부링크]

immer immer 는 상태를 업데이트 할때 불변성을 신경 쓰지 않으면서 업데이트를 해주면 immer가 불변성 관리를 대신 해준다. 우선 라이브러리를 설치한다. 이렇게 produce를 부를 수 있다. produce 함수를 사용할 때는 첫번째 파라미터에는 수정하고 싶은 상태, 두번째 파라미터에는 어떻게 업데이트하고 싶을지 정의하는 함수를 넣는다. 두번째 파라미터는 불변성에 신경 쓰지 않고 그냥 업데이트만 해주면 알아서 처리해준다. 우선 위와 같이 세팅을 한다. 여기서 produce를 immer에서 꺼낸다. produce의 역할은 오히려 간단하다. 원본 복사를 한뒤 값을 수정 했지만 produce는 바로 원본을 적고 수정할 값을 적으면 된다. ...원본데이터 로 복.......

React koa [내부링크]

Node.js에서 express-generator로 프로젝트를 시작하거나 직접 app.js를 구성한다. 하지만 React에도 koa라는 것이 있다. 위와 같이 index.js를 만들자. 기본적으로 node.js처럼 구성이 된다. 실행하면 localhost:4000으로 들어가면 hello 가 잘 나온다. ctx는 context의 약자다. 응답이나 요청의 정보를 ctx가 가지고 있다. 즉, ctx는 웹 요청과 응답에 관한 정보이고 이제 볼 것은 현재 처리중 이번에는 미들웨어를 사용해보자. next를 사용하는 것으로 next는 다음 미들웨어를 호출하는데 next를 호출하지 않으면 다음 미들웨어는 호출이 되지않고 종료한다. 위와 같이 미들웨어를 추가적으로 적으면 다시 node src를 한 다음에 잘나오는 것을.......

React react-router-dom [내부링크]

React에서 SPA앱을 만들때 사용되는 react-router-dom 패키지는 react-router = > 웹&앱 react-router-dom = > 웹 react-router-native = > 앱 이렇게 3가지가 있다. 내가 할 것은 웹이므로 웹을 설치해야한다. react-router-dom 위와 같이 yarn으로 설치를 합니다. react-router-dom 안에는 // BrowserRouter BrowserRouter : history API를 사용해 URL과 UI를 동기화하는 라우터다. 제일 큰 이유는 HTML5 history API를 사용해서 새로고침 하지 않아도 주소를 변경이 가능하며 페이지를 전환이 가능하고 현재 주소의 관련된 정보를 props로 조회, 사용할 수 있게 해준다. // Link Link : 'a'태그와 매우.......

React News [내부링크]

이번에는 뉴스를 만들어보자. 당연히 BrowserRouter을 이용해 새로고침을 하지않고 필요한 컴포넌트만 전환하게 하자. 우선 완성본을 보면 뉴스 리스트가 전체보기로 모든 항목이 다나온다. 그리고 다른 곳을 클릭하면 대기중.... 이 나오면서 로딩이 되면서 이렇게 비즈니스와 관련된 기사들이 나온다. 그럼 기본 세팅부터 먼저 하자. 이제 BrowserRouter를 위한 react-router-dom을 설치하자. 위와 같이 말했던대로 BrowserRouter를 불러와서 return에 <App />을 씌워주자. 먼저 구조를 작성하려한다. app.js가 index다음으로 최상위에 있고 하위순으로 보면 NewsItem -> NewsList == Categories -> NewsPage =&#x3.......

React color [내부링크]

이번에는 color를 클릭할시 색상이 변경되는 것을 해보자. 왼쪽으로 클릭하면 색상이 큰 상자가 바뀐다. 우클릭하면 아래 작은 상자가 바뀐다. 한번 구현해보자. 구성은 아래와 같다. SelectColors를 만들자. 각 색을 선택하는 항목들이 나오는 것이다. SelectColors SelectColors 에서 createContext를 사용한다. context는 React 컴포넌트 트리안에서 전역적으로 데이터를 공유하는 것을 고안한 것이다. 즉, 중간에 있는 엘리먼트들에게 props를 넘겨주지 않아도 된다. 이런 식으로 Provider로 다른 파일에서 context를 구독하는 파일에 변화를 알리는 역할을 한다. Provider 컴포넌트 하위에서는 context를 구독하는 모든 컴포넌트는 Provider.......

React Redux [내부링크]

React react는 컴포넌트 자신이 개별적으로 상태를 관리한다. 즉, 트리 구조로 부모 컴포넌트가 자식 컴포넌트까지 내려보내는 것이다. 소규모나 적당한 규모는 리액트를 사용해도 된다. 즉, 부모가 상태를 관리해도 트래픽이나 속도는 상관이 없다. 하지만 컴포넌트가 많거나 큰 규모는 안된다. 만약 상태가 변하면 부모와 자식간에 사이에 100개 컴포넌트가 있으면 커진다. 그래서 나온 것이 리덕스이다. Redux 리덕스는 라이브러리다. 가장 많이 사용하는 리액트 상태 관리 라이브러리다. 즉, 관련 로직을 다른 파일로 분리시켜 다른 곳에서 관리하는 것이다. 컴포넌트끼리 상태를 공유해야할 때 여러 컴포넌트를 안 거치고 손쉽게 전달이 되.......

C++ 시작에 앞서 메모리구조 [내부링크]

프로그램을 하기전에 메모리구조 즉, 메모리 영역을 알아야한다. 1. OS에 프로그램을 실행요청을 한다. 2. 그 프로그램의 정보를 읽어 메모리에 로드를 해준다. 3. 프로그램의 코드를 읽고 메모리를 관리하며 해당 명령어들을 실행한다. 4.동적메모리 힙이 할당되면 위쪽에서 아래쪽으로 데이터를 사용한다. 5.스택메모리 스택이 할당되면 아래에서 위쪽으로 데이터를 사용한다. 우선적으로 이렇게 구조가 되어있다. 우리가 프로그램을 실행하면 우선적으로 보조기억장치에 HDD나 SSD에서 읽어온다. 왜냐하면 주기억장치(RAM)은 휘발성이라 저장이 안되는 곳이다. 저장은 보조기억장치가 하기에 그쪽에서 데이터를 읽어야 한다. 프로그램을 읽고.......

C++ 시작 [내부링크]

C++을 배워보자. 블록체인을 배우기에 앞서 배우는 C++이다. C++이란? C++은 기존의 C언어에 여러 가지 기능을 추가하여 만든 프로그래밍 언어다. C언어의 절차 지향적 언어의 특징을 가져왔다. 또한 클래스를 사용하는 객체 지향적 언어의 특징을 가져왔다. C언어를 기초로 삼아 만든 언어이므로 C 표준 라이브러리를 그대로 사용한다. 문법, 연산자, 타입, 제어문, 포인터 등을 C에서 가져왔기에 C언어를 알고있으면 더 좋다. 1. C++은 절차 지향적이며 구조적 프로그래밍 언어다. 2. C++은 객체 지향 프로그래밍 언어다. 3. C++은 일반화 프로그래밍 언어다. 1) 소스파일 작성 우선적으로 할 것은 확장자가 .cpp 파일을 만드는 것이다. 소스파.......

C++ 입력 출력 [내부링크]

기본에 앞서 먼저 세팅을 해보자. 우선적으로 위와 같이 기본형태를 나타낸다. void를 이용해서 출력도 된다. 일단 기본 세팅부터 자세히 들여다보자. 선행처리문? #include는 선행처리문이라고 한다. 선행처리문이란? 외부에 선언된 함수나 상수 등을 사용하기 위해서 헤더파일에 적는다. iostream은 말그래도 input과 output이 있는 것이라고 이해를 하면된다. c언어는 #include <stdio.h>를 사용하는 것으로 알고 있다. c++은 위와 같이 선행처리문을 사용하면 된다. 위의 내용은 문자열 타입을 지정하는 것이다. 만약 17버전의 비쥬얼 스튜디오를 사용하면 위를 명시해야 하지만 19버전 이상을 사용한다면 명시를 하지 않아도 된다. 위.......

React 삭제 추가 만들기 [내부링크]

간단한 삭제 추가 useState를 사용하여 만드는 것을 해보자. cmd창에 간단한 리액트 프로그램을 만들자 폴더를 만들었으면 위와 같이 간단한 Test파일을 연결하기 위해 App.js 에 세팅을 해놨다. 자식 컴포넌트에게 타이틀 제목을 주는 것도 만들어보았다. Test.js로 와서 우선적으로 rafce로 간단한 틀을 만들자. 물론 extension 확장 팩에 react가 없으면 위와 같은 rafce같은 명령어는 듣지 않는다. 우선적으로 부모 컴포넌트에서 보낸 title을 받아오자. props.title로 쓰기 번거로워서 나는 미리 꺼내놨다. 우선적으로 기본 세팅 데이터를 만들었다. useState를 이용해 기본 디폴트 값의 menu 데이터를 만들어놨다. 그리고는 이제 menu데이.......

React 랜덤 색상 만들기 [내부링크]

이번에는 간단한 색상 만들기를 해보자. 단순하면서도 스타일을 적용시키는 재미(?)가 있다. 우선적으로 16진수로 랜덤값을 받아와야한다. 그 값을 만들기 위해서는 위와같이 하면 된다. 랜덤값을 통해 색상코드를 만들고 앞에 #을 붙여주면 우리가 css를 적용할때 사용하는 색상 값이다. 그 값을 우선 기본적으로 적용하기 위해서는 클래스나 함수중에 나는 우선적으로 함수로 구현하였다. useState로 간단하게 구현이 가능하며 대신 클릭 이벤트를 할때 그값을 받아오게만 설정하면 된다. 위의 삭제 추가 만들기 버튼을 통해 useState를 잘 사용할 수 있다면 이번 색상은 색상코드를 만들기만 하면 되는 것이라 어렵지는 않았다.

React Hooks 알아보기 [내부링크]

Hooks는 함수형 컴포넌트에서도 클래스에 사용하던 상태 관리를 사용할 수 있게 해주는 것이다. 렌더링 전이나 렌더링 후에 설정하는 작업들을 다양하게 함수형 컴포넌트로 실행한다. 1. useState useState는 기본적인 Hook으로서 함수형 컴포넌트에서 가변적인 상태를 지니게 해준다. 함수형 상태를 관리해야 한다면 이 useState를 사용해야한다. 간단하게 숫자형 카운터를 예로 들 수 있다. 위와 같이 import에 { useState } 를 불러오고 사용해야 한다. 이 부분이 배열 비구조화 할당 문법이다. 이 부분의 장점은 여러개가 있더라도 useState를 여러번 사용을 하면 된다. 굳이 클래스를 만들지 않아도 간편하게 사용할 수 있기 때문이다. 이렇.......

React scss [내부링크]

scss 우리가 쓰는 css를 더 간편하게 사용하는 것이다. scss라고 하는데 일단 css 보다는 간편하게 틀형식으로 구별지어서 스타일을 꾸밀 수 있어 가독성에도 좋다. 우선 위와같이 알록달록 네모 박스를 만들 것이다. scss를 사용하기 위해서는 를 먼저 설치를 해줘야한다. 색깔을 재사용 간단하게 변수로 지정해 담아놓고 여러번 사용을 할 수가 있다. 그리고 mixin으로 함수처럼 function과 같은 것이다. 함수로 활용을하면 좋을 것 같다. 이런식으로 태그의 안에는 scss에서 css 와 다른 점은 태그 안의 태그는 이렇게 감싸줘서 그안에 설정을 해야한다. 한마디로 가독성은 좋고 찾기도 편할 것이다. &현재 선택자로 &.클래스이름을 하.......

React Todo 할일 목록 [내부링크]

part07 이라는 리액트 프로젝트 파일을 만든다. 기본 app.js 세팅을 해놓는다. 우선적으로 Todo는 1) 첫번째 컴포넌트 TodoTemplate 이름이 명시하는대로 템플릿의 역할은 한다. 즉, 하나의 틀이라고 보면 된다. 이 탬플릿에 추가하는 거 할일 목록 등이 나오기 위한 모양을 만드는 곳이다. 우선적으로 props를 받아오는데 바로 정제를 해도 된다. { } 통해 children 즉, 태그 사이의 문구를 가져올 수 있다. 위와 같이 작성을 하고 를 설치한뒤 css를 꾸며보자. scss는 자식태그를 안에 넣을 수 있어서 가독성이 좋다. app.js에 위와 같이 수정을 하고 index.css를 다지우고 위와 같이 정리한다. 그러면 위와 같이 나오는 것을 확인 할 수 있다.......

세 수 중 최솟값 [내부링크]

정렬을 사용하지 말라고 해서 조건문으로 새로운 변수에 담아 비교하는 수밖에 없다. 답은 위와 같이 할 수있다.

삼각형판별하기 [내부링크]

문제의 핵심은 우선적으로 삼각형의 조건이다. 짧은 2개의 합이 긴 1개의 길이보다 커야한다. 같거나 작으면 만들수가 없다. 그래서 이번 알고리즘을 풀때는 큰 길이를 찾아서 구하는데 작은 길이 두개를 구하는 것보다 큰 길이를 하나 찾아서 모든 선의 길이를 더해 큰 길이를 빼면 작은 두 길이를 빠르게 찾을 수 있다. 혹은 위와 같이 answer를 리턴 하지 않아도 된다. 위와 같이 그냥 string으로 반환을 해도 된다.

연필 개수 [내부링크]

이번에는 Math.ceil로 간편하게 풀 수 있다. ceil은 나눠서 나머지가 잇으면 올림을 해버리는 함수다. 즉 연필을 12자루에 하나씩이니 12개를 나눠서 나머지가 있으면 한 다스를 더 필요하니 올림을 해야한다. Math.floor는 소수점을 아예 없애버리는 내림이다. Math.round는 반올림을 하는 함수다. Math.ceil은 올림을 해버리는 함수다. 이런식으로 유동적이게 쓰면 좋다.

입력받은 값까지 합하기 [내부링크]

이번에는 입력받은 n까지 포문을 돌리면 된다. 이번 문제는 간단하고 쉬운 문제다.

클레이 수익 인증 [내부링크]

별 다른 이유는 없다 블록체인에 흥미가 있고 그거에 대해 공부하면서 투자도 하고 각종 디파이, 스왑, 기술 등을 보면서 내가 원하는 투자도 하면서 공부해나갔다. 투자한지 8개월에서 1년 기다렸다. 초기 투자 자본은 400만원이다. 하지만 막상 이제와서 팔고보니 5천7백만원이 되어있었다 하지만 투자는 배울때 내돈이 아니라고 하고 투자하는 것이다. 지금은 저 5천만원이 5천원으로 생각하고 앞으로도 투자하면서 배울것이다. 이돈은 계속 공부하는데 쓰일것이다.

배열의 가장 작은 수 가져오기 [내부링크]

배열의 가장 작은것을 찾아내기위해 가장 큰 수를 넣는 Number.MAX_SAFE_INTEGER를 먼저 넣거나 배열의 처음 것을 먼저 넣어서 해결을 하면 된다.

Node.js 로그인 회원가입 구현(session, mysql) [내부링크]

node.js를 배우면서 많은 어려움을 느낀적이 있다. 그럴때마다 새로 엎어서 새로한다. 그러면서 이번에 과제로 나온 로그인과 회원가입을 할 수 있는 사이트를 만들어라고 하였다. 우선 해보자! (이해하기가 힘들어서 만들고 지우고 3일은 삽질했습니다!) 포기하지 않는 것이 중요하다. 위와 같이 우선적으로 사용할 기본 세팅을 한다. app.js 여기서 우선 처음 세팅할 값은 세션을 사용하기 위한 미들웨어들을 설정하는 것이다. 1) express를 사용하여 로그인 회원가입을 만들 것이라서 express를 사용했다. 2) mysql 데이터 베이스를 연결하여 설정했다. 비밀번호는 본인이 mysql을 설정한 비밀번호를 사용해라! 3) 정적 파일 즉, 내가 사용할.......

Javascript 문제) 공백, 대문자, 반지름 [내부링크]

문제) 입력을 공백 기준으로 나눠서 합계의 평균을 구하라. 소수점은 제외하라. 답) 문제) 입력을 공백 기준으로 나눠서 a와 b 기준으로 주어지면 a의 b승을 구하는 프로그램을 짜라. 답) 문제) 입력받는 문자가 대문자가 되도록 바꿔라. 답) 문제) 원의 넓이를 구하는 함수를 만들어보자. 반지름 * 반지름 * 3.14로 구할 수 있다. 답)

Javascript 문제)객체 만들기, 2-gram [내부링크]

문제) 아래와 같이 공백기준으로 입력받아 객체를 만드시오. 답) 문제) 아래와 같이 2개의 연속된 요소를 출력하는 2-gram을 만들어보자. 답)

baekjoon 14681번) if문 사분면 고르기 [내부링크]

원래 node.js로 구성해서 쳐야하지만 나는 아직 기초로 js로 할것이다. 알고리즘에서 javascript는 한계가 있다. node.js로 쳐야하지만 문제는 풀 수 있으니 js로 최대한 구현해보자! if문이라서 if와 else if를 쓰면 무난한 문제다.

Node.js project 기획 - 비상장 주식 홈페이지 제작 기획 [내부링크]

이번 프로젝트는 Node.js 와 MySQL로 하는 프로젝트다. 개발일정은 03/08 ~ 03/22 동안 진행이 될 예정이다. Node.js로 구현하면서 뭔가 내가 하고싶었던 주식거래소나 블록체인 거래소보다 아직은 그것에 근접한 비상장 주식 거래소를 하려고 한다. The King Of Ant로 개미도 왕이 될 수 있는 것이다. 그것이 목표로 정한 홈페이지다. 일단 클론과 유사하게 만들라고 한다. 위의 사이트가 내가 클론을 하면서 나만의 형식으로 꾸미려고 한다. 기획 파일을 진행하려한다. 핵심적인 기능이 중요하므로 기능에는 자세히 적었다.

Node.js - Single Project_02 TKOA [내부링크]

<카페24 홈페이지> <깃허브> 프로필 : 백민기 / 26세 사용기술 : HTML / CSS / Javascript / Node.js / HeidiSQL 제작기간 : 기획 1일 / 제작 14일 2020/03/08 ~ 2020/03/22 개발도구 : Microsoft Visual Studio Code / HeidiSQL / Express-generator 기획의도 : 비상장 주식 거래소 사이트 제작의도 : Node.js를 활용한 백엔드 서버 구축 구현한 기능 1)회원가입 중복방지, 암호화, 로그인시 세션관리 2)모달 상자 3)socket.io를 활용한 대화창 4)종목토론 게시판 작성, 삭제 5)cheerio_httpcli를 활용한 실시간 크롤링 뉴스 6)회사 관련 비상장 주식 응모 7)보유포인트와 응모 잔액 계산 후 처리 8)응모 완료 후 마이페이지 기록 9.......

React란? [내부링크]

React란? 자바스크립트 라이브러리의 하나로서 사용자 인터페이스를 만들기 위해 사용된다. 페이스북과 개별 개발자 및 기업들 공동체에 의해 유지보수 된다. 기본적으로 화면 출력 속도를 높이고 코드의 복잡성을 줄였다. 제이쿼리나 핸들바라는 라이브러리는 간결하게 화면을 구성하지만 전체 화면이 일부만 수정되어도 다시 화면을 그린다. 하지만 리액트는 일부만 다시 그리는 것이다. 주로 HTML, JS를 알면 이해하기가 쉬울 것이다. 또한 CSS도 바로 적용이되니 한결 편안하다. 프론트엔드 라이브러리에는 React, Angular, Vue가 있다. 하지만 React는 '컴포넌트'라는 단어에 집중되어 있는 라이브러리다. 데이터를 넣으면 유저 인.......

React 기초 [내부링크]

우선적으로 node.js 및 yarn을 설치되었다고 생각하고 진행을 하겠다. 아래와 같이 생성할 곳에 react를 만든다. 위와 같이 완성된다. 이제 그 파일로 들어가 아래와 같이 입력하면 브라우저가 뜨면서 리액트가 뜰 것이다. 아래와 같이 소스파일들이 만들어져있다. 위와 같이 src에 소스코드들이 들어 있다. 그곳에서 app.js 를 키고 위와 같이 입력하면 우선적으로 Node.js 처럼 기본세팅이 되어 있고 (라우팅으로) 4번부터 App으로 만들면 된다. 여기서 중요한 점은 return을 해줘야 한다. 그 안에 jsx파일을 만드는데 바로 html이나 css등을 적용할 수 잇는 프론트 영역이다. 그리고 여기서 react의 중요한 점은 input이나 br 태그 등은 뒤에.......

Simple Array Sum(Javascript) [내부링크]

핵심 정답은 reduce 함수를 사용하는 것이다.

React 컴포넌트 [내부링크]

컴포넌트란? 리액트의 꽃이라 불리는 컴포넌트는 리액트에서 가장 중요한 요소이다. 리액트로 작성된 화면은 컴포넌트로만 구성되어있다. 즉, 레고 블록처럼 여러개를 쌓아서 만드는 것인데 독립적으로 사용하거나 재사용이 가능하다. 기본적으로 props를 가지고 상속하거나 state를 이용해 수정할 수 있는 2가지가 있다. props는 컴포넌트의 mounting이나 updating 프로세스 시점에 값이 할당 될 뿐 컴포넌트 내부에서 값을 변경할 수 없다. 변경되어야 할 것들은 state를 사용해야 한다. 왜 그럴까? 컴포넌트 간에 무조건 props를 통해서만 데이터를 주고받고 데이터가 변경되지 말아야 할 것들을 사용한다. state는 값이 입력하거나 수정될때.......

React useState [내부링크]

이번에는 state를 알아보자. 앞서 배운 props랑은 조금 다르다. props는 값을 받아오면 그 값을 바꾸지 않고 사용하는데 state는 직접 수정도 가능하다. 추가/삭제/수정 등 let 개념과 같다고 보면 된다. state는 2가지 종류가 있다. 클래스형 컴포넌트가 가지고 있는 state, 함수형 컴포넌트가 가지고 있는 useState가 있다. 위와 같이 적용을 할 수가 있다. state를 위해선 2가지 방법이 있지만 한가지부터 해보면 상속을 위와같이 super(props)를 한다음에 state로 선언하는데 this.state로 해야된다. 선언을 한뒤에 우선적으로 값을 클릭할때마다 증가시켜보자. state값을 바꾸긴 위해서는 setState를 하면 state값이 바뀌는 것을 적용할 수.......

Node.js http와 fs활용 [내부링크]

이번에는 활용을 해서 http 서버를 여는데 fs로 파일을 가져와보자. 위와 같이 파일 html을 가져오는 것은 fs모듈을 사용하면 된다. 그리고 오류를 잡기위해서 try{ } catch( ) { }를 사용하였다. 파일이 잘 가져와지는 것을 볼 수 있다. 이렇게 간단하게 파일을 가져올 수 있고 요청하는 데이터를 이제 원하는 걸로 제공하는 REST와 라우팅에서 배울 것이다.

Node.js express [내부링크]

익스프레스 웹 서버를 만들어보자. 우선 간단하게 기본 절차가 있다. 위와 같이 순서있게 설치를 해야한다. npm init로 package.json을 실행할 것인데 npm init를 실행하면 package name : 프로젝트이름을 입력한다 version : 프로젝트 버전을 입력 엔터 entry point : 해당 js 파일(필자는 app.js) 엔터 엔터 엔터 엔터 엔터 yes하면 npm init의 설치가 끝난다. 그러면 package.json파일이 생성 되는데 위와같이 "start" : "nodemon app"으로 고치면 된다. 그리고 main에 보면 app.js 가 있는데 그전에 위에 설치할 파일을 미리 설치하자. 이 2개를 후딱 설치하고 app.js파일을 만든다. express는 불러와야되서 위와 같이 1.......

Node.js 미들웨어 [내부링크]

미들웨어란? 미들웨어는 운영체제와 해당 운영 체제에서 실행되는 응용프로그램 사이에 존재하는 소프트웨어이고 공통 서비스 및 기능을 애플리케이션에 제공하는 소프트웨어다. 데이터 관리, 애플리케이션 서비스, 메시징, 인증 및 API관리는 주로 미들웨어를 통해 처리된다. 미들웨어는 개발자들이 애플리케이션을 보다 효율적으로 구축할 수 있도록 지원하며 애플리케이션, 데이터 및 사용자 사이를 연결하는 요소처럼 작동한다. 숨겨진 변환 계층으로 기능하는 미들웨어는 분산 응용 프로그램의 통신 및 데이터 관리를 가능하게 한다. 미들웨어를 사용하면 사용자가 웹 브라우저에서 양식을 제출하거나 웹 서버가 사용자의 프로필을 기반으로.......

Node.js router [내부링크]

라우터는 말그대로 여러개를 만들어주는 것이다. 네트워크 공부한 사람의 라우터가 아니다. 단지 파일하나가 너무 길고 관리하기가 힘들어서 분산해서 적는것이다. 우선 간단하게 만들어보자. 위와 같이 잘되는 것을 볼 수 있다. index자체는 생략이 가능하다.

Node.js 이벤트 [내부링크]

이벤트 처리는 말그대로 이벤트 행동을 하는 것이다.on('data', 콜백) 또는 on('end', 콜백)을 사용한다.data 라는 이벤트와 end 이벤트가 발생한다.<이벤트 종류>

Node.js http [내부링크]

서버는 클라이언트가 요청을 하면 서버라는 것이 존재한다.클라이언트에서 서버로 요청을 보내고서버에서는 요청의 내용을 읽고 처리한 뒤 클라이언트에응답을 보낸다.이벤트 리스너를 사용해 어떤 요청이 왔을때 그에 맞게 행동을하는 것이다.createServer의 콜백 부분을 보면 req, res 매개변수가 있다.설명은 주석으로 적어놨다.이런식으로 포트를 열면 이제 콘솔창에 node 해당 파일을 치면이런식으로 계속 실행이 되어있는다.그러면 브라우저를 키고 위와 같이 들어가면해당 파일들이 서버가 응답하여 주는 것을 볼 수 있다.2개도 동시에 열 수 있다.동시에 잘 열리는 것을 확인할 수 있다.이번에는 다른방법으로 열어보자.위와 같이.......

Node.js url, searchParams, querystring [내부링크]

url이란?인터넷 주소를 쉽게 조작하도록 도와주는 모듈이다.url처리에는 주로 WHATWG(웹 표준을 정하는 단체 이름)의 방식의url과 노드에서 사용하던 방식의 url 2개를 사용한다.우선 url을 사용해보자.첫번째 방식 - whatwg에서 정한 표준 방식1)위와 같은 형식으로 나온다.즉 구별하기 쉽게 나오는 것이다.두번째 방식 - 일반적인 노드에서 사용하는 방식2)위의 두 방식을 사용해도 무관하지만 꼭 노드의 일방적인 방식을 사용해야될 때가 있다. host 부분 없이 pathname부분만 오는 주소인 경우whatwg방식은 사용할 수 없다.searchParams란?하지만 whatwg에는search부분을 searchParams라는 특수한 객체로 반환하므로 유용하게.......

Node.js 필수적인 js 함수들 [내부링크]

Node.js 를 하면서함수를 많이 사용하게 된다.그래서 복습차원에서 다시 보게 된다.복습차원에서 다시 해보자!아주 간단하게만 보고 필요한 함수는 자세히 보자.1) 일반적인 출력하는 함수2) 값이 들어오는 함수3) 함수 선언 다른 방법 (익명 함수 표현식)4) argument는 입력 받는 값이 많거나 길이를 모를때5) 디폴트 매개변수6-1) 화살표 함수(arrow)6-2)입력받는 화살표 함수(arrow)7)콜백함수8) 콜백지옥

Klay는 활용처다! [내부링크]

드디어 어진 1년을 기다려가는 클레이02월 17일 비상장주식으로 클레이로 관리하는 것으로 인해1000원의 뚫기 어려운 베를린 장벽처럼뚫고 상승중이다.내가 산 곳은 260원 가족들도 260원 440원 660원에 샀다.980원을 찍고 내려와서 500원에도 담담했지만가족들은 불안해서 내가 전부 관리를 해서그대로 유지하고 있다.하지만 지금 오른다고 파는 것은 아니다 만원을 보고 있기에그게 언제 걸리든 나는 기다릴 것이다.카카오의 주식을 못사서 미련을 가지는 것보다카카오의 블록체인을 사서 후회를 하는 것이 좋지 미련은원망만 남는다.현재 수익률은 계산하면 알겠지만 어마무시하다.물론 투자한 나는 작은돈이라 크지가 않다.가족돈은 크.......

Node.js crypto 단방향암호화, pbkdf2 [내부링크]

crypto란?다양한 방식의 암호화를 도와주는 모듈이다.비밀번호 같은 보안적인 측면이나 공개되서는안되는 것들을 암호화 해야한다.암호화에는 단방향 암호화, 양방향 암호화가 있다.단방향 암호화?고객의 비밀번호를 암호화해서 데이터베이스에 저장한다.로그인 할때 입력한 비밀번호를 암호화 알고리즘으로 암호화 한 후비교하는 것이다. 주로 hash기법을 사용한다.createHash(알고리즘)- 사용할 hash 알고리즘을 적는다. md5, sha1, sha256, sha512등이가능하지만 현재 다 해커들에게 뚫리고 현재로써는 sha512가 안전하다.update(문자열)- 변환할 문자열을 넣는다.digest(인코딩)- 인코딩할 알고리즘을 넣는다. base64, hex, latin1.......

Node.js util [내부링크]

util?각종 편의 기능을 모아둔 모듈이다.API가 추가되고 있으며 가끔 deprecated가 되어 사라지는 경우가 있다.deprecated는 중요도가 떨어져 더 이상 사용되지 않고 앞으로는 사라지게될 것이라는 뜻으로 기능을 제거하지는 않지만없앨 예정이니 사용하지말라고 알려주는 것이다.util.deprecate- 함수가 deprecated 처리되었음을 알린다.첫번째 인수로 넣은 함수를 사용했을때 경고 메시지가 출력된다.두번째 인수로 경고 메시지 내용을 넣으면 된다.util.promisify- 콜백 패턴을 프로미스 패턴으로 바꾼다. 바꿀 함수를 인수로 제공하면 된다.async / await 패턴까지 사용할 수 있어 좋다.

Node.js 멀티스레드 [내부링크]

멀티스레드란?노드에서 멀티 스레드 방식으로 작업하는 방법이다.멀티스레드란 하나의 프로세스를 다수의 실행 단위로구분하여 자원을 공유하고 자원의 생성과 관리의 중복을최소화하여 수행능력을 향상시키는 것을 멀티쓰레딩이라고 한다.하나의 프로그램에 동시에 여러개의 일을 수행 할 수 있도록 해주는 것이다.사용하는 이유는?프로세스를 이용하여 동시에 처리하던 일을 쓰레드로 구현할 경우 메모리공간과 시스템 자원소모가 줄어들게 된다.쓰레드 간의 통신이 필요한 경우에도 별도의 자원을 이용하는 것이 아니라전역 변수의 공간 또는 동적으로 할당된 공간의 힙(Heap) 영역을이용하여 데이터를 주고 받을 수 있다.하지만 싱글스.......

Node.js fs [내부링크]

fs란?파일 시스템 접근하기 위한 것으로fs 모듈은 파일 시스템에 접근하는 모듈이라고 할 수 있다.파일을 생성하거나 삭제하고 읽거나 쓸 수 있다.폴더도 만들거나 지울 수 있다.<파일 읽기>위와 같이 readFile은 데이터를 buffer 형식으로 제공된다.버퍼를 메모리의 데이터라고 생각하면 된다.그래서 사람이 읽을 수 있는 글로 표현하기 위해서는 toString으로 적어야 한다.하지만 실무에서는 위와 같이 콜백 형식의 모듈이므로 불편해서프로미스 형식으로 바꿔주는 방법을 사용한다.promise로 만든 형식이다. 결과는 동일하다.그럼 promise로 파일 쓰기도 만들어보자.<파일 쓰기>

Node.js 동기 비동기 메서드 [내부링크]

동기(sync) 비동기(async)동기(synchronous)요청과 그 결과가 동시에 일어난다. 하지만요청 처리 속도에 따라 응답을 바로 받을 수 있고 기다려야 할 수도 있다.프로그램은 응답이 완료 될때가지 프로그램이 정지되서 응답을 받고다시 작동을 한다.비동기(asynchronous)요청한 결과에 대한 응답을 바로 받지않아도 되고 받아도 된다.즉, 요청을 보내서 기다리지 않고 프로그램이 할 일을 하고 있다가응답을 받으면 다시 그걸 처리해서 좋다.그래서 속도 측면에서는 동기보다 비동기가 처리가 빠르다.<비동기 메서드>위와 같이 비동기메서드로 하면 순서가 1번 데이터, 2번 데이터, 3번 데이터순으로 받지 않고 계속 바뀔 것이다.위와 같.......

Node.js promise, async, await [내부링크]

Node를 사용하면서함수를 많이 사용한다.그리고 promise를 계속 사용한다고 말할 수 있다.위의 내가 정리된 내용에 이어서작성을 하겠다.promise함수위와 같이 함수다.일단 선언은 간단하게위와 같이 선언을 하는데 resolve와 reject가 있다.물론 다르게 변수를 해도 상관은 없다.대신 resolve는 fulfilled(이행)상태가 되는 것이고rejected(거부)상태가 되는 것이다.즉, 실행을 하고 싶은 것은 resolve로 반환하고에러나 막는 것은 reject로 하라는 것이다.위와 같이 실행을 하면 된다.이번에는 만든 것을 실행해 보자.위와 같이 작성을 하면resolve( )를 하였기에then에 실행이 된다.반면 reject( )를 하면 catch가 실행이 된다.이렇.......

Node.js 스레드풀 [내부링크]

스레드풀이란?fs 모듈 등이 실행되면 백그라운드에서 실행이 되는데 여기서여러번 실행해도 동시에 백그라운드에서 처리되는 곳이스레드풀이다.스레드는 컴퓨터마다 다른데 최대 4개만 돌아간다. 그래서 4개를 먼저작업하고 다른 4개를 작업한다.1~8까지 있으면 1~4까지 그룹으로 작업하고 5!8까지 그룹으로 작업한다.위와 같이 준비해놓고이렇게 백그라운드에 작업할 것을 8개 만들어놓는다.그리고 실행을 하면위와 같이 나오는데 순서는 뒤죽박죽으로 나온다.하지만 1~4까지는 먼저나오고 5~8까지는 뒤에 나온다.작업도 먼저한뒤 5~8이 나중에 작업을 한다.작업공간이 4개만 있다고 보면된다.물론 컴퓨터마다 다르니 설정을 어떻게 하느.......

Node.js console, 시간함수 [내부링크]

Node.js도 자바스크립트이다.그래서 Node도 마찬가지로 그대로 사용하면 된다.위와 같이 그냥 js이다. 그냥 js!!위와 같이 console에는 많은 기능들이 있다.table이 되는 것을 보고 놀랬다. 물론 지정해서 정렬로 해줘야한다는번거로움이 있지만!Node에서는 시간함수를 많이쓴다.아래를 한번 보자.setTimeout(콜백, 밀리초)setInterval(콜백, 밀리초)setImmediate(콜백)이 있다. Timeout과 Interval은 정지하기위해서는clearTimeout과clearInterval과clearImmediate를 사용해야한다.위와 같이 3개만 나온다.왜냐하면 정지하는 것도 넣었기에 이렇게만 나오는 것이다.하지만 setImmediate는 바로 실행 되기에어디에 적든 제일 먼저나온다........

Node.js process [내부링크]

프로세스란?process는 객체라고 하며 현재 실행되고 있는 노드 프로세스의정보를 담고 잇다. 안에는 다양한 속성이 있고설치한 노드 버전에 따라 다 다르게 나온다.<process 종류>위와 같이 종류가 많다.한번씩 console.log()로 실행해보는 것을 추천한다.대략적인 정보를 우측에다 결과로 표시해놨다.여기서 눈여겨 볼 것은 nextTick(콜백)이다.setTimeout과 setImmediate보다 먼저 실행된다.

Node.js OS [내부링크]

OS 모듈?웹 브라우저에 사용되는 자바스크립트는 운영체제의 정보를가져올 수 가 없지만 노드는 os 모듈에 정보가 담겨 있어정보를 가져올 수 있다.운영체제의 정보가 담긴 것을 말한다.<os 종류>os는 require로 가져와야 한다.그러고 담긴 변수를 사용해 내장함수들을 사용할 수 있다.

Node.js path [내부링크]

path란?폴더와 파일의 경로를 쉽게 우리가 다룰 수 있도록 도와주는 모듈이다.운영체제 별로 경로 구분자가 다르기에 필요한 것이다.솔직히 개인적인 의견으로 앞에 os랑 process보다도 잊으면안된다고 생각한다.경로라는 것이 컴퓨터에서는 정말 중요하기에 하는 소리다.path를 들어가기 전 경로를 다뤄보자!하지만 여기서 제일 중요한 것은절대경로와 상대경로이다.우리는 흔히 상대경로를 많이써서방심을 많이한다.반면에 정말 트러블 슈팅을 많이하거나오류를 싫어하는 사람은 조심성을 위해 절대경로를 사용한다.절대경로 vs 상대경로절대경로는 절대적이라고 생각하면 쉽다.항상 우리는 c드라이브 위에 os(윈도우)가 깔리고윈.......

포트폴리오 메뉴바 만들기 [내부링크]

포트폴리오 메뉴를 제작하기위해 생각을 했다.사람답게만 만들자....ㅋㅋㅋㅋ그래서 색상은 밝고 산뜻한 아쿠아로 선택을 했고이제 시작인 것이다.

Javascript 트리 [내부링크]

트리란?계층적인 관계다.윈도우나 리눅스의디렉토리 관계랑 비슷하다.우선 그림으로 보면 관계가 이해가 될 것이다.위와 같이 트리 구조형태인 것을 알 수 있다.위의 트리구조에 순회방식에는3가지 방법이 있다.진위 순회(preOrder)- 진위 순회는 root - 왼쪽 자식 - 오른쪽 자식 순으로 본다.즉 위 그림에서 보면0 - 1 - 3 -7 - 8 - 4 - 9 - 10 - 2 - 5 - 11 - 6중위 순회(inOrder)- 중위 순회는 왼쪽자식 - root - 오른쪽 자식 순으로 본다.7 - 3 - 8 - 1 - 9 - 4 - 10 - 0 - 11 - 5 - 2 - 6후위 순회(postOrder)- 후위 순회는 왼쪽자식 - 오른쪽자식 - root 순으로 본다.7 - 8 - 3 - 9 -10 - 4 - 1 - 11 - 5 - 6 - 2 - 0위의 세가지.......

웹개발 11Day Project - 메인페이지 데이터베이스 활용 및 DB사진 업로드 [내부링크]

우선적으로 고객센터에 내용들을 수정하였다...... 디자인은 도저히 나의 영역이 아닌갑다.......이건 뭐 그냥.... 양식을 만든거다....데이터베이스는 잘 작동하니점수를 매기면 디자인 0 점 기능 100점을 주겠다자유게시판에 검색 기능도 무난하게 되었다 ㅋㅋㅋ 게시판 오른쪽에 작은검색창이 검색기능을 제목, 닉네임, 글번호를 조회할 수 있게 해주었다.이부분은 글의 내용을 보는 것인데 css를 대략 만지면서 틀만건들이고 있다.... 조회수를 보면 새로고침의 흔적이다.ㅋㅋㅋㅋ메인페이지에 글을 가져와서 그 본문내용을 링크거는while문과 경로를 디비로 적용하였다.위는 내용이 안보이는 것은 테스트한다고 막 엔터눌러서급히 만든 게시.......

웹개발 12Day Project - 사진게시판 오류 체크 및 메인 검색기능구현 [내부링크]

이제 거의 포트폴리오가 끝나간다.하지만 아직 해야할 일이 많다.메인페이지에 사진게시판을 끌어왔다.하지만 디자인 부분에서 먼가 내용을 작게 쓸수 밖에없는 점을 고려해길게 길게 게시판의 자리를 크게 해주려고 한다.(이부분은 차후 수정예정)사진 게시판을 대략적으로 눈에 보이게 설정을 한뒤문제 없음을 확인하였다.하지만 다른 페이지에서 오류를 확인한 뒤휴.... 깔끔해졌다.아직 css는 건들이지 않았다.페이징 구현을 아직 하지않아서이부분도 페이징을 해야한다.그리고 이제 메인 검색서비스를생각했다.굳이 select 의 option으로 지정보다는다 검색이 좋지 않을까? 라는생각이다.위와 같이 검색을하면오히려 select를 하지 않고정리.......

웹개발 13Day Project - 95%게시판 구현 ( 최종 점검 및 수정만 남았다!) [내부링크]

이제 슬슬 막바지가 다가오고 있다.게시판을 의도한대로 비슷하게80%정도 맞춰서 만들고 있다.제일 중요한 메인 페이지의 검색서비스가솔직히 구현이 어려웠다.select 로 각 명칭들의 옵션을검색해야 되는데전부를 검색을 원했다.그래서 수동으로 일일이 다조회하는명령어를 구축(?)했다ㅋㅋㅋ후우... 데이터가 많이 없다보니 별로 조회가되지가 않는다!이제는 장터게시판인데 위와같이번호, 제목, 글쓴이, 등록일, 사진(미리보기)형태로 구축했다.당연히 게시판도 메인에 나와야지크흠... css는 나는 못만지겠다...팀원 형님 도움이 없엇다면그대로 망한 프로젝트였다.다행히 소생을 해주었고나는 다시 DB를 제작할 수 있게 됬다!위와 같이 먼가.......

웹개발 14Day Project - 프로젝트 종료 [내부링크]

1조 조장 찍게팀조장으로써 팀프로젝트는 처음이었다.많이 부족하고 많이 모르지만자기실력을 가지고하면서 스스로가 공부되는 것 같았다.드디어 프로젝트가종료되었다오늘은 공개를 어짜피 프로젝트로보기에 캡처나 이런 것을 하지 않았다.수정사항이라곤 최종점검 오류 및 데이터베이스점검, 오류 해결회원가입 시 중복 방지 및 막기게시판 핵심 기술인 검색 서비스를 구현하였다~휴....2주동안 다사다난했지만무사히 마칠 수 있어서 좋았다.제일 좋은 점은 깃허브에서 소스트리로 병합을하며코드를 서로 충돌나고 경험을 하는 것과비쥬얼 스튜디오 코드로 라이브서버를통해 접근을 해서다같은 비쥬얼 스트디오 코드 상에서작업을 해 같.......

Web - Team Project_01 JJICK [내부링크]

<닷홈 홈페이지>- 무료 3개월 서비스 닫힐 수도 있음<깃허브>프로필 : 백민기 /26세사용기술 : HTML / CSS / Javascript / PHP / DB(MySQL)제작기간 : 기획 1.5일 / 제작 12.5일1월 27일 ~ 2월 9일개발도구 : Microsoft Visual Studio Code / GitHub / Bitnami / MySQL기획의도 : 에브리타임 및 잡플래닛과 같은 직장인들이나 일반인들을 대상으로하는 게시판서비스 홈페이지제작의도 : HTML + CSS + Javascript를 배우고 프로젝트 시작과 동시에PHP와 MySQL을 공부하면서 제작해본 Team Project내가 구현한 기능- 1.회원가입 중복방지 php 확인- 2.로그인 기능 Session저장 및 데이터베이스 확인, 로그아웃 Session.......

Node.js 설치 및 기본 실행 [내부링크]

이번에는 Node.js를 알아보자.웹에서 동적과 정적에 제한되어있으면서JS의 한계가 있다.그것을 해결하면서 서버와네트워크에 JS로 가능하게 되었다.간단하게 말하면눈에 보이지 않는 것이다.눈에 안보이는 것은 백그라운드에서 작동을 하는 것이다.우리가 흔히 컴퓨터가 느리다 느리다 아 왜느리지 하면컴퓨터에 깔린 것이 많거나흔히 아는 Ctrl + Alt + Del 누르면 작업관리자 창이나온다.이런식으로 백그라운드 프로세스가 많이 돌아간다.이것을 안 쓰는 것을 꺼주는 것이 좋다.물론 컴터 성능이 좋으면 이것들 따위는컴퓨터에 간에 기별도 안간다는 말이 맞다.우선 위 사이트에 current 즉, 우리가 개발공부를위한 current를 받아주면 된.......

간단한 기본 모듈 연결 [내부링크]

노드는 모듈로 만들 수 있는 점에서 브라우저에만사용하는 자바스크립트 와는 다르다.모듈이란?- 특정한 기능을 하는 함수나 변수들의 집합이다.- 하나의 프로그램이자 다른 프로그램의 부품이다.- 재사용을 할 수 있다.모듈을 만들어보자.사용하는 것은 내장객체가 이미 정의 되어있기에require과 module.exports를 사용할 것이다.- 첫번째 js다른 파일에서 module.exports에 대입된 값을사용가능하다.- 두번째 js (첫번째 연결)require 함수의 인수로 제공하는 경로만 잘 지정하면 사용 가능하다.확장자인 js나 json은 생략이 가능하다.- 세번째 js (첫번째, 두번째 연결)위와 같이 불러와서 사용을 하면 된다.하지만 주의할점은 어.......

Javascript 재귀함수, 피보나치 수열, 큐 (Queue), 스택 (Stack) [내부링크]

재귀함수란?재귀란 한 함수가 자기 자신을 호출하는 순간이다.예시를 보면 이해가 될 것 이다.위와 같이 함수안에 자신의 함수를 호출하는 것을 말한다.피보나치 수열이란?임의의 숫자를 매개변수로 받아서 그 숫자만큼 피보나치 수열의 값을 나열하는 로직을 구현하는 것이다.1, 2, 3, 5, 8, 13, 21, 34, 55.....위와 같이 증가가 되는 것이 피보나치 수열이다.큐(Queue)란?데이터를 집어넣을 수 있는 선형 자료형이다.먼저 집어넣은 데이터가 먼저 나온다. 줄여서 FIFO라고 하는데First In First Out라고 한다.예로 우리가 음식점에 줄을 섰을때 먼저 온 사람부터먼저 입장하는 것이다. 그 줄을 서는 것이데이터가 줄을 섰다라.......

Javascript 스왑(swap), 정렬(selectionSort) [내부링크]

스왑(swap)?스왑은 두 개의 데이터를 자리를 바꾸는 것이다.쓰이는 일이 많을 뿐더러 코딩테스트에도 필수적인 요소 중하나라고 장담할 수 있다.물론 모든 문제에 쓰이는 것이 아닌다섯문제가나오면 무조건 1개는 나올 확률이니 모르면안될 문제이다.간단한 원리를 말하자면두 개의 변수가 있으면 가상의 하나의 변수인temp를 만든다. 물론 이름을 정하는건 자유다.보통은 temp를 많이 쓰기에 나역시도 습관화 되어있다.위와 같이 a의 값을 temp에 담아놓고a의 값은 없어져도 temp가 가지고 있기에 상관이 없다.그래서 a의 값에 b를 넣고b의 값은 a가 가지고 있어서b의 값은 없어져도 된다.그래서 b에 temp인 a 값을 넣으면두 개의 자리가.......

Javascript 싱글 링크드 리스트(Singly Linked Lists - SLL) [내부링크]

SLL 란?싱글 링크드 리스트(Singly Linked Lists)라고 부르며구조체들을 서로 연결하는 것을 말한다.연결 리스트에는단순 연결리스트, 이중 연결리스트, 원형 연결리스트가 있으며이 연결리스트들을 사용하여 스택, 큐, 트리 등 다양한 자료구조를 만들 수 있다.낱개로 보면 여러 개의 노드들로 구성되어 있다.노드는 또한 데이터필드와 링크 필드로 링크는 그 다음 연결된 데이터를나타내서 기차놀이와 같다고 보면 된다.우선 Step by Step으로 세워보자.1)노드선언위와 같이 노드의 데이터 값과 그 다음 링크 값을 적는다.링크 값은 next로 정의했다. 다른 데이터가 없기에일단 기본 값은 null로 준다.2)SLL 선언위와 같이 node를 포.......

웹 개발 3Day Team Project - 깃허브 브랜치 후 잘못된 계획으로 대폭 수정... [내부링크]

제목 그대로다 서로 각 파트를구별짓고 작업을 진행하였는데서로 css를 잘 다루지 못하다보니결합 후에는 크기가 제각각 이었다.그래서 결단을 짓고 새로 짜는 것이었다.그래서 조장인 나는 과감하게 고민하고수정할 시간에 그 코드를 보며수치를 대폭 수정하며처음부터 다 짰다.물론 조원 행님들의 코드를 그대로 보면서 단지css 수치를 조절하는 것이니 한결 간단했다.개발자도구로 이번엔 정교하게....하면서 조원들의 토글 버튼 만드는아이디어를 곧바로 적용!하 이제 먼가 잘된다!역시 브랜치를 실패해도코드를 다시 재배치하는 맛 이맛이구나!그래도 조원 행님들의코드와 미리 짜놓은 것으로 한결 편해졌다.역시 이게 팀플인가 보다.일.......

Visual studio code와 MySQL 연동 영상(목소리 조심) [내부링크]

연동방법입니다!MySQL과 비쥬얼 스튜디오 코드를 준비해주세요

웹 개발 4Day Team Project - 동적 페이지를 위한 DB와 연동방법 구상.... [내부링크]

이번에는 메인페이지는 완성햇지만나머지 부분은 ... DB로 연동을 해서 php로제어를 하면서 정보를 주고 받을 수 있는방법을 찾아야한다.정적 웹페이지가 아닌 DB연동으로동적 웹페이지와 로그인, 게시판 기록,댓글 등 ... 할일이 태산이다.몸은 천근만근이지만할수가 잇다!왜냐면 나는 서울에 자취를하며 친구가 별로 없기에작업할 시간이 많다!(장점이라고 해줘....)연동방법이 없어 2시간이나 애를 먹었다....머리는 한도를 초과하며 다시 공부를....찾아보니 동적페이지를 만드는 방법은 다양하다.방법1) JSP와 DB2) JSON과 DB3) Node.js와 DB4) 대리 호스팅을 통한 DB5) php와 DB등이 있다.난 개인적으로 직접 연동 방법이 없는지찾아보.......

웹 개발 5Day Team Project - 동적 페이지 웹을 위한 php 공부! + 푸터 수정 [내부링크]

솔직히 말해서 HTML 과 CSS, JS면 홈페이지를만들 수 있다고 생각했다.근데 그것은 정적 페이지 일부에 불과했다.위와 같이 php파일로 만들면서 html에 php구역을 줘서반복으로 작성이 가능한 것을 볼 수 있다.(충격 쇼크)내가 php를 선택한 것은 DB 파일을 위해 연동을 하는것이다. 물론 node.js를 하면 되지만 (아직 배우는 시기가 아니라)현재 할 수 있는 방법이 php밖에 없었던거 같다.솔직히 말해서 주말엔 공부만 했다. 주구장창php를 삽질 한 기억뿐이다.하지만 후회하지않는다.삽질한 것은 오히려 기억에 오래 남는다.나는 트러블 슈팅을 좋아한다.원인이 뭔지 어떻게 하는지왜 안되는지를 좋아한다(싸이코?)그리고 조원 행님의 푸터 만.......

웹 개발 6Day Team Project - php와 html과 DB 콜라보에 행복한 일상 [내부링크]

드디어 시간을 투자해 공부한 보람이 있다!물론 Node.js를 나중에 공부를 할 것이지만정적페이지를 만드는 것에 의의를 두었다.그래서 php로 로그인과 DB를 연동해 이용하는것을 간단하지만 나는 찾아보지않고내힘으로 만들었다.(구글하면 정보는 넘쳐나지만난 내 공부를 위해 안보고 만들어서 힘들었지만행복...)우선 정적 페이지는 깃허브 같은 정적페이지는넣을 수 있지만 php와 깃허브에는 넣을 수 없는큰 흠집이 있어위에 닷홈의 데이터베이스를 무료로 이용하기로 했다.(카페24는 돈을 내야되서 굳이?)우선 결과가 되는 html로 만들어서 좀이따 php로 바꿀 것이다.우선 로그인/회원가입 창을 샘플로 만든 것으로 테스트를 해보니대성공이.......

웹 개발 7Day Team Project - php 너무 느림 현상... DB연동 [내부링크]

이제부터는 자꾸 응용단계로 들어간다.각 게시판에 디비를 연동해 나오게 하는 것이다.....css가 무척 만지기 어려웠다.디비로 데이터가 나오길 기다리면서그 시간이 길게 느껴지는 것이다(물론 한국인성격)우선 게시판을 만들면서 연동을 시작해보았다.물론 테스트용 게시판으로잘되면 장땡으로 게시판에 쓸 것이다.글을 적는 것과그 글의 댓글을 작성하게 이리저리해보았다.아이디로 물론 로그인해야 된다!그에 맞게 삭제도 안보이는!물론 왼쪽 오른쪽 아이디가 상단에 보면밍키아이디와 테스트 아이디로 되어있다.하지만 문제점을 발견했다.css가 먹통이 된다.즉, 순차적으로 DB 파일을 가져오는데첫 파일은 css가 적용이 되고두번째 파일부.......

웹 개발 8Day Team Project - 데이터베이스 및 php 게시판 드디어 활용! [내부링크]

드디어 팀원들과 협동을 통해게시판 작업을 시작하였다.물론 각종 트러블 슈팅이나오류가 많았지만 무난하게 작업을7일가량 남겨놓고 시작이 되었다!어제 펼쳐진 css를 덜만진 게시판!하지만 아코디언의 효과를 주어서깔끔하게 정리를 하였다.깔끔하게 정리하면서 이제 공간 활용과 디자인 측면을살릴 수가 있었다!물론 나는 백엔드나 개발쪽에 흥미가 있어css측면에 디자인감각은 똥인 것은위 사진을 보면 알 것이다 ㅋㅋㅋㅋ작업을 다하고 위와 같이내 정보 수정을 할 수 있는틀을 짰다.물론 모든 데이터베이스에 관련된 정보를다 수정하도록 설계를 해놓고데이터베이스 표를 만들때마다 추가만 해주면된다!!하면서 느끼는 것인데 php를 사용하.......

웹 개발 9Day Project - 페이징 드디어 구현! 정규표현식 검사! 새로운 css 디자인과 깃허브 소스트리 브랜치! [내부링크]

오늘은 페이징과깃허브 소스트리를 이용해 브랜치를하며 팀다운 프로젝트를 해보았다.게시판이 일정글이 되면 다음 페이지가 필요하다....정말 다른 사람이 본 코드를 보면서도 이해가조금 어려웠다.하지만 적용부터 해보고 생각을하며팀 포트폴리오에 응용을 해서 적용을 한 결과오전 시간이 다 갔지만 결국 적용에 성공했다.보니까 제일 중요한 것을 빼먹었다.주소창에 ?page=page1을 주는 것이다.그것을 토대로 그 개수만큼 데이터베이스에 가져오는 것이다!다들 그냥 페이지 수가 몇개냐어떻게 가져오냐 했지만 생각을 했다.이건 개수만큼 돌리면 그렇게 효율성이 없는데?페이지를 어떻게 알려주지 ?라면서!2페이지로 가면 주소창에 2.......

웹 개발 10Day Project - 자유게시판 구현 (사진은 아직) [내부링크]

오늘은 나의 담당인 게시판을 깔쌈하게 만들고자 했다.항상 시작은 화이팅 넘치게!view 파일이다 여기서 작성한걸 보거나댓글을 다는 것을 구현하며 글쓰는 곳으로 넘어간다!글쓰기 폼이다.아직 css들은 기능을 구현한뒤 만져야되서기본틀만 해놓았다.css.. 지옥에 갇힐예정휴... 댓글 개수와 이쁘게 정렬과 페이징구현페이징 구현은 앞서 첫인사 게시판을 만들때 해보아서쉽게 만들어진다.회원가입 양식이 아직도검사는 되는데 그냥 들어가버린다....하하하핫이제 메인에 ..... 글들을 가져와야 되는데 산더미다....

jQuery - 제이쿼리로 이용한 간단한 실습 [내부링크]

jQuery로 간단한 실습을 해보자.문제형식으로 풀면 좋다.1) 상자를 만들어 마우스에 대면 레드, 마우스를 밖으로 빼면 블루로 만들자.2) 버튼을 누르면 리스트를 보이게 제이쿼리로 짜라. 그 리스트는 목록 하나당 마우스 올리면 gray색이 나게 하고 마우스를 빼면 다시 검은색으로 바꿔라3) 버튼을 누르면 상자가 왼쪽에서 오른쪽으로 가게 하라.문제를 풀고 밑에 답과 실습 영상을 보면 좋을 것이다.문제 1~2)문제 3)

Javascript 문제) 별찍기(피라미드) [내부링크]

입력을 받아 입력받은대로 피라미드 층을 만들어라.예)입력 : 5답)

Javascript 문제) for문, 배열, class 문제 [내부링크]

문제)1부터 100까지 더하는 for문을 만들어라.답)문제)게임 캐릭터 클래스 만들기답)문제)답)

웹 개발 1Day Team Project - 팀 구성 및 기획하기! [내부링크]

이번에는 팀프로젝트를 하기 위해서 조를발표해준다고 했다.근데 왠걸...1조부터 조장을 말해주는데 ??백...민??? 잠... 시만?내가 조장?... 이건 실화냐?큭.... 그래도 기대하는 마음으로조원을 알려주는데 다! 행! 히!착한 행님들이 걸려서 다행이당어훅..... 조장이라 .... 학교에서도조장을 많이 걸리는데 .... 여기서도조장이 되다니.... 물론 처음 웹개발기반으로 평가를 해서 구성한 것 같다.그럼 팀을 이끌고 제대로 해야지?우선 집합!부산 성격은 직진남아니겠는가?역시 팀플은 같이 하는 것이 목표지!구글 Docs로 ppt 를 다 공유한 다음 !!! 만들어야지!형들... 어디가.... 같이 기획해....형... 형???신기하다고 돌아댕기는 행.......

웹 개발 2Day Team Project - section 제작 및 깃허브 브랜치 연습 실패...... 하.. [내부링크]

오늘은 기분 좋게 컨디션이 최상이다!나중에 상태가 최악이 된건 비밀오늘은 드디어 팀프로젝트를 분업으로 작업을하는 것이다.우선 간략하게 역할분담을 메인페이지를 나눴다.기획처럼 말이다.조장인 나는 섹션부분의 슬라이드나 사진 배치를맡고 조원1 행님은 헤드부분 검색창조원2 행님은 네비게이션 부분 아이콘 배치를맡았다.우선 나의 모델링은잡플래닛의 적당한 배치를 원했다.쉽지는 않지만 도전할 만한 것이었다.(4주공부하고 싱글하자말자 팀플이 시작해서실력은 아직 초보이니 이해바람....저는 딥러닝개발공부인 사람으로디자인 감각 0% 눈갱 조심)우선적으로 div만들 생각에 기부니가...좋닿ㅎㅎ대략적인 내가원하는 틀로만들면서 아.......

jQuery - 제이쿼리 jQuery UI 설정과animate 요소 [내부링크]

위의 사이트가 jQuery UI를 불러오는 것이다.이것 역시 불러오는 걸 한번 해보자.jQuery를 불러오는 거랑 다르지 않다. 하지만이것은 다운을 받아서 직접 적용해야한다.나는 바로옆에 옮겨놓는다.여기까지가 jQuery UI를 불러오는 것이었다.jQuery UI 중에서이번에는 animate 요소의 효과를 보자.글자를 애니메이션 효과로 주는 것이다.물론 animate는 UI가 없어도 작성이 된다.하지만 다용도로 사용하고 싶으면 UI를 쓰는 것이 좋다.한번 보자.1. animateanimate는 사용법이선택자.animate( { 속성 : 값 , 속성 : 값 }, 시간, 이징, 끝나고 할 일)이징은 linear, swing, easeOutBounce, easeInOutElastic .... 등이 있다.주로 jQuery UI로.......

Javascript JSON - stringify, parse [내부링크]

1. JSON- 자바스크립에서 Open API를 주로 사용한다.- 우리가 데이터를 다루거나 만들때 사용하는 것이다.- Object 타입으로 Key와 Value를 갖는다.- 브라우저 뿐만 아니라 모바일 혹은 서버와 연결이 안되어도 데이터만있으면 된다.- 데이터를 주고 받을 수 있는 간단한 포맷이다.- 사람 눈으로 쉽게 볼 수도 있는 것이다.- C, C#, JAVA, Python, PHP, GO등에 쓰인다.JSON은 크게 stringfy와 parse로 나눌 수 있다.이것을 보아하니 만들고 혹은 가져오는 것으로 사용될 것이라는 예측이 된다.(그렇다고 해라)1) Object to JSONstringfy(obj) 를 알아보자.우선 간단하게 만들어보자.<실습><결과>JSON을 잘 만들어 진 것을 볼.......

Javascript 문제) 객체, 내장함수 [내부링크]

<문제>위에 나오는 출력 값은??<답>내 생각은 위에 선언하고 밑에 재할당으로 받아들여진다.그럼 아마 90??정답이다.<문제>concat함수로 풀어야한다.출력은2021/01/17 22:10:33<답>

웹 개발 6Day - 공지사항 에러 폭발... 깃허브 홈페이지로 전환 [내부링크]

위와 같이 너무 딱딱함을 느꼇다. 그럼 슬라이드 형태로조금 다양하게 줄 수 있다면?버튼을 넣어보자 ㅋㅋ여러개를 끙차 끙차 만들어서!숨기고!ㅋㅋㅋㅋ 완전 실패다!만들면서 했던거는 그냥 일단 처음부터 다시하자 ㅜㅜ후우.... 할게 많네...후욱... 차에 중독되버리겟다.열심히 만들면서 버튼도 넣어주고!다와 간드아 ㅜㅜ마무리까지 완벽하게 됬다.물론 디자인 감각 (-999999999999999999)인 나로써는엄청 흡족한 감각이다. (사실 디자인 없는게 더 잘만든거 같아서 색을 그냥 넣지 않는다)오늘은 이걸로 후욱... 다른 디자인도 한번 다시 봐야지...-------------------------------------수정-----------------------------------------.......

Web - Single Project_01 CSD [내부링크]

<깃허브 홈페이지><깃허브>프로필 : 백민기 / 26세사용기술 : HTML / CSS / Javascript제작기간 : 기획 1.5일 / 제작 4.5일2020/01/13 ~ 2020/01/18개발도구 : Microsoft Visual Studio Code / Photoshop기획의도 : 전시관과 미술관 홈페이지를 합친 콜라보제작의도 : HTML + CSS + Javascript를 4주동안 배워보고 기초를 다뤄보고자 만든 Single Project

jQuery - 제이쿼리 가져오기 [내부링크]

자바스크립트의 확장이라고 생각하거나외부 라이브러리를 사용한다고 보면 된다.즉, 코딩의 한계를 외부에서 가져와서 사용하는 것이다.<제이쿼리 사이트>위의 사이트가 제이쿼리의 라이브러리를 가져오는 것이다.여기로 들어가면 우선 Download가 보일 것이다.클릭을 한다.마우스 커서가 있는 Development를 추천한다.그냥 일단 이걸로 써라.다른 것은 가볍거나 없는 것들이 있다.클릭하면 위와 같이 나온다. 이것을 다른 이름으로 저장해서 js파일로 저장해서링크로 쓰던지 아니면 나와같이 이 방법을 사용해라.위 주소를 복사한다.그러면 이제 작성하는 html 파일로 가서 링크를 걸면 된다.위와 같이 그 주소 그대로 복사하면 된다.그.......

jQuerry - 제이쿼리 기본형태, 체인링크 혹은 체인연결 [내부링크]

제이쿼리는 일단 $( ) 가 형태이다.$ ( ' ') 에서 안에 요소나 태그 아이디, 클래스를 선택한다.예시를 보면 위와 같다.기본형태에 ' ' 안에 넣는 것이다.예를 들어보자. 즉 호출할때 이렇게 길이가 차이가 난다.엄청 길게 쓰느냐 짧게 쓰느냐이다.물론 간편함은 제이쿼리가 훨씬 좋다.하지만 바보가 될 수 잇는 간편함이 있다.우선 간편하게 css를 제이쿼리로 해보자.위 사진을 보면 우선 클래스 a라는 글이 써져있다.그럼 제이쿼리로 색을 바꿔보자.제이쿼리 호출은$('.a')로 클래스니 . 으로 호출한다 아이디면 #을 붙여야 한다.그리고 .css로 연결시켜 왼쪽은 명령어 오른쪽은 설정이다.물론 css를 안다는.......

jQuery - 제이쿼리 event 요소 (mouseover, mouseout) [내부링크]

제이쿼리에 다양한 이벤트가 있다.하지만 흔히 쓰는 것을 다뤄보자.우선 event 종류는1) keydown : 요소에 초점을 맞춘 상태에서 키보드의 키를 눌렀을 때2) keyup : 요소에 초점을 맞춘 상태에서 키보드의 키를 뗄 떼3) focus : 요소에 포커스가 일치했을 때(포커스가 있는 요소만)4) blur : 요소가 포커스를 잃어버렸을 때(포커스가 있는 요소만)5) change : 입력 내용이 변경되었을 때6) resize : 요소의 크기를 다시 설정 했을 때7) scroll : 요소를 scroll 했을 때8) mouseover : 마우스가 해당 지정된 곳에 올라왔을 때9) mouseout : 마우스가 해당 지정된 곳에서 나왔을 때10) click : 마우스가 해당 지정된 곳을 클릭했을 때위와 같.......

Javascript 정규표현식 객체 [내부링크]

1. 정규 표현식 객체문자의 패턴을 검색하기 위한 일련의 문자이다.우리가 입력하는 것을 걸러주거나 확인용으로 쓰인다.패턴 매칭 기능으로 특정 패턴과 일치하는 문자열을 검색하거나추출 또는 치환할 수 있는 기능이다.한번 보자.1)regExp<실습>우선 전화번호 패턴을 보자.3개 숫자 그리고 ' - '자 표시 그리고 4개 숫자 다시 ' - '자 표시 4개숫자구조이다. 그럼 바로 위와 같이 표시한다.우선 시작은 / 로 하고 끝도 / 닫는다.이제 숫자 관련된 건 d이다 \d로 표시하고 숫자길이를 표시하는 것이다.그럼 아래와 같이 참이다라고 반환해준다.<출력>true라고 잘 나온다.이번에는 is가 대소문자 구별없.......

Javascript 문제)내장함수 [내부링크]

<문제>다음 배열에서 400, 500을 삭제하는 코드를 입력하세요.var nums = [100,200,300,400,500]<답><문제>** 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력하세요.var arr = [200,100,300];**console.log(arr);출력시 -> [200,100,10000,300]<답>

Javascript 문제)객관식 [내부링크]

<문제>다음 코드의 출력 값은?var a = 10;var b = 2;for (var i = 1; i < 5; i+=2){ a + = i ;}console.log(a+b);<답>16<문제>다음은 자바스크립트 문법 중에서 False로 취급하는 것들 중하나는 True를 반환한다. 찾아보자.1)NaN2)13)""4)05)undefined<답>1

웹 개발 1Day - 개인 프로젝트 기획 [내부링크]

개인 프로젝트를 위해 기획을 해야한다.처음에는 어떻게 만들 수 있을까?무엇을 해야할까?PPT로 대학생활로 돌악간 기분이다.일단 내가 처음엔 아무 생각없이 거래소를 만드는 것을원했다. 하지만 기초적인 실력으로는 무리가 있고아직 API를 가져오는 걸 미숙한 결과로 일단 보류를 하며전시장을 선택했다.전시장이라해서 미술관 이런 것이 아닌킨텍스, 벡스코 등 각종 행사들을 주최하는 전시장을제공하는 역할을 하는 곳의 홈페이지를 클론보다는창작 형태로 하길 원했다.아래가 일단 초안 기획안이다.우선 웹페이지를 아직 미숙하지만 클론이든 창작이든 만드는 개인 프로젝트다!웹을 무엇을 만들지 주제와 구조설계, 레이아웃, 홈페이지.......

웹 개발 2Day - 웹 레이아웃 잡고 애니메이션 추가하기 [내부링크]

우선 나의 목표는 내가 만드는 창작을 해야하기에클론은 편할 수 있지만 따라하기가 벅차고 나는 내가배운 것을 최대한 활용을 해서 사용을 하고 싶다.그래서 일단 구성을 하기전 로고를 만들어야 된다.로고가 있어야 비로소 웹이 만들어진다.음... 쉽지 않은 고난 이었다.우선 처음 계획한 거래소 로고를.... 버려야 된다... 주륵...과감히 생각을 해보았다.전시관? 디스플레이?그럼 전시하기위해 만드는 입장을 생각해보았다.도전?도전할 곳이 필요하다.그럼 바로 내가 만든 가상의 전시관에 도전!!하라는 의미에서CSD라고 지었다.challenge show display물론 콩글리쉬 느낌이 날 수 있다.하지만 도전을 보여주고 전시해라는 의미로 만.......

웹 개발 3Day - 웹 제작 진행1 [내부링크]

후우 ... 오늘도 시작해보자.나의 목표는 깔끔하면서 모든 사람이 간편하게볼 수 있는 것이 핵심이다.어제 마저 완성한 슬라이드를 css를 사용하여 깔끔 정리하였다.물론 잘 넘어가는지 확인도 했다!후우... 이번에 꽃 전시를 넣자. 물론 복붙을하면 편하지만 복습차원에서... 손코딩....ㅋㅋㅋㅋ다시 css로 밑에를 댕강! 잘라서적절한 배치를 했다.갑자기... 웹사이트에 어떻게 보이는지 보고 싶어졌다.올려봐야지 ㅋㅋㅋ음 중간에 카카오 api지도를 넣고 싶었지만 아직그상황이 아닌지라 마저 닷홈에 올려보자!알 ftp를 사용하여 닷홈에 꾸역꾸역 넣으면?크... 잘된다....물론 3개월만 무료라서 3개월까지만 진행될 것이다.이제 로그인창을.......

웹 개발 4Day - 웹 80% 완성 [내부링크]

후우.... 자세히 한번 보면!지도에 아기자기한 마커와 아래쪽에 안내를 배치하였다. 역시 일러스트 아이콘을사용하면 편하다.이제 대공사인 about에 역할은 회사소개나 각종 역사를 설명하는 글을만들 것이다.클릭시 애니메이션을 넣어 바탕이 바뀌게 하자!..... (사실 오류가 심각해서) 그냥 버튼을 클릭하면html이 딴! 나타나는 js로 바꿧다 ..... ㅎㅎ짠!클릭하면 나타난다. 다음꺼는?짠!!갬성이 있다. 간단한 디자인과 어지럽지 않은 레이아웃으로 다행히 무난하게작동이 되었다.근데 버튼 누르기 전에 심심한 광경인 흰색 바탕만 있다....좋은 방법을 찾자...오 좀 있어보이는데? (역시 창작은 하면 안됨... 클론하셈.. 강추....)이제 로컬.......

웹 개발 5Day - 웹 초안 완성....? [내부링크]

원래라면 기한을 5일만 줬었다. 하지만 조금 여유있는게 좋다고 7일로늘어났다.우선 나의 목표는 5일안에 초안을 완성하는 것이다.클론보다 창작이 더 어렵지만... 최대한 있어보이게 깔끔하게 짜는 것이었다.오늘 만들려고한 입점 지원양식을 만들었다.나는 갬성을 중요해서(필자는 아이폰갬성...)나무에 울창한 숲길을넣었다..... 크.... 한잔? 크흠 정신차리고위와 같이 전시장의 목적에 맞게 만들었다. 하지만 무조건 신청이 아닌담당직원이 전화를 걸며 자세하게 물어보고 어떻게 전시할지 토의를 해야하기에필수적인 요소만 넣었다.일단 우선 완성한 것을 넣어봤다. 거의 초안단계는 다 되었기에 얼른 결과물을확인하고 싶었다.(실행을 좋.......

웹 개발 5Day - 긴급 기획 ppt 수정.......(ㅜ^ㅜ) [내부링크]

사람이 살다보면 바뀔 때가 있다....첫 도전이라 기획이 아예 다르게 되었다...그래도 놓치지 말고 수정할껀 당당히 하자... 흑...다시는 기획 제대로 하고 할꺼야...역시 계획을 제대로 짜야된다... 이번에는 기획 - 설계 - 기획으로 이상하게 되었지만.... 다음 부터는 기획 - 계획 - 기획수정 - 설계 시작 - 설계 완성 - 보완으로꼭 할테다...

CSS 게임 소개 [내부링크]

CSS 가 너무 어렵다... 남자는....그게 그거고 이쁜게 이쁜거 같다.....갬성이 있어도 만들줄 모르는 갬성그래도 기본기 있는 게임을 소개한다.간단하게 짜면서 점수를 높이는 게임경쟁도 하고 친추로 경쟁을 유발해서시키는? 전혀... 그냥 해라더 누가 효율적으로 짜는지 점수를 확확 올려라.

Javascript 객체 응용2 [내부링크]

객체를 좀더 다뤄보자.1. 생성자 함수?생성자 함수란 new 연산자와 함께 호출하여 객체(인스턴스)를 생성하는함수를 말한다.생성자 함수에 의해 생성된 객체를 인스턴스라고 일컫는다.1)빈 객체 생성위와 같이 빈 객체를 선언하여 object를 만들 수 있다.간단하게 new Object() 를 하면 된다.그리고 객체에 담을 키와 value를 넣어 사용을 하면 된다.그럼 객체처럼 출력하고 객체처럼 사용이 가능하다.객체이기에 가능하다.2)빈 객체 생성 활용위와 같이 String의 형태로 만들 수 있다.하지만 Key에 String으로 들어간다.헷갈리지만 않으면 사용을 해도 괜찮다.Date는 현재 날짜와 시간을 알 수 있는 함수다.이것을 객체에 담아도 된다.배열.......

Javascript class [내부링크]

클래스 들어가기전에 객체함수를 어떻게 사용했는지 복습을 해보자.간단한 복습을 통해 클래스와 비교해보자.<실습>위는 간단한 이름과 나이, 도시를 넣어출력을 하게 하는 생성자 함수를 만들었다.사용법은 위에 마지막 두 줄이 사용법이다.<출력>잘 나오는 것을 볼 수 있다.물론 2021년인걸 모르고 2020년 나이로 했다...1. 함수 vs 클래스1-1) 함수- 특정 기능을 하는 변수와 구문이다.- 기능 단위로 코드를 그루핑한다.- 기능 단위의 중복코드를 제거하고 코드의 재사용성을 높인다.1-2)클래스- 연관있는 변수와 메서드- 객체 단위의 코드를 그룹핑- 객체 단위의 중복코드를 제거하고 코드의 재사용성- 변수나 자료구조에.......

HTML5, CSS3, Javascript 축구게임 [내부링크]

<html><css><js>

Javascript arrow함수, callback함수 [내부링크]

arrow function은 function 키워드는 일단 생략이 가능하다.또, 함수의 매개변수가 1개라면 괄호 생략은 가능하다.화살표 함수는 항상 익명함수다.콜백(callback)이란 함수도 있는데콜백은 arrow 설명 후에 설명을 하겠다.우선 이 화살표 함수라고도 하는 arrow function은우리가 흔히 아는 함수를 완벽하게는 대체 할 수 없다.그 부분을 유의하길 바란다.우선 일반함수와 arrow함수의 차이점을 보자.<실습>위와 같이 표현할 수가 있다.이제 함수 선언식과 표현식은 앞 게시물을 보길 바란다.arrow함수를 보자.function을 생략하고 말그대로 =>를 적었다.<출력>사용법도 함수랑 똑같다.다른 예시로 한번 보자.<실.......

Javascript setTimeout [내부링크]

이번에는 시간을 조절해서 출력해보자.<실습>위와 같이 setTimeout의 함수를 사용한다.그안에 함수로 선언을 하고 , 2000이 2초다1000은 1초다 이런식으로 시간을 설정하면 된다.<출력>근데 2초뒤에 나온다.<실습>위와 같이 한다면?자바스크립트는 지연시간동안 기다려주지않고 밑에 것들을 실행해 버린다.그래서 순서가 바뀐다.<출력><실습>위에와 같이 콜백함수를 써서 하면 된다.즉 위는 TimeSecond함수를 써서 그안에 Timetest2를 넣었다.그리고 그 값을 re();여기에 사용을 한다.그래서 순서가 순차적으로 기다렷다 나온다.<출력>re(); 위치를 움직여봐라 신기하게 작동할 것이다.

Javascript promise [내부링크]

promise는 앞에 콜백함수의 콜백지옥을 방지해준다.이것은 실행하면서 이해해야한다.주로 setTimeout을 사용하는데 대부분은 사용하지만 경우에따라사용해도 되고 안해도된다. 응용은 각자가 판단하는 것이다.<실습>일단 우선적으로 promise말고 다른 변수를 만들어도 된다.하지만 new Promise는 해야한다.그리고 그안에 resolve는 실행되고 reject는 에러를 표현한다.그러면 이제 실행 밑에 부분은 .then으로 이어서 한다.콜백은 보기가 힘들고 헷갈리지만 then을 사용하면 한눈에 파악하기 쉽다.그럼 다음은 <실습>위와 같이 적고 실행을하면 마지막은 오류가 난다.<출력><실습>위는 응용해서 만든 것이다.promise.......

Javascript 문제) 시, 구, 동 추출하기 [내부링크]

문제)address = "부산광역시 수영구 민락동"이 처럼 본인이 주소를 변수에넣는다. si, goo, dong 이라는 변수를 만들어 각 각각 시, 구, 동 정보를담아 아래와 같이 출력하여라.<출력>시 : 부산광역시, 구 : 수영구, 동 : 민락동답)

Javascript 문제) Pusan을 Busan 문자 대체 [내부링크]

문제)say = "I love Pusan"이라는 변수가 있다.틀린 철자를 수정하여 출력하세요.답)

Javascript 문제) 지하철 소요시간 출력 [내부링크]

문제)지하철 10정거장 미만일 경우 각 역의 평균이동 시간은 2분 소요되며,10정거장이 넘으면 4분의 소요시간이 걸린다.(10정거장이 넘으면 한정거장에 4분으로 계산)지하철 역의 수를 입력하면 소요시간을 계산하여 출력하시오.(단, 60분이 넘어가면 시간까지 계산하여 출력)<출력>정거장 수 : 8총 소요시간은 16분입니다.총 소요시간은 1시간 4분입니다.(만약 넘으면 이렇게 출력)답)

Javascript 문제) 나이 계산 [내부링크]

문제)올해의 년도와 태어난 년도를 입력받아 나이를출력합니다.<변수선언>This_year : 올해의년도Birth_year : 태어난 년도age : 나이<출력>올해의 년도를 4자리로 입력하세요 : 2018당신이 태어난 년도를 4자리로 입력하세요 : 1990당신의 나이는 29세 입니다.답)

Javascript 문제) 엘리베이터 수하물 허용량 계산 [내부링크]

문제)600kg 제한의 화물용 엘리베이터가 있습니다. 2개의 물건에 대한무게를 실수(소수점수)로 입력받아 현재 엘리베이터에 추가로 적재할 수 있는무게를 출력하세요.<변수선언>Max_weight : 최대 허용무게Object1 : 첫번째 물건의 무게Object2 : 두번째 물건의 무게Current_Weight : 현재 허용무게<출력>첫번째 물건의 무게를 입력하세요 : 64.27두번째 물건의 무게를 입력하세요 : 75.25현재 엘리베이터의 허용 무게는 460.48kg입니다.답)

Javascript 문제) 표준체중 계산 [내부링크]

문제)당신의 키를 실수형으로 입력받고, 표준체중을 소수점 2자리까지 출력하세요.<변수선언>Current_Height : 현재키Man_StandardWeight = (현재키 - 100) x 0.9Woman_StandardWeight = (현재키 - 105) x 0.9<출력>당신의 키는? 192.5당신의 표준체중은 ???(kg)입니다.답)

Javascript BOM과 DOM 의미(Feat. 글뿐) [내부링크]

BOM은Browser Object Model로최상위가 Window이다. Window객체를 통해서 접근하거나스크린에 접근할 수 있는 각종 모음이다.대략적인 종류는Window라는 제일 최상위 객체에아래와 같은 객체들을 가지고 있다.navigator(브라우저 이름과 버전 정보를 가지고 있다)document(문서에 대한 정보를 나타낸다)location(브라우저에서 사용자가 요청하는 url에 대한 정보가 들어있다)History(현재 사용하는 브라우저가 접근했던 기록들을 담아둔 곳)Screen(브라우저 웹 환경에 대한 정보를 제공한다)DOM은Document Object Model로문서 객체 모델이라고 한다.우리가 흔히 아는 document.write처럼 document 즉 문서인HTML에 작성할때 이용하는 것이다. .......

Javascript BOM, DOM 사용법 [내부링크]

브라우저 객체우선 BOM을 사용해보자.위와 같이 우선 기본 테스트를 할 html을 작성한다.위처럼우선 스크립트 위에서는 하면 안된다.위에 <script></script>부분을 보면 id를 찾는다.우선 위와 같이 하늘색 친 부분의 역할은 id가 main-title의 정보를 getElementById로 가져와 title에 담는다는 명령이다.컴퓨터는 순차적 실행으로 위에서부터 아래로 실행을 한다.body가 선언이 안되어있는데 뭐가 나올까?바로 아무 값도 안나온다.즉, body에 선언을 id로 안넣어서 아무 데이터도 없는데 먼저실행을 해서 null 값이 나온다.하지만 onload라는 함수는스크립트가 위에 있어도 동작을 한다.왜냐하면 전체 다 작동을하고 실행을 하.......

Javascript BOM, DOM 사용법2 [내부링크]

이번에도 역시 사용법을 다뤄보자.기초 사용을 모른다면위를 읽고 오길 바란다.우선 아래와 같이 html파일을 만들어보자.더불어 간단한 css파일을 작성해보자.자 이제 2가지 방법이 있다.css로 쿼리호출과바로 document를 통한 직접호출이 있다.위와 같이 2가지가 있지만 개인적으로 효율성은getElementsByClassName이 좋다고한다.그리고 위에 쿼리는 css를 통해 css도 수정하고 등등을 각자 나름의 장단점이 있다.그래서 잘 조절해서 쓰면 된다.그럼 console에 출력하라했으니 위와 같이 나온다.하지만 .Name은 2개인데 하나만 출력된다.이번에는 관련된 .ssang를 모두 부르는 것이다.아래와 같이 다 출력이 된다.이번에는 위와 같이 설정을 한.......

Javascript 객체 응용 [내부링크]

이번에는 Javascript의 객체 응용을 보자우선 객체에 대해 모른다면 위의 링크를 통해 객체를파악하기를 바란다.우선 복습을 해보면위와 같이 타입이 무엇인지와 객체를 만들어서a의 value값을 출력해보면위와 같이 잘 나오는 것을 알 수 있다.위처럼 하나의 형태로도 꺼낼 수 가 있다.한번 보자.위와 같이 a, b, c가 순서대로 나온다.for 안의 조건 const i in obj는obj의 안에 a, b, c의 키 값이 있는데순서대로 하나씩 뽑아내는 것이다.그러니 위와같이 하나씩 실행이되며 도는 것은obj의 개수만큼 돈다.위와 같이 이번에는 테스트 해보자.우선 2번째 줄 코드는 obj안의 b의 값인 20을 출력한다.3번째 줄 for문은 각 객체안의 하나씩 꺼내.......

Javascript this [내부링크]

자바스크립트에서는 사용방법에 따라 가르키는 대상이 다르다.자바스크립트에서는 this는 실행 컨텍스트가 생성이 될때 결정된다.실행 컨텍스트는 함수를 호출할 때 생성되므로 this는 함수가호출할 때 결정된다.<실습>위와 같이 a를 전역에다 선언을 하고출력을 해보자. window같은 경우는 window환경에서 작동되니웹 브라우저를 html로 연결해서 Live Server로 틀면 나온다.<출력>console.log(a) 는 말그대로 a를 출력하라해서 나온 것이고console.log(window.a)는 원래 window가 앞에 붙는데생략이 가능하다. 최상위 개념이라 최고봉에 window가 있는 것이다.그리고 this.a는 여기 이 구조에 a는 5인것이다.<실습><출력.......

Javascript 호이스팅 [내부링크]

호이스팅은 함수와 관련되어 있다.<실습>위와 같이 일단 함수 선언식과함수 표현식이 있다.함수 선언식은 선언을 전역에다 해서 위든 아래든 상관 없이다 사용이 가능하다.<실습>위와 같이 선언식은 함수기준 위 아래와 같이 사용을 해도 오류가 안난다.선언을해서 이 자바스크립트 파일에서는 문제가 없는 것이다.<출력><실습>반면 표현식은 위는 밑에를 선언을 안해서 사용할 수 없다.물론 선언하고는 사용이 된다.<출력>그럼 호이스팅은 뭘까?<실습><출력>위와 같이 표현을 하면 우선 안에 함수 표현식이 먼저나와 밑에 오류는 안난다.하지만 호이스팅은 자동적으로 아래와 같이 변경이 된다.&lt.......

Javascript 조건문 switch [내부링크]

하지만 break;라는 것이 있는데 역할은 실행을 하고빠져나오는 것으로 만약 적지 않는다면 그 조건이 참일 시는똑같이 작동하는데 그 밑에 다 작동되버리는 불상사가 일어난다.그리고 default는 if에서 else의 역할처럼 나머지는 이라는 말이다.있어도 되고 없어도 그만이다.아무튼 if와는 조금 다른 것은 조건이 간단해야 한다. 예시를 보자.<실습><결과>위는 num값은 2다. 그러면 조건문으로 넘어가면switch옆에 num을 넣어 num값을 비교하는 조건이다.case 에 간단하게 1 과 2가 있다. case 1은 num이 1일때실행하는 거고 아니면 다음 조건으로 넘어간다. num은 현재 2값이니다음 으로 넘어가 case 2가 만족해 출력하는 것을 볼 수.......

Javascript Math함수의 random [내부링크]

random은 값을 랜덤하게 상수나 정수로만들어서 받을 수가 있다. 흔히 아는 random은Math의 내장함수이다.즉, Math를 호출하고 나서 random을 쓸 수 있는것이다. 한번 실습해보자.<실습><결과>위와 같이 Math.random(); 은 0에서 1 사이의 실수가랜덤하게 나온다. 이것을 활용해서 각종 숫자를 나타낼 수가있는데 한번 보자.<실습><결과>곱하기 10을 하니 1~10의 난수가 발생한다. 즉 이걸이용해서 잘 써먹으면 좋은 랜덤 값을 얻을 수 있다.Math.floor는 소수점을 내림하는 것으로 깔끔한 자연수를얻을 수 있는 장점이 있다.<실습><결과>

Javascript 가위 바위 보 문제 [내부링크]

<문제><결과>

ASUS ROG STRIX G15/ G17 게이밍 노트북 구매후기 [내부링크]

#데일리에이수스#ASUS ROG STRIX G17오늘 드디어 11월 초중에 예약구매한 ASUS ROG STRIX의 17인치게이밍 노트북이 왔다!화면도 열라커서 편안....나는 솔직히 제품의 성능은 안봐도 어떻게돌아가는지 알기에 갬성...에다가 역시 발열을 잘잡는 ASUS를택했다.물론 데스크탑이 최고지만나는 현재 자취를 하면서 프로그래밍을 돌리거나 무거운프로그램을 짠다. 그럼 휴대성도 있어야 하므로게이밍 노트북을 택할 수 밖에 없다.우선! 가볍고 프로그래밍이 좋은 노트북은내가 군대 제대하고 산 ASUS 노트북 중 하나를 추천한다.스펙은 이러하다.하지만 화면이 작은 것은 당연하다.휴대성과 성능을 따진다면 위 노트북도 추천한다.하지만 게이밍.......

Javascript 반복문 for문 구구단 만들기 [내부링크]

반복문 for문은일단 형식은 아래와 같다.for문 에 if문 처럼 조건을 적는다.단 변수를 선언해 값을 넣고 변수가 몇번 돌지 범위를 지정한 뒤증감이나 감소를 한다.for문은 반복해서 예를들면 1부터 10까지 더하라는 것을코드로 수동적으로 짜면 10줄로 적으면 된다.자꾸 더하면 되니깐...하지만 1000번이나 100000번은?그 줄만큼 적을려하는가? 너무 비효율적이다.그래서 반복문 for문을 사용한다. 한번 해보자.<실습>위는 일단 for문에서 돌 변수를 만들어준다.var로 간편하게 만들 수는 있지만 자바스크립트는 주로 const를먼저 짜서 오류가나면 let을 짜고 또 오류가나면 그제서야 var로 하는게공부가 잘된다. 그러니 꼭 let으로 하길.......

Javascript 반복문 while문 [내부링크]

이번에는 while문을 배워보자.while은 우선 for문과 다르게기본 형태는 일단위와 같다.while문은 반복을 하면서 조건이 충족할때 까지무한루핑이다. 잘못 설정하면 과부하가 걸린다.계속 돌리니...그러니 조건을 조심히 설정해서 만들어라.물론 똥컴이나 조선컴이 아닌 이상 터지지 않으니 상관 없다.위와 같이 무한루핑 시키는 방법은 위와 같다.true로 계속 계속 죽을때까지 돌리는 것이다.그래서 나오는 방법은 2가지다. break를 써서 탈출하게하거나 조건을 충족시켜 탈출을 시키는 것이다.간단한 조건식으로 while문을 돌려보자.<실습>위의 식을 보면 i=0으로 일단 i값을 만들었다.그리고 while문으로 i가 3보다 작을때 까지 돌.......

Javascript 인덱스 및 array [내부링크]

이번에는 인덱스를 알아보자.우선 문자는hello로 보면 시작은 우선 0이다즉 h의 자리는 0 이다.h 0e 1l 2l 3o 4이렇게다그럼 hello world는?h 0e 1l 2l 3o 4띄어쓰기 5w 6o 7r 8l 9d 10이렇게다.즉 무조건 시작은 0이다.<실습>그럼 위는 뭐가 나올까?우선 호출은 인덱스할 변수를 적고 [ ]를 하며 그안에 숫자를 넣는다.그럼 결과는 바로 아래처럼 나온다.<출력>그럼 문자를 어떻게 합성할까?아래와 같이 하면 된다 ㅋㅋ<실습><출력>재밌지 않나?.... 그래난 재밋....없다이번에는 문자열 인덱싱 길게 자르는 함수인slice를 알아보자.<실습><출력>이렇게 짜를 수가 있는데짜르고 싶은 인덱스 위치를 아는.......

Javascript 객체 [내부링크]

객체는 { }로 키값으로 이루어진 속성들의 모임이다.키는 반드시 string형태로 가지고 있어야하고이 속성 키를 이용해 해당 속성에 매핑된 값을 접근할 수 있다.전역객체가 있는데 흔히 우리가 아는Function, Array, String, Number, Boolean 등이다.굳이 이러한 객체 종류를 외우지 않아도 된다.이제 객체를 한번보자.<실습>위와 같이 작성될 수 있다.{ } 안에서 키값 : value값을 적는다.여기서 말한 키값이 string형태로 가지고 있어야 되는 것이다.객체 종류는 위와 같이 작성이 될수 잇지만 첫번재를 많이 쓴다.그리고 또 다른 방법은위와 같이 하나의 키값에 하나의 객체를 또 넣을 수 있다.이렇게 사용이 무궁무진하다.그럼 이.......

Javascript 함수 [내부링크]

함수는 function으로하나의 로직을 재실행 할 수 있도록 하는 것으로코드의 재사용율을 높여준다. 유지보수가 쉽다는 장점이 있다.그리고 또한 자바스크립트에서 함수도 객체로 분류되기 때문에 넘기거나할당할 수 있다.위와 같이 정의할 수도 있다.정의할 함수 이름과 넣을 파라미터 값을 넣는 것이다.<실습>한번 print( ) 가로안에 숫자든 문자든 출력하는함수를 만들어보자.함수는 말그대로 만드는사람이 수학으로 비교하자면공식을 만드는 것이다. 이것은 이거다라고 지정하는 것이다.<출력>그러면 잘 출력 되는 것을 볼 수 있다.<실습>위와 같이 합의 함수를 구하는데 입력 값을 2개로 만들었다.즉 2개를 입력받는 다는 것.......

Javascript 연산자 [내부링크]

이번에는 연산자에 대해 알아보자.연산자는 여러 종류가 있다.간단하게 살펴보면산술연산자 : + 더하기 - 뺄셈 * 곱하기 / 나누기 %나머지가 있다.이상하게도 나머지가 있다.나중에 활용이 많이 되니 알아두는 것이 좋다.증감연산자 : ++ 1씩증가 -- 1씩 감소대입연산자 : = 대입 += 더해서 대입 -= 빼서 대입/= 나눠서 대입 %= 나머지 대입 >>= <<= 는 비트관련이라 아직은 몰라도 된다.비교연산자 : < > <= >= 이거는 왼쪽 오른쪽 기준으로 작다 크다 작거나같다 크거나같다로 알면 된다. 기준에 따라 말하는게 틀리니 이렇게 적겠다.== 이거는 같.......

Javascript 합과 평균 구하기 [내부링크]

<문제><답>

Javascript 조건문 if, else if, else [내부링크]

조건문조건문이란 말 그대로 조건을 사용하는데 조건이참이면 조건식안에 내용을 실행하고 아니면다른 조건이 있으면 다른 조건식을 비교한다<구조><구조 완전체><다항 조건식><실습><실습><문제><답><결과>

Javascript 코딩 상식과 특징 [내부링크]

우선 Microsoft Visual Studio Code를 실행해보자.그리고 html 파일과 js 파일을 만들어보자.html 파일은 js 파일을 작성하고 html로 확인하며 실행을위해 테스트 용이다.만약 html 기초 상식이 없다면 ....위 부터 보고 html을 대략 몇개만 만들어보는 글을 읽고 와라.본론으로 돌아가 test.html로 하나를 만들고Javascript는 js로 만든다.위와 같이 우선 html파일을 만들어 doc를 친다음위와 같이 이제 자바스크립트와 연동을 위해서<body></body> 부분에 script를 짠다.우선 왜 body부분일까?생각이 많이 할 것.... 아니 해라그래야 잘 내가 말할 명분이 있다아입니꺼?미안하다.우선 자바스크립트는 이것 저것 작성하면 무거워.......

Javascript 변수형 및 자료형과 재선언 재할당 [내부링크]

이번에는 변수형 및 자료형즉, 변수를 알아보자.우리가 일단 프로그래밍은 데이터를 담을 곳이 필요해!그럼 우선 담을 그릇을 만들기전에프로그래밍은 수학과 달라!기호는 같지만 의미는 달라.즉 a = 5; 라고하면 a가 5라하거나 a와 5는 같다 이런 말이 아니고a에 5를 넣겠다라고 컴퓨터는 이해를 해버려그래서 우리가 만약 담으면 그 값을 일일이 숫자로 안부르고담은 변수를 불러서 프로그래밍을 짜는 거지!우선 js파일을 만들고<실습>html파일을 만들어서 js랑 연결시켜줘이건 말안해도 알지?같은 폴더니까 경로가 위처럼 바로 적용되!다른 폴더에 만들면 그 경로로 지정해줘~자 우선 num이라는 그릇을 만들어서 5를 넣었어!var이.......

HTML CSS [내부링크]

이번에는 HTML을 꾸미는 효과를 주는CSS를 알아보자.알록달록(디자인 감각 제로인건 함정)....현타가 갑자기 온다.디자인... 옷도 못입는데...아무튼 위와 같이 일단 처음에 <h></h>로 글자를 표현해서색을 넣는 것은 <span style>로 해서 색을 넣었다.더 다양하고 많게 적용하는 방법은?궁금하지? 궁금하다고 해...자 아래와 같이 일단 작성을 해서 꾸며보자.어... 음 김ㅊ... 내가 굳이 이걸 적어야되?귀차니즘을 해결을 위한 위키백과를 키자구!아 복붙 편안해...아참 줄 바꿈은 <br> 잊지마!이런 식으로 잘나오는지 확인!(확인이나 테스트는 개발자에게 필수야)자 그러면 저번에 했던 style을 설명을 해줄게이건 꼭.......

HTML CSS list [내부링크]

이번에도 CSS의 간단한 리스트 형식을 꾸며보자.앞서배운 CSS와 같지만 한번 해보는 거다.간단하게 리스트를 만들어서class를 설정한대로 지정한 것만 바뀌게 스타일을 바꿔보자.앞에 리스트가 항상 검은색 원이었는데 circle을 하면 원모양으로 이쁜 원이다...이쁘다해야겠지??ㅋㅋ이번에는 ol을 한번 재미삼아 만들어보자.(사실 그냥 하고 싶었다....)이번에는 앞에 원이나 숫자가 아닌 이미지도 넣을 수 있다.간단하게 만들고확인부터 한뒤이제 설정을 해보자.설정은 list-style-image가 있는데 url경로를 설정해주면 완료라고 생각하겠지만list-style-position을 inside를 해줘야 적용된다.ㅋㅋㅋ.....라이언ㅋㅋㅋㅋ이미지를 애초에 작게 만.......

해피빈 - 네이버 콩 날리지 말자! [내부링크]

마침 알림으로 이번달 300원이 사라진다고 한다.그래서 날리느니 좋은의미에서 해피빈에 기부를 했다.물론 내가 300원이 왜 있는지는 모르지만없어질꺼 좋은의미에서 티끌모아 태산이라고 도움을 보태자!

Javascript Visual Studio Code설치 [내부링크]

일단 앞서 메모장에 테스트를 해보았지만Visual Studio Code 만한 것은 없다.위 링크로 가서 다운을 받아라.다운을 받고 실행을 하면위와 같이 extensions가 마켓이다.이곳에서 Live Server와code Runner를 받는 것을 추천한다.이유는 위 링크에 설명되어 있는 HTML로 보려고 한다.웹브라우저는 꼭 크롬을 추천한다.호환성이 좋고 당연히 구글이 짱이기에 말하는 것이다.

HTML column [내부링크]

이번에는 column을 해보겠다.줄을 맞추거나 약간 신문처럼 보는 것인데간격을 조절하거나 옵션이 다양하다. 한번 해보자.우선 위와 같이 아무거나 입력해봐라.위키피디아로 편하게 가져오자.음 잘된 것을 볼 수 있다.이제 적용을 해보자.우선 복습차원에서 글씨를 바꿔보자.나는 고딕으로 했고 만약 없으면 굴림 없으면 맑은 고딕으로설정했다.사실 고딕체를 깔끔해서 좋아한다.아무튼 다시 알아보자.위와 같이 크롬 브라우저에 설정하는 column이다.위와 같이 적는다면이렇게 이쁘게(?) 신문처럼 정렬이 된다.그리고 파이어폭스 웹브라우저는 위와 같이 적는다.나는 파이어폭스를 리눅스(OS)를 사용할 때 말고는 윈도우(OS)에서는 사용하지 않는.......

HTML image + 웹브라우저 테스트 [내부링크]

이번에는 간단한 복습겸 라이언 놀기(?)를 해보겠다.그리고 웹브라우저로 어떻게 보는지를 간략히 알아보는 시간이다.우선 라이언을 소환하자.곰 세마리!ㅋㅋㅋㅋㅋㅋㅋㅋㅋ언제봐도 정들어서 안 볼수가 없다.자 이번에는 margin으로 위 아래 좌 우의 폭을 조절해보자.우선 margin의 순서는 top right bottom left로 시계방향으로 생각하면 된다.위쪽 폭, 오른쪽 폭, 밑에 폭, 왼쪽 폭으로 알면 된다.하지만 이걸 브라우저로 어떻게 볼까?우선 잘 되는지부터 확인을 해본다.단축키 f12를 누르던지 우클릭 검사를 누른다.그럼 이창이 뜰껀데 마우스를 잘봐라!body의 이미지로 들가야 폭을 얼마나 설정 했는지 보인다.우선 다 열어서 이미지를 찾았.......

HTML layout [내부링크]

이번에는 css의 layout을 살펴보자.layout중에서도 배치를 조절하는 간단 css를 살펴볼꺼야.우선 박스 두개를 만들어서 이리저리 만져볼꺼야.우선 만든건 확인하고~(이제 실행하면서 확인하는건 센스....)(넌센스? 미안...)우선 박스 사이즈부터 조절하는 것을 알아야되~box-sizing에서 content-box를 하면이제 옵션으로 width로 다룰 수 있는데컨텐츠 영역의 너비와 크기까지 합쳐가지구 width로 조절할 수 가 있어!우선 저장하고 Live Server로 보면F12 혹은 우클릭 - 검사를 눌러서 box1의 옵션을 봐크기가 파란색 부분인데반이 잘려있지?반면에 box2는 어떨까?엄청 크지?이것처럼 영역을 좁혀서 다른 내용을 넣기 위해해주는 요소라고 보면되.......

HTML Form(feat. GET, POST) [내부링크]

이번에는 Form을 데이터에 전송을 위한 get과 post로 만들어보자.GET과 POST는 서버에 보내는 방식인데 차이가 있다.일단 클라이언트에서 사용자가 입력한 정보를 서버로 전송할 때 사용하는데GET은 서버에 정보를 조회하거나 읽을 때 사용 주소창에 정보를 전송하는 소규모데이터 전송으로 1024byte로 제한한다.대략 내가 무슨 여행사사이트를 볼 때 동남아 여행지를 보면 동남아가인터넷 주소창에 보인다.하지만 이건 보안에 취약해서 이러한 조회나 검색외에는 숨기는게 좋아서POST방식이 있다.POST는 서버의 정보 변경이 있을 때 우리가 만약 결제를 하거나 장바구니에물건을 담는 개인적인 정보 혹은 로그인 정보 등을 보이면 안된다. 그.......

HTML Form2 [내부링크]

이번에도 더 많은 옵션을 알아보자.여행날짜 형식도 만들 수 있다.바로 날짜를 선택하는 것을 만들어2개를 만들면 시작과 끝을 하는 형태로 만들 수 있다.이번에는 입력 형식에 옵션이 있다. 밑을 한번 보자.autofocus required는 무조건 아무거나라도 입력을 해야 오류가 안난다.입력을 안하면 알려준다.어디.. 아 제출을 안 만들었다. 만들러 가자!(...하..)입력을 하면 잘된다. 앗 위에 주소창에 GET방식으로 ... 전에 작성할 때는 안되서열받았는데...갑자기 이러면...아무튼 이번엔 입력없이 전송을 해보자.입력하라고 명령질을 해댄다.(너란 녀석 매력있어)ㅋㅋㅋㅋㅋ자 이제 정신차리고 다음으로 넘어가자.이번에는 placeholder인데빈칸.......

HTML Form_input 형식 [내부링크]

이번에는 로그인창이나 숫자를 위아래로 조절하는창의 형식을 만들어보자.위와 같이 일단 기본 세팅을 하고나서우선 <fieldset></fieldset>을 만든다.fieldset은 네모칸을 만든다고 보면된다.일단 우선 만들어서그 네모칸에 제목을 붙일 수 있다.바로legend를 사용하는 것이다.제목을 붙이고이제 아이디와 비밀번호창을 만들어야 되는데일단 아직 실행은 안하겠다.왜냐하면 그냥 네모와 칸을 만들었는데 확인은 좋지만난 (귀찮)다.위와 같이 아이디와 비밀번호 자리를 만든다.내가 작성할 때 주석을 이용해 메모를 하는 이유가만들때 확인이 편해서다...(파이썬 딥러닝 개발 습관....이해바람)위치와 갑자기 떠오르는 생각에 적어놓.......

HTML anchor(앵커) [내부링크]

이번에는 앵커에대해 알아보자앵커는 웹 문서가 만약 엄청 길때각 글에다 고유번호 ID나 class를 붙여놓고클릭하면 해당 고유번호 ID나 class로 가는 링크로 만드는것을 앵커라고 한다.위의 기본 작성 방식을 아는 가정하에 앵커를 적용할 것이니모르면 위의 링크를 한번 보고 익히고 와라.위키피디아처럼 간단하게 제목과 그 내용을만들어보자.그 위에 바로가기 앵커를 만들어서쉽게 갈 수 있고 쉽게 돌아오도록 만들어보자.앵커는 간단하게 위와 같이작성을 하는데 <ul id="title>로 하는데id가 고유번호로 나는 title로 지정했다.그리고 그밑에 오토바이라는 링크를 만드는데 #content1이id가 content1로 가라는 링크다.그.......

블록체인 국비개발 과정을 들으며... [내부링크]

12월 21일부터 국비과정인 블록체인 개발과정을 듣게 되었다.과정은HTML + CSSJavascript(끝날때까지 계속)Node.jsReact블록체인 Dapp 개발 등으로 이루어져 있다.월 화 수 목까지 들었는데 월은 OT 목은 크리스마스 이브로 국비 듣는사람들이랑 친해지는 시간을 가졌다.화 수 그리고 다음 30일까지 HTML + CSS를 빠르게 한 후Javascript로 시작하니 복습 안하면 도저히 따라가지 못할양이다....하지만 하고나면 뿌듯하면서 내가 성장해 있겠지?10개월 중 이제 일주일 지났다....기대한다 미래의 블록체인 개발자로!

블록체인이란? 국비를 준비하며 [내부링크]

블록체인 국비과정을 듣기 전에 사전 지식을 쌓아야 한다.내가 블록체인 과정을 위한 지식은 가산점을 얻을 수 있기에공부를 해야 한다.우선 내가 얻은 지식으로는블록체인 톡방에서의 유튜브를 하는 사람의 영상을 보고제일 설명을 쉽고 간편하고 재밌게 한다 ㅋㅋㅋ그래서 이와 같은 영상을 추천한다.우선 내가 엄선한 베스트 영상은 아래와 같다.유튜브로 들어가서 '코린이 유치원'이라고 치면많은 영상이 있다.특별히 정리를 해주자면1. 블록체인(비트코인과 블록체인 설명)2.더 나아가 요즘 트렌드인 Defi 설명이런식으로 되어있다.그리고 또한간단한 영상이 있다. 즉, 학원에서 추천을 해준삼성 SDS 유튜브 영상이 있다.......

내가 배우려는 Dapp과 일반 App의 차이점 [내부링크]

내가 현재 배우려는 국비의 블록체인 개발과정 중 Dapp이라고 한다.app은 앱인데 왜 Dapp 일까?바로 블록체인을 적용해서 차이점이 있다.무엇일까?일단 블록체인 개념이 없으면 아래의 링크를 보는 것을 추천한다.<차이점>또한 다른 방면으로 풀어서 해석을 하면1.탈중앙화디앱은 '탈중앙화' 성격을 지니고 있다. 일반적인 앱은 중앙화된 관리를 통한 방식을 사용하며 중앙 서버가 직접 관리한다. 그래서 관리자 기업이 정보를 소유하는 구조다. 반면 디앱은 블록체인 기술을 이용하여 중앙 서버 없이 정보를 분산해 저장하고 구동한다. 오픈 소스 구조, 개방형 운영체제를 바탕으로 모든 사람에게 제한 없이 제공된다.2.위.......

HTML 기본 명령 구조 [내부링크]

일단 HTML은 <>로 열면 </>로 닫아야 한다.구조는 앞서 말했듯이위를 읽고 오면 좋다.간단하게 나는 HTML을 doc로 쳐서 비쥬얼 스튜디오 코드만의 장점을이용해 간단하게 만들겠다.우선 아무 html파일을 만들어라.기억안나면 위 링크로 파일명.html이라고 설명한 부분을 봐라.그러고 doc를 쳐서 완성해라.그리고 위와 같이 복습차원에서 탭을 수정해봐라.실행은 당연히 파일을 적으면 Ctrl + S를 하여 저장을 하고 우클릭해설치한 Live Sever로 실행해보면잘된다. 웹브라우저 상단에 시작이라고 적었는데 잘 뜨는 것을 확인할 수 있다.나는 크롬을 쓰는 것을 추천한다. 지원은 크롬이 항상 존나 짱이다.하지만 잠시 블로그 쓰는 건.......

꿈의 도전? 미래의 나에게 [내부링크]

나는 처음에 대학교 1학년 때 C언어, JAVA를 공부하는 것이 재미가 있어개발을 공부했다.하지만 군대를 갔다오고나서 다시 잊혀졌다.그러고나니 Python이 흥하면서 더불어 머신러닝 거기에 더불어딥러닝이 흥하면서Python 영상처리 딥러닝을 깊이 공부하며 지식을 쌓았다.더불어 클라우드 기술도 접하고 싶어서 리눅스, 윈도우, AWS를 부분적으로 보며 서버공부와 CCNA의 네트워크 부분을 보았다.중간에 영상처리 딥러닝 개발자에 스카웃 되었지만 연봉이나 부분적환경때문에 가지를 않고 2021년 2월 졸업 예정으로국비지원을 알아보게 되었다.그러던 중 내가 항상 관심이 있던 블록체인 기반 공부를 접할 수 있게 되었다.아예 언어가.......

Javascript 환경 만들어 간단 테스트하기(준비물 : 윈도우, 컴퓨터, 마우스, 키보드) [내부링크]

준비물은 간단하다.웹브라우저(크롬, 인터넷 익스플로러 등)이 있다.거기에 메모장만 있으면 된다.메모장에 <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> </head> <body> <script> alert('Hello world'); </script> </body> </html>위와 같이 작성을 하는데alert('Hello world');는 자바스크립트이고나머지는 html언어이다.앞으로는 <script>와 </script>사이에 실습을하는 것이다.한번 테스트 해보자.위와 같이 메모장을 켜서위와 같이 작성을 한 뒤다른 이름으로 저장해서 원하는 위치에 원하는 파일명.......

HTML 간단 정리 [내부링크]

HTML은 일종의 확장자 파일이나 다름없다.웹 브라우저에 HTML 확장자 파일을 넣는 거나 다름없다.즉, 우리가 쓰는 크롬이나 인터넷 익스플로러 등 일반적으로보이는 것이 HTML파일로 열리는 것이다.HTML은 간단하게 개발도 되는데 메모장이나Visual Studio Code등을 이용해 간단히 개발을 해서웹 브루우저에 띄운다.다른 언어와 달리 HTML은 설명할 필요가 없다.그냥 웹문서 즉, 서류 종이라고 보면 간단히 이해될 것이기에HTML은 옵션이나 꾸미는 디자인 부분이 많기에디자인 감각?(남자는 일단 보통 꽝)이 필요하다.하지만 이걸 코딩으로 오해를 하는데 전혀 아니라고 말하고 싶다.그냥 작성하는 hwp나 워드 작성하는 것과 같다.하지만.......

HTML 환경설정 및 기본 설명 [내부링크]

HTML을 Visual studio code로 작성이 가능하다.비쥬얼 스튜디오 코드에서 바로 HTML을 작성이 가능하기에Visual studio code를 받아보자.아래 링크로 쉽게 다운받아라.설치를 하면 그냥 다음 다음으로 다 설치해버려라.설치를 하고 나서 실행을 하면좌측에 다섯개가 보일껀데 노란색을 칠한 곳이일종의 확장자 마켓이라고 봐라.즉, 커스텀마이징이나 더 편하게 해주는 파일들이있는 곳이다.그곳을 클릭하여korean으로 쳐서 비쥬얼 스튜디오 코드를 한국어로 해도 된다.영어가 편하면 안받아도 상관이 없다.그리고 Live Server를 받는데바로 HTML을 테스트하는 웹브라우저를 켜준다.즉, 존나 편하다. 개꿀템이다.이러고 이제 테스트를 해보자.위.......

DISTINCT [내부링크]

DISTINCT는 중복 값을 제외한 결과값이 출력하는 것이다.일단 중복 값을 어떻게 다루기 전에데이터가 있어야 한다.이건 데이터를 직접만드는 것이니 아직 몰라도 된다.위와 같이 테이블을 만든다. 첫번째 줄이 테이블을 만드는 것이고그 안에 데이터 값을 넣는 것은 insert다. 일단 위와 같이 적고 각각의 용어나사용법은 아직 몰라도 된다. distinct를 사용하기위해 만드는 과정일 뿐이다.그리고 insert를 통해 데이터 값을 넣는다.하지만 주의할 점은 마지막에 commit을 해야한다는 것이다.그래야 끝을 안다고 보면 된다.이제 앞서 배웠던 selct 모든 것을 하는데 T1우리가 만든 것을 불러오자.위와 같이 잘된다!자 이제 bcolor를 조회를.......

설문지 만들기 ppt [내부링크]

기타라는 항목은 제가 수집 중에 확실한 설문지만을 원하며원하는 데이터 수집을 위해 기타항목은 제외하고 만들었습니다.

끄적끄적 [내부링크]

도전해봤자 아무도 몰라준다. 기록을 남겨라... 그게 너의 유일한 지식을 증명해준다.미련은 안해봤지만 후회는 해보고 후회한다. 후회를 선택하자.선택은 너가 안했지 부모님이 안해준건 아니다.

Javascript 소개(Feat. Node.js 부가 설명) [내부링크]

자바 스크립트란?웹브라우저라는 소프트웨어들을 프로그래밍적으로 제어하기 위한 것이다.웹브라우저는 흔히 우리가 쓰는 인터넷 익스플로러, 크롬, 파이어폭스, 사파리 등각종 인터넷창이라고 말하면 쉽다.중요한 것은 프로그래밍적이란?나는 C언어, JAVA, Python 이런 것들을 배웠는데 프로그래밍 언어로 다룬다고 보면 된다.약간 동적이라고 보면 된다.만약 코드릴 적었을때 오류가 났을때 창을 띄워 오류메세지를 준다는 등각종 알림이나 창을 띄우는 것도 동적이라고 보면 된다.동적은 움직인다라는 건 기본으로 알지 않는가?버튼을 우리가 네이버나 아무데나 클릭하거나 검색을하면 창이 바뀌는 동적상황이일어난다. 자바스크립트.......

OpenCV 사진, 영상 틀기 [내부링크]

이미지를 색깔과 회색으로 틀기영상 fps를 구해서 영상을 틀기

OpenCV 카메라 켜서 사진 촬영하기, 영상 녹화하기 [내부링크]

(영상은 지못미로 보여주는 것을 생략합니다)

데이터 SQL [내부링크]

PostgreSQL을 다운로드 한다.확장성과 무료라는 큰 장점이 있다.download the installer를 클릭한다.그러면 윈도우 버전으로 최신꺼로 그냥 설치하면 된다.이제 설치를 시작 하며 다음을 누르며 비번을 설정하는 단계에서슈퍼유저 비번을 설정하는데 이건 1234나 기억하기 쉬운걸로 한다음포트번호가 나오는데 디폴트인 5432로 하고 넘긴다.Advanced Options에는 korean, korea로 바꾼다.그러고 넘기면 설치가 된다.설치다되면 체크를 해체하고 완료하면 끝.

sql 서버 실행 및 창 띄우기, 설치 [내부링크]

위와 같이 실행을 한다.(설치 된 버전은 11이다.)실행을 하면 위와같이 뜨는데 이것이 데이터베이스 브라우저 창이라고 한다.일단 왼쪽에 서버를 클릭하면 비번을 입력하라했는데 저번시간에 설정한 1234를설정한다.11 서버를 클릭하면 위와 같이 창이 뜨는데 왼쪽에 우클릭 하여 쿼리 툴을 실행한다.지금 뜬곳이 sql을 실행하여 우리가 sql의 각종 명령어 들을 입력하면 된다.위와 같이 입력하고 ctrl + a로 전체 지정한 다음 f5를 눌러보자.그러면 오른쪽 아래에 초록색 알림이 뜨고 시간을 알려준다.그리고 밑에 data를 만들어서 data라고 변수가 나온다.여기까지가 기본 실행창 여는 것이다.이번에는 sql을 샘플을 데이터를 찾아 넣어보자.......

DBeaver 설치 및 대략 파악하기 [내부링크]

위 사이트에 들어가서 다운을 받는다.다운이 잘된 것을 볼 수 있다.실행을 해보자.왼쪽 위 +버튼을 누르면 위와 같이 창이 뜬다.Host에 자신의 아이피 주소를 알리는 127.0.0.1을 적거나 localhost라고 하면 된다.위와 같이 다운 한 패키지 dvdrental을 적고비번을 입력한 후왼쪽아래의 Test를 누른다.그럼 잘 된 것을 볼 수 있다.위와 같이 안에 정보도 볼 수 있다.앞에 설치한 코끼리 모양의 postgreSQL보다는 보기가 쉽고 다루기가 쉬워 보인다.위와 같이 실행창을 SQL의 콘솔창을 띄워 한번 보자.위와 같이 적고 ctrl+A한뒤 이건 ctrl+Enter이다. 아니면 왼쪽에 재생 버튼을 눌러라.그리고 여기서 밑에 데이터가나오면바로 엑셀 파일로 만들.......

SELECT, FROM, order by [내부링크]

오늘은 SELECT랑 FROM문을 살펴보자.쓰는방법은SELECT 원하는 파일 속성값 1, 원하는 파일 속성값 2, .... FROM 데이터베이스 이름으로 사용된다즉, 쉽게 설명하면외국은 성/이름을 성은 항상 뒤에 이름을 앞에 적는다주소도 마찬가지다예로 부산광역시 수영구 무학로 (건물) (호수) 등으로 적으면외국은 (호수) (건물) 무학로 수영구 부산광역시 이렇게 적어야 된다그럼 저 위에 SELECT문도 가져와야할 데이터베이스의 일단 제목을 FROM에적어서 가져오는 데이터베이스에 고객이름, 번호, 전화번호 등을 가져오고 싶은 것을 적는다.한번 해보면서 눈으로 익히자.우선 위와 같이 나는 데이터가 하나 있다. 거기에서 일단 먼저 데이터 구조를.......

얉은 신경망 구현 [내부링크]

위의 링크의 수학적 이해를 적당히 했다면 구현해보자!위와 같이 6번에는 num_hidden이 num_input앞에 있는 이유는 뒤집어지기때문에 순서를 저렇게 넣는다

경사하강 학습법 - 메모 [내부링크]

지도 학습, 비지도 학습은 아래 링크를 통해 설명을 더 자세히 볼 수 있다그리고 위와 같이 학습모델 즉 우리가 앞서 배웠던만들었던 모델에 학습할 데이터를 넣고 학습을 시키는 것이다

최적화이론, 경사하강법 [내부링크]

위와 같이 최적의 최소값을 구하려면이렇게 하는 것이 있다 중요하기도 하지만 초보자의 입장에선 잘 헷갈리는 부분이다 일단 밑에를 먼저보자위의 그래프에 분석적은 기울기가 0이되면 최저점이 나온다기울기를 그을때 0이면 어떻게 긋는가? ㅡ 라고 긋지않는가그럼더이상 내려가지 않는다고 생각하고 최저점의 후보로 뽑아서계속돌리면서 기울기가 0 을 찾는 것이다 그럼 이걸어떻게 수식으로 만드는가?일단 전역과 지역을 나눠서 찾는 방법이 있다 근데 전역인지 지역인지데이터 상에는 그래프가 끝까지 나오지 않는 이상 보기는 어렵다일단 이해를 그냥 했으면 바로 수식으로 가보자위의 수식은 처음에 1-D가 일반 우리가 배우는 수학공식이.......

통계적 추론 [내부링크]

집단을 나누는데 추정이 필요하다 우리가 앞서 가설을 세운다고 할 수 있다표본집단을 가지고 모집단의 가설을 세운다고 보면 된다 즉 추측이다주로 구간 추정을 많이하고 우리가 앞서 배웠던 p-value의 결과에 따라 또 나누는 것을 볼 수 있다 아래를 보자밑에 링크와 위의 사진을 확인하면서 가설을 귀무가설과 대립가설을 세우고맞는지 확인하며 결과에따라 귀무인지 대립이 맞는지 확인하자

심층신경망 [내부링크]

심층 신경망은 대략 2~3개 이상의 은닉계층이 있다는 것을 말하지만 정확한 범위는 없다 개발자가 어떻게 부르느냐에 그냥 심층인지 얕은인지 정하면 된다

Klay, 클레이, Klaytn, 클레이튼, 카카오 블록체인, 카카오 코인 [내부링크]

오늘은 카카오 블록체인인 클레이를 알아보자!클레이튼이지만 클레이 코인으로 읽는다각종 거래소보다현재 8월 9일자 기준으로 코인원이랑, 지닥, gate.io, 싱가포르, 인도네시아 업비트에 상장 되어있다왜 이게 유명할까?바로 디파이다 우리가 아는 이더리움 2.0과 같은 탈중앙화 금융인데클레이는 이 것을 기준으로 개발을 했다회사는 그라운드 X로 카카오 블록체인으로 카카오 회사꺼이기도 하다하지만 왜 ? 이것이 유망한가 ?다른 블록체인 같은 경우 연동하냐 뭘 하냐 자체적으로는 실험이나 적용하기는 준비가 되어 있지 않다 반면에?우리가 국내에서 다 사용하는 카카오톡, 카카오뱅크, 카카오택시, 카카오T, 카카오 스토리, 헤이 카.......

다중 클래스 [내부링크]

위는 우리가 라벨을 얻을 때 사용하던 변수다 여러 개 중에 정답을 찾아서 정답에 1이나오면 그게 정답이다softmax는 다중분류sigmoid는 이진분류인데 두개가 쓰이는 경우가 있다하나는 x값으로 들어오고 하나는 0으로 들어오는 경우는 0으로 그냥 보낸다위는 정답을 근소하게 만드는 역할로 처음엔 - 0.6 log지만 -0.8 log로 바꾸면서더 정확해지게 만드는 것이다라는 정도만 알자

R프로그래밍과 머신러닝의 이해 [내부링크]

머신러닝이란 파이썬을 배우고 더 나아가 호기심이 있다면 알 것이다분석하고자 하는 데이터를 모델에 넣어 결과를 얻는 것이 머신러닝이자딥러닝이라고도 할 수 있다그리고 정답의 유무에 따라 학습하는 것을 지도학습, 비지도 학습이 있다지도학습은 위와같이 데이터로 학습을 하면서 정답이 있는 것이다왼쪽에 파란표가 만약 데이터로 학습을하면 그 답은 오른쪽 노란색 표에답이 있는 것으로 이것은 이것이다 약간 주입식 교육하는 듯한 지도학습이라보면 된다반면에 비지도 학습인 경우 데이터에 답이 없다정확하게 말해서 연관성이 있느냐를 찾아내는 것으로분석하는데 답이 없으면 비지도이다정답이 없어서 결과에 따라 그것이 정답이 될.......

머신러닝? 확률? [내부링크]

우리가 머신러닝의 대표적인 예는 넷플릭스 추천 VOD이다아니면 sns에서 우리가 웹페이지를 본 것을 기반으로 관련된 광고서비스를 많이 쓴다User기반추천과 Item기반추천이 있는데 유저는 그 영상을 본 다른 유저의 데이터를 수집해 그다음 본 VOD기반이다 그리고 Item기반은 그냥 특성 즉, 유형이 비슷한 것을 추천하는 것이다 왠만하면 두개 다 이용해서 평균을 내서 제공하는 게 좋을 듯 싶다확률은 솔직히 모 아니면 도라는 말이 있다일단 동전이 두개가 있을때 나올 확률을 구한다면 그 확률을 컴퓨터는 어떻게 이해할까?위는 그냥 확률을 구하는데 설명은 생략하겠다조건부확률은 어떤 사건이 발생했다는 가정하에 조건확률을 구하는데 위.......

tf.data로 load image와 batch를 만드는 과정 [내부링크]

이번에는 이미지를가져오는 과정에서 tf.data로 앞에서 배운 것보다 간편하게만들수가 있다 한번 만들어보자129번처럼 일단 파일들을 왕창 들고오자들고왔으면 일단 간편한 함수 즉, 파일을 가져와서 그림이 나오도록파일을 변환하자 130번처럼 함수를 통해 간편하게 만들고이제 파일들을 적용하려하는데 tf.data를 이용할 것이다131번에 하나씩 일단 차분히 처리하도록 slices함수를 사용한다그리고 map은 앞에 받아온 것을 오른쪽 ( ) 안에 함수를 적으면그것대로 처리를 해주는 함수다이건 하면서 익혀라함수를 만들고 map( ) 안에 써 넣는 것이다132번에 나온 것처럼처리를 했다면 next( iter ( ) )로 일단 하나를 빼와서 출력해보자이것으로.......

딥러닝? 개념 되짚기, 역사, 딥러닝 구조 독파해버리기! [내부링크]

인공지능 안에 기계학습 안에 딥러닝이 있다인공지능은 기계가 사람의 행동을 모방하는 기술의 분야기계학습은 일일이 코드로 명시하지 않은 동작을 데이터로부터 학습하여실행하는 알고리즘을 개발하는 분야딥러닝은 기계 학습의 한 분야인 인공 신경망에 기반하여, 많은 양의데이터를 학습해 뛰어난 성능을 이끌어내는 연구분야반면 빅데이터는? 딥러닝 연구에는 다루지 않는 부분이고데이터베이스관리하고 저장하며 유통하고수집하며 시각화하고 통계를 분석하고데이터를 얻어내는 쪽으로 약간 골고루 분포해 있다고 보면 된다그런데 왜 딥러닝이 다르고 특별할까?위와같이 머신 러닝은 특징을 추출하고 벡터를 내며 분류를 한다머.......

딥러닝의 인지도와 서비스, 딥러닝 전망 [내부링크]

위와 같이 머신러닝을 뛰어 넘었다 그리고 뛰어넘은 순간이 있는데 뒤에 알파고가날뛰었을때이다그러면서 다시 낮아지면서 차츰차츰 오르고 있다벡터머신은 머신러닝으로 뭐든지 머신러닝으로 해결하고 있었지만딥러닝이 2012에서 AlexNet이 우승하면서 나오면서우세는 뒤집게 되었다최근에는 우리가 위와 같이 아는 텐저플로우와 파이토치가 있다파이토치는 솔직히 진입장벽이 좋은게 파이썬으로 다해결하며 GPU로 하며간편하게 되어있다 그리고 유연하며 연구활동에 좋은 반면에텐저플로우는 다양한 플랫폼으로 사용이 되며 c++나 여러가지 방면으로사용이 되며 다양하게 적용을 할 수 있어서 산업계에서는 파이토치보다많이 쓰인다거기다가 위.......

얕은 신경망 정의, 분류와, 회귀, 수식 [내부링크]

얕은 신경망의 구조는 일단 그러려니 하면서 이해하기만 하자아직은 자세히 알 필요가 없다신경망 구조는 입력은 수상돌기 출력부분이 축살돌기에 해당한다입력을 받을때는 가중치를 곱하고 더하는 리니어 연산으로 되어있지만중간에 활성함수를 거치게 되는데 비선형 특성을 가하는 것이다즉 선을 그을수가없다면 활성함수로 가능하게 되는 것이다여러개를 입력받아 활성함수로 출력하는 형태가 뉴런이라고 할 수 있는데오른쪽에 노드는 단일뉴련연산 엣지는 뉴런의 연결성을 말한다서로 뉴런들이 연결되어있어 출력을하면 인공신경망이라고 칭한다위와 같이 모든 경우의 수가 연결되어 있으면 Dense Layer라고 한다뉴런이 서로 연결되어 있으면.......

회귀 문제, 이진 분류 문제 [내부링크]

일정하지 않은 데이터 값들을 이어주는 것을 회귀라고 하는 것을 앞시간에말했다가장 좋은 데이터 즉, 기울기와 절편을 찾는 것이다에러를 내고 제곱을 한뒤 평균을 찾는다는 의미도 된다우선 평균제곱에러로 해본다 위와 같이 10.5와 3.6으로 추정하면 5.8이 나오고 좋은 알고리즘으로 계산하면 1.2의 오차가 나지만 5.8보다는 작다그래서 점점 나아지면서 어떻게 수학적으로 표현할 것인가를 MSE인 평균제곱오차를 사용하자직선이 평면이되고 평면이 초평면이 된다는 점으로 일단 알자x에서 선이 조금애매하다 하지만 은닉으로 계산되면서 선을 긋기 쉽게 된다그럼 그 이어진선이 회귀곡선으로 x가 완성된다이진분류를 알아보자위의 데이터를.......

파일로 가져와서 학습시키기 위한 데이터로 변환하기 [내부링크]

위와 같이 일단 61번까지는 앞에서 했던 내용이라 두번 설명은 생략하겠다일단 전체 파일로 받아서 data라는 변수에 담자이번에는 데이터를 다른 방식 즉, tensor로 바로 받아오는 함수가 있다여러가지 방법이 있지만 난 개인적으로 64번 방식이 마음에 든다여기서 66번처럼 바꾸는 것이다그럼 plt로 출력하기위해서는 당연히 채널을 없애서 출력해야 된다이번에는 데이터를 받아서 이제 데이터를 하나가지고 여러개로 변형해보자예시로 만약 위에 설명을 적었지만 컴퓨터는 우리가 특징을 잡을때 선을 잡지인식은 하지 못한다 즉, 내가 앉아있으면 앉아있는 것을 특징으로 잡아서나중에 test때는 내가 공중부양하거나 내가 점프하거나 눕거나 작.......

숫자 데이터가 아닌 특정이름을 가진 데이터 다뤄보기 [내부링크]

이번에는 0과 1 등등 숫자로된 데이터가아닌 특정 이름을 가진 파일들을 만져보자위와 같이 일단 각종 데이터가 들은 파일을 가져오자우선 18번처럼 데이터가 방대하다19번으로 한번 보면은 forg 개구리만 가져오고 싶다그전에 os의 함수들을 보자20, 21, 22 를 보면 20은 파일 이름만 가져와준다21은 디렉토리 이름들만 가져온다22번은 만약 ( ) 안의 이름처럼 되있다면 true 아니면 false가 나온다이건 중요하지 않으니 20, 21로 만들어보자26번처럼 간단하게 만들 수 있다파이썬 기초 함수라서 설명은 생략한다만든 것을 토대로 함수로 만들어 버리자위와 같이 27번 처럼 만들자적용해보면 잘되는 것을 볼 수 있다이제는 추출을 했으니 각각 들.......

Data Frame 생성 with pandas [내부링크]

이번에는 깔짝 맛보는 엑셀이나 csv로 만들어보자107번처럼 다적을 필요는 없다일단 데이터를 딕셔너리 형태로 만들어보자 108번처럼딕셔너리 형태로 적고 그다음 줄인 pandas를 사용하려면위와 같이 pandas.DataFrame(데이터)를 넣으면출력과 같이 엑셀형식으로 보여진다109번 처럼 일단 파일들을 가져오자한방에 다해버리게 한방에 glob로 들고오자110번의 함수는 파일을 가져오면 주소가있는 파일로 받아온다 그러면클래스 이름만 추출하는 함수로 만든다 그러면111번처럼 추출한 것을 다른 리스트에 넣어서 만들자그러고 나서 왼쪽에는 주소가있는 파일이름 오른쪽은 추출한 클래스 이름으로엑셀을 만들어보자 113번처럼 적으면 한꺼번에 들.......

Data frame(csv파일)으로 모델에 학습시키기 [내부링크]

앞에서 만든 csv파일을 이제한번 불러와서 모델에 학습시켜보자이번은 간단해서 좋다위와 같이 csv파일을 변수에 넣을려면 pandas의read_csv를 부르자그리고 csv파일을 보려면 head() 나 tail로 일부분 보면서잘 받아왔는가 확인하자그리고 위와같이 다른 점은 없다 121번은 배운 것이라 생략하고 122번이flow_from_dataframe이라고 한다여기서 x축과 y축을 정해줘야 한다우리가 엑셀에서 119번에 보면 x_col과 y_col을 설정하는데x_col은 원래 이름 y_col은 우리가 추출해낸 것을 넣는다차이는 col을 적는 것 뿐이다그러면 50000개중에 클래스는 10개test는 10000개중에 10개를 찾아냈다성공이다그러면 우리가 자주만드는 cnn모델에 적용시키자.......

데이터화된 이미지의 이해 [내부링크]

이번에는 이미지를 가져와서 바로 적용하는앞시간에 배운 밑에 링크와 같이 있다위와 같이 가져와서 바로 tensorflow로 가져오면 편하다35번처럼 하면 된다 앞에서 한 내용이라 설명은 생략하고 간편하게정리한 것이다위와 같이 함수로 만들어서 적용을 해도 된다일일이 길게 적을 필요가 없고 미리 함수로 정의해놓자그럼 read_image라고 부르기만하면 알아서 이미지를 불러오고 열어서tensorflow로 변환해준다그럼 38번처럼 그냥 보면 된다배치도 제일 앞시간에 배운 내용이다그냥 데이터를 우리가 직접넣어서 어떻게 하는지 보여주는 것이다배치를 그냥 하나로 묶는 방법은 리스트에 넣는 것이다batch_images에 넣는다 그럼 하나씩 꺼내기도 용.......

Tensorflow 데이터 준비 및 정리방법 [내부링크]

오늘은 데이터를 예제처럼 되어있는 사진이 아닌만약 밖에 있는 사진 데이터들을 이용하려면?이라는 주제다우선 그와 관련된 os함수에서 가져오는 방법을 보자위와 같이 함수를 호출하는데 차이점은 os함수를 가져오며PIL은 이미 아래 링크를 통해서 배웠었고glob는 밑에 예시를 통해 설명하겠다우선 os.getcwd()는 주피터 노트북에서 실행된 파일 위치를 말한다우선 내가 C드라이브에 워크스페이스 안에 딥러닝 안에 파트3안에서 실행되고 있다는 것을 알 수 있다 리눅스에서 pwd인 절대경로의 위치와 유사하다는것을 알 수 있다우선 그 위치를 알았다면os.listdir()로 무슨 파일이 있는지 한번 보자위와같이 3번처럼 os.listdir()하고' &#.......

가설 검정하기 - t검정 통계량 구하기 [내부링크]

# 앞에 이어서# 값을 이용해서 t검정 통계량을 구해보자# 1.63으로 어떻게 판단할까?# t-분포를 이용한다# 하필 t-분포냐면 우리가 t 값을 구해서 t값이 t-분포를 따른다# 여기서 p-value < 0.05이면 귀무가설은 버리고# 대립가설을 채택한다# p-value란?# 귀무가설이 참이라고 했을때 표본 데이터가 수집될 확률이 낮다# p-value가 낮을 수록 대립가설을 채택한다# 즉, p-value가 낮을수록 귀무가설의 수집확률이 낮아 대립가설을 사용한다# 0.05나 0.01을 사용하는데 많으면 0.05로 대게 사용한다# 이번엔 분산이 다를 경우# 이런식으로 구할 수 있다# 여기도 p-value를 보면 숫자만 차이가 있지 가설은 변함이 없다는 것을# 알 수 있다

TensorFlow Training AI - expert와 Keras방법으로 구축하기 [내부링크]

우선 expert 방법으로 만들어보자 되게 복잡하지만한번쯤 해볼만 하다 위와 같이 필수 함수들을 불러오자54번은 늘 만들듯이 모델을 만들어 놓고55번은 데이터를 부르는데 채널을 위해서 shape를 하나 늘이고0과 1로 넣어야되서 255.0으로 나눠준다 255. 으로 나눠도 실수로 변하니둘 중 아무거나 사용해라59번째는 조각조각별로 넣는데 다시섞어서 학습이 되게 하는 것이다함수를 사용해 문제와 답을 넣어보자단 test는 섞을 필요가 없다 다 새로운 문제라서 굳이 섞지않아도 된다하기전에 우선 파일들이 잘 있나 시각적으로 한번 보자위와 같이 title에는 numpy를 안붙여도 되는데 오류가 뜬다면 .numpy를 붙이자 그러면 답과 사진이 잘 붙어서.......

PyTorch 기본 사용 [내부링크]

이번에는 TensorFlow말고 PyTorch를 사용해보자PyTorch는 비교적 사용이 간편하다하지만 TensorFlow 2.0이 PyTorch를 견제하면서 낸 듯한 느낌이 난다numpy나 tensor랑 똑같으니 그냥 끄적끄적 한것을 올린다설명은 생략한다 출력결과로 무엇인지 알 듯하다위와 같이 tensor랑 다를게 없다단지 24번처럼 무엇을 실행하는지는 알 수 있는 장점이 있다그리고 약간 간단한 느낌을 받는다 중요한 것은 이것도 배열이다그 부분을 유의하며 reshape도 사용이 되니 현재 우리가 배운 것들로보면reshape와 view를 잘 활용해보자

공부블로그 - PyTorch 공지 [내부링크]

제가 공부하면서 느꼈는데 tensorflow가 저에게 알맞은 것 같고이해가 잘되며 재밌습니다PyTorch는 하면서 처음부터 tensorflow를 먼저 배워서 그런지tensorflow를 공부해서 해보겠습니다 PyTorch는 더 이상 올리지않겠습니다 제 성격상 잘 이해하고 알고나서 블로그 글올리는 것이목적인 공부블로그라서 모르면서 억지로 올리기는 싫습니다죄송합니다Tensorflow를 열심히해서 ai도전하기위한 공부블로그를 만들겠습니다감사합니다이력서나 깃허브보다 전 제 머릿속에 넣는 것이 중요하고그것을 토대로 남을 이해시키고 싶습니다 감사합니다

Layer 층의 이해 - 2) [내부링크]

이번에는 모두 연결된 신경망을 아래와 같이 보자이렇게 많은 것이 있지만 따로 넣어주는 bias node값도 잇다일단 우리가 앞에서 배운 레이어들로 빨간색부분 들을 만들었다이제는 초록색 부분들을 하자위와 같이 Flatten은 이제 하나로 길게 만드는 것이다더작게 압축한다라고 보면된다하는 방법은 위와 같다37번처럼 적는데 명령어는 layers뒤에 머할지만 바뀐다이번엔 하나로 길게 합친다고 외우자하면은 shape로 봤을때 하나의 띠로 만들어진 것을 볼 수 있다40번에 3920이 나왔다그러면 계산해보면 위에 41번에서 28 곱하기 28 곱하기 5의 값인 것을42번에 테스트 해보았다정말 합쳐진 증거의 수치가 나온다잘되었다합쳐졌으니 이미지로 보.......

Model 구축 및 Optimizer 후 실전Training 시키기 [내부링크]

드디어 기본 신경망 구조 중 모델을 만들 수가 있다아직은 엉성하고 원리로만 만들지만학습하다보면 설정을 세세하게 하여 완벽하게 만드는 그날까지 복습을할 것이다요새 기본 샘플데이터도 다 그냥해서 되지만 간혹오류가 있다그 방법은 내가 트러블슈팅 100번정도 한것 같다왜냐하면 난 초보니까 ....ㅋㅋㅋ하지만 데이터부터 막힌다고 포기하면 되나?안된다난 그래서 타입도 바꾸고 차원도 바꾸고 결국 아래와 같이해결방법을 찾았다위와 같이 데이터를 받아오는데 세팅은 31번부터 38번까지해주면 된다 학습을 위해서는 차원을 하나 늘려야되서 33번처럼하나를 추가하며35번에는 float32가아니면 모델에 들어갈때 오류가 난다고 하거나아니.......

가설 검정하기 [내부링크]

# 데이터 속 의문 해결하기# 가설검정 - 가설을 검정(TEST)한다# 두 집단(파랑, 노랑)의 수입차이를 비교하기전에 가설을 세운다# 두 집단 수입차이가 없다 - 귀무가설# 노랑 집단 수입이 파랑 집단보다 높다 - 대립가설# <귀무가설># - 기존에 존재하던 가설# - 차이가 없거나 영향도 없음# - 분석가의 주장과 반대 가설# <대립가설># - 분석가가 새롭게 제시한 가설# - 차이가 있거나 영향도 있음# - 분석가가 채택하고 싶은 가설(나의 주장)# 대립가설에는 파랑색수입이 크거나 노랑색수입이 커서 차이가 있는데# 이것을 양측 검정이다# 그래서 두가지 비교보다는 한가지 노란색수입이 더 크다라 생각하고# 파란색수입.......

이상치 정제하기 [내부링크]

이상치는 값이 1이나 2만 오는데 3이 오는 논리적으로 올 수가 없는 값이나1~100정도의 값 중에서 혼자 200, 99999값을 가지거나 -100, -5 등유별나게 튀는 값들을 정제해보자우선 성별과 점수를 만들어보자성별은 1아니면 2로 하고 점수는 1~5만 오게 설정하는데 당연히이상치를 넣어보자 3이랑 6을 넣자그러면 위와같이 일단 데이터가 있으면 제일 처음 분석해야된다table로 이상한 데이터가 있는지 간략히 보자우리는 데이터가 크다고 생각하고 실습하는 것이다이상한데이터가 있다성별에 3이 1개 있고 점수에 6이라는 점수가 1개 있다이건 이상치가 있다는 것이다그러면 우선 두가지 방법이 있다 일단 처음은 이상한 값이면 NA라는 값을 넣.......

이미지 열기 및 수정하기 [내부링크]

이미지를 열고 수정하려면 일단 기본 함수들을 사용한다numpy와matplotlib.pyplot을 사용한다그리고 이미지를 열 수 있는PIL의 image함수를 가져온다위와 같이 1번째에 함수들을 적고 실행한 뒤(대소문자 구별잘하세요)이미지 파일을 열 것이다해당위치에 원하는 파일을 넣고 그 파일의 위치를변수에 넣자나는 data라고 넣었다여기에 이 파일 위치에 있는 이미지를 열어야 되므로함수를 사용한다대문자 구별을 잘하길 바란다Image.open(이미지넣은 변수)를 통해 이미지를 여는 것이다그리고 numpy에 새로 넣어서 차원으로 만든다이 세가지 규칙은 스텝 by 스텝으로 잘하길 바란다다 넣었으면 그 차원을 한번 보자shape로 보자보면은 3번째 실행된.......

Tensor의 이해와 사용법 [내부링크]

Tensor는 이미 설치해서 설치할 필요가 없다 아래와 같이 Tensor를 실행하자Tensor는 numpy와 같이 사용되서 사용할때 동시에 실행하는 것이 오히려편할 수도 있다위와 같이 2번째 실행한 것처럼 Tensor는 constant라고 하며np.array하듯이 tf.constant라고 하면 된다여기서는 numpy와 큰 차이는 없지만Tensor는 위에 2번 3번째 실행한 것을 보면 리스트와 튜플 형식으로 넣을 수가있다tensor도 4번째에 아무거나 만들고 shape를 하면 잘되는 것을 볼 수 있다그리고 numpy와 마찬가지로 data type이 있다6번째를 보면 잘 되는 것을 볼 수 있다하지만 변경방법은?우선 numpy 부터 복습을 하면 8번째 실행한 것처럼 만들때 바로 설정을 하고만들거.......

그래프, 이미지, Tensor 복습 및 Datasets 의 이해, Keras, MNIST [내부링크]

나는 항상 복습을 좋아한다정작 배워놓고 하나도 못하면 안되지 않나복습을 해보자설명은 생략하고 나의 메모장처럼 복습한 것을 보며모르는 부분은 다시봐라이제는 본격적으로 샘플 이미지를 받아오고 그것을어떻게 사용하는지 해보자위와 같이 16번에 필요한 함수들을 호출하자그리고 데이터가 있는 데이터를 불러오려면keras에 datasets를 불러오자케라스 창시자가 만든? 것을 드디어써본다...케라스안에 새 예제 파일이 있으니 한번 보자18번에 일단 데이터를 가져오자예제파일은 mnist라서 그냥 mnist라는 파일에 넣어보자그리고 이건 그냥 외우는 건데matplotlib.pyplot처럼 그냥 형식을 외워라19번처럼 하는데여기서 형식은 외우는데 변수.......

Layer층의 이해 - 1) [내부링크]

우리가 이번에는 레이어층을 만들어보자 함수는 일단 위와같이 늘 하던대로 해라일단 처음에는 데이터를 가져오자이미지를 받아오고 앞뒤에 차원의 수를 늘려 복습부터하자풀면 2~5번까지 푸는 내용이다여기서 이제 데이터의 특징을 잡는데Convolution이다여기서 특징을 잡아낼때 옵션을 정할 수 있다위와같이 적어놓은대로 만들 수가 있지만 6번이 기본 형태다Convolution을 하려면 6번처럼 tf.keras.layers.Conv2D를 하고위는 3개의 필터를 만들고 3x3의 사이즈를 만들고생략없이 일일이 보겠다를 설정한다그리고 패딩은 SAME으로 하는데 VALID하면 되게 커진다패딩을 꼭해야 보기가 편안하다이런식으로 일일이 적기보다는 7번처럼 생략이 가능.......

그래프 만들기 [내부링크]

그래프를 만들라면 numpy함수와matplotlib.pyplot의 함수를 알아야 한다우선 numpy를 장착한다음그래프 만드는 함수는 외워라import matplotlib.pyplot%matplotlib inline이렇게 두줄이다나는 numpy를 np로 matplotlib.pyplot은 plt로 줄이는 것이편해서 볼때 잘 보길 바란다우선 그래프를 만드려면 데이터가 있어야하니 아래와 같이 만들어보자2번째 실행된 곳에 보면 cumsum()이 있는데 만약 없는 채로 보면데이터가 숫자 영어 등 정리가 안되어 있다숫자만 뽑아오자그러면 이제 3번째 실행한대로 하면 간단한 그래프를 보여준다plt.plot(데이터)를 만든뒤에 plt.show()를 해야 그래프화된 데이터를시각화해서 보여준다이제는 그래프 만들기.......

집단 간 차이 막대 그래프 [내부링크]

이번에는 그래프를 집단 간 비교할때 사용하는 그래프를 사용해보자막대 그래프로 집단간 비교할때 눈으로 보기 편하게 볼 수 있다막대 그래프를 만들기 위해서는 첫번째로 집단별 평균표를 만들어야 한다 x축을 만들어 비교할 y축이 필요하단 것이다위와 같이 구동방식에 따른 고속도로 연비를 비교해보는 것을 만들기 위해위와 같이 입력하자출력을 하면 평균 값인 데이터를 만든 것을 볼 수 있다이제는 막대그래프로 표현을 하는데늘 하던대로 적는데 단 마지막에 막대그래프로 표현하기위해 산점도를 만들때는 geom_point()를 했지만 이번에는 geom_col()을 사용한다큰것 부터 작은대로 나열하려면 reorder함수를 사용하며 기준값을 입력하는.......

Tensor의 Numpy 기초 및 이해 1) [내부링크]

인공지능은 여러개의 다차원으로 이루어져 있다그래서 Numpy의 이해가 중요하다다차원의 개념과 이루어진 구조를 볼 수 있어야 한다그래서 파이썬의 Numpy를 이해해 보자위와 같이numpy는 함수를 불러야 한다흔히 우리가 파이썬에서 random이나 math나 os 등갖가지 함수들을 부를때 사용하던 것과 똑같다단, numpy는 설치를 해야한다우선 차원은이런식으로 0차원 - 1차원 - 2차원 - 3차원 혹은 다차원으로이루어져 있다우리가 흔히 쓰는 일반 정수 형태는 0차원으로 친다리스트를 사용해서 데이터를 이용한 것은 1차원리스트 2개를 사용해서 데이터를 사용했으면 2차원그 이상은 3차원, 다차원이라고 한다우선 numpy의 선언은np.array()를 입력.......

그래프 그리기(선그래프, 상자그림), 데이터 정제(결측치 정제) [내부링크]

이번에는 그래프를 점과 바가 아닌 선으로 그려보자간단하게 뒤에 geom_line()을 하면된다그래프를 그리는 것이 헷갈리는게 geom뒤에 무엇을 할지 상황에맞게 하면 좋다이번에는 바로 풀면서 이해해버리자문제를 보자정답은 위와 같다 단지 데이터가 생소한 경제쪽이라 그렇겠지만 우선적으로처음 보면은 데이터를 봐야된다데이터를 이해하고 그래프를 만들든 무엇을하든 해야되서간단하게라도 head()함수를 사용해 데이터를 보자이번에는 제일 중요한 상자그림이다 이것은 대략적인이 아닌많은 것을 보여주는 중요한 그림으로 그래프만들기의핵심이라고 해도 과언이다만드는 것은 간단한데 위와 같이 boxplot()을 붙이면 된다하지만 이것이 왜 중.......

Tensor의 Numpy의 활용 및 응용 2) [내부링크]

이번에는 주피터 노트로 실행해서 numpy를 더 파헤쳐보자이번 코드는 그냥 해보면서 그러려니 하면서 쉬운 것이고 앞에서 배운 밑에링크를 통해오로지 반복 복습으로 하는 수 밖에 없다 나도 지금 이걸 하면서 3차원적으로 보려고 노력중이다주피터의 장점은 print()를 하지않아도 제일 밑에 데이터나 명령을 적으면제일 밑에 것만 출력을 보여주는 기능이 있다그래서 print()를 안적었으니 왜 다른 곳에 가서 print()안해도 나오지?라면서 쌩쇼를 하지말기 바란다우선 numpy는 0과 1로 배열을 만들어준다말그대로 np.array가 아닌만들때 np.zeros np.ones라고 입력을 한뒤 열과 행의 크기를 적으면 그에 맞게만들어 지는 것을 볼 수 있다그럼 더.......

Tensor의 Numpy 활용 3) [내부링크]

이번에는 데이터타입을 바꿔보자위와 같이 2번째 실행된 것은 정수로써 int32라고 나온다만약 중간에 하나라도 점이 있는 실수가 된다면?4번 처럼 소수점이 하나 있다 그러면 모든게 실수가 되면서 실수타입이라고 뜬다5번째에 실행된 것을 보면 실수라고 뜨고 6번째에 출력해보면 모두실수로 바꿔서 나온다그럼 만들때 타입은 어떻게 만드냐? 바로 9번째를 보면 만들때 데이터 타입을만들 수 가 있다차원의 크기는 shape에 len함수를 붙이면 알 수가 있다반면에 이번에 전체 크기를 알아내는 것은 size함수다하지만 shape함수에 보면 다알 수 있지만 데이터가 크거나크기를 곱해서 바로 나오는 우리머리가 영재일리는 없지 않나데이터는 저렇게.......

CNN 모델 [내부링크]

이번에는 CNN 모델의 대략적인 형태를 보자앞에서 말한 딥러닝 용어와 중복되는 부분이 많다위에 링크된 사이트에서 반복되는 것은제일 중요한 특징들을 잡아내는 단계가 제일 중요하다지금은 시작부분이라 한귀로 듣고 한귀로 흘리면서이것은 그냥 이런 기능이다 라는 정도만알고 있으면 될 꺼 같다<Feature Extraction / Classification>영어를 바로 해석해서봐도 특징을 잡아내는 것이다그 중에서<Feature Extraction>은특징을 추출한다즉, 특징을 추출하는 곳이다모양이 가지는 특정한 패턴새로 예를 들면 날개 패턴이 있고 특정한 선이 있는 것을 뽑아낸다각자의 특징의 선의 패턴이 있다그 부분이 컴퓨터가 잡아내는 것이다.......

Anaconda, TensorFlow, Pytorch 설치방법 [내부링크]

이번 설치는 2020년 7월 13일자로 들어가서 설치한 것으로 버전이 업데이트 되면 홈페이지가 바뀌는 것은 그때마다 유동적으로설치하기 바랍니다아나콘다는 위에 들어가서 설치한다아니면 크롬으로 들어가서 검색해서 들어가라위와 같이 나오는데 마우스 커서에 있는대로 들어가라놀래지말고 클릭설치가 완료되면 실행을 하라여기서 All을 하는이유는 사용자계정이 한글로 되어있는 경우 위와같이하면 오류가 나지 않는다그리고 여기는 Add path를 했다업글을 할 수 도 있기에 설정을 했다 하지않아도 된다그리고 설명을 보고싶으면 체크하고 싫으면 그냥 나처럼 해체를 하라이제 C:드라이브에 Workspace라고 만들고 여기서 작업을 할 것이다자.......

산점도 그리기 [내부링크]

데이터를 다루고 명령어를 익혔으면 이번에는 다양한 방법으로 그래프나 이미지로 표현을 해보자우선 산점도를 그릴 것이다점으로 표현된 x축과 y축을 기준으로 분포도를 파악하는 용도로사용되는 산점도를 만들어보자위와 같이변수 간 관계를 표현하는 산점도를 만들기 위해서는 순서가 있다1) 배경을 설정한다2) 그래프를 추가한다3) 옵션을 더한다우선 배경을 설정하기위에 위와 같이 적는다단, 적기전에 데이터를 불러오기 위해library(ggplot2)를 사용한다그곳에서 데이터 mpg를 사용하자배경을 만드는 것은ggplot()함수를 사용한다위와 같이 적으면 데이터는 mpg를 사용하고 x축은 구동방식 y축은 고속연비를표현하려고 미리 적는 것이다그.......

Deep Learning 용어 [내부링크]

CNN(인공지능 모델)<Model>딥러닝은 일단 Model이다Model은 특징을 뽑아내고 예측을 하는 것이 모델안에서 이뤄진다CNN은 모델이다 모델은 CNN이다라고도 한다어떤 모델을 썼느냐? 몇개로 사용할 것이냐? 레이어가 몇개로 구성되냐?라는 식으로 모델이 제일 중요하고 모델로 이뤄진다라고 할 수 있다<Layer>딥러닝은 예전에는 단순하게 적게만 사용했다그래서 Layer가 그렇게 중요하지가 않았다하지만 이제는 층을 여러 층을 쌓아서 딥러닝이라 한다Layer층을 쌓는게 딥러닝의 핵심이다Input layer 입력 - 가운데 Hidden layer - Output layer 출력으로 이루어진 Layer가 잇는데 이것이 몇개가 있느냐에 따라성능이 저하되고 빠.......

데이터 프레임 만들기와 외부데이터 불러오기 [내부링크]

<출처 - 패스트캠퍼스 인강>데이터는 위와 같이 형성되어 있으면 행과 열이 있다.행은 ROW라고 하며 위의 데이터는 총 3개의 Row 혹은 3개의 Case 크기라고 한다.열은 Column으로 각 속성의 개수라고 보면 된다. 4개의 Column이나 4개의 속성 혹은 변수가 있다고 한다.이렇게 데이터의 형태를 가지지만 우리가 직접 만들어보자.위와 같이 history라는 역사점수를 만들어보자.history <- c(점수들) 이렇게 여러개의 데이터로 변수를 만들자.수학점수도 마찬가지로 math <- c(점수들) 이렇게 여러개의 데이터로 변수를 만들자.이제 데이터로 정리해서 저장하려면변수 <- data.frame(변수1, 변수2, ....) 이렇게 추가한다.위와 같이.......

인공지능의 학습구조 [내부링크]

인공지능에 앞서서 파이썬으로 활용한 딥러닝을 할 것이다.인공지능이 무엇인지는 대략적인 알파고 등등 많다.하지만 인공지능이 어떻게 동작되는지를 살펴보자.아래와 같이 구조가 되어있다.Data - (Model - logit - Loss - Optm)반복 - Result이 과정들을 간략히 보자면1)Data첫번째 Data는 데이터를 어떻게 수집하고 정리를 잘하느냐에 인공지능을 쉽게 만들거나 관리를 할 수 있다. Data는 파이썬 책이라고 보면된다. 책을 가져오는 것이다.Data를 어떻게 처리하느냐는 데이터 엔지니어 등과 같이 전문적으로 다루는 사람이라면 좋다. 내가 배우는 R프로그래밍이라든지 데이터 SQL이라든지 등등 많은 방법이 있다. 각기 방법으로 정리.......

데이터의 특성 및 변수명, 파생변수 만들기 [내부링크]

데이터 특성을 알아보자. 복습차원 일 수도 있다.위와 같이 이렇게 각종 명령어로 데이터의 구조나 형식, 속성 들을 확인한다.데이터를 분석하기에 앞서서 가장 중요한 것이라고 볼 수 있다.이제는 데이터를 설치하고 library로 적용하지 말고 데이터를 불러오는 법을 보자.위와같이 as.data.frame(ggplot2::mpg)로 사용하면 된다.ggplot2에 내장된 mpg데이터만 가져온다는 뜻이다.:: 이 왼쪽이 저장된 함수패키지이고 오른쪽이 가져올데이터 이름이다.출력해보면 잘 온것을 확인 할 수 있다.데이터가 있으면 데이터를 보고 구조를 파악하기위해 위와같이 다시 실행하자.물론 안다고 그냥 지나치는 것보다 다시한번 보자.이제 데이터 안에 속성들.......

조건 데이터, 필요한 변수 추출, 데이터 정렬하기 [내부링크]

오늘은 데이터를 우리가 필요한 것만 추출하며 조건에 맞는 데이터를 뽑아보자.우선 dplyr에 들어 있는 함수중 배울 내용은 filter와 select를 배울 것이다.filter()를 보자.filter는 말그래도 걸러주는 것이다. 정말 필요한 것을 걸러내기 위해 사용하는 함수로 한번 활용해 보자.일단 데이터를 사용할 것들을 가져와보자.우선 프로젝트안에 저번에 활용한 데이터를 가지고 해보자.위와 같이 변수에 저장하자.그리고 사용하는 방법은 파이프 연산자로 이어주면서 코드를 작성하는 것이다.우리가 exam에 저장을 했으니exam %>%%>%이거는 다음 코드와 연결을 시켜줘서 사용하는 것이다.exam안에 데이터를 %>% 연결해서 다음 명령을 실.......

파생변수 추가하기, 집단별로 데이터 요약하기, 데이터 합치기 [내부링크]

우리가 늘 알던 내장함수 추가하기와는 조금 다르다더 간결하고 간단하게 할 수 있는 장점이 있다위와같이 exam이라는 데이터를 만들고위와 같이 파생변수 즉, 데이터를 추가하는 함수는 mutate()이다mutate(추가할속성이름 = 계산) 을 적는 것으로 시험 성적이나 점수 등을 합친 속성을 만들거나 평균 속성 등 내장함수 추가와 동일한 목적이다하지만 장점은 $를 붙일 필요가 없다코드가 더 짧아지는 장점이다이번에는 점수를 합한 총점과 평균을 구해보자위와 같이 동일하게 하면 된다mutate는 ifelse 조건문으로 내가 원하는 형식으로도 가능하다ifelse()는 설명을 했으니 생략하겠다파이프 연산자를 사용하여 정리도 하며 내림차순, 오.......

패키지의 개념 이해 및 활용 [내부링크]

패키지 = 함수 꾸러미로 안에 많은 사용할 함수들이 정의 되어 있다.패키지 설치와 로드는 설치는 Rstudio에서 딱 한번만 하면되고 로드를 껏다 켰으면 계속 해줘야 한다. 혹은 새 파일을 만들면 계속 꾸준히 해줘야 한다.어플깔듯 입맛대로 설치하면 된다. 내 마음대로 원하는 것을 하면 된다.ggplot2는 시각화 패키지 qplot2(),geom_histogram(),geom_line().....로 많은 것들이 있다.즉 새 페이지를 열어서 우리가 그전에 저장된 b의 데이터를 끄집어내도 적용이 안된다. 왜냐하면 qplot은 ggplot2의 함수로 적용을 안했기 때문에 결과를 도출할 수 가 없다.마찬가지로 mpg데이터도 불러올 수 가 없다.하지만 library(ggplot2)를 적용.......

네트워크관리사 2급 실기 합격후기 [내부링크]

윈도우 설정 몇개 정도랑 케이블은 기본 점수먹기로 들어가며 리눅스는 어느정도 기본명령어만 알고 라우터는 기본설정위주로 기억하며 가면 후딱 치고 나와도 합격이다. 어떻게 공부해야할지 막막하면 댓글달면 조언은 해줄 수 있다.

리눅스 마스터 2급 합격후기 [내부링크]

적당하게 기본 설정보다는 옵션문제가 많이 나왔다... 조언을 하자면 기본적인 사용법은 기출문제로 풀면서 하면 되겠지만 옵션들을 위주로 보는 것이 도움 될 것이다. 리눅스는 옵션위주로 X윈도우는 만든 회사나 어느 나라인지 정도? 를 보면 되는 것 같다.

LVM 구성 [내부링크]

LVM은 fdisk와 다르게 합치고 빼고 약간 fdisk는 하나의 디스크를 쪼개면LVM은 여러개의 디스크를 하나의 형태처럼 사용할 수 있다.LVM으로 구성하려면pv로 만들고 vg로 합친다음 LVM을 제작한다.은근 거치는 것이 많다.역시 실습을 해보자.fdisk에서 하기전 여러개를 만든 디스크 중 c,d,e를 사용하겟다.세개를 사용해보자.우선 pv 를 먼저하자 세개의 디스크를 합치는 것이다.다했으면 확인이 제일 중요하다. pvdisplay보면은 잘된 것을 확인 할 수가 있다.이제 pv다음 vg를 한다. 즉 합친 디스크를 내가 정한이름 LVM_VG로 만드는 것이다.당연히 만들었으면 vgdisplay도 확인한다.그럼 이제 마지막 단계인 LV를 만드는 것이다.용량을 지정하고.......

사용자 계정의 이해 [내부링크]

사용자는 useradd로 만들고passwd로 비번을 정해야한다.이 두개가 가장 기본적인 형태다.잘 만들어진 것을 볼 수 있다. 보안때문에 비번은 *마저도 안보인다.유저를 만들면/etc/passwd 계정 정보(관리자가 관리하는 곳)/etc/shadow 계정 암호화된 정보/etc/group 계정이 소속된 그룹/home/유저이름 계정의 홈 디렉토리/etc/spool/mail/ 계정 메일 위치이렇게 다섯개가 생겨난다. 즉 정보들이 담긴 것이다. 여기서 minki의 유저 아이디만 살펴보자 위와 같이 입력해보자.보면 첫줄은 유저아이디/비번/uid/gid/홈디렉토리/사용중인 셸 을 볼 수 있다.두번째는 암호화되서 비번을 설정하면 중간에 저렇게 길게 암호화 되어 있다.세번재는 소속그룹인.......

Xinetd 구성 및 telnet 구성 [내부링크]

이번에는 원격접속을 구성해보자.물론 telnet을 독립적으로 실행하면 되지만 안전하게가 가장 중요하지가 않나?그래서 xinetd안에서 보호받으면서 원격을 실행하는 것으로 구성하자.설치하기에 앞서 6대 시퀀스를 잘 지켜라.1설치된 파일 확인2설치하기3sestatus확인4syst-c-f 의 방화벽 확인5데몬 재시작6잘되는지 확인우선적으로rpm -qa 에서 설치된 것중 grep으로 telnet이란 게 있나 확인하자 물론 설치 안했으니 없다고 나온다.그 다음 나는 레드헷이므로 rpm 압축이된 파일소스를 이용해 telnet을 설치 할 것 이다. 레드헷의 편안한 rpm을 사용하자.df -Th 하니 압축된 파일 CD가 없다. 우선 연결부터하자.CD를 마운트 시켜서 다시 확.......

R프로그래밍 기본설정 복습하기 [내부링크]

<중간 중간 복습과정입니다>install.packages(dplyr)install.packages(ggplot2)library(dplyr)library(ggplot2)####################################head(mpg) # 자동차 데이터를 위에서부터 나열dim(mpg) # 데이터 정보의 크기를 행과 열로 나열str(mpg) # 데이터 속성이 무엇인지 알려줌summary(mpg) # 속성과 데이터의 각각의 평균을 구하는데 숫자만 계산이 됨View(mpg) # mpg 안에 데이터와 정보들을 나열(정보가 많으면 비추천)#####################################1)회사별 연비 높은 순 정렬을 해보자mpg %>% # mpg 데이터group_by(manufacturer) %>% # 제조사별로 나눠라summarise(mean.hwy=mean(hwy)) %>% # 고.......

IP 설정하기 및 클론으로 복제하기 [내부링크]

Linux 게시글을 이번에 올릴 것이다. 단 기본적인 기초 조작 및 리눅스 배경은 아는 과정에서 서버 설정 및 세팅위주로만 올리는 글이므로 기초는 알려주지 않음을 공지하겠다.Linux RedHat의 초기 세팅을 알려주겠다.처음엔 들어가서 터미널을 켜서위와 같이 입력을 한다.이곳은 IP를 설정하거나 자동 IP를 받아오거나 등등 게이트웨이 설정 등윈도우의 IPv4 설정하는 창인 곳이다.당연히 리눅스는 CUI라서 텍스트모드로 설정할 것이다.위와 같이 이런 창이 뜰 것인데 IP나 게이트웨이, DNS는 없는 것을 볼 수 있다.그러면 내가 설정을 해줘야 한다.구성에서 우리가 바꿀 것은 ONBOOT 자동으로 부팅할때 하겠냐는 당연 yes로 해야 편하다. 물.......

fdisk 파티션 구성 [내부링크]

구성하기 위해서 많은 디스크를 추가한다리눅스를 켜서 일단 습관을 먼저 들이자 로그인해서whoami / 누구인지 확인pwd / 절대경로 확인(현재위치)ifconfig / IP확인runlevel / 부팅시 윈도우x인지 확인 => 5umask / 제한 설정이 습관을 한 다음fdisk -l 을 해서 아까 제일 위에 사진대로 잘 적용되었는지 확인한다.1)fdisk 만들기자 그럼 먼저 fdisk를 만들어보자 나는 /dev/sdb로 만들 것인데200M P200M P200M P200M L을 설정을 해서 /dev/sdb5 -> /server/sdb5로 자동 부팅시 마운트까지 한다.fdisk /dev/sdb를 한다.위와 같이 뜰 것인데 주로 쓸 것은n (새로 만들기)p (만들어진 것 확인)w (저장하고 나오기)자 n 을눌러 만들.......

네트워크 관리사 2급 시험후기 [내부링크]

문제는 다 설정이다 윈도우 문제는 역시 세팅만 바꼇고다 그대로 나왔다 윈도우 로그온 이랑 서비스 동작은어딨는지를 몰라서 찍었다 ㅋㅋㅋ케이블은 허브와 pc를 연결하는거라 그냥 다이렉트로해서 편했고 리눅스는 의외의 문제가 나왔다리눅스는허가권 설정문제는 쉽게 풀었지만tracert 인 문제인데 트레이서트 문제는 왠만하면알껀데 기억못할수도 있다라우터는show ip route해서 저장하기정적라우팅 설정하기디폴트 네트워크 설정해서 rip으로 연결하기 정도이다난 아마 합격느낌이난다 ㅋㅋㅋ

데이터 분석 - 변수의 개념 이해 [내부링크]

이제 rstudio의 작동되는 형태만 이해하자일단 C:\Users\관리자계정이 영어가 아닌경우 후딱 영어로 바꿔라구글링해서 바꾸면 간단하다자 이제install.packages("dplyr")install.packages("ggplot2")를 ctrl + Enter해서 설치하자 (사용자이름이 영어로 되어야 정상 작동됩니다 저도고생한건 비밀)이제 설치를 했으면 rstudio에 적용을 해야한다library(dplyr)library(ggplot2)를 각각 실행하여 장착하듯이 장착시키자이제 자동차 관련 데이터를 한번 보자 자동차들의 데이터가 담긴 정보는 mpg에 들어 있다. 그래서 head(mpg)하면 데이터 중에 위쪽만 보게 해달라는 명령어다그러면 아래와 같이 정보가 뜨는 것을 볼 수 있.......

데이터 분석을 위한 함수 [내부링크]

함수에 대해 알아본다면 파이썬과 다름 없이 만들어진 식을 적용해 결과를 도출하는 것이다.head(mpg)로 데이터를 본다.잘 나오는 것을 볼 수 잇다. 만약 안된다면 앞 수업에 했던 설치와 library적용을 하고 해봐라. 잘 될 것이다.여기에서 각종 함수를 통해 간단하게 데이터를 뺄 수 있다.mean(mpg$hwy)는 고속연비를 평균내는 함수max(mpg$hwy)는 고속연비 중에서 데이터가 가장 큰 값min(mpg$hwy)는 고속연비중 가장 낮은 값hist(mpg$hwy)는 히스토그램으로 보여주는 함수이다.위와 같이 각종 함수를 써서 쉽게 데이터를 만질 수가 있다. 간단한거니 기억해두면 좋다.다시 복습을 하면 a에 1을 넣으면 a <- 1 을 하는데 a하고 alt+- 키.......

네트워크관리사 2급 단답형 실기문제 [내부링크]

단답형을 알기전에 IP부터 알고가자자주나오는 문제로 IP주소의 어디 클래스인지 혹은 사설 IP 대역대가 주로 나왔다고 한다1)클래스별 IPA 0.0.0.0~127.255.255.255B 128.0.0.0~191.255.255.255C 192.0.0.0~223.255.255.255D 224.0.0.0~239.255.255.255E 240.0.0.0~255.255.255.2552)사설 IP 주소 대역대A 10.0.0.0~10.255.255.255B 172.16.0.0~172.31.255.255C 192.168.0.0~192.168.255.2553)Class의 IP 주소의 첫 번째 옥텟의 첫 번째 비트는 항상 0이다할당가능한 네트워크 그룹수는 127개이다할당가능한 호스트의 IP 개수는 16,777,216개이다답: A항상 첫번째 비트는 0이여야하면 IP주소를 보면 0은 A밖에 없다만약 두번째 비트.......

네트워크 케이블 연결문제 [내부링크]

이건 진정한 실기다 ㅋㅋㅋㅋ 준비물은 랜툴키트랑 랜선 등등이 필요하다근데 시험장에서는 기계는 반입이 안되니 패스이제 연결하기전에 일단 케이블 종류부터 알자이것은 A랑 B가 있을껀데주로 나는 B를 많이 쓴다일단 A 의 구조는초티초 주띠파 파띠주 갈띠갈B의 구조는주띠주 초띠파 파띠초 갈띠갈이렇게 되어있다 즉 B나 A를 하나외우면 주띠와 주를 초띠와 초로 바꾸면 된다주띠주 초띠파 파띠초 갈띠갈만 나는 외우고 있다이렇게 했다면 이제 연결하기전 문제를 보면각종 허브, 스위치, 라우터, PC등등이 있는데잘보면 허브와 스위치 는 IP 가 없다라우터와 PC는 IP가 있다라고 생각해보자 그럼IP가 있는 것과 없는 것은 서로 다르.......

네트워크관리사 2급 실기 윈도우 풀이안하는 이유 [내부링크]

윈도우는 클릭클릭 뿐이고 답이 문제에 그대로 나옵니다 그걸 그냥 옮겨 적으면 됩니다.. 굳이 설명을 안해도 윈도우는 GUI로 인해 너무 쉽습니다. 반면에 리눅스는 설명도 없고 풀이도 없어서 제가 올렸습니다. 윈도우가 그래도 궁금하시면 문의주세요 댓글로 상세히 알려드릴게요. 윈도우는 솔직히 회사에 사용보다는 없애려고 배웁니다. 리눅스도 X윈도우가 있는데 굳이 윈도우를 돈주면서까지 쓸 필요는 없다고 생각합니다.

Rstudio 설정하기 [내부링크]

일단 처음 시작은 이렇다우리가 작업하기 편하게 일단 조정하기전에 3개가 뜨는지 확인하기!그다음 위에 파란 화살표를 클릭하면 4개의 창이 된다 즉 구성을 보면왼쪽 | 오른쪽소스창 기록창콘솔창 주로쓰는파일 및 각종 분석 결과 창이렇게 4개의 창이 있다 주로 소스창에 써서 Ctrl + Enter로 실행이 가능하다한번 해볼까? 콘솔창에 1+ 1 을 입력해서 엔터를 누르면 일단 2로 실행이 된다콘솔창에 적어도 결과는 실행이 되는 것을 볼 수 있다위와 같이 이것저것 산수를 해보고 그냥 윈도우의 cmd지만 실행파일을 실행하는 느낌? 밖에 안든다.이제 소스창에 적자 왠만하면 코드는 소스창에 적어야 편하다 콘솔창은 실행결과와 에러 등등이 나.......

파이썬 기말고사 대비 문자열연습) [내부링크]

'''1.문자열이 다음과 같이 있다고 할 때 아래와 같이 출력하는프로그램을 작성하여라.ss = "안녕 하세요? 저는 IT 경영학과 홍길동입니다."몇번째 단어를 찾나요 : 3저는몇번째 단어를 찾나요 : 7찾는 단어가 없습니다.몇번째 단어를 찾나요 : 6홍길동입니다.'''ss = "안녕 하세요? 저는 IT 경영학과 홍길동입니다."ss = list(ss.split(" "))a = int(input("몇번째 단어를 찾나요 : "))if a <= len(ss): print(ss[a-1])else: print("찾는 단어가 없습니다.")'''2.사용자로부터 문장을 입력받고 숫자 2개를 입력받.......

파이썬 기말고사 대비 함수문제) [내부링크]

'''1. 1~100까지의 7의 배수의 합을 계산하여 출력하는 프로그램을작성하여라. 단 합을 계산하는 hap() 사용자 함수를 포함하여라.'''def hap(): sum = 0 for i in range(1,101,1): if i % 7 == 0: sum = sum + i return sumprint(hap())'''2. 1~100까지의 7의 배수의 개수와 합을 계산하여 출력하는 프로그램을작성하여라. 단 합을 계산하는 hap1() 사용자 함수를 포함하여라.'''def hap1(): su = 0 count = 0 for i in range(1,101,1): if i % 7 == 0: su = su + i count = count + 1 return "합은 {0} 개수는 {1}&quo.......

R프로그래밍 설치 [내부링크]

구글에 r만 쳐서 위에 뜨는 사이트에 들어가서 설치한다구글에 rstudio를 쳐서 다운로드에 무료버전을 들어가 밑에 내리면 아래와 같이뜨는 것을 확인하고 젤 위에 것을 다운로드 한다잘 설치가 되면 이렇게 뜨는 것을 확인(설치 시 그냥 다음다음다음 아무것도 건들이지 말고 두개다 설치할 것) 기본 옵션은 바탕화면에 아이콘 안 만들기로 되어 있어서 이렇게 들어가는데 rstudio를 실행난 그냥 no를 눌렀다 그리고 아래와 같이 뜨면 정상적으로 설치가 완료된다

파이썬 기말대비 예상문제 풀이1) [내부링크]

#기말고사예제.hwp'''1)사용자로부터 국어, 영어, 수학 점수를 입력받고 그 합계와평균을 구하는 프로그램을 작성하시오.'''kor = int(input("국어점수 입력: "))eng = int(input("영어점수 입력: "))mat = int(input("수학점수 입력: "))sum = kor + eng + matevg = sum / 3print("합계는 %d 평균은 %d"%(sum,evg))'''2)리스트 a=[1,4,-2,3,4]일 때 이 리스트의 순서를 바꾸어라(reverse 함수나 다른 리스트를 사용할 수 없음)'''a = [1,4,-2,3,4]end = len(a) - 1 #4for i in range(0,len(a),1.......

파이썬 리스트문제 예제 풀이) [내부링크]

#리스트예제.hwp'''1.a=[2,4,3]일 때 각 배열 원소를 2배하여 b=[4,8,6]을 만들어라.'''a=[2,4,3]b=[]for i in a: b.append(i*2)print(b)'''2.a=[2,4,3]일 때 각 배열원소를 2번씩 반복하여 b=[2,2,4,4,3,3]을만들어라.'''a=[2,4,3]b=[]for i in a: for j in range(1,3,1): b.append(i)print(b) '''3.a=[2,4,3]일 때 b=[2,4,3,2,4,3]을 만들어라.'''a=[2,4,3]b=[]for j in range(1,3,1): for i in a: b.append(i)print(b)'''4.a=[1,2,4,7], b=[3,4,7,6]일 때.......

라우터 실기문제 분석) [내부링크]

라우터 실기문제들은 그냥 어떻게 하는지가 문제인 것 같다.만들어보면서 느끼는데 그냥 이부분은 이걸 추가하는 것이다라고 난 알려줄테니잘 적용해보자. 그리고 네트워크관리사2급 시험등록하는 홈페이지에 실기문제를다운받아 라우터를 해봐라. 해보고 어떻게 돌아가는지 보고 이것들을 풀어라. 그래야이해가 간다.형식은 일단 다른 라우터 올린글을 생략해서 말한거야 만약 밑에 보고 모르면 어떻게 치는 건지 여길 보고와1)Router 1의 Ethernet 0 인터페이스를 설정하고 NVRAM에 저장하시오.Ehternet 0 의 ip는 192.168.200.2 255.255.255.252ip directed-broadcast를 저장하시오.enconf tint e0ip add 192.168.200.2 255.255.255.252.......

라우터 실기문제4) [내부링크]

아래와 같이 출력하기 위한 명령어는

R 프로그래밍 [내부링크]

R은?데이터를 분석하는 것이다. 많은 정보를 그래픽이나 그림으로 표현하게하는 간단한 명령어로 할 수 있다.오픈소스이며 공짜인 것이 큰 장점이다.다양한 통계분석 기법과 시각화로 성능이 좋은 데이터 분석 Tool이라고 한다.비정형 데이터 분석이 된다. 즉 소리 영상 등 데이터화 되지 않은 것들을 다룰 수도 있다.만든 사람은 뉴질랜드 사람이며 AT & T 벨 연구소의 프로그래밍 언어 S 기반이다.대학이나 연구소 등에서 많이 쓰인다. 혹인 구글, 페이스북,트위터,마이크로소프트, 언론사 등 많은 IT조직이나여러 조직이 많이 쓰이는 것이다.단점은 영어의 압박.... 하... 영어란 어렵다...나의 목표인 머신러닝, 딥러닝 기반.......

라우터 실기 문제1) [내부링크]

본 실습 문제 풀이과정은 시스코 트레이서 패킷으로 실습을 풀이하였습니다.내용은 이렇게 적으면 된다. 하지만 다 외우기엔 벅차지 않나?그러면 (탭)기능을 이용하면 적다가 탭을 누르면 자동완성이 된다. 한번 탭기능을 이용해서 설명해줄게.자 1번은 en으로 관리자모드로 들어가 enable이라고 하지 관리자모드라고 앞에 #이 붙어 #이 붙으면아 관리자 모드구나 그럼 > 이건 일반이야 일반사용자모드라고도 하지 두개 구분 잘해야되! 그 다음3번은 hostname은 말그래도 라우터의 이름을 지어주는 호스트명을 지정해준다는 거야 hostname을 ICQA로하겠다는 거야 대/소문자 잘 구별해 ... 또 대강 하면 본인 책임이야~그 다음 문제들을 풀.......

라우터 실기 문제2) [내부링크]

여기서 추가된건 3번문제와 4번 5번이야 ~

라우터 실기문제3) [내부링크]

내가 설정한 라우터는 secondary를 적을 수 없다 그냥 적용됬다하고 봐라

네트워크 관리사 2급 윈도우 문제) [내부링크]

허브와 PC는 허브는 1계층으로 IP가 없다 PC는 IP가 있다. 그럼 배선을 굳이 꼬아서 할 필요가 없다.그러니 만약 B타입으로 하면 두개다 B타입으로 하면 된다. 문제에서 B라고 했으니 제작하자답: (흰)주 띠 주 (흰)초 띠 파 (흰)파 띠 초 (흰)갈 띠 갈위는 간단하게 설정하라는 말이다. 아주 제일 쉽다...일단 IPv4에다가 설정을 해야된다. 저기 파란색을 더블클릭하자.그전에 아이피 중 서브넷이 없다... 젠장...아이피 계산은 각자 방식으로 잘 계산해라. 이건 설명하면 한시간 잡아먹는다.내가 계산하기로는 255.255.255.224가 나온다. 그럼 이제 입력해보자. 그냥 윈도우는장점이 있다. 다 알려준다 거기에 숫자만 입력해라. 고분고분 윈.......

네트워크 관리사 2급 리눅스 실기문제18) [내부링크]

각 계정들의 최근 접속 정보를 확인하는 명령어로 주로 서버의 보안점검을 위하여 필수적으로 사용한다.아래 화면과 같이 출력되는 멸영어를 쓰시오.답) last문제에 각 계정들의 최근 접속정보를 나타내면 뒤에 신경안쓰고 last를 적자.근데 내가 준비한 사진은 root뿐이다. 저기에 다양한 아이디가 올 것이다.당근 내가 서비스를 안열고 접속할 컴도 없다... 안해 안해

네트워크 관리사 2급 리눅스 실기문제 마지막) [내부링크]

마지막은 대체적인 명령어로 말할게요. 명령어만 물어보는 것이 반이라서 이것은 사진은 안나와서저도 생략합니다! 그리고 리눅스는 왠만하면 쉬워서 할 수 있을거에요! 화이팅!현재 위치를 확인하고 싶을 때 사용하는 명령어는?pwd리눅스에서 도움말-메뉴얼을 확인하는 명령어는?man현재 설치된 하드디스크와 용량을 확인하는 명령어는?df디렉토리의 사용량이나 확인하는 명령어는?du파일이나 폴더를 찾을 때 사용하는 명령어는?find ipconfig 명령어와 같이 리눅스에서 ip address정보를 확인하는 방법은?ifconfig

네트워크 관리사 2급 리눅스 실기문제16) [내부링크]

아래 화면의 밑줄에 적당한 명령어를 입력하시오. 또한 명령어 rpm-qa에서 옵션 qa의 기능에 대해 간단히 쓰시오.답)rpm -qa는 telnet 서버 파일이 설치되었는가 설치되었으면 출력해달라는 것이다.yum -y install telnet-server이다. install은 yum이 쓰는 것으로 설치할때 yes라고 대답한다.

네트워크 관리사 2급 리눅스 실기문제17) [내부링크]

아래와 같이 나타나게 해주는 명령어는?답) ps이건 그냥 간단하다 PID와 TTY Time 셸이 나오면 그냥 ps다 아니 그냥 이거 보고 외워라 난 모르겠다.이건 외울래...

네트워크 관리사 2급 리눅스 실기문제12) [내부링크]

아래 화면은 Linux 시스템 부팅 시 자동으로 마운트되는 파티션이 나열된 파일이다. 이 파일명을 쓰이오(예 : /etc/passwd)답) /etc/fstab리눅스에서 파티션을 부팅시 자동으로 시작하게 해주는 곳은 /etc/fstab이다. 만약 그냥 껏다 키면 마운트는 안되어 있다. 꼭 이 설정에서 파티션을 설정해줘야 부팅시 자동적으로 마운트해준다.(리눅스의 단점... 윈도우 짱...)제일 밑에파티션 마운트할디렉토리 파일타입 설정 부팅순서였나..? 라는 것을 보기만 해도 아 이건/etc/fstab이다라고 볼 수 있다.

네트워크 관리사 2급 리눅스 실기문제13) [내부링크]

아래 화면은 /etc/passwd 파일의 내용을 vi로 보여주고 있다. 각 라인별 번호를 나타내는 명령어를 쓰시오.답) vi 파일명을 실행하고 :set nu를 입력한다.vi /etc/passwd 하면 파일이 열린다 그럼 : (세미콜론)을 입력하고 set nu나 se nu로 입력하면번호를 각 줄마다 매겨라는 것이다. 아주 유용한 명령어다.

네트워크 관리사 2급 리눅스 실기문제14) [내부링크]

아래 화면은 Telnet 환경 설정내용이다. 재부팅 시 자동으로 Telnet 서비스를 이용할 수 있도록 설정하려고 한다. 해당 파일의 어떤 내용을 수정해야 하는지를 쓰시오.답) disable = yes 를 disable = no로 변경한다.disable은 비활성화다 비활성화를 yes로 하면 비활성화 하겠다는 것이다. disable을 no하면 비활성화 하겠냐? 아니라고 하니 활성이 되는 것이다. 이렇게 영어를 잘하면 쉽다(ㅋㅋㅋㅋㅋㅋㅋ) (telnet 파일 귀찮게 설치해야 옵션창이 깔리니 귀찮았던건 함정...)

네트워크 관리사 2급 리눅스 실기문제15) [내부링크]

아래 화면과 같이 나타나게 해주는 명령어는?답) top이 문제는 실시간으로 보는 명령어다. 왠만해서 왼쪽위에 top라고 나오는데 아마 시험때는 저걸없애야 되는데... 그냥 내는걸 보면.... 내는사람도 그냥 귀찮나보다.... ㅋㅋㅋㅋㅋPID와 유저 그리고 TIME을 보고 띠에 색깔이 있다. 센스껏 맞춰라 쉽다....

네트워크 관리사 2급 리눅스 실기문제10) [내부링크]

아래 화면은 Linux의 /etc/inittab 파일의 내용이다. 현재 설정되어 있는 Default RunLevel 번호와 그 기능에 대해 기술하시오.답) runlevel은 5이고 레벨 5는 X 윈도우로 부팅시 시작한다.보는 방법은 id 뒤에 숫자만 보면된다 그냥 쉽다...단 이것은 유의해야한다.0은 시스템 종료1은 단일 사용자모드(root만 가능)2는 네트워크 없는3은 멀티유저 모드 인데 텍스트 모드5는 X-Windows 모드

네트워크 관리사 2급 리눅스 실기문제11) [내부링크]

Linux는 패스워드의 파일의 보안을 강화하기 위해 "암호화된 패스워드 파일"만 따로 보관을 하며, root만이 읽어 볼 수 있도록 퍼미션을 조정해 두는 패스워드 정책을 사용한다. "암호화된 패스워드 파일"의 경로와 파일명을 쓰시오.답) /etc/passwd답은 /etc/passwd이다. 하지만 간혹 /etc/shadow와 헷갈릴껀데 이건 비밀번호가 적혀있는 것이다. 차이점을 보자.아래 그림은 /etc/shadow이다. shadow는 비밀번호를 설정하면 kgitbank ID가 있는데 바로옆에 길게암호화된 것을 볼 수 만약 없으면 *나 !! 로 표시된다. 하지만 /etc/passwd는 아이디 : 비밀번호 : uid : gid : 몰라 : 홈디렉토리 위치 : 셸이다. 이순이다.......

네트워크 관리사 2급 리눅스 실기문제6) [내부링크]

아래 <그림1>과 같이 각 파일시스템의 파티션 정보와 디스크의 이용 상태 정보를 확인하는 명령어와 <그림2>와 같이 디렉터리별 디스크의 사용 정보를 확인하는 명령어를 구분하여 쓰시오.답: du , df이거는 일단 du는 파일이나 디렉터리별 디스크 사용량을 확인이 가능하고df는 현재 사용중인 파일 시스템의 전체용량, 사용한 용량, 등등 마운트 된 정보 등을 보여주는 것이다.근데 이건 다치우고 그냥 df는 /dev/파티션아무거나 오면 아 이건 파티션이다 파티션 보는 것은df다 라고 판단해라 그리고 뒤에 USE라고 사용량도 보여준다. 반면에 du는 보기와 같이 휑하다....나도 du를 볼 줄 모른다. 근데 딱봐도 du는 저래 생겼.......

네트워크 관리사 2급 리눅스 실기문제7) [내부링크]

아래 화면과 같이 나타나게 해주는 명령어는?답 : setup이거는 설명을 해줄 수 가 없다 네트워크, 방화벽, 시간대, 시스템 서비스, 인증, 키보드 등을 설정하는 것이다.설정하려면 설치해야한다. 설정을 하는 도구!ㅋㅋㅋㅋ 그래서 setup이라고 하자 ㅋㅋㅋㅋㅋ 난 그렇게 외울래 ㅋㅋㅋ

네트워크 관리사 2급 리눅스 실기문제8) [내부링크]

아래 화면과 같이 나타나게 해주는 명령어는?답) ntsysvntsysv 를 하면 각종 데몬이 껏다 킬때 자동적으로 켜주는 곳이다. 즉 서비스를 자동 시작 해준다는 말은 ntsysv라고 하면 된다.

네트워크 관리사 2급 리눅스 실기문제9) [내부링크]

그림과 같이 시스템 서비스 목록을 담고 있는 파일은?답)/etc/services답은 /etc/services이다. 하지만 이것을 보려면 cat /etc/services라고 해야된다!이것을 담고 있는 파일은 이라고 해서 파일만 적은 것이다. 저것을 보려면 여러가지 방법이 있지만 cat이나 vi 등등으로 보면 된다.

네트워크 관리사 2급 리눅스 실기문제5) [내부링크]

아래 화면은 Linux 시스템에서 계정 "icqa"를 생성하는 과정이다. 빈칸에 들어갈 명령어를 입력하시오.(단, 계정 "icqa"의 패스워드는 "ICQApass"이다.)답)useraddpasswd이건 그냥 너무 쉽다 그냥 알면 된다.유저를 만드는 것은 useradd 원하는ID비밀번호를 설정하거나 변경하는 것은 passwd 설정할ID하면 끝이다. 그냥 외워라...이건

네트워크 관리사 2급 리눅스 실기문제3) [내부링크]

아래 화면은 Linux의 /etc/skel 디렉터리의 text.txt파일의 권한을 변경하기 전과 후이다.이와 같은 파일 권한 변경을 위한 적당한 명령어는 무엇인가?답) chmod 775 text.txt답은 775이다. 이건 리눅스를 알면 쉽다. 리눅스는 일단 앞에 영어는 허가권들을 의미한다.허가권은 uid,gid,other의 허가권한이다.(리눅스 설명하면 기니 허가권은 검색해서 자세히 볼것)r = 4w = 2x = 1이므로 rw-rw-r--은 계산을 rw- 6rw- 6r-- 4 이므로 일단 보는방법을 말한것이다. 그럼 바뀐 권한을 볼까?rwxr-xr-x이므로rwx 7r-x 5r-x 5 로 계산이 된다.허가권을 바꾸는 것은 chmod이고 소유권은 chown이다.즉 허가권을 바꾸는 것이니chmod .......

네트워크 관리사 2급 리눅스 실기문제4) [내부링크]

아래 화면은 linux 시스템에서 umask 값을 확인한 결과이다. umask 값이 002일 경우 디렉터리 TST와 파일file의 기본 권한은 어떻게 설정되는가?답)디렉토리 TST = drwxrwxr-x파일 file = -rw-rw-r--자... 이건 설명이 되게 쉬운데 말로 하기 어렵네 ㅋㅋㅋ자 일단 우리 full 퍼미션 권한은 777이야 즉 rwxrwxrwx이지 그럼002이면 other 권한에 2를 빼는 거야uid gid otherrwx rwx rwx이니까 other만 2를 빼주는 거야 여기서 내가 계산하는 방식은mkdir은 디렉토리를 만드는 거야 디렉토리는 777이 최대야touch는 파일을 만드는 거야 파일은 666이 최대야즉 이러면 어떻게 하면되냐 777 - 002 = 775가 되지?그럼 이건 디렉.......

네트워크 관리사 2급 리눅스 실기문제1) [내부링크]

Linux 에서 네트워크 인터페이스를 점검하고 연결을 정하거나 해제하고, 적당한 주소를 할당할 때사용하는 명령어이다. Windows 2008 Server 명령 "ipconfig"와 유사한 명령어를 쓰시오.답 : ifconfig<제가 사용하는 RedHat계열의 리눅스를 사용하였으며 시험연습삼아 사용했습니다.>리눅스는 ip나 브로드캐스트나 넷마스크 등 설정창을 보는 것은 ifconfig라고 치면 됩니다.윈도우는 ipconfig인 반면 리눅스는 ifconfig 자주 사용해서 그냥 눈감고도 볼 수 있습니다.힌트는 제일위 eth0이나 eht1등 설정에 따라 달라서 eth(숫자)로 나오고 두번째줄에 inet addr 의컴퓨터 ip주소가 나오면 센스껏ifconfig로 적읍시다.

네트워크 관리사 2급 리눅스 실기문제2) [내부링크]

Linux에서 아래 화면과 같이 cat 도움말 기능을 알기 위해 사용하는 명령어를 쓰시오.답)man cat이 문제는 무조건 쉽다. 두 가지가 있다. cat --help와 man cat 하지만 보면은 옵션이 정리가잘 되어 있고 이름부터 먼지 알려준다 이름을 알고 어떻게 적는 형식인지 그 다음 옵션이 가지런히정리가 되어있다. 그럼 정리가 잘되려면 ? 남자를 불러라 ㅋㅋㅋ ㅋ 모르면 남자를 불러다해결해줘! 그래서 man 하고 뒤에 모르는 명령어를 치면 남자가 이쁘게 말해줘반면에 --help는? 명령어의 옵션만 모를때야 명령어뒤에 -- help 하면 옵션만 싸X지가 없게말해줄꺼야 궁시렁궁시렁 왠만하면 오해하지마! 남자를 불러 모르면 ㅋㅋㅋ 나? 나를 불러! ㅋ.......

리눅스 최종 오답 정리 및 핵심요약 [내부링크]

#저작자 백민기SIGTERM 의 시그널 번호는 15SIGINT는 ctrl + C로 시그널 번호는 2emacs 최초 개발자 리처드 스톨만vi편집모드에서 입력하여 커서를 밑으로 가는 것은 set aiyast 수세파일.tar.xz JxvfApt-get명령이 패키지 관련 정보를 참조하는 것은 /etc/apt/sources.listrpm (빈칸) sendmail 은 S.5…T.c /etc/mail/sendmail.cf -V프린터 작업이 사용 가능한 명령어 조합은 lpr, lpBSD계열 lpr, lpq, lprm, lpcSystem V 계열 lp, lpstat, cancelMWM 윈도우 매니저GUI환경을 이용하기위해 아이콘,창,배경화면 등 데스크톱 환경인터넷 서비스 관련 포트 번호를 확인할 때 /etc/services리눅스에서 서비스 가능한 프로토콜 목록이 정의된 파일 /e.......

리눅스 마스터 2급 후기 [내부링크]

리눅스 마스터 2급 6월 13일에 친 내용은 대체적으로 옵션이 많이 나왔다. 하지만 노력은 배신하지않겠지? 7월 7일 결과가 나오니까 한번 기다려봐야지.... 두근두근.... 하지만 항상 노력하고 정리하는습관은 합격 불합격을 떠나서 자기개발에 중요한 것 같다. 이 습관 취직은 어딜 할지 모르만 열심히 해보자!!

파이썬 15)함수 문제 [내부링크]

안녕 5252 오늘은 함수문제들을 풀꺼야 단! 여기서나머지 파이썬 사용법을 잊었다면 후딱 복습하고와!자 이제 함수 문제들을 풀어보자.1)정수 하나를 전달받아 해당 정수가 3의 배수인지 출력해주는 함수를 만드시오.(매개변수(입력값)는 있고 반환값(출력값)이 없는 함수)2)자신의 이름 전체를 영어로 입력 받고 '성'과 '이름'을 바꾸는 함수를 만들어 해당 함수를 통해바뀐 영문 이름을 출력하시오. Hint) 성과 이름사이에 띄워서 입력받아라!3)numlist 리스트에 정수를 5개 입력 받고 5보다 큰 수만 result리스트에 추가하는 함수를 만드시오.<답>1)자 함수 문제 풀었는데 1번은 일단 뒤에 매개값과 반환.......

파이썬 16) 피라미드 문제 [내부링크]

다들 피라미드 문제를 풀어 달래서 풀어줬어 이번엔 보면서 만약 내가 3개짜리 삼각형이나4개짜리 삼각형을 만들고 싶다. 그럼 for i in range(1,num+1,1)이런식으로 만들어가봐정말 간단해 내가 해줄 수 있는 건 여기까지야 과제든 뭐든 물어봐 난 복습하고 기초라도 다시보면 언젠가 다시 떠오르니 환영이야...!(하지마 그냥하지마) 모르면 문의는 왼쪽에 적어놧으니프로필 참고해!

네트워크 관리사 2급 공부 후기2 [내부링크]

항상 책이나 공부할 것이 있으면 나만의 방식으로 정리한다. 오답노트는 기본이다. 항상 틀려도 다음에 보고 이해해도 다시봐야 되는 성격이다. 성적을 보면서 내가 초라해지지만 항상 계속 풀면서 성적이 올라가는 걸 보면 그래도노력을 했다는 증거가 된다. 오답노트는 적은게 좋은게 아니다. 더 자만하게 된다. 즉, 계속 보고 다음에 안틀리면 되지라는 생각으로 하자! 아자! 아직 많이 남았다!

파이썬 17) 함수 리스트,튜플,딕셔너리 [내부링크]

오늘은 함수를 원래 잘은 안써 하지만 가끔은 사용하기위해 쓸때도 있지알면은 좋은 거??라고 할 수 있으려나?ㅋㅋ자 이제 진지하게 시작하자....만약 값을 여러개 값으로 받아오려면이런식이야 약간 값을 여러개 받아서 여러개를 그냥 처리하면되지 근데 솔직히def total(num):을해서num을 리스트로 만들어진 형태로 넣어버리면 더 깔끔해 굳이 위와 같이 쓰는건 비추천해기업코딩도 왠만하면 저것보다 이걸로 많이 선호하더라구 그래서 저방법은 그냥 알아둬...자 이것은 앞에 변수를 넣고 뒤에 몇개가 올지 모르는 인자값을 넣는 것이야둘이 순서가 바뀌면 안되냐구? 절대 그러지마 문제는 없지만 오류가 가끔 효율성으로 보면떨어져.......

카카오 코딩테스트 - 오픈채팅방 [내부링크]

오픈채팅방을 list compresion 으로 사용하지않으면 도저히 짧게 하기엔 불가능하여서 사용하였다.

웹 기획 사용성평가 - 모두투어 발표자료 PPT [내부링크]

웹 기획의 수업의 발표자료로 사용성평가와 통계와 사용의 편의성 등 소비자의 입장을분석한 PPT입니다.

클라우드 분석 - 내가 기획하기 프로젝트 발표 [내부링크]

내가 만약 브랜드 기획자라면 꼭 브랜드는 옷, 자동차 등이 아닌 판매나 기타 등등을 모든 것(IT 등등)을 브랜드라고 한다. 그 중에서 내가 원하는 브랜드 기획자가 되어서 어떻게 할 것인지 발표자료다.

파이썬 기초 과제1) for문 if문 응용 [내부링크]

사용자가 입력한 횟수만큼 "파이썬"이라는 문장을 출력사용자가 입력한 두 수 사이의 7의 배수와 개수와 합을 입력사용자가 입력한 두 수 사이의 수를 출력하되 3개씩 출력

카카오 코딩테스트 - 징검다리 [내부링크]

9번에 print(stones)는 지우셔도 됩니다. 검수차원에서 넣어놨습니다.

1)Python django 웹 개발세팅 [내부링크]

Python djnago 를 세팅해보자.준비해와야 할 것.Python 3.6.8 version 설치 (파이썬 설치는 Python배우기에 기초에 있으니 참고 할 것그리고 이클립스(JDK설치 후 설치)와 JDK(최신버전)를 설치할 것이클립스 사용법은 구글링 숙제를 줄게 직접 설치해봐 나는 수업위주로 하지 세팅 위주로 설명은 생략할게 세팅도일종의 공부이니 찾아봐!이제 세팅을 해보자! 경로에 한글이 있으면 오류나니 C:드라이브에 만들어서 이클립스의 프로젝트를실행하자!이제 내가 공부하면서 정리한 책을 캡처와 함께 적엇으니 이제 한번 해보자!기본은 일단 project를 만들며 django를 설치한다.가상환경을 한번 만들고 설치하면 그냥 들어가면 된다. 여러번.......

파이썬 14)함수 기본개념 [내부링크]

와 오랜만에 글을 올리네 ! 요새 이것저것 4학년이다보니코로나로인해 과제도 쌓이고 다하고 이제 올려!오늘은 함수를 배워보자 !함수? 수학? 졸려?아니 졸린게아니지 ㅋㅋ 하기 싫다구 해 그냥!zzzZZZ....자 정신차리고 다시 공부해보자!함수? 함수는 특정한 작업을 처리하기 위한 코드야즉, 반복적인 작업이 필요할때 우리가 sum(변수), len(변수) 등등 간단하게빌려서 썼지? 이건 우리가 만들어서 갖다 쓰는거야 !!즉, 집을 인테리어를 내가 맘댈 이것 저것 하고 계속 쓰는거지!함수 사용 방법은def 함수명(매개변수): 수행할 문장1 수행할 문장 2 ....이렇게 하는데 언제나 재사용이 가능한 장점과 코드의 가독성이 높아지며에러검출.......

파이썬 12) 반복문 for [내부링크]

Python안녕 for문은 늦게 올려서 미안... 중간고사랑 자격증시험이 겹쳐서 이제 올리네오늘은 for문에 대해 배워보자!while은 반복적이고 약간 까다롭지만for 문은 의외로 간편하고 간단하게 만들어하지만!! 미니게임이나 이런것들은 for보다는 while이 좋으니while을 무시하지말구 공부를 해줘!for 는 지정된 범위 안에서 반복을 수행하려고 할때 사용해리스트, 튜플 범위 내에서 각 요소들을 차례대로 지정된 변수로 대입 후에종속문장을 수행하지다들 for i in range(범위)가 for로 알고 있지만 오해야! for는 for 이고for 랑 range 함수가 합쳐서 for i in range(범위)로 쓸 수 있는 거야그러니 for문에 대해 한번 알아보자구~ 5252.......

파이썬 13) 반복문 for, range의 결합 [내부링크]

이번에는 for와 range의 범위를 합쳐서 반복을 하되 범위를 지정하는 걸 해볼꺼야!어후 이게 은근 간단한데 또 많이쓰이고 정말 좋고 편리한데 때로는 복잡해....머리터져.....range는 범위를 지정하는 명령어로 숫자리스트를 자동으로 만들어 반복문에서 유용하게 사용하는 거야range 사용법은 밑에 나와있는대로 보면그냥 5를 했을 경우 0부터 4까지 항상 -1까지지? 이 범위를 잘 생각해야되 그럼 제일 밑에 1, 10, 2는 무슨 말일까?궁금하지? 두구두구 미안.. 결과가 있네 보면은 1부터 9까지 1에서 2씩 증가되는 값을 반복하는거야즉, 1,3,5,7,9들만 출력이 되!! 와 신기하지? 와... 해먹기힘드네...이렇게 되 같은 느낌 아님 다른 느.......

네트워크 관리사 2급 필기 정리본1 [내부링크]

저작자 : 백민기네트워크 관리사 정리본 통신방식-단방향 방식 데이터는 한쪽 방향으로만 전송, 전송 방향을 바꿀수 없음 ex)라디오, TV-반이중 방식 양쪽 방향으로 전송될 수 있지만 동시에 전송 불가능 ex)무전기-전이중 방식 양쪽 방향으로 동시에 전송 ex)전화기 회선 구성 방식-포인트 투 포인트 방식 중앙 컴퓨터와 여러 대의 장치가 독립적인 회선을 이용하여 일대일로 연결 송수신되는 데이터 양이 많을 경우 사용 고장 발생시 유지보수가 쉽다-멀티포인트 방식 여러 장치들이 하나의 회선에 연결된 방식 장치들은 주소 판단 기능과 데이터를 저정하는 버퍼를 가짐 송수신하는 데이터 양이 적을 때 효과적 회선 고장 시 모두 운영 불능에.......

네트워크 관리사 2급 정리본2 [내부링크]

저작자 : 백민기OSI 참조 모델-ISO(국제표준기구)는 OSI모델을 정의-표준안을 제시하는 기관들 - ISO, CCITT, IEEE, ANSI, EIA OSI 계층별 구조물리 계층(Physical) - 데이터링크 계층(Data Link) - 네트워크 계층(Network) - 전송 계층(Transport) - 세션 계층(Session) - 표현 계층(Presentation) - 응용 계층(Application) 계층별 설명-물리 계층 Signal, 논리적 식별자, 광섬유, 전선, 랜선, wan선 등Physical 충돌 많이 발생, 케이블, 허브 전송속도, 신호 레벨, 전송 데이터를 전기적인 신호로 변환 후 전송 매체로 전달-데이터링크 계층 Frame, 물리적 식별자, MAC주소, 하드웨어 주소, 스위치Data Link 대역대안에서만 존재, 다른 대역대.......

네트워크 관리사 2급 필기 합격 후기 [내부링크]

네트워크 2급 관리사는 그냥 책을 한권 아무거나 사서 내가 필기요약처럼 간단히 정리하고무조건 온라인 cbt에 푼다 그리고 오답노트를 만들어 거기에 옮겨서 틀린 것만 본다 그러면규칙을 볼 수 있다 문제와 답이 항상 똑같다는 것이다 우리나라 자격증이 이게 단점이다 외국은항상 새롭고 이해를 해야 맞추지만 우리나라 자격증은 문제 답만 외우면 끝이다 그래도없는 것보다는 좋지 않은가? 이제 실기를 준비해서 열심히 따보자!

리눅스 2급 2차 필기정리 [내부링크]

저작자 : 백민기#리눅스 배포판 종류-슬랙웨어 리눅스 : 먼저 대중화된 배포판으로 ‘패트릭 볼커딩’에 의해 출시-데비안 : ‘이안머독’에 의해 설립, GNU의 공식 후원-우분투 : 데비안에 기초한 운영체제, 데스크탑 환경인 유니티를 사용, 6개월마다 새 버전이 배포-레드햇 : 리눅스와 페도라로 나눔-RHEL : 레드헷이 개발하여 판매하는 상용 리눅스 배포판, 18~24개월에 한번씩 새로운 버전이 공개-페도라 : 리눅스 커널에 기반한 운영체제, 18~24개월에 한번씩 새로운 버전 공개-CentOS : 레드헷 리눅스와 완벽하게 호환되는 컴퓨팅 운영체제-수세 : 독일에서 출시된 배포판==========&#.......

리눅스 윈도우 X [내부링크]

저작자 : 백민기X-Window#X윈도우-그래픽 사용자 인터페이스 GUI를 제공-오픈 데스크톱 환경으로 KDE, GNOME, XFCE 등이 있음-원하는 인터페이스를 만들 수 있다-네트워크 프로토콜 기반의 클라이언트/서버 시스템이다 서버 – 클라이언트들이 디스플레이에 관한 접근 허용, 클라이언트간 자원공유, 네트워크 메시지 전달, 클라이언트와 입출력기기의 중계를 담당 클라이언트 - X서버가 제공하는 기능등을 이용한다-구성요소 XProtocol, Xlib(X라이브러리),XCB(xlib를 대체하기 위해 등장, 향상된 쓰레드 기능 지원, 확장성 우수, Xtoolkit, XFree86, XF86Config #용어-데스크톱 환경 : GUI환경을 이용하기 위해 사용자에게 제공되는 인터페이스.......

파이썬 4)입력함수, 자료형 [내부링크]

Python이번엔 신기한 입력함수를 만들어보자.input 이라는 함수를 사용하여 사용자로부터 입력받을 수 있다.위와 같이 입력 할 창이 나온다 클릭해서 입력해보자.입력하고 누르면 출력이 된다. 4번째 줄 명령어는 설명해 줄게 기다려...4번째줄은 속성이 무엇인지 함수가 정수인지 문자인지 구별해주는 것이다.내가 그냥 input을 하면 문자로 입력받는다.즉 숫자는 문자로 인식을 할 수 있다. 문자는 int에 못들어간다.그래서 여기서 정수로 넣을려면이렇게 int를 input에 씌우면 된다.한번더 숫자가 문자로 인식 되면 치명적인 결정타를보여주겠다. 두근두근.....문자로 인식받아서 저렇게 문자로 더해져서 끔찍한 결과를 낸다.......

파이썬 5)문자열, 문자열 인덱싱, 슬라이싱, 내장함수 [내부링크]

Python문자열 변수에 대해 알아보자문자열 변수는 말그대로 문자열 담는 변수다"""이거나'''로 묶인 데이터 대입이라고도 한다.위의 예제를 보면 다양하게 넣을 수 있다. 중간에 num이라는 함정을 조심해~ ㅋㅋ자 이제 문자열을 가지고 놀아보자.프로그래밍을 가지고 놀아야 발전이 있다. 그러니 일단 우린 초급이니 초급으로가지고 놀아서 이해하자.문자열 더하고 곱하기 가지고 놀기를 해보자.참 문자열은 더하기, 곱하기 만 사용가능하니 나누기, 나머지 이 지X하는 놈은 없겟지?자 먼저 문자열 더하기를 보자문자를 문자끼리 더하면 우리가 앞에서 했던 숫자를 문자로 받을때 1 과 2를 입력했을때3이.......

파이썬 6)포매팅, 고급포매팅 [내부링크]

Python오늘은 출력에 중요한 포매팅을 해보자~포매팅(Formating) 은 문자열 내에 비어있는 공간을 만들어놓고사용할 때마다 원하는 값을 넣어서 이용하는 거야.우리가 여태까지 포매팅을 안사용 했으면a = "안녕"print(a)직접 넣었지?그리고 포캐팅을 직접 사용하는 것과 간접 사용이 있어직접 사용은a = "현재 통장의 잔고는 %d원이네..."print(a % 1000)print(a % 99999999)이렇게 변수에다가 넣어서 사용도 되하지만 정작 쓰는 것은 출력할때 그 값만 쓰기위해 포매팅을 하지~일단 쓰기에 앞서서 포맷팅 종류부터 한번 보자%s 문자열 (String)%c 문자 1개 (character)%d 정수 (Integer)%f 소수.......

파이썬 7)리스트, 리스트 자료형, 리스트 인덱싱, 리스트 내장함수 [내부링크]

Python이제 오늘 공부할 것은 리스트야 리스트는 정말 후반에 정리용으로많이 쓰이거나 깔짝 써야될 부분이 있을 때 쓰는 거니까 잘 배워둬! 고급포매팅처럼쓰일 수도 있어!리스트(List)는 여러 개의 값들을 하나의 지정한 변수에 넣을 때 사용해!리스트 변수 선언 방법은리스트 명 = []리스트 명 = [요소1, 요소2, 요소3....]사용 예로는이렇게 리스트로 줄줄줄 나와 마치 영수증 처럼 ㅋㅋㅋ 아니 돈이 없으니 그렇게까지안나오겟지... 하...암튼 시작해볼게 리스트를 깨뿌셔보자!자 이제 리스트 종류들을 보자 리스트에 리스트도 있다구! 5252미안...참 ! 출력할때 리스트라는 건 [ ] 모양이 양쪽에 있으면 아 리스.......

파이썬 8) 튜플, 딕셔너리, 집합 [내부링크]

Python이번에는 튜플에 대해 배워보자 튜플은 리스트보다 좋지는 않다. 근데값이 고정되있거나 잘 변하지 않으면 좋긴 혀.... 는 개뿔 리스트가 더좋아튜플(tuple)는 리스트와 조금의 차이는 빼고 거의 동일하다리스트는 []로 요소들을 감싸주지만 튜플은 ()로 감싸준다.리스트는 요소의 삭제, 수정이 가능하지만 튜플은 한번 값을 넣으면 바꿀수 없다.있긴 있지만 버겁다.튜플 선언 방법은튜플명 = (요소1,요소2,요소3...)하지만a = ()a = (10)a = (10,)a = (10, 20)에서 제일 위에 두개는 선언이 되지않는다.a = ( 1, 2, 3, 4)a = ("A","B")이런식도 잘 포함된다.하지만a &#.......

파이썬 9)조건문 if, 논리연산자, 다중if(elif) [내부링크]

Python오늘도 끄적끄적 적는 파이썬 강의오늘은 조건문 if 를 배워보자. 앞에 나온 프로그램을 작성하면서if나 for를 쓰면 더 좋은 걸 만들 수 있었는데 당연히안 배웠으니 못 썼다.... 이제는 if 라도 쓸 수 있겠다.암튼 시작한다.if 조건문은 "조건문"이란 참과 거짓을 판단하는 문장이다.참이면 실행하고 거짓이면 실행을 안하고 넘어가는 약간 갈림길 이라고 하기도 한다.조건에 따라 다른 동작을 수행하려고 사용하는데 즉, 정리하자면이 조건에 만족하면 A를 실행 그렇지 않으면 B를 실행한다.if의 기본 구조는if 조건식 : if 종속문장 1 if 종속문장 2 ....else: else 종속문장 A else 종속문장 B ....주의할점!!.......

파이썬 10)while 반복문 [내부링크]

Python자 여기까지 복습을 잘 하고 다 기억하면서 이제 쫌어려운 반복문을 해볼게 반복문을 하면 다들 for가 젤 편하다고(몰라도되 while다음이 for문 설명올려줄게)하지? 근데 for문이 좋긴 사실이야 하지만 while문도 만만치 않게게임에 발끝정도로 오오 재밌다 할정도로 나중에 문제를 내줄게이제 반복문에 대해 보자~while 은 지정된 조건식에 평가하면서 참인 동안 종속문장을 자꾸 수행해while 기본구조는while 조건식: while 종속문장1 while 종속문장2 ....다음 문장while은 이렇게 쓰이는데 당근 실습을 하면서 이해해야지일단 while을 무한정으로 돌리는 방법은while True:라고 조건식을 걸면 자꾸 돌아 끊임없이근데 대부분.......

파이썬 11)while의 break, continue 문 [내부링크]

Pythonbreak 와 continue를 간략하게 알아보자.break는 반복 중 강제로 반복문을 빠져나갈 때 사용하는 명령어야사용예를 보면이런식으로 하는데 전부다 보면 if 문을 하나로 보면 while 밑에 if문이 있는 걸 볼 수 있어if문은 break를 실행하면 그 한단계위를 종료하는거야 if문 위에는 while 이 있지?어떻게 보냐고?? 파이썬은 탭간격이 구분이 되자나! 탭간격으로 잘봐바 그러면한단계위를 종료 할꺼야 반면에 continue는 ??? 그냥 다시 반복해라 이말이야그럼 continue를 보자continue : 반복 중 반복문 내 continue의 아래 코드를 수행하지 않고 조건식으로 올라가다시 수행해!자 예시를 보며 만들어서 이해를 해 break와 conti.......

파이썬 1)기본개념 [내부링크]

Python파이썬은 프로그래밍 언어이며 게임, 안드로이드, IOS, 어플리케이션, HTML 등 다양한 분야에서 쓰인다. JAVA, C언어, C++보다도 간단하며 언어 사용이 간편해져서 사용자는 편해졌다. 하지만 컴퓨터로서는 이해하기가 다소 힘들어지는 단점은 있다. 하지만 인간이 만드는 것이 편하면 이용하기도 좋고 폭도 넓어져서 파이썬이 유명해진 것이다.Programing - 프로그래밍은 프로그램을 만드는 것Coding - 컴퓨터 명령코드로 작성하는 작업을 코딩이라 한다.Programing language - 프로그래밍 언어로 컴퓨터의 프로그램을 작성하기위한 언어이다.그리고 언어 측면을 보면저급언어(computer)-기계어0과 1로 된 이진수 형태의 언어-어.......

파이썬 1-1) 설치 및 개발 세팅 [내부링크]

python.org/downloads/ 로 들어가서 다운을 받아라 다운받고 저걸 하면 잘된다.내가쓰는 개발환경은 위에 마이크로소트프 비쥬얼 스튜디오의 파란색모양의프로그램이다. 이걸 다운 받아서 키면은 왼쪽에 블럭 모양을 누르면 검색창이 나온다거기에 Python을 검색해서 동그라미 친 세개를 다운 받아서 쓴다. 하지만파이썬을 따로 받고 시작해야 한다.그리고 추가적으로 새파일을 만들어서 .py확장자로 이름변경하면 파이썬이 된다.

파이썬 2)기본사용 [내부링크]

Python을 이제 공부해보자.설치는 생략 파이썬에 대해서 배우는 그냥 끄적대는 강의 입니다.파이썬 사용법은이렇게 출력이 가능하다. '''과 """세개도 출력하면 하나로 출력한다.일단 그전에 Hello World 라는 말이 언어마다 접할때 나온다.처음 언어가 나왓을때 Hello World라는 말을 먼저 나왔기때문에모든 언어가 배울때 이거부터 배우게 된다. 아니 뭐 그렇다고 왜그래그냥 말할수도 있잖아...그리고 나중에 말하겟지만 저건 str로 문자는 String으로 나온다.나중에 배우자 그건...일단 앞서 출력문을 활용해보자 " " 안에 ' 를 사용가능하며 ' ' 안에 "가 사용된다. 오.......

파이썬 3)자료형과 변수 [내부링크]

Python자료형과 변수는 여기서 잘 이해하고 넘어가자 ....모르면 언어 하지마 그냥 때려쳐" " 안에 들어가는 것은 문자123 으로 그냥 적으면 int 숫자로 이해한다. (문자를 그냥적어서 숫자로이해하는 놈은 병X.... )죄송합니다. 그럴 수 있죠 ㅎㅎ일단 들어가기전에 산술연산자를 먼저 배워보자숫자와 숫자간에 당근 계산이 되는 연산자를 산술연살자라고 한다.내가뭐 초딩교사냐 그냥 봐+ 덧셈13 + 4 = 17- 뺄셈13 - 4 = 9* 곱셈13 * 4 = 52/ 나눗셈13 / 4 = 3.25** 거듭제곱2 ** 7 = 128// 정수로 나누었을 때 몫만 나오게13 // 4 = 3% 정수로 나누었을때 나머지7 % 4 = 3( ) 수식중에 제.......