소프트웨어 공학

시스템 개발 수명주기 내에서 작업하는 전문가, 학자 및 학생을위한 Q & A

13
응시자가 링크리스트 구현을 작성하도록하는 것은 나쁜 인터뷰 관행입니까? [닫은]
이 사이트와 SO를 읽으면 응시자가 링크 된 목록을 처음부터 구현해야한다는 인터뷰 질문과 답변에 대한 많은 이야기를 보았습니다. 일반적으로 이것은 FizzBuzz 작성과 같은 역할 후보자를 프로그래밍하기위한 "gimme"연습입니다. 아이디어는 응시자가이 작업을 수행 할 수 없으면 프로그래밍 할 수 없으며 거의 ​​즉시 거부해야한다는 것입니다. 그러나 나는 도움이 될 수 없지만 다음과 같은 이유로 …


7
SQL 트리거 및 사용시기 및 사용시기
원래 SQL에 대해 배웠을 때 항상 들었습니다. 실제로 필요한 경우 저장 프로 시저를 대신 사용해야하는 경우에만 트리거를 사용하십시오. 불행히도 당시 (몇 년 전) 나는 기본에 대해 호기심이 많지 않았고 지금은 그 이유를 묻지 않았습니다. 이것에 대한 커뮤니티 의견은 무엇입니까? 정당한 사유가없는 한 누군가의 개인적 취향 일까, 아니면 커서와 같은 방아쇠를 …
43 sql 

6
암호를 여러 번 해시하는 것이 더 안전합니까?
암호를 저장할 때 문자열을 '더블 해시'하는 것이 좋습니다 (예 : md5와 sha1, 모두 소금으로). 첫 번째 질문은 "이것이 실제로 맞습니까?"입니다. 그렇지 않은 경우이 질문의 나머지 부분을 닫으십시오. :) 내가 묻는 이유는 그 얼굴에 이것이 의미가 있다고 말하기 때문입니다. 그러나 내가 생각할 때 해시가 다시 해시 될 때마다 (아마도 무언가가 추가되었을 …
43 hashing 

3
“Lambda the ultimate”라는 문구의 기원과 의미는 무엇입니까?
몇 년 동안 함수형 프로그래밍 언어를 엉망으로 삼았으며이 문구가 계속 발생합니다. 예를 들어, "The Little Schemer의 장입니다.이 이름은 블로그 이름보다 앞선 이름입니다. (아니요,이 장은 내 질문에 대답하는 데 도움이되지 않습니다.) 나는 람다가 의미하는 바를 이해합니다. 익명 함수의 아이디어는 간단하고 강력하지만이 맥락에서 "궁극의"가 무엇을 의미하는지 이해하지 못합니다. 이 문구를 본 장소 …

10
초기 단계에서 프로토 타입과 클린 코드
나는 나의 일상 업무로 끝날 수있는 몇 가지 개인 프로젝트를 시작 / 작업 할 계획입니다. 어떻게 생각해야합니까? 프로토 타입만으로 쉽게 확장 할 수 있도록 최적화하고 리팩토링하는 데 많은 시간이 소요되는 기본 코드 만 작성하십시오. 처음부터 깨끗하고 최적화 된 문서화 된 코드를 작성하십시오. 시간이 지나도 비용 효율적이지 않으면 삭제 될 것이라는 …

8
단일 구성 개체가 나쁜 생각입니까?
대부분의 응용 프로그램에는 디스크에서 다양한 설정을 읽는 단일 톤 또는 정적 "구성"개체가 있습니다. 거의 모든 클래스가 다양한 목적으로 사용합니다. 기본적으로 이름 / 값 쌍의 해시 테이블 일뿐입니다. 읽기 전용이므로 전 세계 국가가 너무 많다는 사실에 너무 걱정하지 않았습니다. 그러나 이제 단위 테스트를 시작하면서 문제가되기 시작했습니다. 한 가지 문제점은 일반적으로 실행하는 …

15
당신은 동시에 관리자와 프로그래머가 될 수 있습니까? [닫은]
자신이 프로그래밍 인력의 일부인 동안 다른 프로그래머 관리 적어도 내가 일한 회사에서는 매우 일반적인 계획입니다. 동시에 두 가지를 모두 수행하면 훌륭한 프로그래머 나 훌륭한 관리자가 될 수 있습니까? 나는 매우 다른 기술, 환경, 집중력, 조직 등을 요구하는 두 가지 매우 다른 역할을 해야하는 개인의 효과에 의문을 제기하고 있습니다. 업데이트 : …

7
SOLID 원칙과 YAGNI
SOLID 원칙은 언제 YAGNI가됩니까? 프로그래머로서 우리는 복잡성, 유지 보수성, 구축 시간 등과의 상충 관계를 항상 유지합니다. 무엇보다도 선택을위한 가장 현명한 두 가지 지침은 SOLID 원칙과 YAGNI입니다. 필요하지 않으면; 빌드하지 말고 깨끗하게 유지하십시오. 예를 들어, SOLID 에서 dimecast 시리즈를 볼 때 상당히 간단한 프로그램으로 시작하고 꽤 복잡한 프로그램으로 끝납니다 (결국 예 …

19
비 프로그래머와 공예를 어떻게 공유합니까?
때로는 라이브 쇼를 재생할 수없는 음악가처럼 느껴집니다. 프로그래밍은 꽤 멋진 기술이자 매우 넓은 세상이지만 많은 사람들이 머리에서, 사무실에서, 관중과 떨어져 "카메라에서"발생합니다. 물론 다른 프로그래머와의 프로그래밍에 대해 이야기 할 수 있으며 동료 프로그래밍이 있으며 사람들에게 보여줄 수있는 것을 만들 수 있지만 비 프로그래머에게 무엇을하는지 설명하는 방법은 무엇입니까? 직장에서 하루는 까다 롭습니다. …

10
"일반 데이터"클래스를 사용해야하는 이유가 있습니까?
레거시 코드에서 때때로 데이터 래퍼에 지나지 않는 클래스를 볼 수 있습니다. 같은 : class Bottle { int height; int diameter; Cap capType; getters/setters, maybe a constructor } OO에 대한 이해는 클래스는 데이터의 구조 와 해당 데이터에서 작동하는 방법이라는 것입니다. 이것은이 유형의 객체를 배제하는 것처럼 보입니다. 나에게 그들은 structsOO의 목적을 넘어서는 …

20
취미 프로젝트에 대한 동기를 어떻게 유지합니까? [닫은]
나는 약 4 년 전에 취미, 학생, 그리고 인턴으로 진지하게 프로그래밍을 시작했으며 학습 운동으로 항상 작은 프로젝트를 수행했습니다. 그래도 학교는 다니고 소프트웨어 개발자로 일하면서 시간을 보냅니다. 나는 직장에서 노출되지 않은 컴퓨터 과학 분야에 대해 배우기 위해 측면에서 프로젝트를 계속하고 싶지만 IDE에서 8 시간 동안 출연 한 후에는 채식을하고 싶어한다는 것을 …

10
LINQ 및 Lambda Expressions를 사용하면 코드를 덜 읽을 수 있습니까? [닫은]
Linq의 동료와 토론 중입니다. 여기에서 복사하겠습니다. 동료 : 여기에서 솔직 해집니다. Linq 구문이 짜증납니다. 혼란스럽고 직관적이지 않습니다. 나 : 오, T-SQL보다 더 혼란스러워? 동료 : 예. 나 : 그것은 같은 기본 부분을 가지고 있으며, 선택, 어디서, 그리고 동료 : Linq는 나에게 관계형 + OO의 개자식입니다. 공동 작업자 : 잘못 이해하지 …

8
'윤리적'근거를 차별하는 소프트웨어 라이센스
나는 일반적인 copyleft 및 permissive 소프트웨어 라이센스를 읽는 데 시간을 보냈다. 응용 프로그램 또는 알고리즘 작성자가 자신의 개인적인 편견에 따라 제품을 사용 / 배포 할 수있는 사람을 광범위하게 지정할 수있는 라이센스가 있습니까? 저는 사람들이 이중 라이센스를 사용하여 상업 단체가 허가 라이센스 비용을 지불하거나 프로젝트에 사워 코드를 배포하도록 강요하고 있음을 이해합니다. …

7
동일한 입력이 항상 동일한 출력을 반환하지만 부작용이있는 함수를 무엇이라고 부릅니까?
다음과 같은 정상적인 순수한 기능이 있다고 가정 해보십시오. function add(a, b) { return a + b } 그런 다음 부작용을 갖도록 변경합니다. function add(a, b) { writeToDatabase(Math.random()) return a + b; } 사람들이 순수한 기능을 "부작용없는 기능"이라고 부르는 것을 종종 듣기 때문에 내가 아는 한 순수한 기능으로 간주되지 않습니다. 그러나 …

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