알고리즘 공부를 본격적으로 하기 시작했다.문제풀이와 배경이 되는 공부를 병행한다. 문제풀이는 좋은 사이트가 많아서 문제가 없을것 같다(문제가 많아서ㅎㅎ) 배경이 되는 공부는 자료구조와 알고리즘 공부가 가장 기본이라 기본이 되는 전공과목 공부를 하고, 깊이있는 내용의 관련 글들을 많이 읽기로 하고있다. 자료구조는 공부한적이 있어, 용어가 익숙한데알고리즘 용어는 많이 낯설다.알고리즘의 이름이나, 복잡도와 관련된것들.. 그리고 언어별로 구현하는법, 유형별 특징, 라이브러리 사용 같은걸 추가로 공부해야할것같다. 참고할만한 사이트를 많이 찾았는데일단 SW Expert Academy 와 백준을 메인으로 보면서, 다른거 더 좋은거 있나 둘러보기도 하고있다. 백준 online judge https://www.acmic..
함수를 끌어 올려? MDN Javascript 문서를 보다가 보니 함수를(혹은 클래스)를 끌어올린다는 표현이 가끔씩 나온다. 대체 뭘 끌어올린다는 건지 이해가 되지않아 몇개의 글을더 찾아 읽어보다가Hoisting이라는 단어를 끌어올린다고 번역하였음을 알 수 있었다.영어 발음 그대로 '호이스팅'이라고 표현된 부분도 있었다. '끌어올리다'라는 용어 자체가 흔히 쓰이는 말인지는 모르겠지만그 단어 자체에 대한 정의는 따로 찾을수 가 없어서 의미를 알기가 혼란스러운 점이 있긴 하다.MDN에 Hoisting에 대한 페이지가 따로 존재한다. '끌어올리다'라는 표현이 잘 이해가 안되었는데 함수가 선언된 부분을 코드의 맨 위로 끌어올린다는 것에서 나온 표현으로 볼 수 있을것같다. 호이스팅(hoisting)에 대해서 몇가..
언제나 나는 뭔가 쓰고싶지만 잘 쓰려고 하면 시간이 오래 걸리고 결국 안하게 되어서...스스로 되돌아보고 앞으로 어떤 마인드를 갖고 블로그를 운영할지 쓰는 글. 바람.체계적이고 예쁘고 친절하게 쓰고 싶다. 내가 확~실하게 알게 된것만 쓰고 싶다. 걸림돌.다이어그램 만들기 귀찮다. 스크린샷 찍고 사진 첨부하기 귀찮다.내 수준을 드러내는거같아서 좀 그렇다.너무 많이 공유하는거 아닌가? 하는 두려움. 개선. 스스로 자꾸 세뇌? 하고자 하는 새 마인드 알아볼수 있는 선에서 기록하는것이 안하는것보다 낫다. 좀 덜 예뻐도 안 올린것 보다는 나은 것이고 시간을 덜 들였으면 나름의 잘 한점이다.나중에 수정하고 덧붙여도 되니 뭐라도 써놓고 올리자. 수준이 낮아 보여도 실제로는 더 빠르게 성장하고 있는 자신을 보자.공유하..
Neopixel은 adafruit에서 만든 ws2812 LED 부품이다. 이번 포스트는 아두이노로 neopixel을 간단하게 작동시켜보는 예제이다. 나중에 내가 했던거 찾아보는게 구글링하는거보다 편할때가 있어서 간단히 테스트 해보고 정리한 글이다. 1. 라이브러리 포함하기. Neopixel 라이브러리를 먼저 포함시켜줘야한다. 아두이노 라이브러리 매니저에서 설치할수 있다. 설치 후에 #include 를 코드에 넣어준다. 2. 부품 연결 LED 갯수가 많거나, 아두이노에 전력이 많이 들어가는 모터같은게 들어간다면 외부 파워를 연결해줘야 할수도있다. 또, 부품을 보호하기 위해서 저항이나 콘덴서를 연결하기도 하는데 몇개 안되고 해서 그냥 이렇게 연결했다. 아래 표와 같이 Neopixel과 Arduino를 연결하..
GEM이란.gem은 프로그램 언어인 루비에서 쓰이는 라이브러리 패키지이다.커맨드라인에서 인스톨 명령을 내려 쉽게 설치할수 있다. Gem Setgem을 모아놓은것을 gemset이라고 한다.한 컴퓨터안에도 루비 버전마다 혹은 프로젝트마다 필요한 gem이 다를수 있기때문에 있는 개념이다. Gem의 확인, 설치 현재 설치되어 있는 gem의 종류를 아래와 같이 입력하여 확인할수있다. $ gem list 또 rvm이 설치 되어있다면 다음 명령어를 통해 현재 설치된 gemset의 종류를 알수있다. $ rvm gemset list 다음과같이 gem을 설치할수 있다. $ rvm gem install [gem이름] command line에 대한 더 자세한 정보는 https://guides.rubygems.org/comma..
RVM?Ruby Version Manager을 줄여 RVM이라 한다. 여러 버전의 루비를 깔때, 편리하게 관리하는 프로그램이다.이걸 쓰는 이유는 뭘까? 개발을 할 때에 프로젝트마다 사용되는 라이브러리의 종류와 버전이 다르기때문에이들을 따로 관리할 필요가 있다. 루비에서 쓰는 라이브러리 패키지를 gem이라고 하며, 여러가지 gem을 모아놓은것을 gemset이라고한다.RVM은 프로젝트마다 gemset을 따로 가질수 있도록 관리가 가능하도록 해주는 툴이다. rvm.io에 가면 이렇게 나와있다. RVM is a command-line tool which allows you to easily install, manage, and work with multiple ruby environments from inter..