Programming
-
argument v.s parameter, function v.s. methodProgramming 2020. 12. 13. 16:28
귀에 걸면 귀걸이 코에 걸면 코걸이지만 어디가 코인지, 어디가 귀인지 어디가 코인지는 확실히 알자는 마음에서 정리. 둘은 비슷한 단어로 자주 혼동해서 사용하지만 사실 그 쓰임새가 다르다. argument와 parameter의 차이 parameter는 매게변수로 번역하고 argument는 인자로 번역된다. public void MyMethod(string myParam) { } 메소드를 정의할 때 myParam을 parameter라고 부른다. string myArg1 = "this is my argument"; myClass.MyMethod(myArg1); 메소드를 호출할 때 메소드의 파라미터로 보내지는 데이터를 argument라고 부른다. 메소드를 정의할 때는 parameter, 메소드를 호출할 때는 a..
-
Vue.js로 To Do List 애플리케이션 만들기(하)Programming/.JS 2020. 6. 14. 23:00
2020/06/13 - [Programming/.JS] - Vue.js로 To Do List 애플리케이션 만들기(상) TodoList.vue TodoList는 추가한 값들이 로컬스토리지에 저장되고 그 저장된 것을 가져와서 차례대로 뿌려줄 컴포넌트이다. 세션이나 DB에 저장한 뒤에 처리할 수도 있지만 간단하게 로컬스토리지를 통해서 이를 구현하도록 하자. {{ todoItem }} 새로운 디렉티브가 등장했다. v-for는 지정된 갯수만큼 반복해서 HTML을 표시하는 반복문 디렉티브이다. 여기서 반복시킬 propsdata는 상위 컴포넌트로부터 전달받은 데이터를 이용할 것이다. 상위 컴포넌트인 App.vue에서 보내주지 않은 지금 상태에서는 propsdata가 로컬스토리지에서 가져온 데이터임을 가정하고 작성한다..
-
Vue.js로 To Do List 애플리케이션 만들기(상)Programming/.JS 2020. 6. 13. 23:02
할일 관리 앱은 프론드앤드 프레임워크를 배울 때 가장 대중적으로 도전하는 활용 예제이다. 제일 무난하게 시작할 수 있는 낮은 입문턱이지만 데이터 조작(CRUD)이 어떻게 사용되는지, 컴포넌트의 구조와 컴포넌트간의 통신이 어떻게 이루어지는지도 알수있는, 간단해보이지만 이 안에 많은 것들이 함축되어있고 또한 이것을 알게된다면 여기서 응용하여서 다른 더 고도화된 앱들을 구성할 수 있다. TO DO APP 구상하기 위 사진은 우리가 만들어볼 할일 관리 앱의 완성본이다. 반응형으로 구성되어 웹 뿐만 아니라 모바일에서 봐도 문제가 없도록 UI를 구성하였다. 할 일을 input에 적어서 +버튼을 누르면 목록에 추가되고 휴지통 아이콘을 눌러서 낱개로 지우거나 Clear All버튼을 눌러서 한번에 다 지우는 것도 가능하..
-
파이썬 제너레이터(Generator)Programming/python 2020. 6. 6. 22:26
제너레이터를 설명하기 앞서 이터레이터에 대한 이해가 살짝 필요하다. 제너레이터랑 이 이터레이터에 yield 구문을 추가해 호출될 때마다 이터레이터와는 다르게 모든 값을 포함한 배열을 리턴해주는게 아니라 하나의 값만을 리턴하기 때문이다. 이터레이터란? 이터레이터(iterator)는 값을 차례대로 꺼낼 수 있는 객체(object)이다 파이썬에서는 이터레이터만 생성하고 값이 필요한 시점이 되었을 때 값을 만드는 방식을 사용함 데이터 생성을 뒤로 미루는 것인데 이런 방식을 지연 평가(lazy evaluation)라고 함 이터레이터는 반복자라고 부르기도 함 반복 가능한 객체(iterable)와 이터레이터(iterator)는 별개의 객체이므로 둘은 구분해야 한다. 이터레이터와 제너레이터의 차이점 이터레이터는 __n..
-
REST의 정의와 RESTful API란 무엇인가?Programming 2020. 3. 15. 20:56
RESTful API란 무엇인가? 라는 질문을 받는다면 대충 REST한 구조로 서로 주고받는다라고 뭉퉁그려 알고있지만 제대로 된 정의가 무엇인지 한번에 대답하기는 힘들다. 정확히 REST한 구조란 무엇이고 이 구조를 사용한 RESTful한 API를 만든다는 것은 어떤 의미일까? REST API혹은 Restful API에 대한 설명을 하기 전에 우선 REST에 대한 이해가 선행되어야 한다. REST란 Representational State Transfer의 약자로써 풀어서 설명하자면 자원을 이름으로 구분해 해당 자원의 상태를 주고받는 것을 말한다. 어떤 프레임워크가 아니라 이런 방식을 가지고 주고받겠다는 약속이라는 의미에서 코딩 컨벤션과 궤를 같이한다. REST는 웹에 존재하는 자원(이미지, 동영상, D..
-
동기와 비동기방식의 차이점(콜백함수와 프로미스)Programming 2020. 3. 8. 23:02
오늘은 자바보다는 자바스크립트, 그중에서도 노드를 사용한 서버 프로그래밍을 다룰 때 처리하는 동기와 비동기 처리방식에 대해서 알아보려고 한다. 물론 동기와 비동기 자체의 개념은 모든 언어에서 공통적으로 사용되므로 동기와 비동기 방식의 차이점을 분명히 하고 그 개념에 대해서 알아두면 좋다. 우선적으로 동기와 비동기 처리 방식을 비유할 때 커피 주문을 예로 든다. 흔히 카페에서 커피를 주문하려고 하면 한줄로 서서 한번에 한명씩만 주문이 가능하다. 마치 큐처럼 선입선출의 과정의 코드실행의 처리 순서를 우리는 동기 방식이라고 부른다. 일단 주문이 들어가면 카페 내부의 점원들은 열심히 음료를 만들기 시작한다. 하지만 이때 한명의 점원이 있는 것이 아니라 여러명의 점원이 있다면 주문받은 순서대로 일을 처리하는 것이..
-
가비지 컬렉션, 컬렉터(Garbage Collection)란?Programming/java 2020. 3. 1. 16:37
Garbage Collection, 줄여서 약어로 GC라고도 부른다. 영어로 그대로 읽어서 가비지 컬렉션이라고 부른다. 메모리 관리 방법 중에 하나로, 시스템에서 더이상 사용하지 않는 동적 할당된 메로리 블럭을 찾아 자동으로 다시 사용 가능한 자원으로 회수하는 것으로 시스템에서 가비지컬렉션을 수행하는 부분을 가비지 컬렉터라 부른다. 가령 C언어는 프로그래머가 메모리를 할당한 뒤 수동으로 해제까지 직접 해 줘야 한다. 그래서 메모리를 할당해놓고 필요없어진 뒤에도 해제를 안하는 일 등이 생겨서 메모리 누수가 생기거나 거꾸로 해제했던 메모리를 다시 사용하거나 하는 실수 등에 버그가 양산된다. 이러한 문제들을 해결하기 위해서 제시된 것이 가비지 컬렉션이다. 이 가비지 컬레션 기능을 채택한 언어의 경우에는 이 가..
-
(python)'is None'과 '==None'의 차이점Programming/python 2020. 2. 27. 16:25
특정한 값이 있는지를 검사할 때 자주 사용하게 되는 문법인 is None과 ==None. 값이 넘어오고나 전처리 과정에서 이 값이 존재하는지를 확인하고 싶을 때 주로 사용하게 된다. http://jaredgrubb.blogspot.com/2009/04/python-is-none-vs-none.html 간단하게 요약해서 설명하자면 True로 받을지 그 자체를 받을지의 문제다. class Noo: def __eq__(self,other): return True Noo=Noo() print(Noo==None) # True print(Noo is None) # False Noo는 None 오브젝트를 상속받는다. 비교 연산자는 Noo를 None으로 받아서 True로 처리하지만 is None 은 오브젝트 그 자체로..