2016년 7월 19일 화요일

모바일 웹 사이트 디버깅 삽질기...

참고

http://forum.xda-developers.com/lg-g3/general/guide-connecting-lg-g3-to-linux-adb-aka-t2821673

회사에서 운영하는 모바일 웹사이트의 결제가 문제 있다고 하여..

일단.. 크롬 디버깅을 하려고 했으나..

일반적으로 설정한다는 inspect 에서 장치가 전혀 안 보여서..

머나먼 삽질 여행을 시작함..

사용폰은 LG G3 Cat.6

이하 삽질한 순서

1. 장치 드라이버를 구글 드라이버로 바꿔 봤으나 -------> X

2. Android Studio 깔고 SDK Manager 깔고 명령어 내리면 된다!  -------> X

3. adb kill-server, adb start-server 하면 그냥 되던데?  -------> X

결국 오전 다 보내고 찾은건..

상단의 참고 내용.. 운영체제가 다르긴 하지만.. 중요한건..

USB 연결 모드가!!!

MTP가 아니라 PTP로 해야한다!!! 이유는 나도 모른다!~!!!!

모드 변경후 adb server 다시 시작하고 adb devices 하니까 목록이 떠억!!!

아 썅~~!~!


2016년 7월 18일 월요일

SQL Management Studio 2016 Preview 4월, 7월 버전 사용하지 마셈.

MS에서 뭔 지럴을 했는지 모르겠으나..

DB 접속시 메소드 하나를 못 찾는다고 나옴.

구글링 해보았더니.. 동일 문제 발생하는 분들 여럿 있음..

하루 종일 해결해 보려 했으나..(패치 라던지.. 재 설치라던지...)

해결 안됨.. 빌드 시에 뭔가 문제가 있던것으로 짐작됨..

하여간.. 당분간 사용하지 마셈..

현재 하위 버전 구해서 하고 있음..

2016년 7월 12일 화요일

PHP 7 + Apache HTTP 관련 황당 삽질기...

이래저래 PHP 7 + Apache HTTP 환경으로 테스트 할 일이 생겨서..

오전부터 구축 시작..

이쯤이야 하고 시작했는데.. 어느덧 오전 다 감..

httpd 실행때 마다 Syntax Error 를 뿜어내며.. dll 파일을 못 읽겠다고 함..

컴 환경은 Windows 10 64 bit

이리저리 해보다가

찾은 답은..

PHP를 64bit용으로 받아서 썼는데....

Apache HTTP 가 64bit가 아니여서 생긴일..

아 놔.. 왜 그럼 오류를 Syntax Error를 뿜냐!!

뽀나스로 Apache HTTP 64 Bit Build 한 냥반 블로그 링크 투척!!

http://www.anindya.com/

그리고 하나더!!

mysql 기본 접속 library가 PHP 7에는 없다

PHP 5 : php_mysql.dll

PHP 7 : php_mysqli.dll

그래서 PHP 5에서 복사해서 넣어줌!

2016년 7월 7일 목요일

Classic ASP에서 solr 검색 값 Parsing 하기

검색 서버는 알아서들 구축 (solr 이젠 쉽죠?)

현재 개발환경 IIS 7.5

ASP는 오래된거에 비해서 야매 같은 기술들이 많아서리..

이번 건도.. 뭐가 정확한지 잘 모르겠으나..

일단 내 경험에서 되는걸로..


'검색서버에서 제품 정보 읽어서 XML로 저장하기..' Response.Buffer = true Session.CodePage = 949 상품코드 = "상품코드" Set objXmlHttp = server.CreateObject("Msxml2.ServerXMLHTTP.3.0") objXmlHttp.open "POST", "http://검색서버주소/solr/코어이름/select?q=상품코드:"&상품코드&"&indent=true", false
objXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" objXmlHttp.send strResponseText = objXmlHttp.responseText Set objXmlHttp = Nothing
Dim xml: Set xml = Server.CreateObject("MSXML2.DOMDocument.3.0") xml.LoadXml(strResponseText)
Dim sResult: sResult = ""
Dim node For Each node in xml.selectSingleNode("/response/result/doc").childNodes 'sResult = sResult & node.xml' Response.Write(node.getattribute("name")) Response.Write("::") Response.Write(node.text) Response.Write(Chr(10)&Chr(13)) Next


Response.End()

여기까지 소스.

간단한 설명..

통신하는거야.. 뭐 보통 알고 있는 Msxml2.ServerXMLHTTP.3.0 사용함

의외로 검색서버가 UTF-8로 동작해서 당근

Session.CodePage = 65001로 했으나 의외로 깨짐..

그래서 949로 변경했더니 잘 됨.

문제는 parsing인데.. 처음에 구한 소스는 XMLDOM으로 하게 했음..

근데.. 안됨.. 아마 서버에 일반적으로 설치되는 컴포넌트가 아닌거 같다는 생각이 듬..

그래서 변경..

MSXML2.DOMDocument.3.0 일단 이게 잘 됨..

API 사이트는

https://msdn.microsoft.com/en-us/library/ms764730(VS.85).aspx

보통 여러 method 안쓸테니.. 그냥.. 속성 값과 node의 값 읽어오는 예제로

훈훈한 마무리..

끗~!

ASP용 코드 정리기

ASP용 코드 정리기

구하기 힘들어서 백업으로 게시함.

https://sites.google.com/site/jaymz9634/Home/aspyongkodeujeonglipeulogeulaem/RSFSimple.7z

2016년 7월 5일 화요일

SQL Formatting 은 이게 최고인듯..


SQL Beautifier

http://www.dpriver.com/products/sqlpp/ssms_index.php

MSSM 플러그인 형태도 제공하고..

그냥 웹버전도 있다!!

개발시에

SQuirrel SQL Client 하고 이 플러그인 얹어서 프로시저 편집시 MSSM 사용하면

꿀잼..... 은 아니구나... 업무지..

2016년 7월 1일 금요일

[NES 개발번역] PPU power up state

PPU 전원 입력 상태

2008년 3월에, Blargg가 NTSC버전 NES PPU의 전원 입력 / 리셋 상태와 동작에 대해서 역-공학을 수행했다.
초기 레지스터 값
레지스터전원 입력 시리셋 후
PPUCTRL ($2000)0000 00000000 0000
PPUMASK ($2001)0000 00000000 0000
PPUSTATUS ($2002)+0+x xxxxU??x xxxx
OAMADDR ($2003)$00unchanged1
$2005 / $2006 latchclearedcleared
PPUSCROLL ($2005)$0000$0000
PPUADDR ($2006)$0000unchanged
PPUDATA ($2007) read buffer$00$00
odd framenono
OAMpatternpattern
NT RAM (external, in Control Deck)mostly $FFunchanged
CHR RAM (external, in Game Pak)unspecified patternunchanged
? = unknown, x = irrelevant, + = often set, U = unchanged
  • PPU는 화상의 상단에서 전원과 리셋이 발생한다. 참고: PPU rendering.
  • Writes to the following registers are ignored if earlier than ~29658 CPU clocks after reset: PPUCTRLPPUMASKPPUSCROLLPPUADDR. This also means that the PPUSCROLL/PPUADDR latch will not toggle. The other registers work immediately: PPUSTATUSOAMADDROAMDATA ($2004),PPUDATA, and OAMDMA ($4014).
    • There is an internal reset signal that clears PPUCTRLPPUMASKPPUSCROLLPPUADDR, the PPUSCROLL/PPUADDR latch, and the PPUDATA read buffer. (Clearing PPUSCROLL and PPUADDR corresponds to clearing the VRAM address latch (T) and the fine X scroll. Note that the VRAM address itself (V) is not cleared.) This reset signal is set on reset and cleared at the end of VBlank, by the same signal that clears the VBlank, sprite 0, and overflow flags. Attempting to write to a register while it is being cleared has no effect, which explains why writes are "ignored" after reset.
  • If the NES is powered on after having been off for less than 20 seconds, register writes are ignored as if it were a reset, and register starting values differ: PPUSTATUS = $80 (VBlank flag set), OAMADDR = $2F or $01, and PPUADDR = $0001.
  • The VBL flag (PPUSTATUS bit 7) is random at power, and unchanged by reset. It is next set around 27384, then around 57165.
  • Preliminary testing on a PAL NES shows that writes are ignored until ~33132 CPU clocks after power and reset, 9 clocks less than 311 scanlines. It is conjectured that the first VBL flag setting will be close to 241 * 341/3.2 cycles (241 PAL scanlines); further testing by nocash has confirmed this.
  • It is known that after power and reset, it is as if the APU's $4017 were written 10 clocks before the first code starts executing. This delay is probably the same source of the 9 clock difference in the times for PPU writes being ignored. The cause is likely the reset sequence of the 2A03, when it reads the reset vector.
  • 1: Although OAMADDR is unchanged by reset, it is changed during rendering and cleared at the end of normal rendering, so you should assume its contents will be random.
  • During the warmup state, the PPU outputs a solid color screen, usually grey, but it depends on the hardware.
  • The Reset button on the Control Deck resets the PPU only on the front-loading NES (NES-001). On top-loaders (Famicom, NES-101), the Reset button resets only the CPU.
  • Nametable memory in the Control Deck and CHR RAM in the Game Pak are unchanged by Reset, as are the CHR bank settings of most mappers. Their contents are unspecified at power on.

Best practice

The easiest way to make sure that 29658 cycles have passed, and the way used by commercial NES games, involves a pair of loops like this in your init code:
  bit PPUSTATUS  ; clear the VBL flag if it was set at reset time
vwait1:
  bit PPUSTATUS
  bpl vwait1     ; at this point, about 27384 cycles have passed
vwait2:
  bit PPUSTATUS
  bpl vwait2     ; at this point, about 57165 cycles have passed
Due to the $2002 race condition, alignment between the CPU and PPU clocks at reset may cause the NES to miss an occasional VBL flag setting, but the only consequence of this is that your program will take one frame longer to start up. You might want to do various other initialization, such as getting the mapper and RAM into a known state, between the two loops.

See also

References

BE Band (비밴드) - 2024년 03월 02일 잠실새내 락앤롤욱스 공연

나의 10~20대를 보낸 잠실에서의 공연.. 오랜만에 가보니.. 여기가.. 마눌님과 자주 가던 영화관이었는데... 여긴 뭐가 있었는데... 란 추억도 떠올리며 기분좋게 감.​ 공연장은 좀 협소한 편이었고, 인천의 쥐똥나무 보다는 약간 크고... 인천 ...