프레임 워크의 성능 저하를 고려하는 동료와 통신하는 방법


10

공통 응답이 "jquery "성능이 좋지 않습니다"또는 "10 개만 있으면 테이블에 12 개의 열이 표시됩니다"?

나는 경험을 통해 개발 한 공리를 신뢰하는 실용적 인 사람입니다 (눈에 띄게 둔화 될 때까지 성능 문제는 아닙니다). 다른 극단에 맞는 특정 "범주"가 있는지는 모르지만 모든 것이 달리 입증 될 때까지 또는 여기에서 의사 소통을 시작할 때까지 모든 것이 성능 문제입니다.


7
그는 딕이라고 불리지 않습니까? 매일 WTF '자바는 느리다'
AlexC

그에게서 가방을 치십시오.
직업

1
@AlexC-OMG 예 !!!!!!!!!!!!
P.Brian.Mackey

1
"데이터를 보여줘!" 톰 크루즈가 몇 년 전에 유명하게 만든 돈에 대한 Jerry Maguire 라인의 IT 버전이 될 것입니다.
JB King

2
그가 귀하의 프로젝트에 대한 성과라고 말하십시오.
Wyatt Barnett

답변:


15

그들에게 어려운 사실을 가져와!

예를 들어 ORM 및 JS 프레임 워크에 대한 성능 벤치 마크가 있습니다. 또한 모든 프레임 워크와 ORM은 홈페이지에서 좋은 판매 논쟁을 가지고 있습니다.

귀하의 의견을 읽은 후에는 귀하의 경우에 문제가 올바른 기술이 아니라고 생각합니다. 새로운 기술을 배우기를 거부하는 사람들입니다.


3
+1-여기서의 어려움은 다양한 새로운 도구와 기술을위한 프로토 타입을 만들어서 제대로 작동한다는 것입니다. 그러나 과거 도구가 실패했을 때 발생하는 모든 변경 또는 새로운 도구에 대한 낙인이 있다는 느낌이 들었습니다. 따라서 안전한 내기는 단지 현 상태를 유지하는 것입니다. 불행히도, 나는 우리의 고대 도구가 점점 증가하는 사용자 기대와 요구 사항에 얼마나 오래 견딜 수 있을지 모르겠습니다.
P.Brian.Mackey

1
@ P.Brian.Mackey-항상 싱크대 또는 수영 경로를 시도 할 수 있습니다. 구현을 주도 할 다음 프로젝트에서 프레임 워크를 구현하십시오. 그는 계속 확인하거나 체크 아웃 할 수 있습니다.
Joel Etherton

문제점-JS 프레임 워크 벤치마킹이 사용자 정의 JS (맞춤형 솔루션)와 관련이 없습니다.
Nicole

6

나는 바퀴를 재발 명하려는 사람들이 전에이 문제에 직면했다. 나는 일반적으로 그들에게 누워있는 것이 아니라 중요한 것을 완성하는 데 시간을 할애하면 제품을 더 좋고 세련되게 만들 수 있다고 설명합니다. 또한 ... 왜냐하면 이유가있는 프레임 워크가 있으며 요즘에는 성능에 큰 문제가되지 않습니다. 신뢰성이 더 중요하며, 프레임 워크에 좋은 리뷰 / 평점이 있다면 누구나 즉시 작성할 수있는 것보다 더 신뢰할 수 있습니다.


성능에 약간의 영향이있을 수 있지만 일반적으로 출시 기간을 크게 단축하고 유지 보수성을 향상 시키며 성숙하고 광범위하게 최적화 된 프레임 워크를 사용하는 것이 좋습니다. . 휠 재 발명자가 순수한 어셈블리 이외의 것을 사용하는 것이 실제 성능을 달성 할 수있는 유일한 방법이라고 주장하는 경우는 드물다. 왜 프레임 워크를 사용 하는가? (난 아직도 성능이 매우 중요하다 생각하는 FWIW 내가 아니야, 캠프 "성능은 문제가 요즘의 많은 아니다"그냥하지 유일하게 중요한 것은..)
마태 복음 프레드릭

6

모두가 당신의 동료와 의견이 맞지 않는 것 같지만, 자신의 관점을 이해하는 것 외에 다른 이유가 없다면 그의 주장을 진지하게 받아 들여야한다고 생각합니다. 나는 필요할 때 또는 실제로 최적화를 제공 할 때 프레임 워크를 굳게 믿는 사람이지만 프레임 워크에 대한 과도한 의존은 경우에 따라 개발이 약해질 수 있다고 생각합니다.

동료가 틀렸다는 관점에서 문제에 접근하는 것이 아니라 생각하는 프레임 워크를 사용하면 개발 시간, 성능, 유지 관리 등이 향상 될 것이라는 관점에서 문제에 접근해야한다고 생각합니다.

항상 올바른 작업에 적합한 도구를 사용하도록 명심하려고합니다. 그림을 걸기 위해 손톱에 망치를 넣기 위해 12lb 썰매 (jQuery)가 필요하지 않습니다 (이미지 교체). 그러나 벽에 고정하기 위해 철도 스파이크가 필요한 그림을 걸고있는 상황에 처하게되면 그 썰매를 준비하는 것이 좋습니다.


4

그는 맞아 오버 헤드가있다

그러나 프레임 워크의 오버 헤드가 수작업으로 코딩 된 솔루션 이상 이라는 가정은 정확하지 않을 수 있으며, 정확하더라도 오버 헤드는 크지 않을 수 있습니다.

테스트를 제안하십시오.

  • 둘 다 현실적이지만 상대적으로 작은 것을 쓰십시오
  • jQuery (또는 무엇이든)를 사용하면 아무것도 사용할 수 없습니다.
  • 두 가지를 측정하십시오.
    1. 솔루션을 코딩하는 데 걸리는 시간 (코딩 기술이 동일하다고 가정)
    2. 각 솔루션을 실행하는 데 걸리는 시간 (전체 수명주기)

가능성은, 프레임 워크에 약간의 오버 헤드가있을 것입니다- 매우 작지만 솔루션을 코딩하고 디버깅하는 데 걸리는 시간에 차이가 있습니다.

당신의 친구는 당신이 아니라 사실에 대해 논쟁 할 수 있습니다.

참고 : 지속적인 저항을 위해 준비하십시오. 여러 번 프레임 워크에 대한 푸시 백은 기술적 인 용어로 요약되어 있지만 실제로는 "여기서는 발명되지 않았습니다"또는 "다른 도구를 배우고 싶지 않습니다"라는 스모크 스크린입니다.


3

휠을 재발견하는 동료에게 그가하는 일은 다양한 조기 최적화라는 것을 상기 시키십시오. 그는 이러한 프레임 워크가 문제를 일으키는 것으로 입증 될 때까지 수용 할 수없는 성능 저하를 나타냅니다. 한편, 당신이해야 할 모든 추가 작업으로 상호 생산성이 확실히 떨어질 것입니다.


2

시간이 많이 걸리고 전투에서 테스트 된이 프레임 워크를 사용하지 않을 때 프로젝트 제공 시간 에 미치는 영향을 설명하는 것은 어떻습니까?


다운 투표의 이유를 잘 모르는 경우, jQuery 또는 다른 기존 프레임 워크를 사용하지 않아야한다는 것이 확실합니다 (확실히 필요한 경우) 프로젝트 배달 시간이 단축 될까요? 이것은 본질적으로 "바퀴를 재발 명하지 마십시오"라는 주장입니다.
G_P

나도 겁에 질린 downvote를 간다. 어떤 사람은 오늘 자신의 키 에스터에 버그가 있습니다.
Adam Crossland

1
나는 당신에 동의하고 (그리고 확실히 당신을 downvote하지 않았습니다!), 나는 수작업으로 신속하게 수행 할 수있는 간단한 작업을위한 프레임 워크를 사용하고 프레임 워크가 아닌 것을 처리해야하기 때문에 개발 시간이 연장되는 것을 보았습니다. 아주 오른쪽 일을하지 당신이 필요하지 등 이해되고
Carson63000

@ Carson63000-100 % 동의-당면 과제의 범위는 프레임 워크 도입의 영향과 비교해 볼 필요가 있습니다.
G_P

1

한 가지 옵션은 성능 조정을 담당하게된다는 사실을 알리는 것입니다. 성능 문제가 있음을 보여줄 수 있다면! 또는 리소스가있는 경우 두 가지 개념 증명을 구축하십시오. jQuery를 사용하여 개념을 구축하고 원하는 다른 모든 것을 구축하십시오. 그는 자신의 수동 롤링 초고속 시스템으로 자신을 만들 수 있습니다. 이 작업을 며칠 이상 진행할 수 없도록하고 (개념 증명) 최종 사용자의 성과를 확인하십시오.

물론 다른 사람들이 언급했듯이 논쟁의 양쪽에 대한 어려운 숫자와 성능 프로파일을 얻으십시오.


1

첫째, 그는 당신의 특정한 상황에 맞을 수도 있습니다.

그가 당신의 관점을 보는 데 어려움을 겪고있는 것 같으므로, 그를 설득하기 위해 더 나은 일을해야합니다.

당신은 "빌드"와 "구매"사이의 선을 따라 두 개의 다른 지점에 있습니다. 이것은 꽤 긴 줄입니다. 왼쪽의 "빌드"에는 전체 산업을 구축해야하는 SpaceX가 있습니다. 오른쪽의 "구매"에서는 모든 IT 기능을 IBM, HP 등에 아웃소싱하고 비즈니스는 전혀 코딩하지 않습니다. 중간에 약 2mm 떨어져있는 두 사람이 있습니다. 둘 다 경영진에게 프레임 워크와 Orm의 "빌드 vs 구매"에 대한 접근 방식, 즉 "사내에서 구입하지 않은"이라는 의미의 구매는 회사에 가장 큰 이익이된다는 사실을 경영진에게 확신시켜야합니다. -기간. 트위터가 IBM에 아웃소싱했다면 사망했을 것이다. 그들은 자신의 것을 굴렸다. 생각 해봐

어느 쪽이든, 경영진은 골프장에서 내려 와서 그곳에 들어가서 일을해야합니다.


0

ORM에 대한 대답은 "당신이 쿼리를 그런 식으로 작성하는 경우에만 SQL에 대해 말할 수 있습니다"입니다. 다른 사람들이 말했듯이 어려운 사실이 필요합니다.

또한, "내 경험이 아니기 때문에 JQuery가 수행되지 않는 예를 들어 주시겠습니까?"

세 번째 옵션과 현명한 오래된 개발자가 나에게 이것을 제안했습니다. 어쨌든 "문제"가 포함되어 있습니다 (나쁜 문제가 없다고 가정).

승인을 받으면 "아니오"라는 대답 만 나타납니다. 거기에 들어가면 특정 영역을 가리키고 문제가 무엇인지 말해달라고 요청할 수 있습니다.

"이 EF 코드는이 테이블에서 필요한 2 가지 데이터 항목 만 가져옵니다. 문제는 무엇입니까?"

분명히이 접근법을 진행하기 전에 자신과 사용중인 도구에 확신이 있어야합니다! :-)


0

그런 라이브러리를 거부하면 어리 석고 때로는 거만합니다. 이것들에 투자 한 제품 시간과 그에 대한 생각은 단순히 그것들을 거부하는 것입니다.

설계의 일부인 소프트웨어의 요구 사항을 비교하고 가중치를 부여해야하기 때문에 동료가 옳을 수 있습니다. ORM 또는 ActiveRecord 솔루션은 지나치게 과잉이거나 반대로 소프트웨어가 DB와 ORM을 위해 실제로 결합 된 솔루션을 필요로한다는 점에서 그럴 수는 없습니다.

소프트웨어를 설계 할 때마다 이러한 사항을 고려하는 것이 중요합니다.

클라이언트 측 라이브러리의 경우 항상 필요에 맞는 프레임 워크를 찾을 수 있기 때문에 멍청하다고 말해야합니다. 그리고 일부 사람들이 나에게 말했듯이, 전투 테스트 프레임 워크보다 나은 것이 무엇입니까?

그는 모든 크로스 브라우저 문제에서 쓰레기를 가져 오게하고 프레임 워크 사용법에 대해 기꺼이 당신에게 올 것입니다.

Btw, 나는 프레임 워크에 대해 설명하지 않은 보스를 한 번 보냈습니다. 방금 함수를 반복해서 복사하는 대신 아약스 요청을하는 것이 얼마나 쉬운 지 보여주었습니다 (처음에는 멍청한 아이디어였습니다).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.