Tech
-
Object Oriented System's Design Patterns [4 - Behavioral Pattern]Tech 2022. 3. 10. 11:22
Reference Design Patterns: Elements of reusable object oriented software. Refactoring GURU : https://refactoring.guru/design-patterns/structural-patterns Behavioral Pattern Algorithm과 object 간의 책임 분배에 관한 pattern입니다. 즉, object의 사용 목적에 따라서 method를 정의할 때, 많이 사용되는 구현 pattern을 의미합니다. 1. Chain of Responsibility(CoR) request를 여러 handler들을 하나의 chain으로 연결한 object에 전달하여 request를 처리하는 방식입니다. 여기서 각 각의 han..
-
Object Oriented System's Design Patterns [3 - Structural Pattern]Tech 2022. 3. 9. 15:12
중간에 좋은 reference를 찾았기 때문에 여기서부터는 출처가 바뀝니다. 저도 해당 사이트의 도움을 많이 받았기 때문에 해당 사이트 한 번 직접 가보는 것을 추천드립니다. Reference Design Patterns: Elements of reusable object oriented software. Refactoring GURU : https://refactoring.guru/design-patterns/structural-patterns Structural Pattern 앞 서 살펴본 creational pattern이 object의 생성에 대한 방법들을 제공하였다면, 해당 object들의 관계를 어떻게 연결할 것인가에 대한 고민에서 만들어진 pattern이라고 생각하시면 됩니다. 예를 들어서,..
-
Object Oriented System's Design Patterns [2 - Creation Pattern]Tech 2022. 2. 22. 16:54
Intro에 이어서 바로 Creation Pattern에 대하여 요약합니다. Reference Design Patterns: Elements of reusable object oriented software. Creational Pattern object의 instantiation을 추상화하는 방법입니다. 즉, instance를 만들 때, 어떻게 하면 재사용과 변경에 유용한 구조로 만들 수 있을까에 대한 고민의 결과로 나온 pattern이라고 볼 수 있습니다. 일반적인 순서로는 Abstract Factory, Builder, Factory Method, Prototype, Singleton이지만, 제가 이해하기 쉬운 순서대로 정리하겠습니다. 모든 가정은 App이라는 main class에서 product..
-
Object Oriented System's Design Patterns [1 - Intro]Tech 2022. 2. 20. 16:48
점점 다양한 언어들이 생겨나고, 객체 지향에 대한 관심이 시들해지고 있는 환경이라고 생각합니다. 하지만, 그럼에도 불구하고, 여러 시스템에서도 거의 고유 명사로 쓰이고 있기에 객체 지향의 대표적인 디자인 패턴을 익혀두는 것은 필수적이라고 생각해서 제가 봤을 때 가장 빈번하게 사용되는 용어에 대해서 정리를 좀 해보고자 합니다. 해당 글에서는 일단 introduction에 대한 내용을 정리합니다. Reference Design Patterns: Elements of reusable object oriented software. Design Pattern software적으로 특정 상황에서 일반적인 문제를 해결하기 위해서 반복되어 사용되는 pattern을 말합니다. 이는 특정 문제를 해결하기 위한 algori..
-
Chrome Extension version migration from V2 to V3Tech 2022. 2. 14. 21:25
최근 3일 정도를 chrome extension version 2에서 version3로 migration하면서 보낸 거 같습니다. ㅠㅠ 현재 side project로 진행하고 있는 내용을 chrome extension store에 배포할려고 하는 순간에 경고창이 뜨며, 이제부터는 version 3만 업로드를 지원한다는 경고를 받았습니다.ㅠㅠㅠㅠㅠ 그래서 이전 셋업을 완전히 뜯어고쳐야 된다는 결론에 도달했고, 이전에 열심히 투닥투닥 만들었던 결과물을 다시 뜯어고쳐야했습니다. 이 내용은 제가 진행하면서 바꾼 내용을 정리한 내용입니다. 저와 같이 version migration을 진행하시는 분들에게 도움이 되었으면 좋겠습니다. 1. manifest에서 바뀌어야 하는 부분 위에가 기존 version 2라면 아래..
-
Go with GraphQLTech 2021. 4. 4. 23:31
Golang을 이용하여 graphql API server를 만들고자 여러가지를 찾아보다가 gqlgen이라는 프로젝트를 발견하고, 어느정도 환경 준비를 해보며 느낀 점들을 정리합니다. 일단 필자는 이전에 typescript 기반으로 graphql API server를 구현한 경험이 있었고, 그 과정에서 prisma + Apollo server 조합을 이용했습니다. 해당 구현이 상당히 많은 사람에 의해서 이미 관리가 진행되었고, 대다수의 graphql 예시 코드가 javascript or typescript로 작성되기 때문에 자료가 다수 존재했습니다. subscription, relay에 이르기까지 다양한 기능까지 지원하는 library가 다수 존재합니다. 그러던 와중, Go라는 언어에 흥미를 느끼게 되었고..
-
chrome 확장 앱Tech 2021. 4. 1. 17:27
해당 글은 manifest version 3을 기반으로 작성된 글입니다. 혹여 version 2를 이용하셨다면, version 2에서 version 3로 migration 하면서 제가 적어놓은 글이 있으니 그것을 참고 하시기 바랍니다. Chrome Extension version migration from V2 to V3 최근 3일 정도를 chrome extension version 2에서 version3로 migration하면서 보낸 거 같습니다. ㅠㅠ 현재 side project로 진행하고 있는 내용을 chrome extension store에 배포할려고 하는 순간에 경고창이 뜨.. justlog.tistory.com 1. chrome 확장 앱의 구성 chrome extension에서 manifest..
-
RDF TurtleTech 2021. 3. 23. 13:17
자연어의 복잡한 텍스트 형태로 쓰여진 RDF graph를 datatype과 pattern을 생략 사용하여 표현하는 RDF 문법을 말한다. Example RELATIONSHEEP between Green Goblin and Spiderman. @base . @prefix rdf: . @prefix rdfs: . @prefix foaf: . @prefix rel: . rel:enemyOf ; a foaf:Person ; # in the context of the Marvel universe foaf:name "Green Goblin" . rel:enemyOf ; a foaf:Person ; foaf:name "Spiderman", "Человек-паук"@ru . green goblin은 spiderman..