#prim

질문 1
해시태그 없이 키워드만 일치하는 질문은 개수에 포함되지 않아요.

한 달 전 · @SoftyChoco 님의 새로운 답변

게시글 이미지 업로드를 구현하는데 궁금한 점이 있습니다.

velog를 참고하여 Spring + Vue를 이용하여 마크 다운 기반 게시글을 구현하고 있습니다.. 글을 쓰는 도중에 이미지를 올리면 s3에서 url를 반환하여, 이것을 통째로 Post 테이블 Content 필드에 저장하여 순서를 보장하는 식으로 진행하고 있습니다. 로직 흐름은 이렇습니다. 1. 사용자가 이미지를 올린다면, 클라이언트에서 글쓰기 버튼을 눌렀을 때 미리 만들어 놓은 UUID와 이미지를 서버로 보낸다. 2. 서버에서는 s3객체에 임시 저장 여부를 확인하는 isTemp를 태그를 넣어서 서버를 걸쳐서 S3에 쏜다. 3. S3에서 객체를 찾아서 key값과 클라이언트에서 보낸 uuid를 Image 테이블에 저장해서 Post와 간접적으로 연관 관계를 맺는다. 4. 글쓰기를 누른다면 내용과 UUID를 보내서 UUID를 Post의 primary key로 사용하고, UUID 기반으로 Image 테이블에서 key들을 갖고 와서 S3 객체의 isTemp 태그를 false로 바꾼다. 4-1 . 뒤로 가기나 임시 저장을 눌렀을 때는 isTemp를 true로 설정하고 저장한다. 5. 30일이 지날 때마다, Post에 있는 isTemp를 통해 임시 여부를 확인하여 임시 저장된 글을 삭제하고, S3에서는 수명 주기를 설정하여 태그를 기반으로 true인 이미지들을 삭제한다. 객체를 삭제하는 이유는 불필요한 데이터가 공간을 차지하는 것이 별로라고 판단했습니다. UUID는 글을 다 쓰기도 전에 서버로 쏘기 때문에, 어떤 게시글에서 쓰였는지 확인하기 위해서 사용했습니다. 성능이나 용량 면에서 안 좋다고 하지만, 이는 데이터를 넣어 놓고 조회를 하여 성능을 확인하였고 현재 프로젝트 크기를 생각했을 때 접목해도 상관없을 것 같아 넣었습니다. 하지만 이런 식으로 진행하니, 만약 사용자가 중간에 이미지 링크를 삭제한다면? 이라는 시나리오를 생각했을 때 이를 대처할 방도가 떠오르지 않습니다. 다른 분들은 어떤 식으로 처리했는지, 제가 너무 어렵게 생각하고 짜는지 궁금합니다.

개발자

#spring-boot

#s3

#게시글

답변 1

댓글 0

조회 51

일 년 전 · Jake 님의 답변 업데이트

[Flutter] theme: TemeData(primarySwatch: Colors.blue,), 관한 질문

초보 Flutter 입니다. theme: TemeData( PrimarySwatch: Colors.blue,), 이 코드가 전체적인 테마를 파란색으로 한다고 이해했는데 Appbar 부분 색상이 안보이고 제목만 보입니다. 따로 Appbar 배경색을 지정해도 되지만 왜 안되는지 궁금합니다.

개발자

#flutter

답변 1

댓글 0

조회 249

일 년 전 · 김도열 님의 새로운 댓글

nysql에서 외래키 참조

syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[CONSTRAINT fk_name] FOREIGN KEY(name) REFERENCES uesr_into(name) ON UPD' at line 5 CREATE TABLE a_check( id MEDIUMINT AUTO_INCREMENT PRIMARY KEY, name MEDIUMTEXT not null, age MEDIUMINT not null, [CONSTRAINT fk_name] FOREIGN KEY(name) REFERENCES uesr_into(name) ON UPDATA CASCADE ); 무슨 에러에요? 데이터가 있어야 한다는 걸까요?

개발자

#mysql

답변 1

댓글 1

보충이 필요해요 2

조회 56

일 년 전 · 김병수 님의 답변 업데이트

mysql에서의 외래키

CREATE TABLE a_check( id INT INTEGER AUTO_INCREMEnT PRIMART KEY, name MEDIUMBLO not null, age MEDIUMINT not null [CONSTRAINT CASCADE] FOREIGN KEY(name) REFERENCES uesr_into(name) ON UPDATA ) 여기에다가 age 의 외래키를 더 추가할건데 추가할 수있나요?

개발자

#mysql

답변 1

댓글 0

보충이 필요해요 1

조회 84

일 년 전 · 김도열 님의 새로운 답변

mysql에서 값을 제한할 수 있나요

CREATE TABLE uesr_into( id SMALLINT AUTO_INCREMENT PRIMARY KEY, name MEDIUMTEXT NOT NULL, sex ENUM('M' ,'F') NOT NULL, job MEDIUMTEXT age MEDIUMINT NOT NULL if(age>20 AND age<100, NOT NULL, '입소가 불가능 합니다.') ); if문에서 값을 못게 할 수 없나요?

개발자

#mysql

답변 1

댓글 0

조회 69

2년 전 · 장성호 님의 새로운 답변

mysql 관련오류

0 8 09:46:09 create table week( name varchar(30) not null,-- 일정 이름 start_time time default '10:00:00',-- 시작 시간 end_time time default '16:00:00',-- 끝나는 시간 number tinyint auto_increment primary key, check (start_time<end_time) ) Error Code: 1050. Table 'week' already exists 0.000 sec

개발자

#mysql

답변 1

댓글 0

조회 134

2년 전 · 익명 님의 질문

mysql 오류가 있어요?

create table week( name varchar(30) not null,-- 일정 이름 start_time time default '10:00:00',-- 시작 시간 end_time time default '16:00:00',-- 끝나는 시간 number tinyint auto_increment primary key check (start_time<end_time) 0 7 09:43:20 create table week( Error Code: 3813. Column check constraint 'week_chk_1' references other column. 0.000 sec

개발자

#mysql

답변 0

댓글 0

보충이 필요해요 1

조회 74

2년 전 · 커리어리 AI 봇 님의 새로운 답변

모던 자바스크립트 Deep Dive 변수 관련해서 질문드립니다.

안녕하세요. 혼자서 독학 하던 중에 내용이 이해가 되지 않는 부분이 있어서 질문 드립니다. 모던 자바스크립트 Deep Dive 책에서 변수 선언 및 값의 할당 부분을 공부하고 있는데 책의 내용과 제가 검색해본 내용에 혼동이 생기는 부분이 있습니다. 책에서는 “ 변수에 값을 할당할 때는 이전 값 undefined가 저장되어 있던 메모리 공간을 지우고 그 메모리 공간에 할당 값 80을 새롭게 저장하는 것이 아니라 새로운 메모리 공간을 확보하고 그곳에 할당 값 80을 저장한다는 점에 주의하자 ” 라는 구문과 함께 아래 그림 내용과 다음과 같은 코드가 설명으로 나와 있습니다. 그런데 제가 더 찾아본 내용으로는 primitive type위 경우에는 값이 변경되어도 동일한 메모리 주소를 같는 것으로 알고 있는데 아래 그림은 메모리 주소가 변경되는 것 처럼 표현이 되어있습니다. 제가 혹시 놓치고 있는 부분이 있는 것일까요??

개발자

#javascript

#변수

답변 2

댓글 1

추천해요 1

조회 121

2년 전 · 연양갱 님의 답변 업데이트

sql에서 primary키를 varchar로 설정해도 되나요?

sql에서 컬럼을 primary 키로 설정할 때 varchar로 설정해도 되나요? Foreign 키로 연결할 거라서요!!

개발자

#sql

#primary-key

#varchar

#foreign-key

답변 1

댓글 0

조회 162

2년 전 · 김재성 님의 새로운 답변

primary key 중복 데이터를 어떻게 처리하는게 좋을까요?

안녕하세요, 양이 많은 자료를 for 반복문으로 정리해서 테이블에 넣으려고 합니다. 그런데 이 테이블의 컬럼이 프라이머리키라서 중복값이 들어가면 에러가 떠요 ㅠㅠ 그래서 중복을 제거하려고 하는데 제거할 때 두 개 컬럼을 합쳐서 primary key로 지정하는 게 좋을지 아니면 코드로 중복체크 하는 게 좋을지 고민이 됩니다.. 사실 fetchall로 데이터 가져온 다음에 중복값이 있으면 continue 처리해도 되긴 하는데, 제가 원하는 방향이 for 반복문 안에서 sqlite 에러를 가져와서 continue 처리하는 것이라서요!

개발자

#sql

#primary-key

#duplicate-key-error

답변 1

댓글 0

조회 269

2년 전 · 커리어리 AI 봇 님의 새로운 답변

개발자 선생님들 도와주세요..

안녕하세요 초보개발자입니다 지금 구글로 코드 복붙하며 게시판 수정중인데 아예 똑같이 복붙 하였는데 저는 왜 이런 식으로 나올까요 도와주세요 .. ㅠㅠ 프로젝트 발표가 코앞인데.. 1번째사진은 작성자의 사진이고 2번째 사진이 제 출력 화면입니다... 코드는 댓글에 적어두겠습니다..도와주세요.. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <!--부트스트랩은 어떤device로 접속하더라도 해상도에 맞게 알아서 설정되는 탬플릿이다. --> <meta name="viewport" content="width=device-width" , inital-scale="1"> <!--스타일시트를 참조, 주소는 css안에 부트스트랩.css--> <link rel="stylesheet" href="css/bootstrap.css"> <title>JSP 게시판 웹 사이트</title> </head> <body> <!-- 네비게이션 구현 네비게이션이라는 것은 하나의 웹사이트의 전반적인 구성을 보여주는 역할 --> <nav class="navbar navbar-default"> <!-- header부분을 먼저 구현해 주는데 홈페이지의 로고같은것을 담는 영역이라고 할 수 있다. --> <div class="navbar-header"> <!-- <1>웹사이트 외형 상의 제일 좌측 버튼을 생성해준다. data-target= 타겟명을 지정해주고--> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-exmaple="false"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <!-- 여긴 웹페이지의 로고 글자를 지정해준다. 클릭 시 main.jsp로 이동하게 해주는게 국룰 --> <a class="navbar-brand" href="main.jsp">JSP 게시판 웹 사이트</a> </div> <!-- 여기서 <1>에만든 버튼 내부의 데이터 타겟과 div id가 일치해야한다. --> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <!-- div 내부에 ul은 하나의 어떠한 리스트를 보여줄때 사용 --> <ul class="nav navbar-nav"> <!-- 리스트 내부에 li로 원소를 구현 메인으로 이동하게만들고--> <li><a href="main.jsp">메인</a></li> <!-- 게시판으로 이동하게 만든다. --> <li><a href="bbs.jsp">게시판</a></li> </ul> <!-- 리스트 하나 더 생성 웹페이지 화면에서 우측 부분--> <ul class="nav navbar-nav navbar-right"> <!-- 원소를 하나 구현해 준다. 네비게이션 우측 슬라이드메뉴 구현 --> <li class="dropdown"> <!-- 안에 a태그를 하나 삽입한다. href="#"은 링크없음을 표시한다. --> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">접속하기<span class="caret"></span></a> <!--접속하기 아래에 드랍다운메뉴 생성 --> <ul class="dropdown-menu"> <!-- li class="active" 현재 선택된 홈페이지를 의미 --> <li><a href="login.jsp">로그인</a></li> <li class="active"><a href="join.jsp">회원가입</a></li> </ul> </li> </ul> </div> <!-- 네비게이션 바 구성 끝 --> </nav> <!-- 하나의 컨테이너처럼 감싸주는 역할 --> <div class="container"> <div class="col-lg-4"></div> <!-- 회원가입 폼은 위의 양식은 일치하며, 이제 내부 폼만 바꿔준다. --> <div class="col-lg-4"> <div class="jumbotron" style="padding-top: 20px;"> <!-- 양식 삽입 post는 회원가입이나 로그인같이 어떠한 정보값을 숨기면서 보내는 메소드/ 로그인 Action페이지로 정보를보내겠다--> <form method="post" action="joinAction.jsp"> <!-- 회원 가입에 맞게 위에 액션은 joinAction페이지로 밑에 제목은 회원가입 화면으로 변경 --> <h3 style="text-align: center;">회원가입 화면</h3> <div class="form-group"> <!-- 회원 가입에서도 userID or userPassword는 동일하게 가져가고, 회원가입에 필요한 나머지 속성추가 --> <input type="text" class="form-control" placeholder="아이디" name="userID" maxlength="20"> </div> <div class="form-group"> <input type="password" class="form-control" placeholder="비밀번호" name="userPassword" maxlength="20"> </div> <!-- userName 추가 --> <div class="form-group"> <input type="text" class="form-control" placeholder="이름" name="userName" maxlength="20"> </div> <!-- 성별 선택 추가 --> <div class="form-group" style="text-align: center;"> <!-- 버튼 공간을 따로 마련해준다.(남,녀) --> <div class="btn-group" data-toggle="buttons"> <!-- 선택이 된곳에 표시를 하는 active를 설정해준다. --> <label class="btn btn-primary active"> <input type="radio" name="userGender" autocomplete="off" value="남자" checked>남자 </label> <label class="btn btn-primary"> <input type="radio" name="userGender" autocomplete="off" value="여자" checked>여자 </label> </div> <!-- 성별 선택부분 완료 --> </div> <!-- email 작성부분 구현 --> <div class="form-group"> <!-- placeholder는 아무런 입력이 없을때 띄워주는 값 --> <input type="email" class="form-control" placeholder="이메일" name="userEmail" maxlength="20"> </div> <!-- 버튼 또한 회원가입으로 value변경 --> <input type="submit" class="btn btn-primary form-control" value="회원가입"> </form> </div> </div> <div class="col-lg-4"></div> </div> <!-- 애니메이션을 담당하게 될 자바스크립트 참조 --> <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> <!-- 특정홈페이지에서 제이쿼리 호출 --> <script src="js/bootstrap.js"></script> </body> </html>

개발자

#jsp

#java

답변 2

댓글 4

보충이 필요해요 3

조회 363

2년 전 · 커리어리 AI 봇 님의 새로운 답변

[mysql] 추가 정보를 저장하는 테이블에서도 고유한 id가 필요하나요?

<user table> id <- primary key email password <user_info table> id <- primary key user_id <- unique key name age address ... 이런 구조의 테이블을 작성하는데, user_info 테이블의 user_id값은 user 테이블의 id값을 참조합니다. 제 생각에는 user의 id값 자체가 고유한 값이기 때문에 user_info 테이블에서는 id값이 필요하지 않을 것 같다는 생각이 드는데, 보통 어떤 방법이 많이 사용되나요?

개발자

#mysql

#database

#rdb

답변 2

댓글 0

조회 209

2년 전 · 커리어리 AI 봇 님의 새로운 답변

Primary User와 Secondary User의 정확한 정의가 무엇인가요??

역기획에서 많이 봤는데 어떤 분은 이 앱을 주로 사용하는 유저와 두번째로 많이 사용하는 유저로 나누고 어떤 분은 플랫폼의 주된 수입원과 두번째 수입원으로 나누던데 어떤게 맞는건가요??

개발자

#프라이머리유저

#세컨더리유저

#역기획

#기획

답변 1

댓글 0

조회 184

3년 전 · 이수진 님의 새로운 답변

github 이메일 변경할 수 있나요?

github 이메일을 추가하고 그걸 primary로 사용할 수 있는 방법이 있을까요 ?

개발자

답변 1

댓글 0

추천해요 1

조회 259