오늘 한 일
사진을 올리면 사진이 회전되어서 업로드되었다.
원인은 사진의 Exif 정보중 orientation의 값 떄문
load-image-orientation.js 라이브러리를 사용하여 이를 수정 하였다.
//loadImage(file,callback,{options})
loadImage(
e.target.files[0],
function(img) {
document.body.appendChild(img);
},
{ maxWidth: 600 }
);
의 형식으로 사용하면 되고 orientation 옵션을 사용할 경우
canvas를 이용하여 rotate 시킨 뒤 blob으로 변환시키고 다시 new File로 재변환 하는 방식이다.
이 때 file.type에 값이 들어가지 않아서 new file()의 옵션에 추가로 원본의 type을 입력해주었다.
//file은 blob 형식이다.
작년 11월쯤 조사했었던 Rocket.chat 관련 개발요청이 스믈스믈 올라왔다.
대충 했던 것들을 정리해보면...
1. 로컬서버에서 구동 테스트
2. 개발 서버에 rocket서버 올리기(외부 접속이 안되서 ftp로 설치 파일을 하나하나 찾아 옮겨서 설치)
3. mongodb 사용법 겉핥기
4. Rocket.chat에서 지원해주는 view쪽 css 깔짝
5. 구조화된 메시지 보내기 요청이 있어서 attatchment 추가해서 메시지 전송 테스트
6. mongodb에 사용자가 보낸 메시지 암호화 저장 복호화 출력 테스트(실제로 보안 이라는 관점에서 암호화가 의미 있는 행동인지는 모르겠지만..)
7. websocket으로 Rocket.chat 서버 접속 후 ping-pong 관리 및 제공해주는 api로 로그인, 방 개설, 방 입장, 방 구독(sub, 알림용?), 메시지 보내기, 받기, 로그아웃(접속 종료)
단순 채팅이라면 어찌어찌 할 수 있을 것같은데 그들의 요구사항에서 쳐낼거 쳐내고 받을거 받고 할 실력이 없음을 알기에... 이미 1차 개발에서 으어어어어 하다가 개.같이 되는걸 알기에 그닥 하고싶지는 않았다.
하지만 기억에서 거의 잊혀졌던 linux 명령어와 Rocket.chat 관련 api를 작성했던 걸 보면서 따로 정리해보려고 한다.
아 그리고 그 때는 몰랐는데 Rocket.chat realtime api를 보니 api로 미리 데이터를 주고 받는 것을 이미 나는 알고 있었다... 이걸 좀 더 일찍 깨달았더라면 1차때 그 고생을 안했을텐데...
세상은 아는만큼 보인다고 다시 보니 그냥 c&v 했던 것들이 좀 보이는 것도 같고, js 파일 뜯어서 볼때 import문이나 export문 등등 es6 문법이 생소했는데 react 공부하다 보니 구조가 보이는 것 같기도 하고... 아닌것 같기도 하고...
'개.발일상' 카테고리의 다른 글
5월의 끝 그리 고 진짜 끝 (0) | 2020.05.30 |
---|---|
3월 보고 (0) | 2020.03.20 |
실력은 안키우고 키보드 하나 더 장만 (0) | 2020.03.10 |
(레오폴드 750R PD 저소음 적축으로다가)키보드 장만 (0) | 2020.02.15 |
2019년 10월 부터의 초보 개발자 일지(1) (0) | 2020.01.23 |