본문 바로가기
반응형

분류 전체보기677

Channel Borrowing 한 셀에서 수용 가능한 동시 통화 수가 한정 되어 있는데 그 수를 초과 할 경우 어떻게 해야 하는가? 인접한 셀에서 채널을 빌려 와야 한다. 하지만 이 과정에서 채널간 간섭(Interference)가 일어나지 않도록 주의 해야 한다. 채널을 빌려 올 때는 주변의 셀 중 채널이 가장 많이 남는(Richest) 셀의 채널을 빌려 온다. 2013. 12. 12.
Near-far Problem BS는 한 셀 내에 있는 모든 단말기에 신호를 전달해야 한다. 가까이에 있는 단말기에 신호를 전달 하기 위해선 신호 강도가 약해도 되고, 멀리 있는 단말기에 신호를 전달하기 위해선 신호가 강해야 한다. 가까이에 있는 단말기에 기준을 맞출 경우 멀리있는 단말기는 신호가 너무 약해 정보 손실이 생기고, 멀리 있는 단말기에 기준을 맞출 경우 인접한 셀 끼리 신호가 겹쳐 통화 품질에 문제가 생긴다. 하지만 신호가 모자라서 자신이 관리하고 있는 Cell 내에 있는 단말기까지 신호가 안 가면 안되므로 어쩔 수 없이 가장 먼 단말기를 기준으로 신호 강도를 조절 할 수 밖에 없다. 2013. 12. 12.
Transport Layer에서의 Congetion control 어떤 컴퓨터에서 다른 컴퓨터로 고용량의 데이터를 패킷 스위칭 방식을 통해서 전송 한다고 가정 해 보자. 수십메가 이상의 데이터를 보내려면 그 데이터를 패킷 하나에 다 담을 수 없기에 여러개의 작은 Segment로 분할해 하나씩 패킷에 실어 보내야 한다. 패킷이 정상적으로 전달되었는지 확인 하기 위해 네트워크는 ACK를 주고받는다. 패킷을 보내고, 정상적으로 받았다는 ACK가 오면 다음 패킷을 보내는 것이다. 하지만 말만 들어봐도 정말 느릴 것 같다. 그렇다고 무작정 패킷을 여러개씩 보내 버리자니 네트워크 혼잡도에 따라서 안정성이 걱정된다. 그래서 도입된 개념이 Window라는 것이다. 몇 개의 패킷을 묶은 단위를 Window라고 하고 Congetstion window size에 따라서 연속적으로 보낼 패.. 2013. 12. 11.
Mobile Communication Systems 앞선 포스팅에서 Cellular 시스템에 대해서 언급 하였다. 이번에는 그 Cellular 체계 안에서 실제로 통화가 어떻게 이루어지는지 알아보자. 우선 아래 그림은 Cellular 시스템의 간략한 전체 구조도이다. 생소한 약자들이 많다. 하나씩 알아보자. BTS : Base Transceiver Station 하나의 셀을 관리하는 기지국이다. BTS는 단순히 데이터를 단말기로 전송하는 역할만 한다. BSC : Base Station Contoller 여러개의 BTS를 묶어서 관리한다. 핸드오버도 BSC에서 처리한다. BSS : Base Station System BTS와 BSC를 합쳐서 지칭하는 용어이다. MSC : Mobile Switching Center 여러 BSS를 묶어 실제 송신자와 수신자의 .. 2013. 12. 11.
낮은 API level에서 Google Map v2 API 사용하기 개발하고 있는 어플리케이션의 Target SDK Version이 최신 버전이고, Minimum SDK Version도 꽤나 높은 버전의 안드로이드라면 API Document에 나와있는 간단한 예제 코드(https://developers.google.com/maps/documentation/android/) 만으로도 충분히 구글 맵을 구동시킬 수 있다. 하지만 구버전의 SDK 환경에서 Map을 구동시키고 싶을 경우 위 예제와 다른 방식으로 해야 하기에 구글링을 충분히 해 봐야 한다. 나도 여러 블로그 글들과 Stack Overflow의 질문/답변 참고 하였으나 사람들마다 환경도 다르고, 제시하는 방법도 달라 혼선이 있었고, 그러다 그대로 따라하기만 하면 되는 잘 정리된 글이 있어 링크 해 둔다. https.. 2013. 12. 9.
[AR ToolKit] 세팅하고 컴파일하기 AR ToolKit은 VC2003을 기반으로 제작되었기 때문에 현재 Visual Studio 버전에 따라서 마이그레이션을 거쳐야 된다. (이건 프로젝트를 열면 자동으로 수행 된다) 그리고 기본적으로 컴퓨터에 세팅을 해 둬야 되는 부분이 많은데 이게 또 Visual Studio나 Windows 버전에 따라 다르다. 아래 매뉴얼은 Visual Studio 2013, Window7을 기준으로 세팅하는 방법을 설명한 내용이므로, 다른 환경에서는 제대로 작동하지 않을 수 있다. 세팅법이 크게 차이나는 것은 아니므로 에러가 나면 간단한 구글링을 통해 해결 해 보기 바란다. (환경이 달라서 오류나는 부분은 도와 줄수가 없음) 1. AR ToolKit 다운로드 http://www.hitl.washington.edu/a.. 2013. 11. 29.
이상 기체식을 이용하여 문제 풀기 고등학교 시절엔 '보일의 법칙', '샤를의 법칙'을 공부하고, 이를 토대로 문제를 풀었었지만, 대학생 학부 수준에서는 이 두 공식을 잊어도 좋다. 어짜피 이 두 공식에 의해 나온 식이므로 잊는다는 표현은 적절치 않을 수 있으나 여튼 굳이 구분해서 외울 필요는 없단 것이다. 이 모든것을 합쳐 놓은 '이상 기체식'만 있으면 웬만한 문제는 다 풀 수 있다. PV = nRT 여기서 R은 기체 상수로서 단위에 맞게(J/mol-K, L-atm/mol-K 등) 여러 값 들이 있으나 편의를 위해 L-atm/mol-K 하나만 생각 한다. 즉 R = 0.08206 L-atm/mol-K 라고 못박는다. 이렇게 되면 모든 부피값은 L 로 변환해야 되고 V는 atm, n은 mol 으로 맞춰줘야 한다. 즉 n = 몇 mol? P.. 2013. 11. 27.
결합 차수, 결합 길이, 결합 에너지의 상관 관계 일반적으로 결합 차수가 높으면 결합 에너지가 높고 결합 에너지가 높으면 결합 길이가 짧다 즉 결합 차수가 높으면 결합 길이가 짧다 라고 할 수도 있지만 일반적인 경우고 예외도 많기 때문에 법칙처럼 사용해서는 안된다. 2013. 11. 26.
결합 엔탈피(bond enthalpy) 구하기 결합 엔탈피(bond enthalpy)란 어떤 물질 1mol의 결합을 모두 끊는데 필요한 엔탈피 변화(ΔH)이다. 결합 엔탈피는 D로 표현한다. D(Cl-Cl)은 Cl2 의 결합 엔탈피이고 D(HBr)은 HBr의 결합 엔탈피이다. D(C-H) 와 같이 다양한 다원자 분자 상태(CH2, CH3..)로 존재하는 경우 그 평균 결합 엔탈피를 사용하여 계산한다. 이 모든 것이 고려된 표가 아래에 있다. 이를 이용하여 정확하진 않지만 대략적인 분자의 반응 엔탈피 변화를 계산 할수 있다. 예를 들어 암모니아의 제조 반응인 N2(g) + 3H2(g) -> 2NH3(g) 의 반응 엔탈피 변화를 계산하면 N2의 결합이 끊겨야 하고 D(N-N) H2의 결합이 3개가 끊겨야 하고 3D(H-H) N-H 결합이 6개번 이루어 .. 2013. 11. 26.
빛의 파동성 Q1. 파장 10㎛ 갖는 방사선의 진동수는 얼마인가?방사선 파동은 빛의 속도인 3.00 x 108m/s 으로 움직인다. 즉 초당 10㎛의 파장으로 3.00 x 108m를 진행한다는 것이므로 10㎛ x 진동수 = 3.00 x 108m/s 라는 방정식이 나온다. 즉, 진동수 = 3.00 x 108m/s / 10-5m = 3.00 x 1013/s유효숫자는 2개이므로 3.00인 3.0으로 맞추어 준다. 답은 3.0 x 1013/s 이다. Q2. 5.50 x 1014/s 의 진동수를 갖는 방사선의 파장은 얼마인가?위의 문제랑 반대의 경우이다. 어짜피 같은 방정식을 사용해서 풀면 된다. 파장 x 5.50 x 1014/s = 3.00 x 108m/s 계산은 생략한다. 답은 5.45 x 10-7m 이다. Q3. 위 방.. 2013. 11. 24.
서버가 갑자기 느려지고 과부화 상태가 될 경우 1. 아파치 로그 확인 # cd /var/log/httpd 또는 # find / -name access_log 로 검색, 비정상적인 접속들이 없는지 확인한다. 2. 프로세스 확인 # top 으로 프로세스 상태를 본다. load average가 1가 1이상이면 과부화 상태로 간주한다. 서버에 돌아가는게 좀 많을 경우 1 내외는 될 수 있지만 무언가 비정상적인 동작이 있다면 2~3까지 올라가기도 한다. 그럴때 보면 특정 한 두 프로세스가 말썽인 경우가 많으므로 k + PID 명령어를 통해서 해당 프로세스를 죽인다. 2013. 11. 18.
[jQuery] Seletor에서 스페이스(" ")와 꺽쇠(">") 의 차이 $("#menu li") 는 #menu 안에 있는 모든 li를 가리키고 $("#menu > li") 는 #menu 바로 아래의 li만 가리킨다. 즉 이거 같은 경우라면 아래 코드가 사용 가능 하지만 이거 같은 경우엔 아래 코드를 사용하면 li 가 선택되지 않는다. 2013. 11. 17.
SimpleAdapter로 listView에 이미지 띄우기 그냥 SimpleAdapter는 Bitmap을 지원하지 않아서 이미지를 처리하기가 까다롭다. 다음 코드를 그대로 복사해서 ExtendedSimpleAdapter 라는 class파일로 만들고, SimpleAdapter를 ExtendedSimpleAdapter 로 바꾸어 준다. package your.pakage; import java.util.HashMap; import java.util.List; import java.util.Map; import android.content.Context; import android.graphics.Bitmap; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGr.. 2013. 11. 16.
[Error] Unable to open sync connection! 간단한 연결 장애 문제이다. 해결법1. 간단히 USB선을 뺐다가 꽂아 보는 것 만으로도 해결되는 경우가 많다. 전면 USB나 USB 허브를 사용할때 많이 발생하는 에러이니, 만약 여러번 뺐다가 꽂아도 해결되지 않거나 일시적으로는 해결 되는데 에러가 지속적으로 빈번하게 발생될 경우 후면 USB단자에 꽂으면 된다. 해결법2. 휴대폰의 USB 디버깅을 껐다가 킨다. 2013. 11. 16.
findViewById() 에서 String 사용하기 아래와 같이 사용하면 동작이 안된다. findViewById() 메서드에선 id만 인식하기 때문에 String변수를 적더라도 String 변수 이름에 해당하는 아이디만 찾지 그 값을 인식하지 못하는 것이다. String img = "ImageView0"+photoIndex; mPhotoImageView = (ImageView)findViewById(R.id.img); 이럴땐 아래와 같이 getIdentifier()를 이용해 줘야 한다. String img = "ImageView0"+photoIndex;int resID = getResources().getIdentifier(img, "id", "com.sample"); mPhotoImageView = (ImageView)findViewById(resID); 2013. 11. 15.
[C#] MIDI 제어를 위한 Sanford Midi Toolkit http://www.codeproject.com/Articles/6228/C-MIDI-Toolkit 2013. 11. 9.
[C언어 소스] 피보나치 수열(Fibonacci number) #include int fib(int n) { if(n 2013. 11. 7.
[C# WPF] Grid에 배경 이미지 주기 Grid> Grid.Background> ImageBrush Stretch="None" ImageSource="background.png" AlignmentY="Top" AlignmentX="Center"/> /Grid.Background>/Grid> 2013. 11. 3.
반응형