추천 글

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

[postgresql] Error: relation does not exist

INSERT INTO 시 발생하는 에러로, 문자그대로 보면, 존재하지 않는 테이블 명을 입력했다는 것입니다. 하지만 위 사진을 보면, 분명 Object browser에 적혀있는 그대로 적었는데도 에러가 발생하는 경우가 있습니다. 이럴땐, - 해결 방법 : 테이블 명이 Uppercase, Lowercase 혼용일 경우, 쿼리에서 테이블명에 ""를 씌워주면 됩니다. "" 를 붙이냐 안붙이냐의 차이는, 쿼리를 해석할 때, '대소문자를 구분해라'라는 의미라고 합니다. 만약, 테이블명에 대소문자가 혼용되어있다면, 이를 구분해줘야하기 때문에 ""를 반드시 써야하고, 테이블명에 소문자만 있을 경우, ""를 써도 되고 안써도 된다는 것입니다. 그러므로, 테이블 명은 가능하면 모두 Lowercase로 만드는 것이 좋습니..

DB 2016.06.01 0

[HTML/JS] button을 누를 경우, 페이지가 reload 되는 현상

일반 button을 누를 경우, (버튼에 설정해놓은 이벤트 외에 추가로) 페이지가 제멋대로 reload 되는 경우가 있다. [원인] button이 form 태그 안에 있을 경우 발생한다. 덧붙여, button의 type 속성의 기본 값은 'submit'이다. 즉, 버튼을 클릭할 경우 123 ClickColored by Color Scriptercs 위와 아래 코드는 같은 동작을 한다. 123 ClickColored by Color Scriptercs [해결] 두가지 방법이 있는데, 상황에 따라 적절히 활용하면 될 것이다. 첫번째 방법은, button의 type을 'button'으로 설정하거나,123 ClickColored by Color Scriptercs 두번째는, form 태그를 div로 대체하면 된..

HTML 2016.09.07 7

[Linux] 파일 및 디렉터리의 권한 변경하기

권한 변경하기파일 또는 디렉토리의 권한은 chmod 명령어를 통해 변경하게 된다.1$ chmod 777 libcs여기서 숫자의 값은 유저가 갖는 rwx 권한의 합을 나타낸다.각각 값은 아래와 같은 의미를 갖는다. 권한값 r 4 w 2 x 1 읽고, 쓰고, 실행 가능한 값은 4+2+1=7이다.만약 읽기만 가능하도록 하면 4+0+0=4이다.따라서 777이란 의미는 유저가 읽고, 쓰고, 실행이 가능하다 라는 뜻이다. 특수 권한 변경하기이제 설명할 것은 기본적인 rwx 권한 이외의 특수한 목적으로 만들어진 권한이다. 특수 권한설명 값 SetUID 파일을 실행하는 동안에는 소유자의 권한을 획득하는 허가권. 4 SetGID 파일을 실행하는 동안에는 소유 그룹의 권한을 획득하는 허가권. 2 Stick Bit 아무나 ..

Linux 2016.01.05 0

[C#] 'TypeInitializationException이(가) 처리되지 않았습니다' 에러

대부분의 오류나 예외는 메시지를 잘 살펴보면 어떻게 해결할지 답이 나온다.처음엔 메시지를 봐도 이게 무슨말인가 했는데, 비슷한 예외가 자주 발생하다보니 이젠 잘 읽어보면 어떻게 해결해야할지 감이 잡힌다. ''OpenCVSharp.CPlusPlus.Mat'의 형식 이니셜라이저에서 예외를 Throw했습니다.' [주의] 일반적인 해결방법이 아닐 수 있습니다. 먼저, 메시지에서 언급된 형식의 인자의 값을 잘못 넣었는지 확인한다.(그럴 일 없겠지만..) null 이거나, 크기가 맞지 않거나 등등..만약 잘 입력했는데도 예외가 발생한다면, 예외 창에서 '자세히 보기...' 버튼을 클릭한다. '자세히 보기'창에 예외 정보가 자세하게 나와있다.여기서, 처음 보이는 Exception안에 InnerException 을 계..

오늘의 뻘짓 2016.03.03 2