요즘 개발이야기재미/실시간성 (라이브방송,실시간 댓글,협업,메신저) 독창성/완성도(애니메이션,무한스크롤)많아지는 동시성(비동기 I/O,많은사람들이 동시에 접속)빨라지는 반응성/고가용성 대용량/정확성/병렬성복잡도/MSA (많아지고 세밀해지는 도구들) -> 예전에는 하나의 프레임워크가 모든 일을 했다면,지금은 도구들이 분화되고 세밀화 됨고가용성이란? 죽지않는 서비스(OTP Supervisor)좋아지는 하드웨어 성능좋아지는 컴파일러좋아지는 분산/리액티브 환경동시성+병렬성 관련기술->함수형 프로그래밍 함수형프로그래밍 함수형 프로그래밍은 애플리케이션, 함수의 구성요소 더나아가 언어 자체를 함수처럼 여기도록 만들고, 이러한 함수 개념을 가장 우선순위에 놓는다.함수형 사고방식은 문제의 해결방법을 동사(함수)들로 구성..
일급함수var f1=function(a){return a*a;}; console.log(f1); var f2=add; console.log(f2); function f3(f){ return f(); } console.log(f3(function(){return 10;})) f3은 함수를 받아서 그결과를 리턴->일급함수/*add maker*/ function add_maker(a){ return function(b){ return a+b; } } var add10= add_maker(10); console.log(add10(20)); 30이라는 결과가 나온다. 클로저 function f4(f1,f2,f3){ return f3(f1()+f2()); } f4( function(){retu..
동적메모리할당변수를 선언하는 대신 프로그램의 요청으로 메모리를 할당 dynamic memory allocationmalloc 을 호출하여, 동적메모리 할당을 요청하면 요청하는 요구하는 크기 메모리 할당 malloc 함수int *pp=(int*)malloc(40)(int *) 부분은 malloc이 반환하는 주소는 타입이 업는 주소(void *)이다. 정수들을 저장하기 위해 이것을 int * 로 변환할당받을 크기를 byte단위로 지정. 여기서 10개의 정수를 저장하기 위해 40바이트를 요청하였다.int * array=(int *)malloc(4*sizeof(int)); int * tmp=(int *)malloc(8*sizeof(int)); int i; for(i=0;i
지금까지 한것 사내서비스 파악한것 (dms, bigboss, api 서버 버전 2,3, 리뷰페이지, 앱,쿼리 데이터로 보여주는 사이트 등등)react, redux, redux-thunk, redux-saga 학습한것위의 스펙으로 사내 리뷰페이지 개발리액트 네이티브 앱 수정 및 배포 (간단한 수정)api v3버전으로 리뷰부분 api 작성 node.js 기반jwt 학습(토큰)운영팀 대응사내 DB 파악(mysql)b2b 관련 대응인수인계 (쿠폰 발급, 메뉴 등록, 사내back-office 사용 방법 등등...)개발중인 웹 배너 부분aws 배포 및 pm2 학습.env환경 설정하기해야할것요구사항 충족시켜 웹 개발, 배포사내 back-office 좀더 수정리액트, 리덕스 자유롭게 쓰기운영팀과 b2b에 대응할 자신만..
함수형 프로그래밍 =>성공적 프로그래밍 함수형 프로그래밍은 성공적인 프로그래밍을 위해 부수효과를 미워하고, 조합성을 강조하는 프로그래밍 패러다임이다. 부수효과 미워한다? => 순수함수를 만든다.조합성 강조 => 모둘화 수준 높인다.순수함수 => 오류를 줄이고 안정성 높인다.모듈화 수준이 높다 => 생산성이 좋다. 순수함수 => 동일한 결과, 외부에 영향을 끼치지 않음. 순수함수function add(a,b){return a+b;} 순수함수가 아닌 함수들var c=10;function add2(a,b){return a+b+c;} var c=20;function add3(a,b){c=b;return a+b;} var obj1={val: 10};function add4(obj, b){obj.val+=b;}ad..
메모리컴퓨터 메모리 ->데이터 보관 장소바이트(8 bits) 단위로 주소가 지정모든 변수는 주소를 가진다.포인터포인터란 메모리주소를 값으로 가지는 변수이다.메모리주소? => 정수type-name * variable-name;ex) int * ptr; 연산자 &는 변수로부터 그 변수의 주소를 추출하는 연산자 int * ip -> 포인터 변수 y= *ip ->ip라는 포인터 변수에 들어있는 주소에 해당하는 값을 y에 넣음. 아래 예제로 살펴보면 ip 포인터 변수의 값은 1028이고 1028주소에 해당하는 값은 1이므로y =*ip이면 y에는 1이 들어가게 된다. 포인터와 배열배열의 이름은 배열의 시작 주소를 저장하는 포인터 변수이다int calculate_sum(int * arr)int calculate_su..