오랜만에 찜닭 먹으러 신촌에 갔습니다.


찜닭하면 딱 생각나는 곳이 있을 수 있지만, 조금은 특별한 찜닭을 소개하겠습니다.

장군찜닭

신촌역에서는 거리로 15-20분 소요됩니다.


가장 먼저 메뉴는 아래와 같습니다.



가장 많이 드시는 것이 토마토, 크림, 장군입니다.

아래는 가게 내부 모습니다.

5시쯤 도착해서 아직까지 사람이 많지 않습니다.

주문이 들어가면 음식이 조리되기 때문에 15분 정도는 기다리셔야 해요!



우리는 크림찜닭으로 주문했습니다!

2인분인데 정말 많아요 ㅜ.ㅜ

남자 2명, 여자 3명에서 먹을 양입니다.

참고로 저 라면 는 거뜬히 먹는 여자인데 남겼습니다....... (먹다 지쳐 네개 정도, 두명에서 갔습니다.)




신촌 맛집 찾으신다면 저는 강추! 

제가 먹기에는 약간 짠듯 하지만 제 친구는 간이 딱 맞다고 합니다.


이상으로 장군찜닭 후기였습니다.

감사합니다.




안녕하세요. 날씨가 많이 추워졌는데 다들 감기조심하세요,,

오늘은 예쁜 분위기 카페 하이웨스트 소개하도록 하겠습니다.


공항철도를 따라 들어가다보면 빌라가 들어선 골목 사이 카페를 찾을 수 있습니다. 홍대입구에서 걸어서 10 -15분 정도!

아래의 사진은 카페의 입구입니다.

토요일 1시 조금 넘어서 도착했는데 두팀이 대기중이었습니다.


웨이팅한 카페는 처음이라.. 30분정도 웨이팅했는데, 붐비는 시간대는 피하는 것이 좋을 듯 합니다!



카페의 위층은 Bloom story 카페가 있는데, 외관부터 참 예쁘게 꾸며져 있습니다. 

연남동 카페는 안예쁜 곳이 없나봐요ㅜ.ㅜ 다음에 친구랑 또 갈거에여




드디어 카페 안으로 들어와 찍은 사진들입니다.

실제로 계단에 놓여진 접시들에 쿠키와 디저트들을 주십니다.

우리 자리는 이 계단 바로 왼쪽입니다.


붐비는 시간에 오면 따로 자리 이동은 안되요!




카페의 메뉴판입니다:)

참고하세여



아래의 쿠키와 디저트들은 이 카페의 하이라이트 :-)

가격이 없지는 않지만 너무 귀여운 쿠키라 하나 주문했습니다.

맛은 고소한 쿠키 맛 입니다!





친구는 카페모카였던가,, 저는 단걸 좋아하지 않아 아메리카노 주문했습니다.

쿠키도 적당히 달아 너무 좋았습니다.



저 토스트는 카페에 온 이상 꼭 먹어야 합니다.

다른 쿠키들은 포장이 가능하지만, 바질토스트는 따로 포장이 안됩니다.

만약 뭘 드셔야할지 고민이 되신다면 꼭 저 바질토스트 먹어주세여......

포장안되는게 너무 서러울정도



마지막으로 주문한 것은 블루베리 치즈 케이크?

다른 디저트보다는 좀 달았습니다!


마지막은 희주가 사온 기념품들.

친구와 인생샷 찍고 싶다면 추천합니다.

커플끼리도 갈 수 있지만 저라면 친구랑 갈 것 같아요.




감사합니다.

오늘도 즐거운 하루 되세요!






Microsoft에서 진행하는 이틀간의 YouthSparkLive 행사에 대비하여 진행된 교육 

아두이노로 SOS신호 보내기



먼저 아두이노의 프로그램을 설치해볼까요?


http://www.arduino.cc/ 





설치가 끝나셨다면 본격적으로 설명하도록 하겠습니당


  • 사용할 제품 설명





왼쪽에 케이블 연결할 수 있게 되어 있는 것이 아두이노입니다. 

위의 사진에서 저항과, 케이블, 보드, 전선 2개를 이용하도록 하겠습니다.


  • 디지털 신호 - 디지털 신호


위의 아두이노 제품들로 디지털 신호로 연결하여 LED에 불을 키도록 하겠습니다.




케이블로 아두이노와 노트북을 연결한 후, 전선 두개를디지털 신호 같은 줄에 연결하여 전기를 통하게 합니다.

이 때 맨 위 두줄과 아래 두줄은 가로로 전기가 통하며, 나머지 줄은 세로로 전기가 통합니다.

전선에 튀어나와 있는 부분이 +극, 덜 튀어나와 있는 부분이 -극입니다.




빨간색 모양은 LED로 신호를 보내기 위함입니다.

잘 보이지 않지만 구부러져 연결되어 있는 선은 저항입니다.

만약 저항을 하지 않고 전기를 통하게 하면 터질 수 있으니 주의하셔야 합니다!


저항은 전기가 통하지 않으므로 어느 쪽으로나 연결해도 됩니다.

디지털의 경우 코드를 작성하지 않아도 저절로 LED의 불이 들어옵니다.

그러나 아날로그와 디지털을 연결할 시 코드를 작성해주어야 해요.


  • 아날로그 신호 - 디지털 신호


그렇다면 코드를 작성하여 디지털, 아날로그 신호로 LED 불을 켜보도록 하겠습니다.


코드 작성을 위해 설치한 프로그램을 열어보겠습니다.




프로그램을 열면 코드는 두 종류로 나뉘어 있습니다.


  1. setup()의 경우, 한번만 실행되며 시작 값을 설정.

  2. loop()는 전원이 연결 되어있는 도안 무한 반복 하는 부분.
     


연결 된 보드의 번호가 6번이므로 setup에 6번을 작성하였습니다.





digitalWrite(6, HIGH);

의 명령어는 전기를 통하게 하는 신호입니다.


이후 '->' 화살표를 눌러 업로드 시킵니다. 이 때 오류가 발생하면 아래의 사진과 같이 아두이노를 연결해야 합니다.





툴 / 포트 에서 아두이노를 클릭하여 연결합니다.


처음 제 아두이노가 불량이라 인식이 안되 포트에 아무것도 뜨지 않아 너무 당황스러웠습니다. 그러나 아두이노를 바꾸니 LED의 불이 잘 들어옵니다!


그렇다면 불을 끄는 명령어를 알아보도록 하겠습니다.





HIGH 반대로 LOW를 작성하면 불이 꺼집니다.


  • LED를 통해 SOS신호 보내기


마지막으로 LED를 통해 SOS신호 보내도록 하겠습니다.





위의 사진이 바로 모스부호입니다.


따라서 SOS 신호는 ··· --- ··· 것을 알 수 있습니다.


아래의 사진은 S신호의 깜박거리기 위한 코드입니다.





그렇다면 LED가 깜박거리나요?

만약 깜박거리지 않는다면 지연시간을 설정하지 않으셨거나 또는 지연시간이 너무 짧아 눈으로 보이지 않을 수 있습니다.

명령어 delay(지연) 사용하지 않아도 깜박거리지만 깜박거림이 0.00000000001초?와 같으므로 사람 눈으로는 절~대 확인할 수 없는 것입니다.

그러므로 알맞은 시간의 delay를 설정하여 켜짐과 꺼짐의 시간을 지속시켜야 합니다.

 


그렇다면 -의 신호는 어떻게 보낼 수 있을까요?


켜지는 시간을 길게 delay 시키면 됩니다. 필자는 2배 1000으로 작성했습니다.





신호를 노가다로 하나씩 작성해도 되지만 for문으로 3번씩 돌렸습니다

아마도 업로드 시키면 SOS 신호를 볼 수 있을 겁니다.


이상으로 아두이노를 이용하여 SOS신호 보내기 포스트였습니다.

감사합니다.


Digital Transformation에 맞추어 간단히 DevOps에 대해 설명하겠습니다.

아래의 관련 발표 자료를 참고하면 이해하기 좋을듯 합니다. 





기업들은 변화하는 세상 속에서 각각 업무의 효율적인 방법론을 선택해왔습니다.




폭포수 모형

(waterfall model)

요구 사항 분석, 기본 설계, 상세 설계, 구현, 시험 및 유지 보수의 몇 단계로 구분하여 각 단계의 성과를 문서로 명확하게 확정한 후에 다음 단계로 넘어가는 체계적이며 순차적인 접근 방법. 

객체지향 방법론

(Object Oriented methodology)

제공 서비스/시스템 및 상태 전이 등의 내부 관계와 메서드, 속성 클래스 내의 객체, 클래스 식별자를 사용하여 통합된 설명을 제공하는 모형.

 
 


애자일 방법론

(Agile Software Development)

 신속하고 변화에 유연하며 적응적인(adaptive) 소프트웨어 개발을 목표로 하는 다양한 경량 개발 방법론 전체를 일컫는 총칭으로, 반복(iteration)이라 불리는 단기 단위를 채용함으로 위험을 최소화하는 개발 방법.

   사진 출처 ) http://blog.naver.com/jamduino/221100432279




최근까지 기업에서 가장 많이 사용되는 방법론은 '애자일 방법론'입니다.

애자일 방법론은 고객과의 협력 그리고 프로세스 등 여러가지를 고려하는 개발 방법론입니다. 그러나 운영자와 개발자가 떨어져 있어 소통하기란 어려움이 따랐습니다. 개발의 경우 계속해서 새로운 기술들을 만들고자 하지만 운영은 안정적이기를 원합니다. 그렇기에 서로 소통하는 과정에서 부딪힐 수 밖에 없으며 업무의 효율성은 떨어질 수 밖에 없었습니다.


개발자와 운영자의 괴리감이 깊어지던 중 Cloud가 등장하게 됩니다. Cloud의 등장은 운영과 개발의 벽을 허물어 뜨렸고 개발자는 운영을, 운영자는 개발에 투입하게 됩니다,


그 배경으로 등장하게 된 것이 바로 DevOps입니다.

DevOpsDeveloper(개발자) + Operation(운영자)합성어로 설명할 수 있습니다.

개발자가 운영을, 운영자가 개발 업무에 투입되는데 어려움이 없도록 자동화 툴을 만드는 또는 그 자동화 툴을 바로 DevOps라고 부릅니다. 아마도 DevOps애자일 방법론에 대한 해답일 것입니다. 


이해가 힘들다면 아마도 DevOps를 SI(System Integration) 와 비슷한 직무 또는 그러한 프로그램이라고 생각하면 될 듯 합니다.



간단히 DevOps의 장점을 설명하자면 아래와 같습니다.


  •  DevOps를 통해 프로그램은 자동화, 코드화, 간소화된다. 

  •  시장에 대한 빠른 응답과 질이 향상되며 조직적으로 효율성을 높인다.



아마도 어쩌면 DevOps는 직무라고 표현할 수 있을 듯 합니다. 

만약 DevOps 개발자가 되고 싶다면 AWS, Cloud Computing, Maven(JAVA), 을 사용해보는 것도 좋은 방법일 것입니다.

찾아본 바로는 LA DevOps 개발자 평균 연봉이 1억 5천쯤 된다고 합니다.




관련 나의 발표 자료 : https://sway.com/fQcbbT2qqgkYH0z7

참고) 넥슨 아메리카 발표 자료


  • Make를 쓰는 이유

 - 각 파일에 대한 반복적 명령의 자동화로 인한 시간 절약

 - 프로그램의 종속 구조를 빠르게 파악 할 수 있으며 관리가 용이

 - 단순 반복 작업 및 재작성을 최소화


  • Makefile의 구성

 - 목적파일(Target) : 명령어가 수행되어 나온 결과를 저장할 파일 

 - 의존성(Dependency) : 목적파일을 만들기 위해 필요한 재료

 - 명령어(Command) : 실행 되어야 할 명령어들

 - 매크로(macro) : 코드를 단순화 시키기 위한 방법


  •  Makefile 만드는 이유

 - 하나의 실행파일을 생성하는데 필요한 c파일이 여러 개인 경우 그만큼의 명령어가 필요하다. 이러한 상황을 해결해 주기 위해 makefile

 을 사용한다.





문제 13) 문제 12와 동일한 mainAlg 실파일이 만들어 질 수 있도록 make 유틸리티를 실행할 수 있는 Makefile 파일의 내용을 쓰세요.


1. Makefile을 만들기 위해 printMain.c 와 printmsg.c 파일을 만든다.




1) ‘printMain’와 ‘printmsg’ 파일 2개를 생성한다.

위의 사진은 ls의 명령어를 통해 파일이 생성되었는지 확인하는 장면이다.


 (1) 각 object 파일을 생성한다.

 gcc -c -o printMain.o printMain.c

 gcc -c -o printmsg.o printmsg.c


 이때, 

 -c 옵션 : object 파일을 생성

 -o 옵션 : 생성 될 파일 이름을 지정


 각 object 파일을 묶어 실행파일 생성한다.

 gcc -o mainAlg printMain.c printmsg.c


 실행 후 출력한다.

 ./mainAlg


2. Makefile을 생성


 1) Makefile 생성 방법




 

 2) 생성

  mainAlg : printMain.o printmsg.o

               gcc -o mainAlg printMain.o printmsg.o

  printMain.o : printMain.c

                   gcc -c -o printMain.o printMain.c

  printmsg.o : printmsg.c

                  gcc -c -o printmsg.o printmsg.c

  clean :

           rm *.o mainAlg 

  



3. 실행화면




 


 

느낀점 : Make를 사용하면 어떤 장점이 있는지 알지 못하고 무작정 외우기만 했다. 여러 번 힘들게 명령어를 작성하여 실행하는 과정을 make를 사용하면 간편하게 처리할 수 있다는 장점이 있다. 이러한 장점을 적용할 수 있었던 계기가 됬다.

  • 코드

 

위의 코드를 작성했더니아래와 같은 경고와 오류가 발생했다.

 


  • 오류경고

 


WARNING : format '%d' expects argument of type 'int', but argument type int 2 has type '__off_t {aka long int}' [-Wformat=]

Warning의 이유는 지난번과 같이 메모리가 깨지는 것으로 casting 할 필요성이 있다.


참고)  http://sojeong2.tistory.com/5?category=719060



ERROR : 'struct stat' has no member named 'st_fstype' printf("File system: %s \n", finfo.st_fstype);

그렇다면 에러를 확인해보자! 

확인해보니 struct에 st_fstype이 지원하지 않는다는 오류 메시지였다.

이에 마지막줄은 제거하고 (long long)을 통해 casting 해주었다.

 

또한 추가해서,

1.     #include <Stdlib.h> : C언어의 표준 라이브러리로문자열 변환의사 난수 생성동적 메모리 관리 등의 함수들을 포함하고 있다.

2.     #include <time.h> : C언어의 표준 라이브러리로시간과 날짜를 얻거나 조작하는 함수들을 포함하고 있다.

을 작성했다.

 


  • 오류 정리 후실행되는 모습

 

 

느낀점 : 윈도우보다 리눅스에 관한 정보들이 열악하여 찾기는 쉽지 않았다그러나 리눅스 또한 조금씩 익숙해져 가는 것 같다. Putty 또한 지금은 손 쉽게 이용하고 있다.

  • 코드



  • 코드 분석


Test.txt를 생성하여 초접근 권한을 0755로 설정하였다. 그러나 19행의 제한으로 인해 실제로는 0400이 설정된다.

이후 파일을 닫고 test.txt 파일에 대해서 쓰기 작업(W_OK)을 할 수 있는지 검사한다.

접근 권한을 0644로 변경하고 *소프트 링크를 생성한다.

31행에서 생성된 소프트 링크 파일의 실제 내용을 읽어서 표준 출력한다.

이러한 정보는 구조체 변수 FINFO저장한 후 출력한다.


*소프트 링크(심볼릭 링크) : 기호화 된 링크는 절대 경로 또는 상대 경로의 형태로 된 다른 파일이나 디렉터리에 대한 참조를 포함하고 있는 특별한 종류의 파일이다.





이 때, 경고 창 2개가 뜬다.


 - format '%d' expects argument or type 'int', but argument 2 has type '__off_t {aka long int}' [-Wformat=]

 - format '%d' expects argument of type 'int', but argument 2 has type '__blkcnt_t {aka long int}' [-Wformat=]


그러나 경고를 무시하고 실행해도 출력 할 수 있다.




하지만 경고가 궁굼하다면 경고의 메시지를 검색해보자!


경고 설명 :

%d는 정수형 출력해 주는 형식문자 이지만, strlen()라는 함수의 반환형은 매크로 자료형이다. 따라서 서로 자료형이 맞지 않다는 경고창을 주는 것이라고 나와있다.


해결 :

1) %d → %s로 변경해보겠다. (실패)

전혀…… 경고가 없어지지 않았다.


다시 한번 경고를 확인해보니 int형의 메모리는 4바이트로, long은 8바이트이다. 이 때, int형 자리에 long의 반환형 값이 들어가게 되면 format이 깨진다는 메시지이다.


2) 이를 해결하기 위해서는 %zu 또는 %ld를 통해 casting해주어야 한다. 코드를 경고 창이 뜨는 줄에 %d → $zu로 변경하니, 아래와 같이 경고 창이 없어졌다.

 


느낀점 : 굳이 큰 메모리를 사용할 필요가 없음에 우리는 간편하고 쉽게 자료형을 변환했다. 그러나 이번 기회를 통해 자료형 변환 과정에 있어서 메모리가 손상될 수 있다는 사실을 알 수 있었다. 메모리를 간과할 수 있는 프로그램은 없다고 생각한다. 다시 한번 메모리에 대해 생각해보게 된 계기가 된 것 같다.

Putty를 이용하여 ‘temp.txt’ 생성과, txt안에 문장을 출력까지 하고자 한다.

 

먼저, putty에 원격으로 연결하여 로그인한다. 이후 vi 명령어를 통해 test0404.c파일을 연다.

 


Char pathname[] = “temp.txt”;

If((filedes = open(pathname, O_CREAT | O_RDWR, 0644)) == -1)

위의 코드는 ‘temp.txt’라는 파일을 생성하는 코드이다. 

아래 if문은 예외처리하기 위함이다.

Content는 txt파일에 넣을 내용이다.





사진은 컴파일 한 후,  ls 명령어를 사용하여 txt파일이 생성되었는지 확인한 것이다.





‘temp.txt’를 열어보면 위에 putty를 통해 c파일에 작성한 내용을 확인할 수 있다.  

리눅스 폴더에서 또한 ‘temp.txt’가 생성되었는지 확인할 수 있다.  







느낀점 : 처음 ‘temp.txt’를 생성 후 위의 c파일을 컴파일 하였더니, 계속해서 열 수 없다는 오류 메시지가 출력되었다. 이에 명령어 rm을 사용하여 txt파일을 삭제한 후에 컴파일 했다. 비교적 지난번 처음 putty를 사용했을 때보다 쉽고 편했다. 그러나 리눅스에서 c파일을 컴파일하는 과정에서 오류를 찾는 일은 아직까지 익숙하지 않다.

1. Putty  실행 전 ssh를 ubuntu에 설치


http://software.naver.com/software/summary.nhn?softwareId=MFS_116451


  •  Root 계정으로 전환
  •  Apt-get install ssh


 2. Putty  실행하기



 

  • Host Name에 server ip 주소를 입력한다.
  • 이후 open하여 연결 -> 네트워크 연결이 안될 시 연결이 되지 않는다.

 


  • ID 와 password 입력하여 접속한다.

이 때, 터미널권한부여를 해주어야 한다.


  • 권한부여 방법 

  - sudo visudo 명령어 입력한다.

  - %sudo 밑에 %(ID) ALL=(ALL:ALL)ALL을 입력한다.





  • Putty ip 주소 입력 후, ssh 연결이 되면 같은 방식으로 vi (파일명).c로 접속하여 파일을 확인한다.



 




 

  • 마지막으로 ./a.out으로 실행하게 되면 c파일이 실행된다.
역차별, 강제적 셧 다운제

'셧 다운제'는 강제적으로 청소년 보호를 위해 12시 이후에는 게임을 할 수 없도록 막아놓는 것으로 우리나라 게임산업의 규제가 강력하다. 

그러나 문제는 해외 서버를 통해 서비스되는 게임에는 규제가 없다는 점이다. 그렇기에 해외 게임의 경우 청소년 또한 손쉽게 접할 수 있다. 또한 여전히 청소년들은 타인의 계정을 도용하여 성인용 게임을 즐겨하고 있다. 결국 규제에 따라 손쉽게 서비스를 허가받지 못한 우리나라 산업은 외국기업으로부터 갑질을 견뎌야만 했다. 
이것은 명백한 역차별이며 국내 규제는 전혀 실효성이 없다. 한국의 e스포츠는 세계적으로 주목하고 있지만 정부의 '그림자 규제'로 국내 시장은 파묻히는 상황이다. 

그 외의 쇼핑몰 업계, 정보통신 업계, 벤처업계 또한 역차별이 논란되고 있다. 콜버스(국내 심야버스 공유서비스), 트러스트 부동산(부동산 중개 법률자문서비스), 벨루가(수제 맥자 배달 스타트업), 등 서비스를 전혀 제공하지 못하고 있거나 제한된 범위내의 서비스만을 제공하며 형평선 논란이 제기되고 있다. 이에 따라 정부는 조금 더 합리적인 규제를 마련해야 할 것이다.

뉴스 출처) http://news.naver.com/main/read.nhn?mode=LSD&mid=sec&oid=081&aid=0002870920&sid1=001



+ Recent posts