5줄 요약

  • CORS(Cross-Origin Resource Sharing)는 웹 브라우저에서 다른 도메인의 리소스에 접근할 수 있도록 허용하는 보안 메커니즘입니다.
  • 이 기능은 웹 애플리케이션 간의 상호작용을 증가시키고, 웹 서비스를 개선하는 데 도움이 됩니다.
  • 그러나 이를 통해 발생할 수 있는 보안 위협으로 인해, 브라우저는 기본적으로 동일 출처 정책(Same-Origin Policy)을 따릅니다.
  • 이 정책은 웹 페이지가 다른 도메인의 리소스에 접근하는 것을 제한합니다.
  • 서버는 응답에 'Access-Control-Allow-Origin'과 같은 특정 CORS 헤더를 포함시켜 클라이언트에게 리소스에 대한 접근을 허용하며 이러한 제한을 완화시킬 수 있습니다.

추가 내용

경험

블로그 이미지

RIsN

,

5줄 요약

  • GDPR은 General Data Protection Regulation의 약자로, 2018년 5월 25일에 유럽 연합에서 시행되었습니다.
  • GDPR은 EU 내에서 모든 개인 정보를 보호하는 법적 요구 사항을 설정합니다.
  • 개인 정보 보호와 관련된 모든 측면을 다루며, 개인 정보 수집 및 처리, 개인 정보 보호, 개인 정보 관리 및 보호 관리, 보안 등을 다룹니다.
  • GDPR는 모든 EU 회원국에서 적용되며, EU 이외의 기업들에게도 영향을 미칩니다.
  • GDPR에 위반되면 벌금이 부과될 수 있으며, 벌금은 상당히 높을 수 있습니다.

추가 내용

경험

블로그 이미지

RIsN

,

Mono를 계속 설치하라고 나오고, 설치해도  처리가 안될 때

  • C# Extension의 버전을 v1.25.0로 변경해볼 것
    • v1.25.1 ~ v1.25.4까지 문제 발생하는 경우 있음

블로그 이미지

RIsN

,
목적: 좀 더 제대로 영어의 의미를 알고 명상을 하자

원문

더보기

Just Breathe

 

Watching the breath is not something we need to reserve for our meditation alone, it’s with us wherever we go, an anchor for our focus, a place to rest our mind, ever present until it’s not.

So as long as we’re alive, our breath is with us.

It’s an object of constant focus that we can come back to again and again.

And of course it’s a useful obstacle within our meditation, and that helps develop some familiarity of resting with the breath, but it’s also there throughout our day, and very often in coming back to the breath, we reestablish that quality of mind, that feeling of being more present.

So as much as possible, whether we’re engaged in strong physical exercise or whether we’re simply sitting down relaxing, every now and again just checking in with the breath, noticing what it’s doing and noticing how it feels, not thinking about it but simply being present with the sensation.

So just taking a moment to get comfortable, eyes open, a nice soft focus.

And when you’re ready, just starting with a big, deep breath, breathing in through the nose and out through the mouth.

And with the next out breath, just gently closing the eyes.

In closing the eyes, just becoming more aware of the different senses, feeling the weight of the body pressing down, the contact between the body and the seat or the floor beneath you, feeling the weight of the hands and the arms just resting on the legs or in your lap.

Just taking a moment to notice the different sounds around you, just allowing the sounds to come and go.

And as you sit there, inevitably the mind will wander, but just bringing the attention back to the body, and just starting to notice how the body feels right now, and more particularly, how the breath and the body feel, so that rising and falling sensation, noticing where in the body you feel that movement.

Remember, every time the mind wanders off, realizing it’s wandered and just coming back to the movement of the breath.

And then slowly becoming more aware again of the body, that feeling of contact, of weight, becoming more aware of the space around you, the sounds, any smells, just taking a moment, and then when you feel ready, just gently opening the eyes again.

So long as we’re alive, our breath is with us.

번역

그냥 호흡하기

 

호흡을 지켜보는 것은 우리의 명상만을 위한 것이 아닙니다. 호흡은 삶이 끝날 때까지 어디에서도 우리와 함께 있으며, 집중력을 다잡을 수 있는 닻이 되기도, 마음을 쉬게 할 공간이 되기도 합니다.

그러므로 우리가 살아있는 한, 호흡은 우리와 함께 합니다.

호흡은 우리가 언제든 다시 되돌아올 수 있는 고정된 집중의 대상입니다.

물론 호흡은 우리 명상에서 유용한 장애물이며, 숨과 함께 쉬어가는 데 익숙해지게 도와주기도 하지만, 기본적으로 호흡은 하루 종일 일상에서 함께 있으며, 숨을 돌아보면서, 우리는 더욱 현재에 있는 마음의 상태를 재확인할 수도 있습니다.

그러니 우리는 가능한 한, 강한 신체 운동에 참여하거나 혹은 단순히 앉아서 휴식을 취하더라도 가끔 호흡을 확인하고, 숨이 어떻게 움직이고 느껴지는지 알아차려야 하며, 호흡에 대해 생각하는 것이 아니라 감각적으로 함께 존재해야 합니다.

 

그러니 잠시 편안한 상태를 찾고, 눈을 뜨고 부드럽게 초점을 맞추세요.

그리고 준비가 되면, 크고 깊게 숨을 들이쉬세요. 코로 들이마시고 입으로 내쉬세요.

그리고 다음 호흡으로 눈을 부드럽게 감으세요.

눈을 감으면서 다른 감각들에 더욱 인식하게 되며, 몸의 무게를 느끼고, 몸과 좌석 또는 바닥 사이의 접촉을 느끼세요. 손과 팔의 무게를 쉬면서 다리나 무릎 위에서 느끼세요.

주변의 다양한 소리를 인식하는 시간을 가져보세요. 소리가 들리고 사라지게 냅두세요.

그리고 앉아 있으면, 어쩔 수 없이 마음이 헤매게 될 것입니다. 하지만 주의를 몸으로 되돌리고, 지금 몸이 어떻게 느껴지는지 알아차리기 시작하세요. 더 구체적으로는, 호흡과 몸이 어떻게 느껴지는지, 그 상승하고 하강하는 감각을 느끼며, 몸에서 어디에서 그 움직임을 느끼는지 알아차리세요.

기억하세요, 마음이 떠도는 것을 인식할 때마다 되돌아와 숨의 움직임에 집중하십시오.

그리고 천천히 몸에 대한 인식을 되찾아 가시고, 접촉감, 무게감을 느끼며, 주변 공간에 대해 인식을 높이세요. 소리, 냄새를 인식하며, 잠시 시간을 가져보세요. 그리고 준비가 되면 천천히 눈을 다시 떠보세요.

 

우리가 살아있는 한, 호흡은 우리와 함께 합니다.

블로그 이미지

RIsN

,

5줄 요약

  • 멀티 레포는 여러 개의 저장소를 사용하는 방식입니다.
  • 각각의 프로젝트마다 별도의 저장소를 생성하고, 서로 다른 저장소에서 개발된 코드를 필요한 경우 외부 라이브러리와 같이 가져와서 사용합니다.
  • 이 방식은 각각의 프로젝트를 독립적으로 관리할 수 있어서 빌드와 배포가 더욱 쉽고 빠릅니다.
  • 그러나 프로젝트 간의 코드 공유가 어려울 수 있고, 코드의 재사용성이 떨어질 수 있습니다.

추가 내용

경험

블로그 이미지

RIsN

,

5줄 요약

  • 모노 레포는 하나의 대규모 저장소에 모든 코드를 저장하는 방식입니다.
  • 즉, 모든 코드와 프로젝트는 하나의 저장소 안에 있으며, 하나의 버전 관리를 공유합니다.
  • 이 방식은 코드의 공유 및 재사용이 쉽고, 여러 프로젝트 간의 종속성 관리도 쉽게 할 수 있습니다.
  • 또한, 프로젝트를 관리하는데 필요한 도구 및 프로세스도 간소화됩니다.
  • 그러나 저장소의 크기가 커질수록 코드 관리 및 빌드 시간 등의 부담이 증가할 수 있습니다.

추가 내용

경험

블로그 이미지

RIsN

,

[Unity] Attribute란?

Unity 2023. 3. 25. 13:46
  • Unity에서 Attribute는 특정한 기능이나 정보를 클래스, 프로퍼티, 필드, 메소드 등 코드의 요소에 부여하는 데 사용되는 특별한 타입의 메타데이터입니다. 
  • Attribute는 C#에서 제공되는 기능으로, 주로 코드를 작성할 때 추가적인 정보를 제공하거나 Unity의 인스펙터 창에 표시되는 방식을 변경하는 데 사용됩니다.
  • Unity에서는 다양한 Attribute들이 있으며, 이는 코드의 가독성을 높이고 작성자의 의도를 명확하게 전달할 수 있습니다.
  • 주요 Unity Attribute의 예시는 다음과 같습니다.

예시

SerializeField: 일반적으로 private 변수는 Unity 인스펙터에 표시되지 않지만, 이 Attribute를 사용하면 해당 변수를 인스펙터 창에서 수정할 수 있게 됩니다.

[SerializeField] private int myValue;

Tooltip: 변수에 마우스를 올렸을 때 툴팁으로 표시될 정보를 설정할 수 있습니다. 이를 통해 변수의 사용 목적을 명확하게 전달할 수 있습니다.

[Tooltip("This value represents the player's speed.")] public float speed;

Range: 인스펙터에서 변수 값의 범위를 지정할 수 있습니다. 이를 통해 변수 값의 최소값과 최대값을 제한할 수 있습니다.

[Range(0, 100)] public int health;

Header: 인스펙터에서 변수들을 그룹화하거나 구분할 때 사용할 수 있는 헤더를 추가합니다.

[Header("Player Settings")] public string playerName;

RequireComponent: 이 Attribute를 사용하면, 해당 컴포넌트와 함께 다른 특정 컴포넌트가 필요한 경우 자동으로 추가됩니다.

[RequireComponent(typeof(Rigidbody))] public class PlayerController : MonoBehaviour { ... }

블로그 이미지

RIsN

,

[Unity] System.Obsolete란?

Unity 2023. 3. 25. 13:38
  • System.Obsolete는 사용되지 않는 메서드 또는 클래스를 표시하는 데 사용되는 어트리뷰트(Attribute)입니다.
  • 이 어트리뷰트는 더 이상 사용되지 않는 메서드 또는 클래스에 적용됩니다.
  • Obsolete 어트리뷰트를 사용하여 더 이상 사용되지 않는 메서드 또는 클래스를 표시하면, Unity의 에디터 또는 콘솔에서 경고 메시지가 표시됩니다.
  • 이를 통해 사용자가 해당 메서드 또는 클래스를 사용하지 않도록 유도하고, 대신 새로운 API를 사용하도록 안내할 수 있습니다.

블로그 이미지

RIsN

,

5줄 요약

  • 레지스터 최적화는 CPU 성능을 향상시키기 위한 중요한 작업입니다.
  • 레지스터 최적화를 위해 사용 빈도가 높은 변수나 함수를 레지스터에 저장하여 CPU가 빠르게 접근할 수 있도록 하는 것이 중요합니다.
  • 레지스터의 개수는 제한적이므로, 사용 빈도가 낮은 변수나 함수는 스택 메모리 등 다른 저장소에 저장하여 관리해야 합니다.
  • 컴파일러나 어셈블러에서 제공하는 최적화 옵션을 활용하거나, 코드를 직접 수정하여 레지스터 최적화를 할 수 있습니다.

추가 내용

경험

블로그 이미지

RIsN

,

5줄 요약

  • 캐시 미스는 CPU가 요청한 데이터가 캐시 메모리에 없어서, 메인 메모리에서 데이터를 가져와야 하는 상황입니다.
  • 캐시 미스가 발생하면, CPU가 메인 메모리에서 데이터를 가져와 캐시 메모리에 저장하고, 다시 해당 데이터에 접근합니다.
  • 캐시 미스는 전체 시스템의 성능을 저하시킬 수 있기 때문에, 캐시 메모리의 크기와 교체 알고리즘 등을 최적화하여 최소화하는 것이 중요합니다.
  • 프로그래머가 데이터의 지역성을 고려하여 프로그램을 작성하면, 데이터를 캐시 메모리에 더 잘 활용하여 성능을 향상시킬 수 있습니다.

추가 내용

경험

블로그 이미지

RIsN

,