JSON.stringify () 기능

JSON.stringify를 간단히 JSON문자열로 변환할때만 사용할 때 썼었는데, 몰랐던 기능들이 있습니다.

 

 

1. 찾고자하는 키 값을 두번째 인수에 넣어 전달하면 원하는 키의 배열만 리턴받을 수 있다.

{"id":"0001","type":"donut","name":"Cake","ppu":0.55,"batters":{"batter":[{"id":"1001","type":"Regular"},{"id":"1002","type":"Chocolate"},{"id":"1003","type":"Blueberry"},{"id":"1004","type":"Devil’s Food"}]},"topping":[{"id":"5001","type":"None"},{"id":"5002","type":"Glazed"},{"id":"5005","type":"Sugar"},{"id":"5007","type":"Powdered Sugar"},{"id":"5006","type":"Chocolate with Sprinkles"},{"id":"5003","type":"Chocolate"},{"id":"5004","type":"Maple"}]}

console.log(JSON.stringify(product,['name']);

// RESULT
{"name" : "Cake"}

 

 

2. 두번째 인수에 함수를 넣어 원하는 값을 리턴 받을 수 있다.

undefined일 경우에는 리턴되지 않는다.

const user = {
	"name" : "Prateek Singh",
	"age" : 26
}

JSON.stringfy(user, (key, value) => {     
	if(typeof value == 'string'){
        return undefined;
    }
    return value;
});

// RESULT
{ "age": 26}

 

 

3. 세번째 인수가 '숫자'일 경우 문자열의 간격을 제어할 수 있다.

4. 세번째 인수가 '문자'일 경우 공백 대신 문자를 삽입할 수 있다.

 

 

5. toJson

키값에 따라 객체를 바로 리턴하지 않고 메서드를 통해 원하는 키 값을 합쳐서 반환할 수 있다.

const user = {
	firstName : "Prateek",
    lastName : "Singh",
    age : 26,
    toJSON() {
    	return {
        	fullName: `${this.firstName} + ${this.lastName}`
        };
	}
}

console.log(JSON.stringify(user));

// RESULT
"{ "fullName" : "Prateek Singh"}"

 


원본, 코드 출처

https://medium.com/javascript-in-plain-english/5-secret-features-of-json-stringify-c699340f9f27

 

하루에 1000번 배포하는 조직되기

 

잦은 배포는 많은 비즈니스 충족을 뜻하고 사용자에게 더 많은 가치를 빠르게 전달할 수 있다는 것을 의미하며 
빠른 성장과 높은 가치를 인정받게될 수 있다.
실제로 유명한 스타트업, 테크 기업들은 하루 1000번 이상의 크고 작은 배포가 이루어지고 있다고한다.

 

gitflow

하나의 repository에서 메인테이너들이 동시에 작업할 경우 큰 장점이 있는 모델
총 5가지의 브랜치로 이루어져있다.
- master, release, develop, hotfixes, feature

 

흐름

- develop에서 feature 브랜치를 생성, feature에서 개발 -> develop에 병합
- develop에서 release 브랜치 생성, release에서 배포에 핃요한 문서 작업 혹은 버그 수정 등을 진행
- release 준비가 완료되면 release 브랜치를 master와 develop에 병합

 


잦은 배포에서 더이상 git-flow를 따를 필요가 없다.
브랜치를 생성하고 병합하고의 절차가 너무 많았기 떄문에 복잡한 프로세스를 줄일 필요가 있다고 생각했으며
여러명이 동시 작업 후 배포를 진행했을 경우 특정 기능에 장애가 나면 tag기반으로 롤백할 때 전체를 할 수 밖에 없는 상황이 있었기에 배포 정책을 수정할 필요를 느꼈다고한다.
따라서 최소한의 브랜치를 생성하여 작업을 하게되었다고하는데,
master만이 존재하며 작업 시 master에서 브랜치를 생성 (브랜치 네이밍은 명확히) 후 작업하고 master에 병합
(안전하지 않아보인다면 원본 글을 읽고오세요, 병합 전 절차들이 있습니다.)

 

- 병합할때는 squash and merge 방식을 사용한다고한다.

- 브랜치의 모든 커밋을 squash하여 하나의 커밋으로 만들고 이 브랜치를 병합한다.
- 병합을 요청하는 단위는 배포가능한 단위여야하고 작을 수록 좋다.

- git flow와 가장 큰 차이는 master에 병합될때마다 커밋들을 배포하지 않고 여러 커밋을 모아서 배포
  ㄴ 사이드이펙트나 커뮤니케이션의 비용문제로 빠르게 배포하는 것을 권장
  ㄴ 여러 기차가 정차해 있다가 출발하는 모양과 비슷하다고 해서 commit-Train based deployment라고 한다.

 

그 아래 배포 툴에관한 내용 잘 몰라서 읽고 넘어가자

 


결론은 ... 
하루에 1000번의 배포를 할 수 있는가?
모니터링 툴과 장애 대응 프로세스, 조직의 비즈니스 역량이 있어야 가능하며 판단할 수 있는 지표가 될 수 있다.

 


 

원본 글

https://blog.banksalad.com/tech/become-an-organization-that-deploys-1000-times-a-day/

개발자도 알면 좋은 UI 디자인

 

토이프로젝트에서 종종 개발욕구가 사라지는 경우가 있는데,

개발을 하면서 디자인에서 많은 시간을 쏟게되는 경우인 것 같습니다.

그럼에도 디자인이 똥망일때 진짜 개발욕구가 사라집니다..

세세하게 설명해주는 부분들을 개선할 수 있을 것 같아서 좋은 글이라고 생각합니다.

메모해뒀다가 바로 프로젝트에 적용해야겠습니다.

 

  • 목업, 와이어 프레임

  • 구체적인것은 뒤로 미뤄라

    • 먼저 빨리 만들어라

  • 컨셉을 정하라

    • 폰트

      • 클래식 serif

      • 통통 생동감 sans serif

      • 중립 sans serif

  • 일관된 UI

  • 디자인을 시스템화

    • 소모적인 고민들의 선택지를 제한하라

    • 테마 선별

      • 폰트 두께, 폰트 크기, 라인 높이, 색상 값, 마진, 패딩, 너비, 높이, 박스 쉐도우, 테두리 반경, 테두리 두께, 투명도, 아이콘 크기 등


참고
개발자도 알면 좋은 UI 디자인
https://joshua1988.github.io/web-development/design/ui-for-developers/
참고자료로 명시되어있는 사이트
https://refactoringui.com/book/

 

성착취 방지 기법 소개

 

  • 안전한 서비스 이용에 대한 사용자 가이드 마련
  • 사용자에게 업로드 기능이 있을 경우 신고 및 제재 조치 마련
    • 다운로드 방지 및 스크린 캡처 차단등을 제공
  • 공유 기능이 있을 경우 해시 값등을 활용해 공유되는 게시물에 대한 문제 대처 시스템 마련
  • 메시지, 통화, 영상통화, 대화등이 가능한 경우 즉각 대응할 수 있는 신고, 내용 저장등을 마련
  • 사용자 차단, 허용되지 않은 사용자로부터 수신 거부 설정 및 메세지 차단에 대한 시스템 마련
    • 보안 강화 (URL, .apk, .dmg등 확장자가 포함된 메세지 차단)
  • '비공개' 또는 공개 값을 '최소화'로하며 사용자가 직접 공개 범위를 설정하도록 제공
    • '전체공개'시 주의사항 명시

 

성착취관련해서 보안적으로 처리해야하는 부분에대해 쉽고 간략하게 설명해주는 유익한 글이었습니다.

저는 맥을 안써봐서 .dmg 확장자 파일에대해 처음 알게되었습니다.

맥 전용 프로그램 확장자이며 파일을 실행시키면 마운팅되고 안에 데이터들을 설치하는 파일이라고합니다.

쉽게 말하면 .exe 파일과 같은 압축된 패키지 파일입니다.

압축 패키지파일로 보안위협이 많기 때문에 주의해야합니다.

 

"가장 위험한 맥용 멀웨어 슐레이어, 최신 버전 등장해" 보안뉴스 바로가기

 

가장 위험한 맥용 멀웨어 슐레이어, 최신 버전 등장해

슐레이어 맥 OSX(Shlayer Mac OSX)라는 멀웨어의 새 변종이 등장했다. 이전 보다 한층 더 은밀해졌고, 현재 해커들 사이에서 이미 사용되고 있는 중이다. 특히 구글 검색 결과를 악용함으로써 사용자��

www.boannews.com

 


 

원본
https://teen-it.kr/for-service

 

+ Recent posts