Categories
Contents

유튜브 강연 채널 모음

세바시 강연 Sebasi Talk

구독자 : 161만명

더 좋은 세상을 위한 지식과 경험,

그리고 아이디어를 15분 강연 스토리로 나눈다

https://www.youtube.com/c/cbs15min/featured

KBS지식

구독자 : 23.6만명

세상의 모든 지식을 나눈다

https://www.youtube.com/c/KBS%EC%A7%80%EC%8B%9D/videos?view=0&sort=p&flow=grid

사피엔스 스튜디오

구독자 : 167만명

《책 읽어 드립니다》, 《어쩌다 어른》 제작진이 만든

대한민국 대표 지식 큐레이팅 채널

https://www.youtube.com/c/%EC%82%AC%ED%94%BC%EC%97%94%EC%8A%A4%EC%8A%A4%ED%8A%9C%EB%94%94%EC%98%A4/featured

차이나는 클라스

구독자 : 45만명

‘세상의 모든 질문에 답하다’

프리미엄 지식 콘텐츠 채널

https://www.youtube.com/c/JTBClecture/featured

스터디언

구독자 150만명

자기계발에 진심인 공부인들이 모인 곳

https://www.youtube.com/c/%EC%B2%B4%EC%9D%B8%EC%A7%80%EA%B7%B8%EB%9D%BC%EC%9A%B4%EB%93%9C/featured

카오스 사이언스

구독자 23.6만명

KAOS는 ‘과학.지식.나눔’을 추구하는 공익재단

카오스는 ‘기초과학’을 위한 채널이자,

과학자들의 채널, 여러분들의 채널을 지향

https://www.youtube.com/c/KAOSscience

Categories
미분류

단축키_서치 연습

워드프레스 연습중

Categories
Blender

Extrude 반복 작업

Extrude 반복 작업

Categories
Blender

단축키 모음_01

FILL 방법

01_단순 채우기 (면 또는 점 연결) ( 단축키 F )
02_적당히 가이드 자동설정해서 면 생성 ( 우클릭 + d )
03_연산을 알 수 없는 방식 ( 사용 안함) ( ALT + F )


01_New Face Edges ( 단축키 F )

02_Bridge Edge Loops ( 우클릭 + d )

03_Fill ( ALT + F )

Categories
AE

[익스프레션] 타이핑 자막

함수형 프로그래밍으로 구현한 타이핑 자막입니다.

let cCho = ["ㄱ", "ㄲ", "ㄴ", "ㄷ", "ㄸ", "ㄹ", "ㅁ", "ㅂ", "ㅃ", "ㅅ", "ㅆ", "ㅇ", "ㅈ", "ㅉ", "ㅊ", "ㅋ", "ㅌ", "ㅍ", "ㅎ"],
  cJung = ["ㅏ", "ㅐ", "ㅑ", "ㅒ", "ㅓ", "ㅔ", "ㅕ", "ㅖ", "ㅗ", "ㅘ", "ㅙ", "ㅚ", "ㅛ", "ㅜ", "ㅝ", "ㅞ", "ㅟ", "ㅠ", "ㅡ", "ㅢ", "ㅣ"],
  cJong = ["", "ㄱ", "ㄲ", "ㄳ", "ㄴ", "ㄵ", "ㄶ", "ㄷ", "ㄹ", "ㄺ", "ㄻ", "ㄼ", "ㄽ", "ㄾ", "ㄿ", "ㅀ", "ㅁ", "ㅂ", "ㅄ", "ㅅ", "ㅆ", "ㅇ", "ㅈ", "ㅊ", "ㅋ", "ㅌ", "ㅍ", "ㅎ"]

let toStringFromCharCode = (cho, jung, jong) =>
  String.fromCharCode(44032 + cho * 588 + jung * 28 + (jong || 0));

let seperateChar = (char) => {
  let cCode = char.charCodeAt() - 0xac00;
  let jong = cCode % 28;
  let jung = ((cCode - jong) / 28) % 21;
  let cho = ((cCode - jong) / 28 - jung) / 21;
  return []
    .concat(cCho[cho])
    .concat(toStringFromCharCode(cho, jung))
    .concat(cJong[jong] !== "" ? toStringFromCharCode(cho, jung, jong) : []);
};

let toKorChars = (char) => {
  let cCode = char.charCodeAt();
  return [].concat(
    (!cCode && []) ||
      (cCode === 32 && " ") ||
      ((cCode < 0xac00 || cCode > 0xd7a3) && char) ||
      seperateChar(char)
  );
};

let typing = (str) =>
  str
    .split("")
    .map((char) => toKorChars(char))
    .reduce(
      (pre, cur) =>
        pre.concat(
          cur.map((v) => (pre.length !== 0 ? pre[pre.length - 1] : "") + v)
        ),
      [""]
    );
let p = thisComp.layer("TIME").effect("Slider Control")("Slider");

let strList = typing(thisComp.layer("TEST").text.sourceText);
let strListIndex = Math.round(time*p)
thisLayer.text.sourceText=[strList[strList.length > strListIndex ? strListIndex : strList.length-1]]