stddb
close
프로필 사진

stddb

github: @denev6

  • 분류 전체보기 (213)
    • TIL (15)
    • WIL (9)
    • 별 잡다 (26)
    • 문제풀이 (71)
    • 구현하기 (32)
      • Unity (2)
    • 컴퓨터 이론 (41)
      • CS:APP (21)
    • with Nest (4)
  • 홈
  • 태그
  • 방명록
퍼즐위치사가 3 클론 기록 #2 : MVP 만들기

퍼즐위치사가 3 클론 기록 #2 : MVP 만들기

다행히 기초적인 MVP는 하루에 만들 수 있었다. 근데 뭔가뭔가 조악해서 이런저런 개선은 알아봐야함. 변환식을 적용하면 스테이지에서의 동작은 항상 변환식을 거치도록 해야하는데, 이 부분을 감안하지 않고 테스트를 적용했다가 잠시 헤매게 되었다.2025.09.25 - [구현하기/Unity] - 퍼즐위치사가 3 클론 기록 #1 : 서론 퍼즐위치사가 3 클론 기록 #1 : 서론기회가 있어서 퍼즐위치사가를 클론하게 되었는데, 내용 구조 상 오리지널 게임 퍼즐보불이랑 유사한 점이 많았다. 이제 단순히 만드는 것도 만드는건데, 만들기 전에 코드를 사전에 어느정도hyeonistic.tistory.com기존 글에서 이어진다. MVP 정의하기발사한 후 기존 버블이 멈출 때 까지 발사를 진행 할 수 없다.발사하면 "벽" 에..

  • format_list_bulleted 구현하기/Unity
  • · 2025. 9. 26.
퍼즐위치사가 3 클론 기록 #1 : 서론

퍼즐위치사가 3 클론 기록 #1 : 서론

기회가 있어서 퍼즐위치사가를 클론하게 되었는데, 내용 구조 상 오리지널 게임 퍼즐보불이랑 유사한 점이 많았다. 이제 단순히 만드는 것도 만드는건데, 만들기 전에 코드를 사전에 어느정도 생각하고 접근하면 좋겠다고 생각했다. 이번에 만들기까지의 생각이 워낙 많았기에 풀어보고자 한다.https://play.google.com/store/apps/details?id=com.king.bubblewitch3&pcampaignid=web_share 버블위치사가3 - Google Play 앱버블위치사가3 - 완전히 새로운 버블 슈팅 게임!play.google.com 요구사항 정의하기게임이 퍼즐보블에서 보다 다채로운 내용들이 추가된 편이다. 나는 스테이지에 있는 내용들을 제거하는 것 뿐만 아니라 조건과 특수한 상황이 어..

  • format_list_bulleted 구현하기/Unity
  • · 2025. 9. 25.

유니버설 해싱

무언가를 고를 때 랜덤으로 고르는게 차라리 최악은 피한다라는 재밌는 논함이 있어서 글을 쓰게 되었다. 우리는 해쉬 테이블을 이용 한다면 해쉬 함수를 당연하게 고려해야하는데, 이 유니버설 해싱이 저점 성능으로 가진 않도록 할 수 있다고 한다. 해쉬 테이블을 만들 때 해쉬 함수 하나를 매핑해야하는데, 이것을 테이블마다 다르게 할당 시킨다.이렇게 하면 최악의 시간 복잡도를 피하면서 해쉬 함수 어뷰징을 피할 수 있다.나쁜 사용자들은 해쉬 함수의 내용을 알아낸다음 거기에 충돌을 계속 일으켜서 성능을 일부러 저하 시킬 수 있었다. 제로 이런 사건이 일어난 이후 PHP에서의 해쉬 테이블을 이용 할 때는 유니버설 해싱 개념의 해쉬 함수를 제공한다.파이썬도 Dictionary 자료 구조에 랜덤 시드 개념을 적용해오고 있..

  • format_list_bulleted 컴퓨터 이론
  • · 2025. 9. 11.

Input Cash to get Cache [CSAPP Chap 6]

돈을 많이 쓰면 캐시 메모리를 많이 얻을 수 있다. 그냥 같잖은 라임을 쓴게 짜증난다면 내 의도대로 된거니까 너무 놀라지 마라. 이런걸 어디다간 풀어놓는게 내 다음 생각을 하는데 있어 걸림돌이 되지 않는다.지역성간 지역성 : 방금 접근한 데이터는 곧 다시 접근될 가능성이 높다."방금 사용된 것 위주"로 데이터를 캐시에 두는 것, 즉 최근에 사용된 데이터를 유지하는 전략을 활용한다. 방금 쓴 변수는 곧바로 다시 쓸 확률이 높을 것이니까!!공간 지역성 : 방금 접근한 데이터의 근처에 있는 데이터가 곧 접근될 가능성이 높다.만약 프로그램이 배열[0]에 접근했다면, 공간 지역성에 따라 곧 배열[1], 배열[2]... 에 접근할 확률이 매우 높다. 캐시 메모리컴퓨터의 저장장치는 하나가 아니라, 속도, 용량, 가격..

  • format_list_bulleted 컴퓨터 이론/CS:APP
  • · 2025. 9. 1.

컴퓨터를 덜 느리게 하는 방패 [CSAPP Chap 5]

앞의 글에서 다루었던 문제들은 명시적인 처리 내지 맥락에 맞는 작성으로 해결 할 수 있다. 컴파일러들이 이렇게 보수적으로 접근하는 것을 고려하면 TypeScript는 어쩌면 컴파일러 친절에 특화된 언어가 아닐까라는 생각이 든다. 한두줄 차이의 다른 최적화 기법을 논해보자.코드 이동 (Code Motion)가장 기본적이고 강력한 최적화 기법 중 하나이다. 루프 안에서 반복적으로 수행되지만 결과가 변하지 않는 계산을 찾아 루프 밖으로 빼내는 것이 주된 내용이다.for (int i = 0; i 예를 들어 아래와 같은 코드는 매번 같은 결과를 낼 x y를 반복문 밖으로 빼둠으로써 약간의 시간을 벌 수 있다.// 2차원 배열의 모든 요소에 (x * y)를 곱하는 함수void scale_matrix(int *mat..

  • format_list_bulleted 컴퓨터 이론/CS:APP
  • · 2025. 9. 1.

컴퓨터를 느리게 하는 창 [CSAPP Chap 5]

여기서 논하는 내용들은 의외로 꼼수라고 느껴질정도로 별거 아닌 기법이지만 그런 플로우들이 많이 사용 될 때 아낄 수 있는 cost는 무시하지 못한다고 생각한다. 우리는 그런 최적화를 유발하는 일이 뭐가 있는지부터 알아본다.우리가 아무리 멋진 최적화 기법을 알고 있어도, 컴파일러가 왜 코드를 마음대로 최적화하지 못하는지 이해하는 것이 중요하다. 보통은 두 가지 원인이 있다.메모리 앨리어싱 (memory aliasing)함수 호출 (function calls) 메모리 앨리어싱 | Memory Aliasing메모리 앨리어싱은 서로 다른 이름(포인터)이 사실은 동일한 메모리 위치를 가리키는 상황을 말한다. 앨리어스(alias)가 '별명'이나 '가명'이라는 뜻인 걸 생각하면 이름에서 유추하기가 괜찮다.컴파일러는 ..

  • format_list_bulleted 컴퓨터 이론/CS:APP
  • · 2025. 9. 1.
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 36
  • navigate_next
공지사항
  • WHO I AM
전체 카테고리
  • 분류 전체보기 (213)
    • TIL (15)
    • WIL (9)
    • 별 잡다 (26)
    • 문제풀이 (71)
    • 구현하기 (32)
      • Unity (2)
    • 컴퓨터 이론 (41)
      • CS:APP (21)
    • with Nest (4)
인기 글
전체 방문자
오늘
어제
Copyright © pwerty 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바