본문 바로가기

전체 글195

... SWC 오픈소스에 참여할 수 있는 기회를 얻게 되었다. 아... 음 근데 솔직히 일단 잘 모르겠다. (진짜 모르겠단 뜻ㅋㅋ) 어쩐담? 근데 꼭 해내고 싶다. 일단 Rust 언어의 장벽이 다소 크게 느껴진다. founder 분은 크게 급하지 않으니 천천히 하라고 하셨지만, 정말 모르겠다. 혼란스러운데 이런 좋은 기회를 놓치고 싶지는 않다. 원래 지금까지 뭐든 처음부터 쉬운건 없었긴 한데, 성급하게 기회를 잡은 것일지도 모르겠다. 그렇지만 정말, 정말로 잡고 싶고 성공시키고 싶은 기회이기도 하다. 깨달았다. Rust는 이제 메이저 언어라는 것을. 제트브레인에서 만든 Rust IDE가 있다는 사실을 알았다. 마이너한 언어는 전용 IDE를 만들어주지 않는다. 제트브레인이 인정한 언어..!! 꼭 컨트리뷰션에 성공.. 2023. 11. 13.
[TypeScript] Decorator를 이용한 코드 변경 class TestClass { test() { console.log('test!'); } } 위와 같은 클래스가 존재할 때, test() 메소드를 실행시키면 test! 가 터미널에 찍힐 것이다. 이를 test? 로 출력하기 위해 데코레이터로 코드를 바꾸어 실행 결과를 바꿀 수 있다. function Test(target: any, key: string, descriptor: PropertyDescriptor) { const stringified = String(descriptor.value); const matches = stringified.match(/\{([^}]+)\}/); const extracted = matches[1].replace('!', '?'); const execute = new .. 2023. 11. 7.
[Spring] Contrainerless 스프링부트는 Contrainerless다. Contrainerless라는 말을 이해하기에 앞서서 Serverless라는 말을 한 번 들여다볼 필요가 있다. 트렌디한 단어인 Serverless는 개발자라면 누구나 한 번쯤 들어봤을 것이다. 이제는 백엔드를 넘어서 프론트엔드에도 Serverless 바람이 불고 있는 추세다. 일부는 Serverless라는 말이 '서버가 없다'라는 말로 직역하곤 한다. 정확히는 틀린 말이다. Serverless여도 실제로 서버는 존재한다. 애초에 서버가 없이 코드가 돌아갈 수 있을리가 만무하다. 다만, 사용자의 입장에서는 마치 서버가 없는 것처럼 동작하기에 Serverless인 것 뿐이다. 따라서 "관리할 필요가 없다"라고 해석하는 것이 더 옳다. 예를 들어, AWS Lambd.. 2023. 10. 25.
[RxJS - 4] pipe(), map() function createHttpObservable(url: string) return Observable.create(observer => { fetch(url) .then(response => { return response.json(); }) .then(body => { observer.next(body); // Subscriber에게 데이터 전달 observer.complete(); // 데이터 전달 완료 }) .catch(err => { observer.error(err); }) }); 위와 같은 Observable 객체를 만드는 함수가 있다고 하자. pipe()는 Observable 객체를 새로운 Observable 객체로 만들어준다. 그리고 map()은 우리가 알고 있는 그 map과 동일하.. 2023. 10. 6.
[RxJS - 3] Observable 생성 fetch('/api') /* { "items": [ {"id": "Open"}, {"id": "OpenNew", "label": "Open New"}, {"id": "Find", "label": "Find..."}, {"id": "FindAgain", "label": "Find Again"}, {"id": "Copy"}, {"id": "CopyAgain", "label": "Copy Again"}, {"id": "CopySVG", "label": "Copy SVG"}, {"id": "ViewSVG", "label": "View SVG"}, {"id": "ViewSource", "label": "View Source"}, ] } */ 위와 같은 API가 있다고 가정했을 때, `fetch('/api')`는.. 2023. 9. 26.
728x90