#Issue 413

https://wiki.ubuntu.com/UbuntuWeeklyNewsletter/Issue413


이번호에서 다루어진 목록은 아래와 같습니다.


In This Issue

  • Announcement: New Ubuntu Membership Board Members
  • Ubuntu Stats
  • Call for nominations for the LoCo Council

  • South East Linux Fest UbuCon

  • LoCo Events

  • Lubuntu Blog: Client side decorations fixes
  • Not just a review, but a video review, of Kubuntu Vivid
  • David Planella: The Ubuntu Community Donations Program in review
  • Ubuntu App Developer Blog: Retrospective and roadmap of the UI Toolkit
  • Nicholas Skaggs: Testing Vivid Vervet final images
  • Ubuntu Cloud News
  • Podbird v0.6 Beta - Call for testing
  • Phone updates: April
  • Chef & Canonical; an automation story (with a bare metal soundtrack)

  • Tendering with Ubuntu
  • The five biggest changes in Ubuntu 15.04, Vivid Vervet
  • Forget flash sales: The first Ubuntu Phone is now available to buy all the time
  • In The Blogosphere
  • Other Articles of Interest
  • Featured Audio and Video
  • Weekly Ubuntu Development Team Meetings
  • Monthly Team Reports: March 2015
  • Upcoming Meetings and Events
  • Updates and Security for 10.04, 12.04, 14.04 and 14.10
  • And much more!

 


이중에서 몇가지 내용을 살펴 보도록 하겠습니다.


Ask Ubuntu Top 5 Questions this week


What does this 'apt-get remove' instruction do? http://askubuntu.com/questions/610169/what-does-this-apt-get-remove-instruction-do

 

 다음과 같은 명령어를 쉘에서 실행하였을 때, 어떻게 될것인가?

 $> sudo apt-get remove --purge $(dpkg -l 'linux-image-*' | sed '/^ii/!d;/'"$(uname -r | 
sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d')

 해당 구문을 각각 순차적으로 실행 시켜봅니다.

 $> dpkg -l 'linux-image-*'

 $> dpkg -l 'linux-image-*' | sed '/^ii/!d'

 $> uname -r | sed 's/\(.*\)-\([^0-9]\+\)/\1/'

 $> dpkg -l 'linux-image-*' | sed '/^ii/!d' | sed "/$(uname -r | sed 's/\(.*\)-\([^0-9]\+\)/\1/')/d"

 $> dpkg -l 'linux-image-*' | sed '/^ii/!d' | sed "/$(uname -r | sed 's/\(.*\)-\([^0-9]\+\)/\1/')/d" | sed 's/^[^ ]* [^ ]* \([^ ]*\).*/\1/' linux-image-generic

 $> dpkg -l 'linux-image-*' | sed '/^ii/!d' | sed "/$(uname -r | sed 's/\(.*\)-\([^0-9]\+\)/\1/')/d" | sed 's/^[^ ]* [^ ]* \([^ ]*\).*/\1/' | sed '/[0-9]/!d'

 ## No output


 와 같이 결론은 아무런 동작도 되지 않는다.

 라고 하는데,,, 제 PC에서 해본 결과....


[sound79@sound79-FX603:~]$ dpkg -l 'linux-image-*' | sed '/^ii/!d' | sed "/$(uname -r | sed 's/\(.*\)-\([^0-9]\+\)/\1/')/d" | sed 's/^[^ ]* [^ ]* \([^ ]*\).*/\1/' | sed '/[0-9]/!d'
linux-image-3.13.0-43-generic
linux-image-3.5.0-23-generic
linux-image-3.5.0-47-generic
linux-image-3.5.0-51-generic
linux-image-3.5.0-54-generic


일단 이부분은 좀더 분석 후에... 다시 수정하는 걸로....

 



두번째는 재미 있는 질문이 올라왔습니다. 특정 유저를 절대 접속시키지 않는... 방법...

뭐 계정을 삭제해도 되겠지만,,, 그냥 무한 접속 대기 상태로...

   How can I create an infinite login loop for a specific user? http://askubuntu.com/questions/608862/how-can-i-create-an-infinite-login-loop-for-a-specific-user

  첫번째는 .Xauthority의 권한을 root로 바꾸기

 $> chown -R root:root /home/Bob/.Xauthority


 두번째 방법은

 $> vi /etc/security/limits.conf 파일을 열어서

 마지막에...

 username hard maxlogins 0

 를 추가함


 세번째 방법은

 $> sudo chsh -s /bin/false Bob



세번째 질문은 터미널에서 실행 시킨 프로그램이 해당 터미널이 종료되어서도 계속 동작이 되도록 하는 방법

  Most efficient way of launching and separating a program from the terminal? http://askubuntu.com/questions/609819/most-efficient-way-of-launching-and-separating-a-program-from-the-terminal

  간단하다. nohup을 사용하면 된다

 $> nohup program-name &

 

 NAME nohup - run a command immune to hangups, with output to a non-tty



블로그 글 하나 소개합니다.

New dual-boot TV boxes run Android + Ubuntu or Windows

Brad Linder of Liliputing writes about two new dual-boot TV devices, one of which runs Ubuntu and Android. He says that the Ugoos UT3S is a system that sells for $179, and has an ARM processor, four USB ports, HDMI and SPDIF ports and a microSD card lot.

http://liliputing.com/2015/04/new-dual-boot-tv-boxes-run-android-ubuntu-or-windows.html


TV 박스인데, Android가 주이고 서브로 Ubuntu 혹은 Windows로 Dual boot가 가능한 박스이네요.

즉 모바일 앱과 PC 응용 프로그램을 한번에 사용할 수 있다는 장점이 있습니다.

이렇게 보면 TV 라는 매체가 혹은 시스템이 나아가야 할 지금의 방향은 모바일과 PC를 함께 아우를 수 있어야 하겠습니다.




Two of them popped up recently at online retailer Geekbuying. The Wintel W8 is a $ m127 dual-bootini PC with Windows and Android, while the Ugoos UT3S is an Ubuntu + Android system that sells for $179.





Xubuntu 15.10에서는 GIMP를 넣지 않을거라네요... GIMP 입지가 많이 좁아지는 느낌

Xubuntu 15.10 To Drop GIMP, Abiword And Gnumeric, Ship With LibreOffice (Or Parts Of It) By Default

Andrew of WebUpd8 writes that Simon Steinbeiß, the Xubuntu Project Lead, has announced the results of the vote in which the Xubuntu team members were asked if Xubuntu 15.10 should drop GIMP, Abiword and Gnumeric. He says that both GIMP and Abiword will be dropped, and that parts of LibreOffice will be installed by default.

http://www.webupd8.org/2015/04/xubuntu-1510-to-drop-gimp-abiword-and.html



예전 우분투 뉴스레터를 보실려면..

Archives

You can always find older Ubuntu Weekly Newsletter issues at: https://wiki.ubuntu.com/UbuntuWeeklyNewsletter



저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by sound79 사운드친구

댓글을 달아 주세요


ubuntu에서 간단히 웹서버를 실행하여 일부 웹페이지를 테스트 할려고 하는데....


403 Forbidden Error 가 나오는 것이다.


인터넷을 검색한 결과... 일단 원인은


1. php 미설치

 $> sudo apt-get install php5


2. php5-cgi package 미설치

 $> sudo apt-get install php5-cgi


3. config에 fastcgi 모듈 재설정

 $> sudo lighttpd-enable-mod fastcgi fastcgi-php


4. 마지막으로 다시 웹서버 다시 로딩

 $> sudo service lighttpd force-reload



이제 다시 웹페이지를 접속하면 아래와 같이... 굿...




저작자 표시 비영리 동일 조건 변경 허락
신고

'Linux' 카테고리의 다른 글

lighttpd 403 forbidden for php files  (0) 2015.04.11
VLC 로 RTSP/RTP Streamming 하기  (0) 2014.12.21
ubuntu 12.04 에서 gcc-4.7로 갈아타기  (0) 2014.09.15
Ubuntu에 Dropbox 설치하기  (0) 2014.06.13
스크린샷 프로그램 (Shutter)  (1) 2014.06.09
EBS 라디오 듣기 주소 변경  (0) 2014.06.06
Posted by sound79 사운드친구

댓글을 달아 주세요


출처: http://techcrunch.com/2015/03/25/facebooks-parse-launches-new-iot-service-debugging-tool-and-more/


2013년도에 Facebook에서는 platform-as-a-service(?)의 Parse 라는 플랫폼 회사를 사들였습니다.

이후 최근에 해당 Parse conference에서 IoT 지원에 대하여 공개를 하였네요.


Parse started out as a mobile backend service, but as more and more devices come online, the service also wants to offer services for the Internet of Things. The first step here is the launch of an SDK for Arduino, but Parse also plans to launch SDKs for other platforms.


이제 모바일뿐만 아니라, 다양한 사물, Things을 위해서라도 각 디바이스들간의 connectivity와 communication을 제공해야만 한다고 생각합니다. 그리고 그 첫단계로 SDK를 공개하였구요.

간단히 Linux에서 컴파일하여 notification 프로그램을 실행해 본 결과, 충분히 잘 만들어진 듯 하였습니다.

이제 얼마나 파급력을 가지고 Facebook에서 밀어부치냐는 것이겠죠.


무엇보다도 Facebook이 생각하는 IoT는 IoT의 Things보다는 "o" 가 아닐까 하고 개인적으로 생각합니다.

즉 Internet과 사물인 Things의 매개체 역할 혹은 연결 통로가 되는 것이 궁극적인 목표이겠죠....




공식 사이트: https://www.parse.com/products/iot

다른 참조 사이트: http://blog.parse.com/2015/03/25/connecting-hardware-with-the-cloud-parse-for-iot/

https://developers.facebook.com/blog/post/2015/03/25/F8_2015_Roundup/



Facebook F8 2015 Opening Keynote

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by sound79 사운드친구

댓글을 달아 주세요


참고 사이트: https://www.kickstarter.com/projects/onion/onion-omega-invention-platform-for-the-internet-of


Tiny dev board with Linux & WiFi + REST API + App Store + High Quality Tutorials + Cool Projects + Vibrant Dev Community = Our Vision


먼저 H/W 스펙을 보면 다음과 같습니다.




  • Dimensions: 28.2mm x 42mm (1.1" x 1.7")
  • CPU: Atheros AR9331 400MHZ MIPS 24K
  • RAM: 64MB DDR2 400MHz
  • Flash: 16MB
  • WiFi: 802.11b/g/n 150Mbps
  • Ethernet: 100Mbps
  • GPIO: 18
  • USB: USB 2.0, Supports additional USB Hub
  • Power: 3.3V
  • Antenna: PCB Antenna w/ uFL Connector
  • Power Consumption: 0.6W


아주 작은 크기의 임베디드 모듈인데, 라즈베리파이의 1/4수준의 크기라고 합니다. 일단 사이즈면에서는 확실히 크기를 줄인거 같네요. 하지만 그렇다고 기능이 절대로 떨어지는 것은 아닙니다.


  • Full Linux Environment
  • Python, Node.JS, PHP, and Other High-Level Programming Languages
  • Seamless Cloud Integration
    • Onion Cloud allows the Omega to be accessed anywhere in the world quickly and securely through our highly customizable RESTful APIs
  • Onion Console
    • The Onion Console makes the Omega easy to work with even if you don't have any Linux experience
  • Onion Apps For Hardware Devices
  • Open Source


위와 같이 가장 큰 기능인 Full Linux 지원과 Python, Node.JS, PHP와 같이 웹 프로그래밍을 지원함으로써 기존 개발자들을 포용할 수 있는 기반 플랫폼을 갖추었다고 보는 것이 맞을 듯 합니다.


아직 스타트업이라서 그 발전 가능성을 무궁무진 하다고 할 수 있네요.




저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by sound79 사운드친구

댓글을 달아 주세요


AllSeen Alliance의 AllJoyn을 컴파일 하기 위해서 scons을 사용해야 된다는 것을 알게 되었고,

그 필요에 의하여 scons에 관련해서 잠깐 조사 및 공부한 내용을 정리할 목적입니다.


scons 공식 홈페이지: http://www.scons.org/

scons 기본 사용법: http://egloos.zum.com/bruceKIM/v/3399880

SConstructor 사용법: http://pkgpl.org/2014/07/27/sconstruct_basic/

scons wiki: http://en.wikipedia.org/wiki/SCons, http://ko.wikipedia.org/wiki/SCons


가장 기본적으로 생각할 것은 scons 는 Python 기반의 빌드툴입니다.

등장한지는 꽤 되었지만 그리 많이 사용되지는 않은 듯 합니다.


아무래도 리눅스의 약간 Geek적인 느낌이 Autoconf를 그대로 사용해 오게 하지 않았을까 하는 것이 개인적인

생각이며, 좀더 편리하게 사용하는 사용자라면 여러 IDE 툴이 지원하는 Build 시스템을 이용했을 거라는

생각이 드네요...


scons Frequently Asked Questions: http://www.scons.org/wiki/FrequentlyAskedQuestions


만약에 다음 프로젝트를 어떻게 할거냐고 하면,,, 아직은 그대로 Makefile을 사용할거라고 말할 것이다.

이유는 음....


저작자 표시 비영리 동일 조건 변경 허락
신고

'Programming' 카테고리의 다른 글

cJSON Programming  (0) 2015.11.29
scons 개념 및 사용법  (0) 2015.04.08
DHCP Probe 소스 코드  (0) 2014.11.29
현재 네트워크에서 DHCP 서버가 동작되고 있는지 확인?  (0) 2014.08.18
gsoap (2)  (1) 2014.03.12
gsoap (1)  (0) 2014.03.11
Posted by sound79 사운드친구

댓글을 달아 주세요



본 글은 매주 발행되는 Ubuntu Newsletter 중 본인이 관심 있는 부분을 설명하는데 중점을 둡니다.

그러므로 자세한 내용은 원문을 참조하시는 것이 가장 좋습니다.


원문: https://wiki.ubuntu.com/UbuntuWeeklyNewsletter/Issue411


이번 내용은 다음과 같습니다.


In This Issue

  • Ubuntu Stats
  • LoCo Events

  • Kubuntu: Kubuntu Sweaters Added to Hellotux Shop
  • Ubuntu App Developer Blog: Return of the Ubuntu UI Toolkit
  • Forums Council: Forum Council Addition
  • Barry Warsaw: Creating Python Snaps
  • Ronnie Tucker: Happy Birthday to us all!
  • Ubuntu Cloud News
  • Adventures in Podbird
  • Send a URL to your Ubuntu phone with Caxton
  • Internet of Things: M2MLabs
  • Hack The Home: creating the home of the future
  • Torvalds' temptress comes of age: Xfce 4.12 hits the streets
  • Canonical to integrate Chef DevOps into Ubuntu

  • In The Blogosphere
  • Other Articles of Interest
  • Featured Audio and Video
  • Weekly Ubuntu Development Team Meetings
  • Upcoming Meetings and Events
  • Updates and Security for 10.04, 12.04, 14.04 and 14.10
  • And much more!

이번에는 Ubuntu Cloud, Top 5 Questions, IoT 등에 대해서 이야기 해보겠습니다.


Ubuntu Cloud News


캐노니컬에서는 Ubuntu Cloud를 위하여 Coho Data와 협력하기로 함, 그것은 Ubuntu의 OpenStack 호환랩의 파트너로써 참여한다고 합니다.

Canonical is pleased to welcome Coho Data, developer of the first flash-tuned scale-out storage architecture for private clouds, as an Ubuntu Cloud partner and to our OpenStack Interoperability Lab


먼저 Coho Data는 어떤 회사인가?

Coho Data is delivering web-scale storage for the cloud generation.

그리고 간단히 Flash기반의 H/W Clouds를 개인별로 지원해 줄 수 있는 기반 기술을 보유한 회사 정도?

first flash-tuned scale-out storage architecture designed for private clouds

어찌하였든, Clouds 또한 계속 발전해 나가고 있는 기술임에는 틀림이 없으며 Ubuntu에서도 이를 계속 지원 및 향상 시키고 있는 노력을 보이고 있네요.



다음은 금주의 Top 5 Questions 입니다.


Most Active Questions

첫번째는 "rm -rf /" 를 하면 어떻게 되는지 궁금한 독자가 질문을 올렸다. 아시다시피 물론 시스템이 망가지는 것이 기본이다. 하지만 재접속을 할때까지 일부 동작을 계속 할 수가 있다. 이는 실제 파일 시스템에 Delete가 되었지만 메모리에는 존재를 할 수 가 있기 때문이다. 여기 실제 "rm -rf / " 를 vmware 상에서 해본 사람이 답변을 달았는데 내용이 재미 있다.

일단 다음과 같은 에러 메시지가 나온다.


What happens is that you start to get a lot of messages like:

rm: cannot remove '/...': Operation not permitted

or:

rm: cannot remove '/...': Device or resource busy


그리고 4개의 디렉토리는 그대로 유지가 되어 있다고 함.

  • /dev. This is where device files are stored.
  • /proc—in-memory filesystem created by the kernel.
  • /run, a standardized file system location for daemons.
  • /sys. This allows you to get information about the system and its components.


여기 답변 중에 재미있는 것은 물론 상기와 같이 rm -rf 테스트를 하면 현재 사용하고 있는 시스템이 망가지므로 이를 복구 하거나 테스트 방법을 제안한다.


첫번째 vmbuilder 를 추천함. vmware의 snapshot과 같은 프로그램으로 시스템을 복사하여 이전으로 돌릴 수 있는 프로그램인 듯 합니다. 고스트라고 볼수 있겠죠?

This is a tool which allows you to deploy virtual machines in a matter of minutes (the official documentation claims that it can be done "in about a minute", but the actual time, even on fast hardware, is more about two-three minutes.


두번째는 --R 옵션이 동작하지 않는 다는 내용인데,, 질문자가 Webpage에서 copy한것을 그대로 shell에 복사하여 사용함으로써 실제 지원하는 옵션은 -R 인데,,, --R을 사용하면서 invalid option의 에러 메시지가 나타난 것이다.

여기서 안 내용입니다만,,, - 하나는 en dash이고 -- 두개는 em dash라고 부름...

즉, The en dash, n dash, n-rule, or "nut" () is traditionally half the width of an em dash.[6][7] In modern fonts, the length of the en dash is not standardized, and the en dash is often more than half the width of the em dash (from: https://en.wikipedia.org/wiki/Dash#En_dash)


세번째는 스크립트 질문이다.

어떻게 쉽게 아래와 같은 파일들을 Command로 만들 수 있을까 이다?

I need a way to create multiple files like bspl0001.c, bspl0002.c, bspl0003.c, etc ...

답은 간단히 다음과 같이...

touch bspl{0001..0003}.c


Canonical News

이번 뉴스에서는 제가 요즘 가장 관심 있는 부분인 IoT에 대해서 짧게 나마 다루어 졌다.

Internet of Things: M2MLabs

Canonical writes: "M2MLabs’ 100 % open source framework provides the foundation for building the next generation of Internet of Things (IoT) applications." They welcome M2MLabs to the Ubuntu Core partner program, and link to where further information can be found about Snappy Ubuntu Core, Juju and Charms.

https://insights.ubuntu.com/2015/04/01/internet-of-things-m2mlabs/



참고 사이트

M2M Labs: http://www.m2m.com

Ubuntu IoT: http://www.ubuntu.com/things



이번에도 짧게 나마 Ubuntu Newletter 411 Issue를 간단하게 보았습니다.


저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by sound79 사운드친구

댓글을 달아 주세요


AllSeen의 AllJoyn Framework Overview 영상입니다.

개념 잡기에 좋은 동영상입니다.






PDF 자료: https://wiki.allseenalliance.org/_media/alljoyn_technical_overview_training.pdf


AllJoyn의 프레임워크에 관련해서 현재 가장 잘 알 수 있는 영상이다. 다소 영어가 부담스럽지만 계속 듣다보면...

참고로 개인적인 생각이지만, 현재 AllSeen Alliance에서도 AllJoyn의 문서화를 신경 쓰고는 있는 듯 하다.


무엇보다도 AllSeen의 AllJoyn의 프레임워크가 성공하기 위해서는 개발자들의 쉬운 접근 또한 중요하기 때문에 Documentation 또한 무척 중요하지 않을까 한다.


Documentation: https://allseenalliance.org/developers/learn



저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by sound79 사운드친구

댓글을 달아 주세요



참고: https://allseenalliance.org/developers/learn/core/standard-core


High-Level System Architecture


먼저 Clients, Services 그리고 Peers의 아키텍쳐에 대해서 알아보자.

아래와 같이 아키텍쳐는 구성되어 있다.




System and Language Bindings (optional)
The AllJoyn system is written in C++, so for users of this language, no bindings are required. However, for users of other languages, such as Java or JavaScript, a relatively thin translation layer called a language binding is provided

http://sound79.tistory.com/admin/entry/post/

alljoyn은 기본적으로 C++로 구현이 되어 있다. 그러므로 상위 어플리케이션을 C++로 구현을 하면 상관이 없지만 Java와 같이 다른 언어로 구현을 해야 한다면 Binding이 필요하다. 아무래도 alljoyn 개발은 C++이 지원되면 환경이라면 C++로 하는것이 좋을 듯 하다.


Helper
The system and language bindings are built on a layer of helper objects which are designed to make common operations in the AllJoyn system easier


시스템 내부적으로는 당연히 Common한 동작 및 구현으로 되어 있다. 만약 Jave를 이용한다면 이 Helper와 같은 레이어를 이용하여 내부 시스템에 접근을 하여야 한다.


It is possible to use much of the AllJoyn system without using these helpers; however, their use is encouraged since it provides another level of abstract interface.



Bus 관련 Layer

Bus 관련한 Layer에 Bus Attachment, Proxy Bus Object, Bus Object, AllJoyn Bus 그리고 D-Bus가 있다. AllJoyn에서 Bus는 중요한 개념이다. 여기서는 간단하게 설명하고 이후에 좀더 상세하게 다루는 것이 좀더 이해하기 쉽지 않을까 합니다.


* The most basic abstraction of the AllJoyn system is the AllJoyn bus


즉 AllJoyn의 가장 핵심적인 부분에 AllJoyn Bus의 개념이 들어가 있다고 보면 되지 않을까 한다.



Messaging and Routing


This is an abstract communication endpoint from the perspective of the networking code

모든 데이터는  From Endpoint to another Endpoint 이다. 즉 Endpoint와 Endpoint와 통신을 한다고 생각하면 된다. Endpoint라는 개념은 정말 다양하게 사용되는 듯 하다. 하지만 확실한 것은 어떤 시스템, 모듈 혹은 Cocept에 대한 단일한 통로라고 생각하면 될 듯 하다.


This is the home of the functionality that marshals and unmarshals parameters and return values into messages that are sent across the bus.


아마 어떤 Object 형식을 XML과 같은 데이터 포맷으로 상호 변경하지 않을까 한다. 좀 더 자세한 내용은 소스를 좀더 분석해보고 나서야 알 수 있을 듯 하다.



Endpoints


Endpoints are specializations of transport mechanism-specific entities called transports, which provide basic networking functionality. In the case of a client, service, or peer, the only network transport used is the local transport. This is a local interprocess communication link to the local AllJoyn bus router. In Linux-based systems, this is a Unix-domain socket connection, and in Windows-based systems this is a TCP connection to the local router.


즉 네트워크 기능을 제공하는 내부 인터프로세스의 링크라고 보면 될듯 하다.


Local Network Transport


윗부분에서 설명하던 개념의 부족한 부분을 계속 아래에서 덧붙히는 형태인 듯 합니다만...

In Linux-based systems, this is a Unix-domain socket connection, and in Windows-based systems this is a TCP connection to the local router.


OS Abstraction Layer


The AllJoyn framework provides an OS abstraction layer to provide a platform on which the rest of the system is built, and at the lowest level is the native system.


당연한 애기이지만 특정 OS에 종속된다는 것은 IoT를 위한 프레임워크라는 특성을 잃어버리는 것과 마찬가지이다. 그러므로 특정 OS에 편협하지 않기 위하여, OS를 추상화 시키는 레이어가 필요하다.


Native System


기본적으로 Linux, Windows를 지원한다고 보면 된다. 좀더 구체적으로는...

Android, Darwin, Linux, OpenWRT, Windows, etc 이다...

좀더 찾아보니 RTOS, Embedded OS도 지원을 한다고는 하나?.... 그리고 iOS, MAC OSX까지 지원을 한다고는 문서에 나와 있으나??? 흠..






저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by sound79 사운드친구

댓글을 달아 주세요