2011-10-07 4 views
1

문자열을 살균하기 위해 유형 안전을 사용하고 있지만 더 많은 관절을 사용하고 싶습니다.누군가 나를 위해 형식 안전 사용을 분명히 말할 수 있습니까?

+0

정확히 무엇을 묻는 중입니까? 이것은 "누군가가 나를 위해 안전의 용도를 분명하게 나타낼 수 있습니까?"라고 묻는 것과 같은 특별한 종류의 안전 : 유형 안전에 대한 해답을 전문적으로 구술하는 것과 같습니다. 안전은 실제로 "유용"하지만 그 자체로 "사용"하는 것이 아닙니다. –

+0

얘들 아. 이것은 확실히 진짜 질문입니다. 만약 우리가 그것을 닫아야한다면, 적어도 그것을 프로그래머들에게로 옮길 수 있을까요? 말하자면, http://programmers.stackexchange.com/questions/59606/is-type-safety-worth-the-trade-offs에서 좋은 토론이 있습니다 – MatrixFrog

+0

나 자신 외의 다른 4 명이 나에게 허망한 답변을 좋아하기 때문에 단어가있는 질문은 삭제하지 않겠습니다. Plus MatrixFrog는 좋은 재방송을했습니다. –

답변

5

Yesod web framework에는 유형 안전성을 사용하여 실제 코드에서 큰 이점을 얻을 수있는 몇 가지 좋은 예가 있습니다 .

  • Type-safe URLs는 변경하거나 컴파일시 오류가 발생합니다 사용되는 템플릿을 업데이트하지 않고 경로를 제거하는 등, 고장 나지 귀하의 사이트에 링크를 방지 할 수 있습니다.
  • HTML에 별도의 데이터 형식을 사용하면 사용자 입력을 삭제하지 못하는 것이 형식 오류임을 확인하여 많은 일반적인 XSS 취약점을 방지 할 수 있습니다.
  • 그들의 접근 방식을 안전 localization 다른 단어 순서, 다른 복수화 규칙 등등과 함께 번역에 많은 공통 문제를 피하고 다시 컴파일러는 메시지가 번역이 부족하면 경고 할 수 있습니다.
+0

좋아하는 웹 프레임 워크를 예로 사용하는 것으로 표시했습니다! 디트 리치의 대답을 표시 할 수 있다면 그렇게 할 수 있습니다. –

6

확실! 형 안전 규칙

Baghdad :: City 

launchMissilesAt :: City -> IO() 

fibonacci :: Integer -> Integer 

, 우리는 fibonacci 바그다드에 미사일을 발사 할 수없는 것을 알고있다. unsafePerformIO은 유형 안전을 위반할 수있는 이유로 "안전하지 않은"상태로 표시되어 있습니다 (주의해서 사용하십시오!)

+0

명명되지 않은 함수를 사용하지 않는 좋은 예 ... – fuz

+0

@ FUZxxl : 명시 적으로 유형 안전을 위반하는 함수 (여러 가지가 있음)에 대해 이야기하고 있다고 가정합니다. 유형 안전은 안전하지 않은 것으로 표시된 기능을 사용할 때 어떤 것도 보장 할 수 없으므로 안전하지 않은 것으로 표시됩니다. –

+1

... 그리고 안전하지 않은 백도어를 사용하지 않기 위해 SafeHaskell이 있습니다. :-) – hvr

관련 문제