MileMoa
Search
×

컴퓨터 하시는 분들 보시라고 퍼왔습니다

정혜원, 2019-04-15 17:17:41

조회 수
2959
추천 수
0

15f9931afa712cdc8.png

무슨 뜻인가요?

디버깅은 오른쪽이 쉽다는 뜻일까요?

41 댓글

shilph

2019-04-15 17:19:20

말 그대로요 'ㅅ';;;;

 

마치 수학 초보는 드럼통의 용량을 위해서 면적과 길이를 재고 안의 철판 두께를 재고 하겠지만, 고수는 제조사에 물어보는것과 같은거죠 ㅇㅅㅇ;;;

대박마

2019-04-15 17:21:27

두개 결과가 많이 다른데요..... ㅋㅋ

 

제가 프로그래밍 하면 초보 하듯 하겠는데여.... 다른 사람이 따라 하기 힘들게 그리고 프로그램이 무거워지게.... 열심히 한 것 처럼 보이잖아여.... ㅋㅋ

느끼부엉

2019-04-15 17:21:31

저런 코드는 머리 굴려서 for 문 돌리지 말고 걍 수동으로 프린트 시키는 게 편하다는 거겠쥬...

 

근데 진지빨자면 양쪽 output이 다르네여

the pattern is 문구도 없고

왼쪽은 " * " 이 반복 출력되므로 space가 사이사이 하나씩이 더 생기겠군요

도코

2019-04-15 18:13:02

+1

blu

2019-04-15 17:23:24

화분을 뒷뜰에 옮겨심는데요.

초보는 포크레인 빌려오고요.

고수는 그냥 삽질로 하고요.

느끼부엉

2019-04-15 17:23:30

하지만 응용적인 측면을 보자면 왼쪽처럼 짜는 게 맞습니다.

*를 50개 출력해야 하는 경우가 생기면

왼쪽은 i max 조건문만 바꿔주면 되는데

우측은...

밀크쉐이크

2019-04-15 17:25:34

Scalability 생각하면 왼쪽.

오른쪽은 날림공사?

크리스박

2019-04-15 17:26:10

고수는 pseudo function이나 class로 따로 만들어서 print만 main에서 하게 해놓고 ... psedo함수를 develop한다로...    

메칸더

2019-04-15 17:37:23

고수는 오른쪽처럼 quick-and-dirty하게 만들고, scalability가 필요하면 초보(라고 하기는 좀 그렇고 쥬니어 개발자)에게 시켜서 왼쪽처럼 만들게 해야죠. 들이는 시간은 1:2 인데, 크레딧은 1:1 (혹은 2:1)로 받고요.

마루살이

2019-04-15 18:09:00

printf 자체의 overhead 때문에 그런거 아닐까요? ㅋㅋ 고수꺼는 printf를 5번 밖에 콜 안하지만 초보꺼는 5 + 4 + 3 + 2 + 1 + 5 번 콜을 해서..

라이트닝

2019-04-15 18:10:33

일리가 있네요.

마루살이

2019-04-15 18:18:46

그렇지만 저는 printf("*\n**\n***\n****\n*****\n"); 로 갑니다 ㅋㅋㅋㅋㅋ

라이트닝

2019-04-15 18:37:07

더 일리가 있네요.

빨탄

2019-04-15 18:40:48

+1

 

저는 $> echo "*\n**\n***\n****\n*****"

굳이 program해야 할 이유가 안 보이네요.

 

awkmaster님은?

소서노

2019-04-15 18:16:37

오오오...

느끼부엉

2019-04-15 18:37:24

그럼 양쪽다 걍 object에 넣어두고 마지막에 한번에 printf하는 쪽으로!

LG2M

2019-04-15 19:38:00

printf는 문자열 파싱을 하는 심지어 튜링 컴플릿한 언어라서 printf를 부르는 것 부터가 여기서는 의미가 없죠. puts면 충분하죠.

라이트닝

2019-04-15 18:09:58

오른쪽으로 시작해서 필요에 의해서 왼쪽으로 변환해가겠죠.

한번 쓰고 말 코드는 오른쪽처럼, 자주 써먹을 것 같으면 왼쪽처럼 짜서 모듈화를 해야 좋겠죠.


오른쪽에서 왼쪽으로 전환을 언제 할 것이냐가 관건이 되겠습니다.

 

연쇄할인범

2019-04-15 18:29:32

초보 코드는 indentation이 엉망이에요 ㅋㅋ

느끼부엉

2019-04-15 18:36:35

헙 진짜네여 ㅋ

Stacker

2019-04-15 18:39:33

제 생각엔 메모리 사용 측면과, 시간 복잡도 관점에서 봐야할 것 같습니다.

 

1. 시간 복잡도 관점

왼쪽의 시간 복잡도는 O(N^2) - 2중 for 문 / 오른쪽은  N

** 즉, 5개의 별을 그리기위해선 왼쪽은 5^2 = 25 / 오른쪽은  5 => clock당 0.01초 걸린다고하면 0.25초와 0.05초

   만약 100개의 별을 그린다면 왼쪽은 10000 / 오른쪽은 100 => 100초와 1초

간단한 기능만을 담당하지만 퍼포먼스 차이가 기하급수적으로 차이나게된다는거죠

느끼부엉

2019-04-15 18:52:15

시간 복잡도 자체는 그렇지만,

string 길이에 따라 printf 실제 computation time이 달라지는 것을 고려하면 말씀하신 정도까진 차이 안 나지 않을까요?

Stacker

2019-04-15 19:01:24

네 맞습니다! 항상 워스트 케이스를 생각하면서 코딩을 하다보니ㅎㅎ

그래도 역시나 남이 한눈에 알아볼 수 있게 짜는게 진정한 고수 아닐까라는 생각합니다~

조아마1

2019-04-15 19:28:59

코드가 복잡해지면 그만큼 짜는 시간과 노력도 많이 들면서 실수할 확률도 높아지고 문제가 생겼을 때에도 디버깅하기도 더욱 힘들어지지요. 말그대로 저렇게 간단히 프린트만 하면 되고 앞으로 바꿀 일이 크게 없을 경우 저도 오른쪽을 선호하는 편입니다. 하루하루 전쟁터에 있는 것처럼 정신없이 수백 수천줄의 코드를 짜야 하는 사람들한테도 마찬가지가 아닐까 싶어요.

LG2M

2019-04-15 19:32:44

둘 다 초보인데요. main() 이렇게 쓰는 걸로 봐서 표준도 지키지 않는 사람인데 고수로 부르면 곤란합니다. Looks not good to me..

 

하지만 무슨 뜻이냐면 쓸데없이 기교 부리지 말고 목적을 위해 최소한의 코드, 쉬운 유지 보수가 가능한 코드를 만들라는 이야기겠죠.

happycoder

2019-04-15 19:33:29

원래, 컴퓨터가 읽는 코드는 누구나 만들수 있지만 ..고수들은 사람이 읽기 쉽게 만든다는 말이 있듯 ㅋㅋ 다른 사람들이 이 부분을 생각안하고 코드 읽을 수 있게 해주는것 아닐까요 ㅎㅎ

피스타치오

2019-04-16 06:53:47

컴퓨터 공학과 출신입니다. 

고수와 초보를 바꿔도 밑의 댓글은 크게 다르지 않습니다. 

그러니까 오류를 찾아내려는 집요한 공돌이들을 모두 불러모으려는 떡밥일 뿐입니다. 

댓글 수를 보면 떡밥의 효과가 아주 좋다는걸 알 수 있죠. 

blu

2019-04-16 07:30:11

뜨끔...

이 댓글이 초보와 고수를 갈랐네요. 

제로스

2019-04-16 10:45:04

떡밥 인정요 공돌이는 댓글 안남기고 못버팁니다 ㅎㅎ

faircoin

2019-04-16 12:03:47

+1

웃자고 만드는 짤방이지만 야메공돌이 중의 1인으로 이 떡밥을 그냥 넘어갈수가 없네요 ㅋㅋㅋ

kaidou

2019-04-16 07:33:36

비컴터과 출신입니다. 

둘다 똑같습니다. 보기에는요. (외계어)

Makeawish

2019-04-16 08:38:30

왼쪽은 O(N^2) 오른쪽은 constant. 위에 나왔듯이 텃밭에 모종 하나 심자고 포크레인 가져온 꼴이 됐죠. 컴시 사람들은 O(N^2) 아주 싫어해요. 적어도 O(N*logN) 은 되어야죠.

edta450

2019-04-16 08:59:36

컴싸 회원님들이 만선이군요 ㅋㅋㅋ

poooh

2019-04-16 09:27:43

회사에서는 그냥 아웃소싱 해 버립니다.

 

ㅋㅋㅋ

맥주한잔

2019-04-16 10:36:05

N > 100 정도 되지 않으면 오른쪽으로 가는게 정답입니다.

쓸데없는데 brain power 를 낭비할 필요 없습니다 (본인들 brain power 도 문제지만 저걸 보고 리뷰하고 나중에 문제생기면 고쳐야 하는 동료들/선임들의 brain power 도 배려해줘야죠)

사실 이런종류의 결정이 부하직원(머리좋은 초보들)들과 매우 자주 부딛치는 문제 입니다. 제 부하직원들은 뭐든지 거창하고 scalable 한 방법으로 가려고 합니다. (N=5 이고 나중에 더 커질 일 없는 경우에도) 저는 그럴때마다 제일 단순 무식한 방법으로 가자고 바꿔놓는데 논리적으로 따지면 그들이 이깁니다. 그러나 저는 오른쪽이 옳다고 믿기 때문에 자주 고집을 부립니다.

 

위에 여러분들이 overhead, big O 등등 언급해주셨는데, 이렇게 N=5 인 경우엔 그런거 생각하는 거 자체가 무의미합니다.

N 이 커지면 그떄가서 다시 생각하면 됩니다.

마루살이

2019-04-16 14:07:31

맞는 말씀이긴한데 여기에서 "무의미"를 논할순 없다고 생각합니다. 소프트웨어의 context가 중요하죠. 만약 0.001ms 이라도 더 빨리 만들어야하는, 예를들어 자동차 collision detection같은 소프트웨어를 할때는 N이 주는 영향이 아무리 낮더라도 이런 사소한 부분에서도 most effective한 솔루션을 찾아야 한다 생각합니다. 그리고 이 코드가 수백개 수만개의 쓰레드에서 동시에 실행 된다면 overhead도 무시할수는 없겠죠. 뭐 이런 특수성을 가지지 않는 general한 소프트웨어는 말씀하신데로 brain power, readability, maintainability 가 더 중요하겠죠?

제로스

2019-04-16 10:43:44

전 초보보다 한 술 더 뜬 왕초보네요 ㅋㅋ

프레임웍 만들던 버릇이 있어서

파라미터로 시작, 끝, 이넘타입 받아서

왼쪽 직각 삼각형인지, 오른쪽 직각 삼각형인지, 이등변 삼각형인지 등등

함수를 만들고 있을 것 같네요

달타냥

2019-04-16 12:23:20

30년전에 Basic 배웠을때 초보방식으로 for 구문 배웠었죠.... 그 때는 엄청 싫었었는데, 이걸로 먹고 살 줄이야.. 쿨럭 쿨럭....

reflect9

2019-04-16 12:30:01

둘다 하드 코딩이라서 재사용성이나 모듈화는 고려 안했네요.    파이썬이었다면 보통 아래처럼 하죠.  

print ("\n".join(["*"*i for i in range(1,6)]))

놀고먹자

2019-04-16 17:05:04

 짧은 코드를 원하면 APL: '*'⍴⍨¨5

베스틴카

2019-04-16 17:21:07

전 유지보수를 위해 읽기좋게 단순하게 써라 로 이해합니다.

 

결론은

공돌이의 지적 자존심을 건드린

 

정혜원님 고수 승!!!

목록

Page 1 / 3835
Status 번호 제목 글쓴이 날짜 조회 수
  공지

마적단의 기초 | 검색하기 + 질문 글 작성하기

| 정보 33
  • file
ReitnorF 2023-07-16 36746
  공지

게시판의 암묵적인 규칙들 (신규 회원 필독 요망)

| 필독 110
bn 2022-10-30 60082
  공지

리퍼럴 글은 사전동의 필요함 / 50불+ 리퍼럴 링크는 회원정보란으로

| 운영자공지 19
마일모아 2021-02-14 80630
  공지

게시판 필독 및 각종 카드/호텔/항공/은퇴/기타 정보 모음 (Updated on 2024-01-01)

| 정보 180
ReitnorF 2020-06-25 197102
new 115040

인생 첫 집 모기지 쇼핑 후기 (아직 클로징 전) & 향후 계획

| 정보-부동산
  • file
양돌이 2024-06-05 14
new 115039

Ebay 8/17부터 amex 금지

| 정보 3
kaidou 2024-06-05 290
new 115038

라이프마일 발권 타이항공 -미들네임 빠졌는데 인천공항 출발 문제 될까요?

| 질문-항공 4
Reborn 2024-06-05 170
new 115037

Costco 에서 우버(이츠) 기프트카드 $100짜리 $80에 파네요.

| 잡담 8
nysky 2024-06-05 661
new 115036

내년 (2025) 칸쿤 대가족 여행을 계획하는데 올인클 리조트 조언 부탁드려요

| 질문-호텔 1
키쿠 2024-06-05 83
updated 115035

일본 여행, ESIM 구매해보신 분 있으실까요?

| 질문-여행 15
언젠가세계여행 2024-01-19 1227
new 115034

eBay, 아메리칸 익스프레스 결제 중단 안내 (8/17~)

| 정보-카드
  • file
이성의목소리 2024-06-05 63
new 115033

2024년 해외이주신고 후기

| 정보-기타 4
워터딥의게일 2024-06-05 383
updated 115032

[2024.06.03 업뎃] (뱅보) Sofi $300+ Rakuten $200

| 정보-기타 43
네사셀잭팟 2024-05-06 4152
updated 115031

(한국국적) 여권 온라인 갱신/재발급 및 글로벌엔트리 갱신 -ing 타임라인

| 후기 17
냥창냥창 2023-05-18 3010
new 115030

Costco에서 DoorDash GC 20.01% 할인하네요 ($79.99 for $50x2)

| 정보-기타
이성의목소리 2024-06-05 77
new 115029

6개월간 달렸던 뱅보 후기

| 후기 14
Necro 2024-06-05 1728
new 115028

대한항공 일등석 마일 좌석 대기 확약이 되긴 하네요.

| 정보-항공 15
딴짓전문 2024-06-05 1650
new 115027

Hyatt Studio 생긴다고 합니다.

| 정보-호텔
Lucas 2024-06-05 266
new 115026

Chase Ink 리퍼럴 보너스 40,000 --> 20,000 (2024 9월 3일)

| 정보-카드 8
3EL 2024-06-05 858
updated 115025

타겟오퍼: Delta NLL 오퍼 (Gold 60K / Plat 85K)

| 정보-카드 44
  • file
Heima 2023-04-06 5657
new 115024

Amazon Prime membership gift activation problem.(해결 했읍니다)

| 질문-기타 3
goofy 2024-06-05 296
updated 115023

Hyatt Club Access Award 나눔은 이 글에서 해요.

| 나눔 747
Globalist 2024-01-02 18429
new 115022

벤쿠버 3박 4일 여행 도와주세요

| 질문
세프 2024-06-05 81
updated 115021

[업데이트: 알리에서 로봇이랑 배터리 잔디깍기 둘다 질러버렸습니다] 요즘 배터리 잔디깎기 (Mower)는 성능 괜찮나요? (25-inch Greenworks)

| 질문-기타 43
  • file
Alcaraz 2024-06-04 2049
updated 115020

Amex Travel로 호텔 예약시, MGM Pearl 멤버 무료주차 가능한가요?

| 질문-호텔 5
인슐린 2024-06-04 298
updated 115019

2024 Kia Forte 구매 예정입니다

| 질문-기타 35
iOS인생 2024-06-03 2302
updated 115018

유뱅 skypass card 사인업이 올랐네요...

| 정보-카드 215
  • file
ColdHead 2023-07-25 38636
updated 115017

바르셀로나 호텔 고민 중입니다.

| 질문-호텔 18
소비요정 2024-06-04 844
new 115016

홈 오피스에서 쓸만한 의자 뭐가 있을까요?

| 질문-기타 5
활기찬하루 2024-06-05 577
updated 115015

(chase) 첫 비즈 카드 리밋 올리는 방법 있을까요?

| 질문-카드 8
자카르트 2024-06-04 470
updated 115014

Hilton Aspire Card 리조트크레딧 DP 모음글

| 질문-카드 317
  • file
음악축제 2023-04-04 26258
updated 115013

MD 볼티모어 이주 지역 추천

| 질문-기타 14
bibisyc1106 2024-06-03 1283
updated 115012

베가스 Rio hotel and casino 하얏에 가입했네요

| 정보-호텔 28
  • file
항상고점매수 2024-03-01 3061
new 115011

장모님 모시고 갈 만한 곳 할만한 것 아이디어 좀 주세요

| 정보-여행 9
포엘 2024-06-05 765