11줄의 코드 때문에 전 세계 인터넷이 개박살 난 'Left-pad' 사건
HTML-код
- Опубликовано: 22 авг 2024
- nordvpn.com/mss
*이 영상은 NordVPN의 후원을 받아 제작되었습니다.
NordVPN이 독점 사이버 보안 패키지 2년 플랜 4개월 추가 무료 이용 및
최대 57%할인 이벤트를 진행중입니다.
30일 이내에 환불보증해 드리며
구매 전 반드시 장단점과 필요성을 확인하시고 구매하시길 바랍니다.
자료 출처
www.bloter.net...
news.koreadail...
nordvpn.com/mss
*이 영상은 NordVPN의 후원을 받아 제작되었습니다.
NordVPN이 독점 사이버 보안 패키지 2년 플랜 4개월 추가 무료 이용 및
최대 57%할인 이벤트를 진행중입니다.
30일 이내에 환불보증해 드리며
구매 전 반드시 장단점과 필요성을 확인하시고 구매하시길 바랍니다.
이 영상은 NordVPN에 후원을 받을려고 거짓 바탕으로 구독자의 필요를 강죠하는...
Name one major Server Attacks with a script containing 12 lines code.
As an Engineer, NORDVPN, coveres your IP, but they have all your history. Thus - they own you.
I won't use NORDVPN. Use OpenVPN - it's free & open source
NordVPN, you are spreading propegneda through your clueless advertising people.
1. Educate them for a minute - At least a minute.
2. push the code to github and share it with me. Let's see the Unicorn code
3. DDOS attack is there to stop people like to spreading more lies
"*이 영상은 NordVPN의 후원을 받아 제작되었습니다.
NordVPN이 독점 사이버 보안 패키지 2년 플랜 4개월 추가 무료 이용 및
최대 57%할인 이벤트를 진행중입니다."
@@CBT_8 돈받고 광고 안하면 잡혀가요
네
사용안하는걸 추천합니다.
노드vpn 중고나라같은데서 파티구하면 1년에 8천원도 안함
*한 개발자가 굴린 쥰내 큰 공*
공 굴러가유~
근데 나였어도 개빡칠듯
쥬운내 큰 공ㅋㅋㅋ
저건 쥰내 큰게 아니라... 거의 크기를 알수없는 공인데?
전세계와 맞먹는 쥰내 큰 공
저 때 이후로 별거 아닌 로직들은 본인이 알아서 만드는 경우가 많아졌죠.
대부분 큰 기업들은 배포 전에 굉장히 긴~~ 여러 번의 테스트를 거치기 마련이고
상용에서 빌드 배포 중에 에러가 나면 멈추는 헨들링도 많기 때문에 여기서 소개하신 것처럼 "개박살" 까진 나지 않았습니다.
여러분은 걱정 말고 즐기시면 됩니다~
이러다가 또 🤦 그러겠죠. ㅎㅎ 일단 ㄱㄱ
역사는 반복된다.
알아서 만든다기보다 fork뜨는 방향으로 바뀌었습니다.
... 제가 보기에는 간단한걸 직접 짜는걸로 바뀐게 아니라
호출 이었던걸 직접 떠서 박아 넣는걸로 바뀐거 같은데요...
HeartBleed 사건처럼 저거 비슷한건 항상 터지고, 일어나는...
그러니까,
빡친 개발자 한명이 "상호확증파괴"를 시전했다고?
ㅇㅈㄹ ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
아 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
비유 찰지다
ㅋㅋㄱㅋㅋㅋㅋ
프로그래머들의 흔한 대화 짤 그거 생각난다.
A: 이봐 친구, 내가 자네 코드를 베꼈다네
B: 그거 내가 짠거 아닌데?
세상에서 건들면 안되는 양대산맥,
1. 대학원생 2. 코딩/프로그래머 에서 최강체를 건드렸으니....
대학원생 ㄹㅈㄷ ㅋㅋㅋ
3. 미대생도..
@@Blanchedbeansprouts 미대에 떨어지면 벙커에서 권총으로 자살을 하니까요?
@@Blanchedbeansprouts 미대 못갔잖아요 ㅋㅋㅋㅋㅋㅋ
@@user-up9gx4ck7v 미대 호소인
근데 자기 클릭 하나로 세계가 먹통이되니까 좀 뿌듯했을듯 내가 이렇게 영행력이크다니ㅋㅋㅋㅋ
전세계 기업에서 고소당함
@@user-yh2yz1ss1q 자기꺼 자기가 내리겠다는데 ㅋㅋㅋ
누가 이거 보고 인터넷에 모든 것 들은 굉장히 아슬아슬하게 쌓아진 탑과 같다고 하더라구요.
그치만 복구할수 있는 능력도 크죠
피사의 사탑
개발자 생태계라는게 참 특이함.
누군지 이름도 얼굴도 모르는데 그 사람이 만든 프로그램을 컴퓨터에 내려받아서 실행한다고 하면 미친 소리라고 하겠지만, 이게 ‘오픈소스’ 라는 이름이 붙으면 가능해짐 ㅋㅋ
만든 이가 불순한 목적으로 해킹코드를 삽입해 놨다고 하더라도 “아 Documentation 보니까 괜찮아보이네 ㅋㅋ” 라고 생각하고 아무런 검증도 거치지 않은 채 설치함.
이런 말 하는 나도 그렇게 하고 있고 ㅇㅇ
@@cyp9571 그리고 그코드들 안에 만약 바이러스가 있다면...
@@cyp9571 누군가는 코드 검증 해줬겠지 라는 마인드 ㅋㅋㅋ
오픈소스의 함정이죠. 조그만 사이트/앱 하나 만드는데도 수 십, 수 백 개의 패키지를 가져다 씁니다. 그리고 그 패키지들은 각자 수 백 개 씩의 패키지를 가져다 씁니다. 그리고 그 패키지들은 또... ...
이론상으로야 오픈소스니까 수 많은 사람들이 열어보고 검증에 검증을 해서 안전을 확인할 수 있습니다만, 진짜 아무 상관 없는 남의 코드를 그렇게 확실히 검증하는 사람이 얼마나 있을까요? 게다가 개인적인 봉사나 취미 활동 수준에서 유지되는 프로젝트도 많고, 검증할 만한 대부분의 인력들은 소수의 인기 프로젝트에 집중됩니다. 저렇게 간단하게 가져다 쓰는 오픈소스들은 최초 개발자 외에는 들여보지도 않는 경우도 있을 수 있다는거죠... 아직까지는 큰 문제 없이 돌아가고 있습니다만, 가끔씩 어이없는 일이 일어날 수 있는건 사실입니다ㅎㅎ
여기서 문제는 코드가아니라 패키지를 오버드라이브 시킨 NPM측의 잘못인데요..? 들여다보고 말고의 문제가아니라 그냥 프로젝트 자체를 npm이 지워버린경우라 한번에 터진겁니다. 알았으면 그냥 fork떠서 붙여놓으면 그만입니다.. 1분도안걸려요. 하나 더 말씀드리면 작은 수많은 프로젝트를 이용하는 대형프로젝트 같은경우 사용한 패키지에 대한 책임을 그 사람들이 지게됩니다. 당연히 수많은 패키지를 사용하니 많은 사람이 붙어야죠.. 실제 해외 대형 프로젝트들같은경우 전부다 코드 검증합니다. 코드에 수정이 필요하면 fork떠서 수정도 하고 합니다. 그냥 막 가져다 쓰지 않아요..
@@testiermal9445 이번 사건의 직접적인 원인은 NPM의 관리 실패지만 제가 이야기한 건 현재 오픈소스 생태계에서 이런 문제가 생태계의 어느 단계에서든 생길 수 있다는 겁니다. 악의적인 프로그래머, 게으른 관리자, 레포지토리 관리하는 회사, 가져다 쓰는 프로그래머의 성실성...
말씀대로 모든 부분이 완벽하게 돌아가면 문제가 없겠죠. 그리고 이런 일이 생각보다 드물다는 게 시스템이 그럭저럭 돌아간다는 걸 의미하고요.
근데 그 과정이 정말 완벽하면 이런 일도 없어야겠죠?
맞음.
그래서 오픈소스 쓰다가 결국엔 해당 소스를 다시 보고 뜯거나 수정하게 되던...
뭐, 오픈 소스라서 가능한거긴한데. 검증 안되거나 관리 안되는 소스들도 많다는 점.
반대로 오픈소스라서 자기가 다시 관리하거나 수정해서 관리할 수 있다는 점.
장단점이 확실함.
@@hcno2009 그걸 오픈소스의 잘못이라 쓰면 듣고있던 오픈소스는 억울하지요. 대부분의 오픈소스 라이선스들이 명시하듯이, 오픈소스 사용 시 발생하는 모든 문제는 사용자 본인이 직접 지는 겁니다. 님 말 마따나 '악의적인 프로그래머', '게으른 관리자', '레포지토리 관리하는 회사', '가져다 쓰는 프로그래머의 성실성'이 문제인거지, 오픈소스의 '함정'은 아닙니다.
@@junsukim7022 그런걸 바로 함정이라는거임..
저 개발자가 올렸던 코드 11줄이 유명 기업에서 다 쓰는 코드였다는 엄청난 스펙을 가지고 있던거네ㄷㄷ
내용 자체는 별거 없지만 프로그래머들이 그 11줄 코딩하기 귀찮아서 다들 가져다 쓴 겁니다.
간단한 기능이라도 자기가 짜려면 시간이 필요하고 정상적으로 돌아가는지 검증해야 되지만, 구글에서 필요한 기능 검색해서 별 1만개 받은 오픈소스 넣는데는 몇 분 걸리지도 않고, 1만명이 테스트 했겠거니... 하는거죠ㅎㅎ
연세 좀 있는 프로그래머들은 요새 프로그래머는 코딩이란걸 할 줄 모르냐는 말도 많이 합니다.
@@hcno2009 워낙 오픈 소스가 활발하게 활성화된 탓에 그렇죠 직접 짜는 것보다 효율이 훨씬 좋으니까...
깃허브 씁시다
@@hcno2009 기능이 아니라 NPM이 오버라이드 시킨게 문제입니다;; 계속 영상하고 다른말 하시네.. 그리고 어떤 개발자가 별 1만개있다고 1만명 테스트했다고 생각합니까? 콘트리뷰터가 떡하니있는데.. 님 개발자아니죠?
@@testiermal9445 원글 쓰신 분이 기능에 대한 이야기를 해서 11줄 짜리 코드를 굳이 가져다 쓰는 이유를 이야기 했을 뿐입니다. 영상하고는 상관없어요.
그리고 당연히 별 1만개라고 더 믿을 만한 코드는 아닙니다. 하지만 인기 있고 관심을 많이 받는 상품에 경계를 풀어버리는 식의 영향은 없다고 할 수 없죠.
프로젝트의 인기에 휩쓸리지 않고, 코드 하나하나를 완벽히 읽고 모든 상황에 완벽히 검증해서 쓰는 게 맞아요. 그럴 수 있는 사람만 개발자면 나는 개발자 아닙니다ㅋㅋ 문제는 그런 사람이 님이 정의한 보다 훨씬 많을거라는거고 오픈소스인 이상 이런 사람이나 이런 사람에게서 생기는 취약점을 차단할 수 없다는 겁니다.
한 개발자가 만든 코드 11줄이 빠졌다고 그 연쇄 효과로 대기업들까지 줄줄이 박살나다니...
"미안해, 자네 코드 좀 썼어."
"어? 그거 내가 만든거 아닌데?"
라는 유머로 대표되는 프로그래머계의 활발한 자료 공유가 크게 와닿는 사건이네요.
근데 가져가서 쓰는 것도 재주임 가져간다고 그대로 쓰면 환경에 따라 적용이 될수있고 안될 수 있어서 그에 맞춰서 수정해야하고 그럴려면 코드를 이해하고 변화를 해야하는 과정까지 아무튼 복잡함
@@ioswean ㄹㅇ공감
@@ioswean 흔히 코딩을 레고로도 예를 드는데 내생각엔 그 레고는 접합면이 없어서
사포와 3D 펜으로 접합면을 직접 제작해야 하는듯 함
그걸 믿는 사람도 있다는 것이 참...
마치 수학 공식같은거임,
그대로 가져다 쓴다고 문제가 풀리는게 아니라 내가 그걸 이해하고 분석해야 문제를 풀 수 있듯이 코드도 마찬가지임
하필 엮어있던 대형 프로젝트명이 '바벨'이라는게 진기한 우연이네~
한명의 분노가 전세계가 멈추네
분노 때문에 혹은 분노에 라고 바꾸면 자연스러울까요?
@@potato-yeyu ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
@충청도 왕감자 미대 떨어지시고 자살하신 분...
@@aaaaaaaaa565그렇게 말하면 ㅈㄴ 짠해보이잖아 ㅋㅋㅋㅋㅋ
@@aaaaaaaaa565 중간과정 싹 다 건너뛰었잖슴ㅋㅋㅋ
11줄 코드로 날벼락 터진 건 알고 있었는데 마무리가 저렇게 됐구나.
이런 사태도 간혹 발생하는 단점도 있지만, 그래도 오픈소스가 개발자의 업무 효율을 비약적으로 높여주니 포기할 수도 없는게 현실이죠
일일히 다 구현하자기 테스트 거쳐야될게 많아서 오픈소스를 쓰는데. 자기에게 안 맞거나, 일부분만 구현되어 있어서 다시 뜯어서 수정해야되는...
이거 잘못 이해하신분들이 많네요.. 코드는 문제가없어요 잘되요 ㅋㅋㅋㅋㅋ 문제는 NPM이 패키지를 맘대로 내려버리는 갑질로 인해서 갑자기 터진겁니다. 무슨 left-pad 코드가 노답쓰래기 코드라 터진게 아니에요 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 그리고 바벨 써보신분들은 아시겠지만 바벨은 라이브 서비스에 사용되는 패키지가아니라 개발시 사용되는 패키지인데 전세계 사이트가 내려가지는않고 배포가 안되서 모두 당황한겁니다. 바벨이 안되니 빌드가안되고 빌드가안되니 배포가 안되서 모두 줫됫다 한거죠.. 배포된 버전은 외부 패키지의 영향을 받지않습니다. 독립적으로 모든 데이터를 가지고있거든요..
정확하네요 ㅋㅋ
이미 잘 돌아가는 서비스는 문제 없죠(정적)
이제 돌아갈 서비스 혹은, 돌아가는 서비스(동적)이 문제 ㅋ
뭔가 이상하다 싶었는데 이런거였군요. 마지막에 전산망이 마비되었다는 소리 때문에 더 헷갈렸네요.
1. left-pad npm 이 강제로 내린게 아니라 저 개발자가 자발적으로 내린거고요
2. 미국에서 DMCA takedown 은 법적 구속력이 큽니다. 일개 오픈소스 커뮤니티가 어르고 달래겠다고 할 내용이 아니에요 (그리고 그당시 npm 은 깃헙과 마이크로소프트한테 인수되기도 전이었던 영세업체였고요)
3. 라이브된 서비스에 영향을 주진 않겠지만, 의존성 문제가 해결되는 기간동안 많은 회사들이 핫픽스 배포 등을 못했겠죠.
안그래도 이상하다고 생각했었는데 이글보니 이해가 되네요.
아 빌드 배포 문제였군요
킥 메신저가 잘못했네요. 아무리 지가 우선이고 갑이래도 요구는
정중하게 했어야지, 괜히 사람 성질 건드려서 엉뚱한 사람들까지
통으로 고추참치 됐잖아.
ㅋㅋㅋㅋㅋ 킥이 월클 건드리는줄 알았겠냐고 아 ㅋㅋ
@@user-kg5sk8nz9b 사실 젠가 맨 아래블럭 토독 건드리고 있던 거였네 ㅋㅋㅋ
올해 초에도 비슷한 일 있었어요
NPM의 faker랑 colors
저도 개발중인 서버 갑자기 먹통나서 야근 각이었는데 알고보니 pr 올린 개발자가 코드 안에다 시한폭탄 심어놔서 전 세계 수천개 프로그램이 죄다 맛탱이 갔었음
저런건 오픈 소스의 단점이라고 봐도 될것 같기도하고...
장점이 있으면서 단점이 있는...
@@junkman9010 면밀히 따지면 오픈소스의 단점은 아니죠
@@user-tt4qj5so4s 그러면 엄밀히 따져서 어떤건가요?
오픈소스는 그게 당연한 리스크임
@미루나무 그래서 저는 오픈소스등과 같은 문화가 좀 신기하게 느껴지네요
그 어느 때보다 지적 재산권이 중요해진 현대에 반대로 오픈소스가 점점 많아지고 있으니까요
문제는... 여전히 npm의 의존성 관리가 철저하지 않기 때문에 기존에 문제 없던 프로젝트들이 갑자기 배포 오류가 나며 먹통이 되는 경우가 생기고 있다는 것입니다. 특히 종종 특정 버전을 deprecated 시키고, 그 상위 버전에서 하위 호환을 깨버리면 그걸 사용하던 모든 프로젝트들이 갑자기 막 꼬이기 시작합니다.
글자 하나만 잘못적어도 오류가 복사가되는 코딩인데 11줄이나 사라졌으니 어떤 오류들이 발생할지 모르지....넘 위험해
@@mac_rules 글도 못 읽고 싸가지도 없고
0:00 Opening
3:34 Adcard
초심 같지만 뭔가 이상한 초심..?
에드오오옭
스팀창작마당에서 비슷한걸 당해본거같아
ㄹㅇㅋㅋ
무지막지하게 꼬여서 하나라도 헝크러지면 무너지는 기반 위에 너무 많은게 올라가져있는건 인터넷만이 아닐지도 모릅니다..
*_대학원생을 건드리면 누구던지 풋곧휴 되는 거에요._*
욱해서 그 자리에서 코드를 지운 코출로도 일부 문제가 있긴 했으나,
여기서 가장 문제 였던건 사이트의 운영자의 미흡한 소통과 대처였지 않았나 싶습니다.
어르고 달래 대처가 가능한걸, 단호하고 강압적인 대처로 해버렸기에 코출로도 그만큼 욱해버린걸테니까요...
자기꺼 자기가 지우는데 무슨 문제가있음?
본인코드 본인이 지운게 무슨 문제임? 혹시 생각이란걸 해본적이 있음? 생각을 해본적이 있으면 프로그래머 잘못이 아니란걸 알텐데ㅋㅋㅋ
@@bowwave55798 니말이 맞긴한데 말하는 싸가지가 마치 틀딱들이 주장하는 요즘 일부앰생mz를 재현하는 것 같다
@@Usung777 본인이 우위에 서면 뭐든 말해도 좋다고 생각하는 마인드셋은 모든 연령대의 갑질쟁이에게서 나타난다고 봄. 저런 식으로 지능 문제를 중점으로 와다다 들이박는 문체는 젊은이특이 맞긴 한데
@@bowwave55798 그래서 '일부' 잘못이라고 했지않았습니까.
애초에 저 사이트를 이용했다는 뜻은 자기 코드를 다른 사람들이 이용하고 자기걸 지우면 그 사람들이 피해 입을걸 알 수 있을텐데 한순간 욱 했다고 지워서 다른 이들에게 피해를 준게 문제라는 거죠.
유튜브나 인터넷으로만 잘못되었을지 아닐지 모르는 지식들을 얻으면서 괜히 나대다가 욕먹지 마시고 책 등을 읽으시면서 타인한테 말을 어떻게 해야하는지, 생각이란게 무엇인지에 대해 다시 생각해봅시다.
말투 보면 어린 친구분 같은데 좀 나이 먹고 공부를 배우는 것보다는 그 시기에 공부를 하시는게 이해하기도 쉽고 기억에 잘 각인되서 이후에도 도움되실거에요.
Left-Pad... 이름부터 너무 혁명적이라 전세계에 거대한 사보타주를 벌었구만.
좌파ㄷㄷ
어떻게 이렇게 쉬지 않고 빽빽하게 말하지 ㄷㄷ 오디오가 비질 않네요 굿 대단
난쟁이가 쏟아올린 작은 공이 아니라..
난쟁이가 지워버린 작은 글이네.. ㅎㄷㄷ;;;
우리나라도 까똑 하나 마비되니까 관련된 기업들 싹다 마비되었자너
카톡 솔직히 개버러지 메신저인데 왜 쓰는건지 모르겠음
@@YudongNick 시장 독점되면 이렇게 됨. 시장 독점 되기전까진 굉장히 효율적이고 잘 만들었지만 독점되면 개떡같이 만들어도 다른 대안이 없으니 그냥 쓰게 되는거
@@YudongNick 다 쓰는데 어떡해
@@I3ugerking 나도쓰기싫은데 중요한내용은다 카톡으로 오니까 개빡쳐 ㅋㅋㅋ 불과 몇년전만해도 대화내용 자동으로 백업도 안되던 쓰레기인데
그래서 개인이랑 주고받는 메시지는 카톡 이용 안함
@@YudongNick 메신저가 갈아탈려면 주변 사람도 갈아타야 하는데, 그건 주변 사람 입장에서도 똑같으니 서로 갈아타지 못하는 것..
그 주변 사람이 단순 친구 뿐만이 아니라 학교, 회사 등등도 포함되니...
요즘은 개인플젝도 의존성 문제 고려해서 모듈 막 넣어 쓰진 않으니까 ㄱㅊ은듯
저런 이유가있어서 의존성 문제 조심하라고들 하는거였네
노드뷔피엔이 한번 보안이 뚫린적이 있다고 다른 유튜브에서 본적이 있는데 그것에 대해 한번 확인가능할까요?
그 정보가 사실인지 아닌지는 제가 판단할 수 있는 부분은 아닌것 같습니다
VPN을 우회해서 사용할 수 있어도 로그정보는 남는다는 내용도 있던데..
저는 우회 VPN을 사용하지 않지만 사용하시는 분들에게 확실한 정보가 제공되면 좋을 것 같습니다
보안이 아무리 뛰어난 프로그램도 뚫릴 수는 있다고 생각합니다
뉴스를 보면 카톡 또 뚫리고 증권사는 털린 경우도 있고..
오프라인 정보도 털리는데 온라인 정보라고 안털릴까요?
어떻게 보면 우린 모두 정보가 다 털리긴 했죠
스펨문자 오는거만 봐도 이미 털렸다고 보는게..
vpn이 무료와 유료가 있는데 무료는 대부분 우회만 돼고 ip는 남게 돼고 유로는 ip도 안남아요
킥이 잘못했네 왜 사람 존심을 건드리노
ㄹㅇ 그거 빼면 시체지 ㅋㅋ
다시는 개발자를 무시하지마라
나도 짜잘한 소시민 프로그래머이지만 프로그래머도 성격타는게 진짜 꼼꼼한 성격아니면 미칠 수도 있음
버그나서 볼 때 몇시간본후 철자하나 콤마하나 틀려서 생긴거라고 나오면
멘탈 붕괴됨
"ㅉㅉ 웹개발자놈들..."하고 혀를 차던 자바개발자들은 훗날 Log4j 사태를 마주하게 되는데...
@@user-nr9rq2yf5d 웹이 아니라 백엔드겠지
대단한 사람이긴 한가보네.
단순하고 꼭필요한걸수록 이미 만든 사람들이 있어서 만들기 어려운데.
거대한 프로젝트를 무너트릴만큼 기본 블록이면 대단한사람.
@@mac_rules 에휴 세상 모든사람이 it에 대해서 아는것도 아닌데 지가 안다고
깔보면서 남까는거
보면 대한민국 미래가.. 정말 참도 밝네요
@@mac_rules 진짜 이런놈들 덕에 나중에 배우는것도 무서울듯 ㅋ
이거뭐냐고 하면
죽자고 달려들어서
개처럼 물어뜯는데
에휴 ㅋㅋ
@@mac_rules 그딴짓 안할거고
뭘 알고있어도 니처럼 남한테 그따구로 말안할꺼니깐 니인생이나 걱정하렴
@@mac_rules대충배워? ㅋㅋㅋ
프로그래밍 배운적도 없고
남한테 뭐라한적도 없고
내가 잘하는걸 하고 있는데
프로그램 모르면 품질이 떨어지는거? ㅋㅋ
니도 니가 잘하는걸 해야지 남한테 싸가지 없이말하고
아 너혹시 잘하는게 남 욕하는거냐 ㅋ?
@@mac_rules ㅋㅋㅋ 어이없네 지가 품질 어쩌고 저쩌고 말해놓고
헛소리는ㅋㅋㅋㅋ
답글한거 삭제해도 알람온다고 멍청아
그리고 니가 잘하면 남욕해도 되는거냐?
지능 떨어지는 니랑 대화를 못하겠다.
답변안한다.
우린 다 알지, 옆 동료가 내가 짠 프로그램의 버그를 제일 잘 잡음.
저 상황에서 다른 동료가 지켜보고 있었다면 조언을 했을 수도.
3:01 이게 진짜 웃긴 사건인게 "만일 공개된 패키지를 의존하고있는 패키지가 하나라도있다면, 그 공개된 패키지를 삭제할수는 없다"는 재발방지책을 하나 마련했는데 이게 후일 다른 큰 사건의 스노우볼링이 됬음ㅋㅋ
이번 영상은 재밌네요
부럽다. 본인이 쓴 코드가 전세계에 쓰이고 있다니. 평생을 개발일을 해도 단한개의 프로그램도 만들지 못하는거 보면 적성에 안맞는듯.. 다른 직업으로 바꿔야겠다.
저도같습니다 지식을배우는데 이걸어떻게이용해서프로그램을 짜라는건지..
오해를 불러일으킬 수 있는 설명에 비추 드리고 갑니다.
실제로는 넷플릭스나 페이스북 자체의 서비스 자체가 중단되지는 않았을텐데, 그렇게 오해할 수 있게 설명하신 게 사실을 오도하는 틀린 설명으로 느껴지네요.
망가진 부분은 개발자들이 만든 프로그램을 사용할 수 있도록 포장 (빌드 라고 부릅니다) 하는 게 망가진 거라, 이미 돌아가고 있는 서비스는 패치를 못 한다 뿐이지 대부분이 영향이 없었을 겁니다. 물론 개발자들 사이에서야 화제였겠지만...
맞는듯요
그러나 오픈소스가 없다면 개발자로서 상상도 할수없음..ㅋㅋㅋㅋㅋ
실시간으로 안 겪어보고 백 쪽이라 프론트 잘 모르는데 .. 이해가 안되시는 분은 의존성이라는 개념을 생각해보세요 우리가 쓰는 수많은 프로그램은 서로를 집합단위로 묶어서 의존 하고 있습니다 그중 한 집합의 내부가 망가지면 주저 않겠죠
비유해서 설명하면 수많은 사람이 출퇴근을 광역버스로 하는데 (사람들은 버스에 의존하는 상태인데) 버스 핸들이랑 브레이크가 갑자기 고장나거나 사라진 상황이라고 보면 됩니다 그걸 정비소(버스를 만든사람 여기선 저 엘패드 만든 개발자) 아니면 못고치고요
NordVPN은 한번 해킹당한적이 있는데 안전성이 대단한지는 지켜봐야되지 않나?
이미 해커에 당했다면 최고라는 말은 하지 말아야 되는거 아닌가?
몰상식 솔직히 22만이 아니라 220만이여야함 왜케 안늘지
오픈소스 최대의 단점이 현실이 된 사건이죠.
와 저런 사건이 있었다니.. 믿기 힘들 정도네요
영상에 나온 설명이 매우 불편한 개발자라면 개추...크래용
왜요?
고대종을 건들이면 벌어지는 일
문과라서 진짜 죄송한데 너무 궁금해서 안쓰던 댓글남기네요
그 코드라는게
누가 만들어서 인터넷에 올려놓고
그걸 다른사람이 다운받아 쓰면
그때부턴 그 다운 받은게 독립적인게 아니라
계속 맨처음의 원본하고 연결되있는(?) 건가요???
이해가 안가네요ㅜㅜㅜㅜ
혹시 아시는분 계시면 답변부탁드립니다ㅠㅠ
저도 전공자는 아니지만 a를 이용해 b를 만들고 b를 이용해 c를 만들어냈는데 결국에는 c를 원활하게 작동시키려면 a가 있어야되는 구조인 것이죠
예를들어서 물건을 든다 라는 행동을 시키고 싶으면 팔을뻗는다 팔을 구부린다 팔을 접는다 물건을 쥔다 팔을 구부린다 이 단계인데 자기가 그 단계를 만드는건 복잡하니까 팔을 뻗는다 단계까지만 만들고 나머지는 다른 사람이 만든걸 가져오는거에요
그래서 원본 제작자가 팔을 구부린다만 삭제해도 중간 과정이 빠져버리니까 그대로 죽는거죠
코드는 재료이며 이미 생산된 결과물에는 영향을 주지않습니다
매일 딸기케잌을 만들다가 오늘 딸기가 없는 경우와 같죠. 만들어놓은 딸기케잌은 존재하나 새로운 딸기케잌을 만들수 없습니다
코드를 직접 쓰지않고 보통 참조로 땡겨쓰기 때문에 이경우는 계속 원본에 연결되어 있고(실제 코드를 찾아서 메모장에 복붙하셨다면 독립)
코드로 만든 프로그램은 독립적입니다
딸기케익 굽기전에 딸기만 쏙 빼가면 딸기케익을 만들수 없지요
가는 말이 고와야 굴러오는 돌이 곱다
저 사람 ㄹㅇ 핵버튼을 갖고 있던거였노ㅋㅋㅋ
프로그래머를 빡치게하면 다 ㅈ되는거야
이거 비슷하게, Heartbleed 사건이 있죠.(이건, 괄호를 추가하지 않아서 생긴 문제.ㅎ)
프레임워크에서 의존성 이라는 개념이 라이브러리의 최신 버전을 유지하는 장점이 있지만
하나 흔들리면 다 문제가 발생하는 단점이 있는 듯..
그래서 적용할때는 버전 하나 정하고 오프라인 환경이라 가정하고 다운 받은 다음에
라이브러리가 검증되면 사용하는 식으로 보수적인 방식으로 가야 할 듯..
ㄹㅇ최고넹
자바스크립트라 당했다
가져가다 직접 타이핑 하는게 아닌 의존성으로 연결된 코드를 cdn 처럼 라이브러리 처럼 사용했나 보군요. 코드는 저작권이 없으니
아 이거 진짜 눈덩이 산꼭대기에서 떨군것 보다 심했지
저게 함수를 압축 시키는 중에 공개 소스를 사용하는 것 때문에 그럼.
예를 들어 인터넷이나 그 코스 링크가 맛이 가면 웬만한 모든 프로그래밍은 문제가 생김..
코드란 즉 태그 같은 건데 태그 내용 자체를 지우는 주순 이름만 태그 예를 들어 사과인데 사과라는 정보를 인류가 모르게 되는 것 같은
작은 개발자를 건들면 아주...아주 *아주* 좆되는거야....
와
̶샌̶즈̶!̶
아시는구나!!
@@1998hsh 겁.나.어.렵.습.니.다!
@@user-ng1go8xx5j 샌즈는 언더테일이라는 게임에서
1만개로 분할압축 해놨는데 몇 번인지도 모르겠는 파일 11개 사라져서 압축파일 못 염 ㅋㅋ
의존성의 엄청난 나비효과... LPAD.
철컥 철컥 야! 오늘 같이 주옥 되어보자!
고소협박? 아 딱기다려ㅋㅋ
코드 잘 아시는분??
넷상에 올린 코드를 삭제했다는거 같은데 왜 각자 설치된 프로그램이 먹통이 된건가용??
그냥 코드 삭제하는 수준이 아니라 프로젝트 자체를 삭제하는겁니다
코드를 복사 붙여넣기 하는게 아니라 npm이라는 곳에서 프로젝트를 코드에 불러오기하는건데
만약 내가만든 코드에 left-pad를 불러오기 하는 코드가 있으면 존재하지 않는 프로젝트로 뜨기 때문에 먹통이 되는겁니다
프로그래밍 전공 대학생입니다.
저도 모르겠습니다.
당시 상황을 실시간으로 목격한 적은 없으나, 동영상 내용을 토대로 설명하겠습니다.
일단 바벨이라는 프로젝트가 뭔지 알아야 하는데, 웹페이지를 구성하는 요소 중에는 기초적으로 HTML, CSS, JavaScript 이렇게 세 가지가 있습니다.
여기서 중요한 게 JavaScript라는 언어인데, 이 언어는 웹페이지가 움직이게 하거나, 입력을 주고 받았을 때 어떠한 동작을 할 수 있도록 설계돼 있습니다.
그런데 JavaScript는 버전이 다른 언어에 비해 상당히 많고, 브라우저마다 지원하는 최신 버전의 한계가 다 달라서 개발자들은 죽어나는 겁니다.
그래서 바벨이라는 프로젝트의 이름에 걸맞게, 특정 버전의 자바스크립트로 코드를 짜면, 그 이전의 버전으로도 변환을 해 모든 브라우저에서 동일하게 작동하도록 만드는 일종의 도구인 겁니다.
특히 기업이나 대규모 프로젝트에 바벨을 쓰는 건 거의 당연시되는 상황이고요.
물론 이미 깔아둔 바벨 코드가 있고, 그 코드를 건드리지 않았다면 문제는 없습니다. NPM 패키지는 사용자의 저장장치에 코드가 복사되는 방식이기 때문이죠.
하지만 프로젝트에는 바벨 프로젝트의 버전만 덩그러니 적혀 있고, 나중에 프로젝트를 실제로 실행하거나 복제하려고 하면, 그 버전에 맞춰 NPM 패키지가 그 때 프로젝트 설치를 하게 됩니다.
그래서 새로 프로젝트를 시작하려고 하는데 바벨이 설치가 안 된다?
프로젝트의 버전을 업그레이드 하면서 바벨 버전도 업그레이드 하려고 했는데 오류가 난다?
다운그레이드를 하려고 했는데도 의존된 패키지 자체가 사라졌으니 다운그레이드도 안 된다?
이래 버리니, 그 많고 복잡한 바벨 프로젝트의 코드를 샅샅이 뒤져가면서 문제를 해결할 수도 없고, 그 프로젝트에 의존한 다른 수많은 프로젝트는 발만 동동 구르는 거죠.
NPM이라는 곳에 코드를 올려두면 다른 사람이 올려진 코드를 다운로드해서 사용하게 됩니다.
그런데 이미 다운로드 해 놓고 코드가 존재 한다면 삭제를 하지 않는다면 문제 없겠죠? 왜냐하면 각자 설치된 코드는 당연히 그대로 남아 있으니까요
하지만 저기서 먹통이된 babel이란것 때문에 문제가 생깁니다.
babel은 코드를 예전기기나 여러 기기에서 호환될 수 있도록 코드를 바꿔주는 패키지입니다.
그리고 babel또한 NPM이란곳에 배포되어있는 코드이구요
다른 여러 사람들이 babel을 다운로드해서 사용합니다.
그리고 babel은 삭제된 그 패키지를 사용하고 있구요
패키지 내부에서 또 다른 패키지를 사용하기 위해서는 크게 2가지 방법이 있습니다.
패키지 내부에 코드를 다운받아 쓰는 방법,
그리고 의존성패키지로 만들어 다운로드할 때 함께 다운로드 시키는 방법
제 생각에 babel은 후자의 방법을 채택한거 같습니다.
그렇다면 babel을 다운로드를 시도할 때 삭제된 그 패키지도 다운로드를 시도 하겠죠
하지만 패키지는 이미 삭제처리 되었기 때문에 다운로드 할 수 없으며 이로 인해 결국 babel도 그 패키지를 찾을 수 없어 사용 불가능 해진거겠지요.
게다가 바벨은 거의 모든 프로젝트에서 사용되다시피 거의 필수적인 패키지이기 때문에 그 파장력을 더욱 대단했을거라 예상됩니다.
여기까지 제 시나리오가 뇌피셜이긴 하지만 실제와 거의 동일 하지 않을까 생각합니다.
@@ktm2718 대충 감잡았습니다 감사합니다
Kik은 왜 사과를 한건가요?? 상표권을 가지고 있었고, 그에 합당한 법적 권리를 행사한거 아닌가요?? 잘못없어보이는데,,,
작은 개발자를 빡치게하면 아주 ㅈ 되는거야
사이버펑크 올드넷 ㄷㄷ
이렇게 관심을 어들려고...
12 Lines... you won't even be able to import the native components.
What a joke. My children can come up with better lies
엄청난 나비효과다;;;
사이버펑크처럼 될 뻔
흔한 프로그래머를 화나게 만들어서 일어난 나비효과
와.... 이런부분이 있었네요
의존성의 무서움
작은 고추가 맵다는 의미가 이뜻이였네
ㅋㅋㅋㅋ 저거 찾으려고 얼마나 피눈물을 흘렸을까 ㅋㅋ
와 진짜 사이버펑크네
당신들이 인터넷 스마트폰 등 첨단 기기에 대해 아무것도 이해하지 못하면서도 당연하게 사용할 수 있는 건 이름없는 개발자들이 돈 한푼 안받고 유지하는 코드 덕분
ㄷㄷ 바벨이었네..
저때 우리회사앱도 빌드가 먹통되서 오픈소스 관련된 모든 파이프라인 갈아엎었음 밤샜던 기억이 남
원인과결과
사무실 구석에 숨어서 야근하던 프론트개발자들 귀엽게 댓글달러오넹ㅋㄷㅋㄷ
제발 그냥 Kick으로해....
진정한 넷워치.
공백의 11줄 ㄷㄷ
요즘은 기본 내장 되어있는데 옛날에는 없었나 보네요??
모듈을 쓸수 없는 js태생이 불러 일으킨 커다란 참사네요
뭔소스길래 문재되나 했더니 JS였네... ㄷㄷ
당연히 문제나지...
16년에 군인일때라 처음알았네
여기 나오는 bgm이 뭔지 알 수 있을까요?!
프로그래머가 아니라서.. 생태계에 대해선 잘 모르겠는데;;
저런 간단한 코드를 걍 만들어서 쓰면 되지;; 왜 가져다 쓰는거지??
그것도 복사도 아니고 함수를 불러와서 쓴다고?;;
이해 할 수없지만.. 똑똑이들이 하는 일들이니.. 뭐 알아서 잘;;
👍
신빙성 마이너스.
믿으면 호구.
음 노드vpn 괜찮나??
ILOVEYOU ✉️ 💋 😈🌍🌎🌏🌋🌋🌋
특이점 (singularity) 의 위험성이 이거구나
그것보단 개발자 특성상 다른코두를 가져오는게 많다보나 그런거 아닐까요 ㅋㅋ
그 붕괴쪽으로는 맞는듯요. 드라마틱.
ㅈ되가면서 반전하는 인류 ㅋㅋ
주춧돌 레전드 네