Backend

    [Spring] 스프링 프로젝트에서 빨간줄 뜰때 해결법

    아무이유 없이 갑자기 스프링에서 코드에 빨간줄이 뜰때가 있다. 뭐야..설정이랑 클래스 파일명, 코드도 맞게 했고...import 경로 설정도 제대로 해줬는데... 틀린게 없는데!! 이유를 알 수 없는 빨간줄... 이럴때 해결법은 간단하다. [프로젝트 클린] Project > Clean > 프로젝트명 선택 아주 깔끔히 빨간줄이 사라진다..😅

    [Spring] JDBC 기반 트랜잭션(Transaction) 관리자 -DataSourceTransactionManager

    📌트랜잭션(Transaction) 트랜잭션(Transaction)이란 하나의 작업을 수행하기 위해 데이터베이스에서 논리적인 작업의 단위 또는 한번에 모두 수행되어야 하는 일련의 연산을 말한다. 1. 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변화 과정의 작업 단위이다. 2. 하나의 트랜잭션은 commit 과 rollback 명령어를 사용한다. - 커밋(commit) : 변경 사항을 DB에 정상적으로 반영한다, 반영 완료 - 롤백(rollback) : 작업 실패 시 트랜잭션 실행 전 상태로 되돌린다, 작업 취소 📌 트랜잭션의 특징 (ACID) 1. Atomicity(원자성) : 트랜잭션 구성하는 연산들은 모두 정상 실행되거나 모두 실행되지 않아야 함 2. Consistency(일관..

    [mybatis 에러] org.apache.ibatis.binding.BindingException 에러 원인

    Spring 프레임워크로 개발시 mybatis 오류인 org.apache.ibatis.binding.BindingException 에러가 발생하였다. mybatis단의 xml 파일이 뭐 잘 못 된게 없는데 왜 에러가 날까..하다가 보이는가.. 태그 안 뒤에 공백이 포함되어 발생한 구문 에러였다...! 공백 지우고 server 돌리니까 정상...하하.. 눈 크게 뜨고 봐야함!! ✔ mybatis의 BindingException 에러는 보통 다음과 같은 원인으로 분류된다고 한다. 1. Mapping되는 xml 파일이 공백이나 오탈자가 있는 지 확인 2. mapper와 mapping xml파일의 id값이 일치하는 지 확인

    django 31. WYSIWYG 의 소개 및 적용

    프로젝트 목표 Medium Editor 를 사용하여 WYSIWYG를 통해 게시글 작성할 수 있도록 만들어본다. WYSIWYG 게시판 기능 중 하나로 What You See Is What You Get(보는 대로 글이 써진다.) 의 약자이다. 텍스트를 변환 할 수 있는 기능을 제공해준다. Medium Editor github: https://github.com/yabwe/medium-editor GitHub - yabwe/medium-editor: Medium.com WYSIWYG editor clone. Uses contenteditable API to implement a rich text solution. Medium.com WYSIWYG editor clone. Uses contenteditable..

    django 30. Field Lookup을 사용한 구독 페이지 구현

    이번 프로젝트의 목표 장고에서 제공하는 DB Query를 위한 기능인 Field Lookup을 사용하여 사용자가 구독한 게시판의 게시글만 볼 수 있는 구독페이지 만듦 Field Lookups 장고가 제공하는 함수이며 복잡한 쿼리를 구현해주는 함수 SQL 구문에서 WHERE 절에 해당되는 기능 예시] (project__in=...) : 언더바 __ 는 sql에서 SELECT ... WHERE project IN (...); 와 같다. https://docs.djangoproject.com/en/3.0/ref/models/querysets/#id4 QuerySet API reference | Django documentation | Django Django The web framework for perfec..

    django 29. RedirectView을 통한 SubscribeApp시작

    RedirectView 기반의 구독 시스템 SubscribeApp 만들기 SubscribeApp 생성 python manage.py startapp subscribeapp setting.py INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'bootstrap4', 'accountapp', 'profileapp', 'articleapp', 'commentapp', 'projectapp', 'subscribeapp', ] 생성한 Subs..

    django 28. MultipleObjectMixin을 통한 ProjectApp 마무리

    추가 list 정리 projectapp은 혼자 만들어보고 진행 Project와 Article을 연결하는 작업 MultipleObjectMixin 을 이용해서 ProjectApp 의 Detail 페이지를 마무리 같은 방식으로 AccountApp 의 디테일 페이지도 수정 projectapp/models.py from django.contrib.auth.models import User from django.db import models from projectapp.models import Project class Article(models.Model): writer = models.ForeignKey(User, on_delete=models.SET_NULL, related_name='article', nul..

    django 27. 모바일 디버깅, 반응형 레이아웃

    Mobile Debugging 반응형 디자인 모바일로 테스트 python manage.py runserver 0.0.0.0:8080 모바일 접근시 host 허가되지 않음 error Settings.py ALLOWED_HOSTS = ['*'] 모든 host에 대해 접근 허용함으로 수정 모바일 최적화 설정 추가 head.html 모바일 최적화 및 파이어폭스 설정 셋팅 list.html 모바일 반응형 css 추가 base.css @media screen and (max-width:500px) { html { font-size: 13px; } } 모바일 반응형 css 설정 추가 스크린 사이즈가 500px 아래로 작아지면 해당 css 내용 적용 magicgrid.js let magicGrid = new Magic..