본문 바로가기

프로그래밍/미분류

(80)
[ASP] SQL 인젝션 방지법: 패러미터화된 쿼리를 사용한다 SQL 인젝션 방지법: 패러미터화된 쿼리를 사용한다 SQL Injection Mitigation: Using Parameterized Queries 출처 : https://blogs.technet.microsoft.com/neilcar/2008/05/21/sql-injection-mitigation-using-parameterized-queries/ neilcarMay 21, 200814 마이클 하워드가 어제 SDL에 SQL인젝션에 어떻게 대응하는지에 대한 훌륭한 아티클 을 썼다. 그는 대응을 위한 3가지 코딩 필수요건/방어책을 살폈다. 패러미터화된 SQL 쿼리를 사용하라. 저장프로시져를 사용하라. 실행-only 권한을 사용하라. Michael Howard wrote an excellent article..
[UBUNTU] 16.04 로 릴리즈 업그레이드 이후 GUI ( unity ) 화면이 나오지 않았다. 버추얼 박스에 깔아서 사용하던 ubuntu 14.0x 버전을 최근 새롭게 나온 16.04 로 do-release-upgrade 명령을 이용하여 업그레이드 이후 새 부팅화면에서 아무리 해도 gui 화면이 나오지 않고, console 로그인 화면만 나왔다. console 로그인은 문제없이 됐지만, gui 화면으로 이용하던 프로그램들을 사용하지 못하여 매우 불편했다. 그래서 해결책을 찾아 이리저리 헤메었는데, 업무와 관련된 머신도 아니고, 개인적 필요에 의해 깔아놓은 것이라 근본원인을 찾아 해결하지는 못했고, ask ubuntu 포럼의 다음 지침을 따라 해 보아 해결이 됐다. 3가지가 해결책으로 제시되어 있는데, 1번은 시도하지 않았고, 2번은 시도해 보았지만 안 됐고, 3번을 시도하여 성공하였다. http:..
부동소수점 연산 손가락이 세 개인 외계인 나라에서는 3진수를 씁니다. 무슨말이냐면, 0.1 이 1/3, 0.2가 2/3, 0.3은 없고, 3/3 즉 1 입니다. 0.1+0.1+0.1 = 1 입니다. 그리고 어찌된 일인지 이들의 컴퓨터는 십진수로 계산이루어 집니다. 즉 외계인의 3진수 0.1은 컴퓨터 내부에서는 0.33333 (소수점 아래 5자리가 한계라고 합시다.)이 됩니다. 그래서, 컴퓨터에게 0.1 + 0.1 + 0.1 을 계산시키면, 우선 십진수로 변환하여 0.33333 + 0.33333 + 0.33333 을 더해서 0.99999 가 됩니다. 이것은 외계인이 기대한 답인 1과 다르게 됩니다.
Property-based Testing 프로퍼티 기반 테스팅에 관한 팟캐스트를 들었다. 들을 때는 잘 몰랐는데 구글에서 검색하여 slideshare 슬라이드를 좀 읽어보니 좀 이해가 간다. 수학적으로 연관성이 많은 하스켈 스칼라 등에서 먼더 이야기가 나온 것 같고, 아니나 다를까 수학에서 공리로 부터 시작하여 어떤 성질을 만족하는 무엇을 정의하는 것과 비슷한 개념이라 이해했다. 무슨 말인고 하니 개발시에 작성하는 테스트 케이스는 그여말로 랜덤한 개별적인 사례들이다. 그러나 이런 개별 사례들을 아무리 많이 만든다 해도 그것들이 만드는 시스템의 설계 스펙을 완전히 커버할 수는 없다. 본질적으로 귀납적인 방식이기 때문이다. 수학에선 무엇을 정의할 때 그 이전까지 확립된 개념들로 이루어진 성질을 만족하는 것으로 한다. Property-based 에서..
프로토타입 패턴은 왜 사용하는 건가? http://stackoverflow.com/questions/13887704/whats-the-point-of-the-prototype-design-pattern 질문 : 프로토타입 패턴은 왜 사용하는 건가?What's the point of the Prototype design pattern? http://stackoverflow.com/a/13888045/100093 프로토타입 패턴은 예를 들면 다음과 같은 잇점이 있다. - 객체 초기화 때의 (매우 비쌀 가능성이 있는) 오버헤드를 없애준다. - 같은 타입의 여러 객체가 거의 유사한 데이터를 가지고 있는 유스케이스를 최적화한다. 예를 들어, 프로그램이 네트워크로부터 거의 변하지 않는 데이터를 파싱하여 객체를 만든다고 하자. 객체를 만들 때마다 데이터..
electrons on sphere E denoted by (theta, phi). rho is fixed as R. E in cartesian coord is R ( sin(theta) cos(phi), sin(theta) sin(phi), cos(theta) ) F on E[i] is SUM_(k!=i) X(E[i]-E[k]) ----class X3: x, y, z def __init__(self, x, y, z): self.x, self.y, self.z = x, y, z def plus(self, Y): return X3(self.x + Y.x, self.y + Y.y, self.z + Y.z) ... ----class E : r = R th = 0 ph = 0 v = X3(0, 0, 0) def __init__(self, thet..
IPv6 주소 뒤의 퍼센트 기호의 의미는? http://superuser.com/questions/99746/why-is-there-a-percent-sign-in-the-ipv6-address Q. (질문이 길어서 요점만 번역, 번역하지 않은질문 아래의 내용도 이해에 도움이 됨 읽어보세요.) ipv6 주소를 구하면 fe80::71a3:2b00:ddd3:753f%16 처럼 % 기호와 숫자가 붙어 나오기도 하고, 안 나오기도 하는데 이건 무엇인가? A1. % 기호 뒤의 숫자는 스코프 아이디 ( scope id ) 이다. IPv6 주소에는 3종류의 접근가능 스코프가 정의되어 있다. 1. 글로벌 접근 주소 (globally addressable). ISP 가 부여한 IPv6 주소로 퍼블릭 인터넷에서 사용할 수 있다. 2. 링크-로컬 (link-loca..
Teredo 터널 어댑터란? ISATAP 란? http://superuser.com/questions/22290/what-is-the-teredo-tunneling-pseudo-interface Q. 윈도우 7 얼티밋을 사용한다. ipconfig /all 을 하면 이더넷 어댑터 로컬 영역 연결 ( ethernet adapter local area connection ) 외에 터널 어댑터 Teredo Tunneling Pseudo-Interface ( tunnel adapter teredo tunneling pseudo-interface ) 도 나온다. 이것 뭔가? 뭣에 쓰는 건가? A1. Teredo 는 대부분 가정용 컴퓨터에서 사용하는 NAT 방화벽 뒤쪽에서 IPv6 네이티브 접속없이 원격 IPv6 리소스를 UDP 프로토콜을 통해 접근할 수 있도록..