프로그램이 unsafe해지는 문제 95% 이상은 프로그래머가 장애인 같이 짜서 나는 로직에러임 언어의 결함으로 인한게 아님
1. 러스트에서 unsafe를 안쓰고 개발할 수 있는가? - 없음
2. 애초에 러스트에서 unsafe를 안쓰면 코드가 세이프한가? - 개소리
3. 러스트가 로직 결함으로 인한 보안 취약을 언어 차원에서 막아줄 수단이 있는가? - 없음
4. 러스트에서 취약성 버그가 발생하면 unsafe 코드 섹션을 찾아서 디버깅하는 걸로 해결 가능한가? - 아님
1. 러스트에서 unsafe를 안쓰고 개발할 수 있는가? - 없음
2. 애초에 러스트에서 unsafe를 안쓰면 코드가 세이프한가? - 개소리
3. 러스트가 로직 결함으로 인한 보안 취약을 언어 차원에서 막아줄 수단이 있는가? - 없음
4. 러스트에서 취약성 버그가 발생하면 unsafe 코드 섹션을 찾아서 디버깅하는 걸로 해결 가능한가? - 아님
러슬람도 러슬런데 무슨 로직에러 95% 이딴 뇌피셜 학싱충들 퇴학마렵네ㅋㅋ
멍청한 새끼한테 쉽게 예를 들어줄게 unsafe 아닌 코드에서 인덱스 잘못 세서 거기서 계산한 인덱스 값을 unsafe에서 사용해서 UB났으면 이때 프로그램이 병신된건 unsafe 때문일까 아닐까?
나 진짜 잘 몰라서 그러는데 ub나게 짠 unsafe부분 잘못이 맞지않나? Unsafe는 개발자가 가능한 경우 다 처리해서 ub 안나도록 짜야되는걸로 알고있는데 Unsafe코드가 제대로 안짜진 걸 unsafe 아닌 코드가 건드린거면, unsafe코드 잘못으로 보고 unsafe부분을 고치는게 맞지 않음?
Unsafe아닌코드 로직을 고칠거면 애초에 unsafe safe 나눠가며 코딩할 필요도 없을것같은데
설명해 주자면 Unsafe 때문에 ub가 생긴게 아니라 safe 부분에서 잘못된 값을 전달해 줬기 때문에 ub가 생긴 케이스고 에러가 발견되는 부분이 unsafe일 뿐임.
러슬람들이 약팔이하는 건, "idiomatic한 러스트 코드는 unsafe한 문제가 발생할 수 있는 모든 부분을 unsafe에 격리한다. 따라서 세이프티 관련 문제는 unsafe 부분을 뒤져서 고치는 것만으로 해결이 가능하다" 라고 광고를 하는 거고 이게 완전한 개소리라는 거임
아 그 내가 unsafe이해하기로는 받는 모든 값에 대해서 정의해놓는 식으로 만들어야 한다고 알고 있어서 ub 생김=unsafe 책임이라고 이해하고 있었는데 아닌가보네 좀 더 공부해봐야겠다 감사감사
그리고 러슬람 학식충 트위터충들이 하는 토이 프로젝트를 넘어 회사 레벨에서 개발하려면 외부 라이브러리 가져다 쓰게 될텐데 니가 짠 safe 코드에서 외부 라이브러리 함수 호출했는데 그 함수가 unsafe를 쓰면 UB가 나올 수 있음. 시발 뭔 장난하는것도 아니고
프로그래밍에서 1-2-3-4-5의 순서를 가진 로직이 실행되는데 이 중 일부분을 잘못짜서 세이프티 관련 문제가 생길 수 있다고 치면 잘못 짠 원인이 되는 부분은 1, 2, 3, 4, 5 중 그 어느 부분에서도 발생할 수 있음. unsafe로 격리하는 것이 1-2-3-4-5 중 어느 부분을 잘못 짜서 문제가 발생했는지 도와주지 않음
아무 데이터 없이 지 뇌피셜로 95%라고 쓴게 역겹다고 한건데 혼자 발화하네ㅋㅋ 댓글한줄해석이안됨?ㅋㅋㅋㅋ
나도 예전 주딱이었나 누가 얘기한 걸 봤는데 이런 문제 때문에 언세이프 영역이 잘 다져졌다고 믿고(좀 더 딱딱한 표현으로는 ‘가정하고’) 사용하는 것이라고 하였음. 근데 생각해보면 당연히 그럴 수 밖에 없을듯. 완전 100프로 세이프를 어떻게 보장해. 언세이프 덩어리들을 잘 다듬어서 세이프로 노출시키는 거잖아.
그래서 정말 이상적인 safe라기 보다는 기존 unsafe에 완전히 노출된 언어들에 비해서 상대적으로 믿고 써도 안전하다는 점에서의 장점이 있는 건 맞는듯.
위험할 수 있는 코드가 unsafe 블록으로 격리되서 조금 더 디버깅하기 편하다는거 정도? 사실 -러- 쓰면서 정말 좋았던건 세이프 관련보다는 cargo같은 툴링부분이나 멀티-스레딩이었음
설직히 타입 잘 되있고 정적분석 잘 되있어서 엥간한 병신짓은 컴파일러 선에서 대가리 깨버리는게 장점이지 unsafe만 고쳐서 버그 잡을수 있다 << 이건 좀 아닌거같음
제대로 이해하고 말하는 새기가 한명도 없네