FrontEnd/CodeSpitz 강의 정리19 코드스피츠 s80 - 2 역할모델 정리 엔트로피의 증가방향을 컨트롤 해서 완화시키고 복잡한 상황을 포함해 여러가지 상황의 변화를 잘 받아들일수 있는 구조를 짜는 것을 '디자인' 또는 '아키텍처'라고 함. 객체지향에선 역할을 분리하여 엔트로피 증가를 막는다. 역할을 분리하는 요소 3가지 - 변화율 (가장 중요) : 변화율이 같은 것들끼리 모아놓으면 어떤 변화가 일어날 때 다른 것들에 변화를 주지 않으므로 엔트로피 증가가 최소화 됨. - 그외 2가지 복잡한 문제를 나눠서 분석하기 위한 도구 : 추상화 도구 - 카테고라이징 - 모델링(많이 사용) 2019. 6. 12. 코드스피츠 82 5주차 코틀린에서 메소드는 중위법이 가능하다 수신함수를 이용하면 두가지 쌍으로 구성이 가능하다. infix 를 이용하면 서로 상이한 형들을 초기화 할 수 있음. infix 는 병렬로 결합할 수 있는 이점이 있기 때문에 많이 사용한다. 중위법을 사용하면 괄호와 같이 사용할 때 편하게 사용할 수 있고 operator 들과 잘 어울리게 사용할 수 있음 - 속성 delegation : mutable delegation, emmutable delegation KFunction KProperty Kclass - map delegation : Kotlin의 delegate package는 꼭 외우자(자주 쓰임) NotNull : 너는 이걸 Null 인채로 사용할 수 없다, Null 이면 죽일 거다(무섭) Delegates .. 2019. 6. 11. 코드스피츠 s81 4주차 만델브로드 도형의 특징 : 수렴하는 것과 수렴하지 않는 집합이 있을 때 수렴하지 않는 집합이 점차적으로 수렴하는 것이 보임 크기 / 2 는 대부분 중앙정렬 저번 시간이 선형적 보간함수를 통해 채웠다면 이번 시간은 각각을 별도의 요구사항으로 평가하여 특정 집합으로 나눠서 채우는 것이 특징, 연산이 느림 하나하나 평가할 때마다 비용이 듦, 집합을 통한 Co-recursion은 해상도(width, height) 크기 만큼의 메모리가 필요함, 상태를 가짐. (지난 시간의 선형함수는 예측 가능, 값을 넣으면 해당값이 나옴) 밸류노이즈 : 나의 의도를 반영한 상태에서 만들 수 있음(장점), 이런 특성은 특정 값 이후로 반영율이 급격히 떨어지는 곡선(로그함수의 형태)를 띔. 밸류맵은 랜덤만 사용하지 않고 이처럼 사용.. 2019. 4. 30. 코드스피츠 s81 2주차 www.bsidesoft.com/jidolstar/study/codegolf/3-3-2.html 추상화와 Recursion은 축소를 했다는 차원에서 같은 개념이다. 더 나아가 아키텍처, 디자인 등은 다 재귀와 같은 개념. (현실을 모델링 화 해서 프로그래밍) Co-Recursion 은 Recursion과 반대 넥슨의 식수 slideshare 검색 재귀로 짤 수 있으면 다 Recursion, 짤 수 없다면 Co-Recursion 정보가 적은데 확장하는 것이 Co-Recursion 그럴듯한 생성 컨텐츠 만들기(넥슨) 2019. 4. 10. 코드스피츠 s81 1주차 2019-04-03 1주차 관찰을 통하여 현상을 분석하고 목적에 부합하는 패턴을 파악한다 (목표를 명확하게 설정한다) 패턴이 없는 것들을 패턴화 시킨다 www.bsidesoft.com/hika/s81/1.html 시간 지연은 인터벌 간격으로 프레임을 쪼개서 비동기적으로 처리를 한다. 재귀함수를 루프로 바꾸는 연습을 꼭 해서 재귀를 루프로 바꿀 수 있는 능력을 기르자, 꼭 할 수 있어야 한다. (재귀함수는 스택을 사용하기 때문에 위험하다, 사용하지 말자) 랜덤함수를 짜보고, 구동이 어떻게 되는지 잘 아는게 정말 중요하다. Math.Random 함수는 비용이 비싸다! 2019. 4. 3. 코드스피츠 4주차 복습 중요한 원칙, 규칙을 정하면 예외사항을 즉시 알아차릴 수 있다. 2019. 3. 20. 코드스피츠 5주차 수업 정리2 생성자가 extend 하지 않은 것들은 다 주 생성자가 됨. class NormalItem extends Item {... 에선 NormalItem이 부 생성자가 됨. Javascript는 주 생성자의 인스턴스가 부 생성자를 체이닝 시켜주는 식. javascript 언어에선 this 를 데이터 형식으로 넘겨줄 수 있기 때문에 부모 자식 상속 관계에서도 부모로 부터 시작해 자식에게 내려갈 때 데이터를 하나씩 추가해가는 식으로 할 수 있다. ex) Function을 상속받으면 내 인스턴스는 Function. Date을 상속받으면 내 인스턴스는 Date (Object를 상속받은게 아님) Function과 Arrow 함수의 차이 Function : - Function만의 this가 생성됨(this 는 메소드이기.. 2019. 3. 18. 디자인 패턴 5주차 수업 정리 엔지니어링 : 지식이나 과학적 체계를 현실으로 만들어내는 것.리버스엔지니어링 : 만들어진 것을 토대로 청사진이나 설계도면 및 원리를 만들어냄. 디자인 측면에서 공학 : 먼저 어떻게 만들지 구조를 설계하고 이 정해진 설계를 바탕으로 프로그래밍을 함 소프트웨어 공학에선 UML이란 국제표준이 존재. 어려운 구조의 소프트웨어를 짤 때 먼저 설계를 하고 코딩을 해야 함. 우리 코드의 문제? 올바르게 동작을 하는지 판정할 수 없다. 기준이 없기 때문.내가 무엇을 해야하는지 먼저 문서화를 해야 함. 이를 통해 내가 무엇을 해야하는지 명확하게 할 수 있음. 소프트웨어 관리의 가장 중요한 점은 '버전을 픽스'해야 하는 것. 고로 우리는 어디까지 만들지를 문서화해야 하고 이에 대한 설계를 잘 해야 함. -티켓-버전 픽스 .. 2019. 3. 13. 동기, 비동기, blocking, non-blocking, 콜백함수 및 Promise 정리 동기, 비동기, blocking, non-blocking 의 차이? 일반적인 함수는 동기화함수이자 blocking 함수.동기화 함수 : 입력하면 return 값이 반환되는 함수. 순차적으로 실행이 됨.비동기화 함수 : return 값이 반환되지 않고 대신 callback이 return 됨. (callback 을 return 하면 다 비동기화 함수)순차적으로 실행이 되지 않고 중간중간에 jump를 해다님. 컴퓨터는 폰 노이만 머신 기준을 따르므로 계속 명령어를 로딩하여 실행함.블로킹 : 어떤 명령어를 만났을 때 모든 CPU가 정지하고 그 명령어를 실행하고 있는 상태.논블로킹 : 총 수행시간이 16.6 ms, 초당 60 프레임 내에 실행되면 논블로킹 코드로 봄. 블로킹이냐 논 블로킹이냐는 시간이 얼마나 소요.. 2019. 3. 10. 이전 1 2 3 다음