Tiny Star

ABOUT DEV 186

[CS STUDY INTERVIEW] 15주차 - 싱글톤 패턴

CS 스터디 15주차 싱글톤 패턴싱글톤 패턴(Singleton Pattern)싱글톤 패턴은 다양한 디자인 패턴 중 하나로 한 클래스에 대해서 단 하나의 인스턴스만 존재하도록 보장하는 패턴이다.어플리케이션에서 전역으로 접근 가능한 인스턴스를 제공하여 상태나 행위를 공유할 때 유용하고,주로 설정/로그/데이터베이스 연결 관리 등에서 사용한다. 특정 객체가 애플리케이션 전체에서 일관된 상태를 유지하면서 접근 가능해야하는 경우(설정 관리나 로그 관리) 이 객체들이 동일한 상태를 유지해야 하기 때문에 전역적인 접근성이 좋다. 또한 데이터 베이스에 연결된 객체나 파일 시스템 접근 객체와 같이 비용이 큰 리소스를 관리해야 할 때여러 개의 객체가 생성되는 것을 방지하여 리소스 절약에 효율적이며,중요한 상태 정보를 유지하..

[Python] Python 에서 괄호 - (), [], {}

팀장님 : 파이썬에서 소괄호가 뭐야.나 : .............팀장님: 큰일났구만나 : ㅎ 공부하겠슴다. 해서 알아본 Python에서의 괄호란? 배열/리스트[Array]튜플(Tuple)딕셔너리{Dictionary}선언방법arr = []tup = ()dic = {}초기화arr = [1,2,3,4]tup = (1,2,3,4)dic = {"one":1, "two":2, " three":3}가져오기arr[0]tup[0]dic["one"]특징1. 배열 또는 리스트    [Array] or [List]2. 인덱스는 0부터 시작1. 생성하면 값의 수정삭제가 불가2. 인덱스는 0부터 시작3. 속도가 빠름1. 말 그대로 사전형태의 자료구조2. key:value로 구분되며 key로 value에 접근3. 배열이나 튜플처..

[HTML] <i> 태그로 아이콘 넣기

태그는 원래 "italic"을 나타내기 위해 사용되었지만, 최근에는 HTML에서는 주로 아이콘을 삽입할 때 사용되고 있다. FontAwesome과 같은 라이브러리와 태그를 사용하면 특정 아이콘 클래스를 적용하여 아이콘을 쉽게 추가할 수 있게된다. 아이콘을 적용하는 순서1. FontAwesome CSS 링크 추가헤드 태그 안에 FontAwesome CSS 링크를 추가하여 아이콘을 사용할 수 있도록 한다. 2. 아이콘 클래스 적용 태그에 fa와 특정 아이콘 이름 클래스를 추가하여 원하는 아이콘을 표시한다.ex)  주로 많이 사용하는 아이콘은 아래와 같이 다양하게 있고 더 많은 아이콘은 FontAwesome 페이지에서 복붙해서 사용이 가능하다.fa-user: 사용자 아이콘fa-envelope: 이메일 아이콘..

[❌삽질과 해결 그 사이] OSError: [WinError 123] 파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다: '<frozen importlib._bootstrap>'

연습용(?)으로 만들던 페이지를 실제 프로젝트에 적용하기 위해 기존 프로젝트를 버리고 새 프로젝트를 만들어 코드 이관을 하고 있다. 어차피 다 잘돌아가던 기능이라 복붙하고 디자인만 다시 잡아주면 되는 일이라 즐겁게 코드 복붙하던 도중 만난 ... 반갑지 않은 손님 OSError: [WinError 123] 파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다: ''  너 뭐냐. 구글에 검색해보니 config 에서 setting에 주로 오류가 있을 때 발생한다고 한다. setting안에 app을 추가 안했다던가.. 콤마(,)를 빼먹었다던가..주로 이런 사유로 발생하는 것 같다. 그래서 나도 config 파일에 setting을 열어봤다. 아무문제가 없었다. 사용하는 앱은 잘 등록이 되어있고 그 ..

[CS STUDY INTERVIEW] 14주차 - 팩토리 메서드 패턴

CS 스터디 14주차  팩토리 메서드 패턴 팩토리 메서드 패턴(Factory Method Pattern) 팩토리 메서드 패턴(Factory Method Pattern)은 객체지향 디자인 패턴 중 하나로, 객체 생성의 책임을 팩토리 메서드로 추상화하여 객체 생성의 유연성을 제공하는 패턴이다. 객체 생성 코드를 클라이언트 코드에서 분리하여 객체 생성 과정에서 발생할 수 있는 변경에 쉽게 대처할 수 있도록 해준다. 객체를 생성하기 위한 인터페이스를 정의하고 실제 객체 생성은 서브클래스에서 담당하게 하는 패턴으로 클라이언트 코드와 객체 생성 코드를 분리하고 객체 생성 방식을 변경해도 클라이언트 코드에 영향을 미치지 않게 한다.팩토리 메서드 패턴의 사용방법1. 추상 클래스(인터페이스)정의 생성될 객체들의 공통 인..

[CS STUDY INTERVIEW] 14주차 - 템플릿 메서드 패턴

CS 스터디 14주차  템플릿 메서드 패턴 템플릿 메서드 패턴(Template Method Pattern) 템플릿 메서드 패턴(Template Method Pattern)은 객체지향 소프트웨어 설계 패턴 중 하나이다. 상위 클래스에서 알고리즘의 골격을 정의하고,  알고리즘의 일부 단계를 하위 클래스에서 구현하도록 하는 패턴으로상위 클래스는 템플릿 메서드를 통해 알고리즘의 주요 단계를 정의하고, 하위 클래스는 이러한 단계를 구체적으로 구현한다. 프론트에서 주로 다루는 타임리프 같은 기능이라고 생각하면 된다.타임리프는 HTML 파일에서 동적으로 데이터를 바인딩하고, 템플릿 상속 등의 기능으로 재사용 가능한 웹페이지를 설계한다.템플릿 메서드 패턴과 이런 개념이 유사한 방식으로 설계되고 사용된다는 점을 대입해서..

[Django] 파이썬 버전 바꾸고 가상환경으로 프로젝트 세팅하기(venv)

개발감자 3개월차. 3개월 간 어미새 선임님이 세팅해준 프로젝트 받아서 본분을 다한 아기새 통감자. 회사가 바빠지면서 내가 스스로 세팅해야하는 일이 생겨서 처음으로 세팅해 본 장고+파이썬 프로젝트! 일단 내 컴퓨터의 기본 파이썬 버전은 3.7이고 프로젝트에서 사용 할 파이썬 버전은 3.8.5이다. 깃에서 레포지토리 생성하고 클론해서 프로젝트 받아오면 기본 버전에 충실한 인텔리제이를 볼 수 있음 암튼 프로젝트 1분컷 세팅을 설명없이 나열해볼까한다.1.  Github에서 Repository를 생성 초딩도 만들 수 있는 New.직관적인 깃허브! 2. 프로젝트를 넣어놓을 폴더 또는 배경화면에서 Git Bash 실행 후 클론git clone 레포지토리 주소 꼭 Git Bash가 아니더라도 그냥 IDE에서 가져와도..

[CS STUDY INTERVIEW] 13주차 - 어댑터 패턴

CS 스터디 13주차  어댑터 패턴 어느새 첫 목표였던 JAVA 관련 스터디가 모두 끝나고 개발을 하면서 필수적으로 공부해야하는 패턴관련하여 새로운 스터디가 시작되었다. 어댑터 패턴(Adapter Pattern)어댑터 패턴(Adapter Pattern)은 소프트웨어 설계 패턴 중 하나로, 기존 클래스의 인터페이스를 다른 인터페이스로 변환하여 서로 호환되지 않는 인터페이스를 가진 클래스들이 함께 동작할 수 있게 만드는 패턴이다.어댑터 패턴은 주로 기존 코드의 재사용을 목적으로 하며, 특히 시스템을 새롭게 설계하거나 기존 시스템에 새로운 기능을 추가할 때 유용하다. 어댑터 패턴은 두 개의 주요 요소로 구성되어 있는데, 타겟과 어댑터 그리고 어댑티가 있다. 1. 타겟 인터페이스(Target Interface)..

[CS STUDY INTERVIEW] 12주차 - Stream API

CS 스터디 12주차  Stream APIJAVA StreamJava 8버전 이상부터는 Stream API를 지원하기 시작했다.Stream을 통해 Java에서도 람다를 사용한 함수형 프로그래밍이 가능해졌고 이 부분은 기존의 Collection과 Stream은 데이터 계산 시점에서 차이가 난다. 그럼 Collection이란 정확히 뭐길래? Stream 또 뭐길래? 두가지가 데이터 계산 시점의 차이가 존재한다고 하는걸까. Collection Collection은 모든 값을 메모리에 저장하는 자료구조로 데이터를 추가하기 전에 모든 계산이 완료되어 있어야만 한다.외부 반복을 통해 사용자가 직접 반복 작업을 거쳐 요소를 가져올 수 있으며 예를 들어 for-each 문을 사용할 수 있다.Stream Stream은 ..

[Django] 장고 게시판 구현하기 - ckeditor5 적용하는 방법

대부분의 게시판을 구현하다보면 에디터 기능을 추가하게 되는데세상에는 다양한 에디터들이 많다. 대표적인 스마트에디터, summernote 등등등등...처음엔 나도 스마트에디터로 적용하는 방법을 찾아 헤매다녔는데 디자인이 그닥. 구리다.(사실 별 느낌 없었으나 선임님이 별로지않냐길래..ㅋ 듣고보니 그런거같음) 되게 다양하게 적용(?)하는 방법이 있는 것 같긴한데...... 너무 헷갈리고 장단점도 있는 것 같아서 정리해본다. 우선 CKEditor는 콘텐츠를 웹 페이지나 온라인 애플리케이션에 직접 작성할 수 있게 하는 위지위그 리치 텍스트 에디터이다.자바스크립트로 작성되어 있고 오픈 소스로 제공하는 것도 상용 라이선스를 제공하고 있어서무료로 사용이 가능하다.  CKEditor5는 Classic, Inline, ..