대부분 내림과 버림(절사)의 차이를 잘 모르고 혼용한다. 양수에서는 같지만 음수에서 차이가 발생한다. 음수 -1.5를 내림(Floor)하면 -2가 된다. 음수 -1.5를 버림(Cut)하면 -1이 된다. 버림은 0과 가까운 쪽으로 붙는다. 양수는 내리고 음수는 올리면 버림과 같다. 하지만 버림 함수가 제공되지 않는 환경에서는 직접 구현을 해야한다. 아래는 세금의 1원단위를 절사하는 로직이다. Math.Floor(Math.Abs(dTaxAmt / 100)) * 10 * Math.Sign(dTaxAmt) 절대값을 100으로 나누고 내림하여 소숫점제거 후 10을 곱하고 부호를 붙이는 방식이다. 엑셀의 ROUNDDOWN() 함수는 버림(절사)의 개념이고, MS SQL이나 C#의 FLOOR() 함수는 내림의 개념으로 차이가 있다.
(예시) 아래는 아이핀 비밀번호 생성규칙이다. 1. 비밀번호의 길이는 8~20자리로 설정이 가능합니다. 2. 비밀번호는 반드시 영문, 숫자, 특수문자의 조합으로 구성되어야 합니다. -영문, 숫자 등 두가지 조합만을 이용한 비밀번호는 생성 불가 -다음 8개의 특수문자는 사용불가 < >( ) ' # / | 3. 연속되는 숫자 또는 문자열은 3자리 이상 사용할 수 없습니다. 4.아이핀ID와 동일하거나 3자리 이상 일치하는 비밀번호는 사용할 수 없습니다. 요즘 이슈인 "불필요한 규제" 중 하나이다. 1. 보안을 위하여 8자리 이상 설정하는 것은 좋으나, 2. 암호에 영문, 숫자, 특문의 반드시 포함되어야 한다니 얼마나 기억하기 어려운가! (거기에 일부 특문은 또 사용 불가라니...) 3. 연속되는 숫자나 문자열은 왜 사용하면 안 되는지??? 4. 3번에 이어서 ID랑 3자리 일치하는건 왜 막는건지??? 복잡하고 유추하기 어려운 비번을 만들라는 취지는 알겠는데... 일단, 위 조건을 모두 만족하는 8자리보다, 문자만으로 이루어진 20자리가 더 강력하다. (무차별대입법으로 풀기 어렵다는 의미다.) 하지만 사용불가능하고, 덜 강력한 8자리는 허용하는 꼴이다. (계산은 안 해봤다..) 더 중요한건!! 이렇게 생성 규칙이 복잡하면 머리로 기억하기 어렵다. 그럼 어디엔가 기록을 하게되고, 암호의 복잡성과는 전혀 상관없이 (brute force 방식이 아닌) 다른 경로로 유출될 가능성이 올라간다. 국공립 사이트 중 이런 곳이 많다. 개선되어야 할 부분이다.
제목: Microsoft SQL Server Management Studio ------------------------------ 연결된 서버에 대한 연결 테스트에 실패했습니다. ------------------------------ 추가 정보: Transact-SQL 문 또는 일괄 처리를 실행하는 동안 예외가 발생했습니다. (Microsoft.SqlServer.ConnectionInfo) ------------------------------ 연결된 서버 "****"에 대한 OLE DB 공급자 "OraOLEDB.Oracle"의 데이터 원본 개체를 초기화할 수 없습니다. 연결된 서버 "****"의 OLE DB 공급자 "OraOLEDB.Oracle"이(가) 메시지 "ORA-12154: TNS:could not resolve the connect identifier specified"을(를) 반환했습니다. (Microsoft SQL Server, 오류: 7303) 도움말을 보려면 다음을 클릭하십시오: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=10.50.1600&EvtSrc=MSSQLServer&EvtID=7303&LinkId=20476 ------------------------------ 단추: 확인 ------------------------------ 해결 >>> tnsnames.ora 파일에 문제가 있다. MSSQL이 설치된 서버에 오라클 클라이언트 설치 경로 D:\oracle\product\10.2.0\client_1\NETWORK\ADMIN 여기 폴더에 tnsnames.ora 파일을 아래처럼 수정해준다. 연결이름= (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) ...