프로그래밍(12)
-
[rails] 스캐폴딩 기능 개발 기초 : 목록 화면 작성
BooksController 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566class BooksController book은 each 메서드에서 템플릿 변수 @books로 얻은 하나의 객체이다.매개 변수 url에 모델 객체를 적용하면 id를 사용하여 /books/id로 가져온다. link_to 메서드로 특정한 경로 표기(뷰 헬퍼) edit_book_path와 new_book_path는 routes.rb에서 resources 메서드를 호출할 때 자동으로 사용되는 뷰 헬퍼이다.(맨날 회사에서 이게 뭔지 모르고 썼는데 드디어 알았다.) 라..
2016.07.16 -
[면접 질문] 신입 기술 면접 문제
서론 내가 직접 받았던 면접 질문들 모음 C/C++/C# 절차지향과 객체지향의 차이점이 뭔가요? C와 C++의 차이점이 뭔가요? C와 C#의 차이점이 뭔가요? C++11 공부해보셨나요? C++에서 가상함수 테이블에 대해 설명해보세요. C#에서 박싱과 언박싱에 대해 설명해보세요. C#에서 오브젝트 타입에 벨류 타입을 대입하게 되면 어떤일이 생기나요? C#이나 자바에서 가비지 컬렉션을 최소로 일어나게 하는 방법이 뭘까요? 메모리 지역변수와 전역수가 메모리상에 어디에 어떻게 놓이나요? 메모리 단편화에 대해 설명해보세요. 페이지폴트에 대해 설명해보세요. 컨텍스트 스위칭에 대해 설명해보세요. 스택과 힙에 대해 설명해보세요. stdcall과 cdecl의 차이를 설명해보세요. 디버깅 디버깅은 어떻게 하시나요? 비주얼..
2015.08.18 -
혼자 연구하는 C/C++ 6장 정리(함수)
1. 함수의 구성원리함수의 정의함수는 프로그램을 구성하는 단위로 프로그램의 부품 역할을 한다.프로그램 : 함수 = 컴퓨터 : 부속품 함수type name(인수 목록){함수의 본채} name - 함수의 이름이며 이 이름을 통해 함수를 호출한다. 의미를 잘 표현할 수 있는 이름으로 하는것이 좋다.인수목록 - 함수가 해야 할 일의 세부 사항을 지정하며 함수의 작업거리라고 할 수 있다.type - 함수가 리턴하는 값의 데이터형이며 함수의 작업결과라고 할 수 있다.본체 - { } 괄호 안에 실제 함수의 코드가 위치한다. ex)1234567891011int Max(int a, int b){ if(a>b) { return a; } else { return b; }}cs Max라는 이름의 함수이고 int a, int ..
2015.03.01 -
혼자 연구하는 C/C++ 5장 정리(연산자)
1. 연산자의 종류자료는 데이터화, 프로그래밍으로 정보(Information)로 만들 수 있다.프로그램은 사람을 대신해 일을 하는 소프트웨어, 정보를 만드는 주된 수단이 바로 연산자이다. 2. 산술 연산자가감승제의 가장 기본적이고 많이 쓰이는 연산자이다.ex) 2*3 = 6 일반적인 수학의 연산자와 다른 것은 /연산자이다.컴퓨터의 연산자의 특징상 피연산자의 자료형에 따라 결과가 달라진다.ex) 3.0/2,.0 = 1.53/2 = 1 3.0과 2.0은 실수형이기 때문에 결과값이 실수형으로 나오지만3/2는 정수형이기 때문에 1.5가 출력되지 않고 뒷자리는 버리고 1의 값이 나온다. ex)a+b;a+-b; //a와 b의 음수값을 더한다.a-b;a--b; //a와 b의 음수값을 뺀다. 3. 대입 연산자대입 연산..
2015.02.27 -
책읽기003)프로그래밍 면접 이렇게 준비한다 - 3
1. 순환형 연결리스트 여부알아보기순환형인지 아닌지 판단하는 알고리즘을 찾는것.일단 먼저 떠오르는 방법은 노드에 한번 지나간 자리인지 확인하는변수를 선언하고 변수를 체크해 순환형을 가려낼 수 있다.하지만 이렇게 푸는건 적절한 문제 풀이가 아니다! 적어도 면접관에겐!- 노드에 변수를 넣는것은 노드를 수정한다는 의미. 최대한 노드 수정 없이! 2. 해결방법토끼와 거북이 알고리즘! Tortoise and Hare 알고리즘이다.2개의 포인터의 증감률을 다르게 하여 탐색한다.이 알고리즘의 장점은 특히 비순환일때 탐색 속도가 n/2로 줄어든다.빠르게 뛰는 토끼포인터가 거북이 포인터와 같아지거나 앞지르게 되면 이것은 순환형!빠르게 뛰는 토끼포인터가 널 포인터를 만난다면 이것은 비순환형이 되는것이다. 위키에서 퍼온 것..
2015.02.26 -
책읽기003)프로그래밍 면접 이렇게 준비한다 - 2
1. 디버거를 쓰지 않고 체계적 분석, 중점적으로 살펴봐야 할 부분- 데이터가 함수에 제대로 들어오는지 확인한다.- 함수의 각 줄이 제대로 작동하는지 확인한다.- 함수에서 데이터가 올바르게 나오는지 확인한다.- 흔히 발생하는 오류 조건을 확인한다. 2. 연결 리스트의 마지막에서 m번째 원소 찾기문제단일 연결 리스트가 주어졌을 때 리스트의 맨 뒤에서 m번째 원소를 찾아내는 알고리즘을 만들어 보라.이때 시간 및 공간 효율을 모두 고려해야 한다. 오류 조건의 처리에 주의하여 알고리즘을 구현하라.여기에서 "맨 뒤에서 m번째 원소"는 m = 0일 때 리스트의 마지막 원소를 변환하는 식으로 생각한다. 순차적으로 찾는 방법가장 기본적인 알고리즘은 Head에서부터 Tail까지 리스트를 종주하고 전체 리스트를 체크한다...
2015.02.20