추천 글

OpenLayers3 튜토리얼 : Basic Concepts

웹에 대한 지식을 쌓을 겸 구글링할 때, 영여 원문을 번역해놓은 글을 보고 도움을 많이 받았었다. 비록 쉬운 내용이지만, 그냥 읽는 것 보다 글로 쓰면 기억에 잘 남고, 그리고, 미래의 내가(?) 읽고나서 짧은 시간 안에 파악할 수 있도록 내용을 정리할 겸 아래에 내용을 작성하였다. 이해를 위해 조금 해석해서 다시 적기도 하고, 이해가 안되는 부분은 본문을 첨부하였다. 원본 출처는 아래 링크 입니다. OpenLayers3 튜토리얼 - Basic Concepts Map - Map은 OpenLayers3의 핵심 컴포넌트 (ol.Map)- target에 요소의 id를 입력하면, 해당 요소 위에 지도를 렌더링함 (예를 들면, 웹 페이지 div 요소에 올릴 수 있음)- Map의 모든 속성은 생성할 때나 sette..

JavaScript 2016.07.20 0

[CSS] z-index와 쌓임 맥락(Stacking Context)

z-index 에 대해 검색하다가 좋은 글을 보게되었다. [번역] z-index에 관해 아무도 말해 주지 않은 것이라는 글이고, 원문 What no one told you about z-index 을 번역한 글이다. 글을 읽으며 든 생각은 z-index가 적용되는 방식은 생각보다 복잡하며, 스펙에는 그러한 정보가 모두 들어있다는 점이다. 쌓임 순서 (Stacking Order)란? z-index가 높으면 위로 오고, z-index가 낮으면 아래로 가는 것이다. 쌓임 맥락 (Stacking Context)란? 같은 부모 밑에 쌓임 순서에 따라 앞뒤로 한꺼번에 움직일 수 있는 요소를 말한다. 쌓임 맥락이 만들어지는 조건은 - html 요소 (그 자체) - 요소가 position: static이 아니고, z-..

HTML 2017.01.12 0

[CHAMO] 사진 메모 - 지금까지의 결과물

0. 배경 웹 서핑 중, 기억하고 싶은 정보를 캡쳐하는데 사진이 정리가 안되어 나중에 찾기 힘들었습니다.캡처된 사진을 관리하기 위해 만들게 되었습니다. 1. 운영 환경 URL - dolhim.com/chamo호스팅 - 고도호스팅서버 - Apache Web Server, PHP 7.0DB - Mysql 5.5 2. 화면 - PC - 모바일 3. 기능카드 도시 - 사진과 제목, 카테고리(임시), 생성 날짜, 생성자, 설명을 카드형식으로 도시함. 카드에 움직임 효과를 주기 위해 Masonry.js 라이브러리 사용. 태그 검색 - 상단 입력 부분에 태그를 입력하면 해당 태그를 포함하는 카드가 필터링 됨. Selectize.js 라이브러리 사용.로그인 기능 - 카드 옵션에 따라 특정 카드는 생성자만이 볼 수 있도..

오늘의.. 2017.05.28 0

최신 글

more

[arduino] 기초 (블루투스 모듈 HC-06, AT 명령어 안될 때)

보드 정보: 아두이노 호환 보드 사용한 블루투스 모듈: ZS-040 (펌웨어 버전 linvorV1.8) - 이 블루투스 모듈의 핀은 (칩이 보이게 세로로 두었을 때) 왼쪽부터 RX, TX, GND, VCC를 의미한다. - RX, RXD는 Receive Data, 수신을 의미하고, - TX, TXD는 Transmit Data, 송신을 의미한다. - GND는 Ground, 접지, VCC는 Votage Collector, 전원을 의미한다. - RX, TX는 연결할 때 반대로 연결해야한다. (모듈 RX 핀은 아두이노 TXD 핀에, 모듈 TX 핀은 아두이노 RXD 핀에) - 블루투스 모듈 연결을 확인하기위해 아두이노에 모듈만 연결한 뒤, 시리얼로 `AT`라고 보내는데 답이 없을 경우, 먼저 모든 모듈과 동일하게 ..

컴퓨터 2023.08.13 0

[arduino] 기초 (서보모터)

서보모터 (servo moter) 주황색선 - 제어용, 빨간색선 - +, 갈색선 - GND 기어가 움직일 각도를 설정할 수 있다. 모터 동작 사이사이에 기어가 움직일 시간을 줘야한다. 너무 짧게 주면 제대로 움직이지 못한다. motor.write(170); // 0~180도 delay(1000); motor.write(10); delay(1000); 버튼을 추가하여 각도를 제어하는 등 다른 부품을 추가하여 활용 수 있다. #include Servo motor; void setup() { // 서보모터를 12번 핀에서 사용한다고 설정 motor.attach(12); } void loop() { int pin2 = digitalRead(2); if (pin2 == 0) { motor.write(170); d..

컴퓨터 2023.07.26 0

[arduino] 기초 (LED, 버튼, 3색 LED, 가변저항)

물리공작소 LAB 유튜브 동영상을 참고하여 https://wokwi.com/ 시뮬레이터로 진행했습니다. Wokwi - Online ESP32, STM32, Arduino Simulator PowerVotes: You decide. We Do. wokwi.com LED 다리가 짝짝이다. 긴 쪽이 + (power)이고, 짧은 쪽이 - (ground, 접지)로 알맞는 곳에 연결해야한다. analogWrite(11, 30); 코드로 불을 켤 수 있다. 파라미터는 핀 번호랑 전압이다. 전압에 따라 밝기가 달라진다. 0(0v)~255(5v)까지 입력이 가능하다. https://www.arduino.cc/reference/ko/language/functions/analog-io/analogwrite/ 불이 켜지지 않..

컴퓨터 2023.07.26 0

cassandra 접속을 위한 cqlsh 간단 사용 방법

1. cqlsh 다운로드 아래 링크에서 cassandra 버전을 선택하고, 체크박스를 클릭하여 동의하고, 다운로드한다. 나는 Apache Cassandra를 사용해서 "DataStax Distribution of Apache Cassandra"를 선택했다. https://downloads.datastax.com/#cqlsh 2. 접속 terminal이나 cmd를 실행하고, 다운로드 받은 폴더로 들어가서 압축 해제한 후 아래 명령어를 실행한다. 1.2.3.4에는 접속하려는 cassandra 서버의 IP주소를 입력한다. bin/cqlsh 1.2.3.4 9042 3. keyspace 조회 DESCRIBE keyspaces; 4. 데이터 조회 sql과 매우 비슷하다. select * from abc 참고: ht..

DB 2022.04.25 0

[노개북] 실용주의 프로그래머 (Mission 3)

Mission (3) 진짜 요구사항 요구사항을 받았는데, 요구사항이 아닐 수 있습니다! 요구사항이 아니라면 사용자가 진짜로 원하는게 무엇인지 알아내야합니다. 애매한 요구사항에서 진짜 요구사항을 찾아내는 연습을 해봅시다. (1) '연습문제 #33'을 읽습니다. (2) 1-5번까지 문제를 클라이언트가 건넨 요구사항이라 상상하며 문제를 풀어봅시다. (3) 진정한 요구사항이 아닐 경우 어떻게 질문을 해야하는지, 무엇을 알아야 하는지, 왜 그렇게 생각하는지 등 나의 생각을 작성해보세요. ❗️ 풀이과정은 문제당 300자 이상으로 작성해주세요. ❗️ 책에 있는 해답은 참고용이며, 본인의 생각을 잘 작성해주세요. 📌 연습문제 33 다음 문장들이 진정한 요구 사항인가? 가능하다면 진정한 요구사항이 아닌 것을 좀 더 유용..

이달의 책 2022.04.04 0

[노개북] 실용주의 프로그래머 (8장. 프로젝트 전에)

오늘 읽은 범위 🔖 8장. 프로젝트 전에 📝 책에서 기억하고 싶은 내용 실용주의 프로그래머는 요구사항을 받으면 의문점을 떠올리고 의뢰인에게 역으로 질문하며 탐험한다. (p.352) 프로젝트 용어 사전 관리하기 (p. 360) 짝 프로그래밍pair programming, 몹 프로그래밍mob programming: 한 사람이 코드를 입력하는 동안 한 명 혹은 여러명의 팀 동료가 조언하고 고민하며 문제를 함께 푸는 것 (p. 368) 익스트림 프로그래밍eXtream Programming, XP의 실천 방법 중 하나 (p. 369) 애자일agile: '기민하다'는 뜻의 형용사 애자일 선언 중 소프트웨어 개발에서 중요하게 여겨야할 가치 공정과 도구보다 개인과 상호작용 포괄적인 문서보다 작동하는 소프트웨어 계약 협..

이달의 책 2022.04.04 0

[노개북] 실용주의 프로그래머 (7장. 코딩하는 동안)

오늘 읽은 범위 🔖 7장. 코딩하는 동안 📝 책에서 기억하고 싶은 내용 여러분은 개발자로서 ... 경험과 지혜를 축적해 왔다. ..그 느낌을 따라라. 직감이 여러분의 역량에 일조하도록 하라. (p. 277) 일단, 하고 있는 일을 멈춰라. 여러분의 뇌가 정리를 좀 할 수 있도록 약간의 시간과 공간을 확보하라. (p. 278) 코드를 마구 찍어내는데 드는 시간을 줄이고, 오류를 초기에 더 적게 만들기 위한 의도적으로 프로그래밍하는 법 (p. 288) (중 일부만 작성) 지금 무엇을 하고 있는지 알아야 한다. 코드를 상세히 설명할 수 있는가? 계획을 세우고 그것을 바탕으로 진행하라 신뢰할 수 있는 것에만 기대라 우선순위를 정하라 대문자 O (Big O) 표기법 어떤 함수가 O(n)2 시간이 걸린다고 하면, ..

이달의 책 2022.04.02 0

[노개북] 실용주의 프로그래머 (6장. 동시성)

오늘 읽은 범위 🔖 6장. 동시성 📝 책에서 기억하고 싶은 내용 용어 정의 (p. 241) 동시성concurrency: 동시에 실행 중인 것처럼 행동하는 것 ex) 파이버fiver, 스레드, 프로세스 등을 사용 병렬성parallelism: 실제로 동시에 실행되는 것 ex) 여러 개의 일을 동시에 할 수 있는 하드웨어. 코어가 여러개인 CPU, 여러대의 CPU 등 시간적 결합temporal coupling 깨트리기 보통 직선적 사고를 하기 마련이다. ...우리는 동시성을 확보해야 한다. 시간이나 순서에 의존하는 시간적 결합을 끊는 방법을 생각해 내야 한다. (p. 244) 작업 흐름을 분석하라 -> 활동 다이어그램activity diagram 작성하기 (p. 244) 공유 상태는 틀린 상태 상태를 공유하는..

이달의 책 2022.03.30 0

[노개북] 실용주의 프로그래머 (Mission 2)

💡 연습문제 20 (p. 207, Topic 30 변환 프로그래밍) (이벤트에 잘 반응하는 애플리케이션을 만들기 위한) 네 가지 전략 중에서 다음 상황에 맞는 것은 각각 어떤 것일까? 여러 전략을 조합해야할 수도 있다. 5분 동안 '네트워크 인터페이스가 꺼짐' 이벤트를 세 번 받으면 운영 직원에게 알려라. 일몰 후에 층계 밑에서 동작이 감지된 다음 층계 위에서 동작이 감지되면 위층의 전등을 켜라. 다양한 보고 시스템에 주문이 완료되었음을 알리고 싶다. 고객에게 자동차 대출을 집행할 수 있는지 평가하기 위하여 애플리케이션이 세 가지 다른 서비스에 요청을 보내고 응답을 기다려야 한다. ✅ 풀이 과정 일단 4가지 개념을 간단히 정리해보았다. 1. 유한 상태 기계Finite State Machine, FSM: ..

이달의 책 2022.03.29 0

인기 글

[C++] LNK2019 에러 발생 시 해결 방법

자주 발생하지만 이렇다 할 해결방법이 없는 에러!!발생할 때마다 매번 고생 하는것 같아서 정리한다. 참고 : [Error LNK2019] Link Error 발생시 확인해볼 것들 --> [링크] 아래에 어제,오늘(;;) 고생하여 해결한 내용을 정리하였다.앞으로 다른 원인이 발견되면 추가할 것이다. 1. LIB 파일이 제대로 추가되었는지 확인한다방법 a. 프로젝트 속성(Alt + F7) > 링커 > 일반 > 추가 종속성 위 속성 값에 필요한 lib 파일 명이 명시되어있는지 확인한다.방법 b. #pragma comment(lib, "mylibrary.lib") 전처리기를 이용하여 직접 추가한다. 위 두가지 중, 한가지를 수행하면 된다.단, 동일 솔루션 내에서 빌드하는 lib을 추가하는 경우 아래의 방법을 따..

오늘의 뻘짓 2015.07.21 4

[C#] C#에서 C++ DLL 사용할 때 보호된 메모리를..

체크 할 것 0. (함수 인자에 참조형을 사용 할 경우?,) 해당 소스 코드 프로젝트 속성에서 '빌드 > 안전하지 않은 코드 허용'에 체크한 후, unsafe { } 구문으로 감싸준다. http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=17&MAEULNo=8&no=125908&ref=125908 1. 선언한 배열의 크기보다 더 큰 데이터가 전달되지는 않았는지 확인한다. http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=17&MAEULNo=8&no=61219&ref=61195 2. C#에서 생성하지 않았거나 크기가 명확하지 않은 포인터를 직접 참조하지 않았는지 확인한다. http://www.devpia...

카테고리 없음 2015.06.15 0

[C++] 파일 읽을때 깨짐 현상

void readdata(){ int n=0; ifstream ifile("C:\\1.txt", ios::in); while(!ifile.eof()) { char *ptr; char inputstr[100]; ifile.getline(inputstr, 100); ptr = strtok(inputstr, " "); if(ptr == NULL) break; x[n] = atoi(ptr); printf("%s ", ptr); ptr = strtok(NULL, "\n"); if(ptr == NULL) break; y[n] = atoi(ptr); printf("%s\n", ptr); ++n; } ifile.close();} 파일 읽는 함수. 꼭 ifstream을 사용하지 않아도 깨짐 현상이 발견되었다. 아래는 깨..

오늘의 뻘짓 2014.11.03 0

[C++] 빌드 이벤트 - 빌드 후 이벤트로 파일 복사하기

- 프로젝트 속성 > 구성 속성 > 빌드 이벤트 > 빌드 후 이벤트 이때 구성과 플랫폼을 '모든 구성', '모든 플랫폼'으로 세팅해놓고 나서 다음을 진행하면 편하다. 명령줄 copy /Y "$(TargetDir)$(ProjectName).dll" "$(SolutionDir)bin\$(IntDir)$(ProjectName).dll" 명령어 옵션/Y 동일한 파일이 있어도 물어보지 않고 무조건 복사 자주 쓰이는 매크로 설명 (MSDN 에서 더보기..) $(TargetDir) 실행폴더, DLL이 생성되는 경로 예 ) C:\...\Debug\ $(ProjectName) 프로젝트 이름 $(IntDir) 해당 빌드 환경 폴더 예) x64\Release\, Bin\ 등 $(PlatformName) 예) x64, Win..

C++ 2014.11.06 0

[Linux] 파일 및 디렉토리의 소유자/소유그룹 변경

소유자/소유그룹 변경하기 소유자와 그룹 소유자를 변경하려면 chown 명령어를 사용하면 된다.1$ chown root:group libcs 위 명령어는 'lib' 항목에 대하여 소유자를 'root', 소유 그룹을 'group'으로 변경한 것이다.만약 계정 아이디가 'user'가 있고, 'lib'항목의 root 소유 권한을 'user'에게 넘긴다면 아래와 같은 명령어를 사용하면 된다.1$ chown user libcs 만약 'group'그룹이 있고, root 그룹 소유를 'group'그룹에게 넘긴다면 앞을 비우고 :뒤에 그룹 아이디를 적으면 된다.1$ chown :group lib cs 위처럼 둘다 소유자 및 그룹 소유자를 변경한다면1$ chown user:group lib cs lib는 디렉토리다. 만약..

Linux 2016.01.05 0