수달의 IT 세상

교육으로 본 기능론과 갈등론 포스트 Teaser

교육으로 본 기능론과 갈등론

카테고리:

3 분 소요

교육학에서 기능론과 갈등론은 교육 제도와 그 역할을 사회에서 어떻게 기능하고, 어떤 목적을 달성하려 하며, 그 과정에서 발생하는 문제를 어떻게 해석하는지를 다룬다. 기능론의 관점에서 본 교육 기능론적 관점에서는 교육이 사회의 안정성과 지속성을 유지하는 데 중요한 역할을 한다. 사회화 교육은 사회의 규범, 가치, 문화를 다음 세대에 전달하는 중요한 수단이다. 이를 통해 사회 구성원들이 공통의 가치관과 규범을 공유한다. 사회 통합 교육은 다양한 배경을 가진 사람들이 공통의 정체성과 목표를 형성하도록 도와 사회 통합을 촉진한다. 예를 들어, 역사나 시민 교육을 통해 국가 정체성을 강화한다. 선발과 배치 교육은 사람들의 능력과 재능을 평가하고, 이를 기반으로 적합한 직업이나 사회적 위치에 배치하

[CI/CD] AWS가 아닌 환경에서 GitHub Actions로 자동 배포하기 포스트 Teaser

[CI/CD] AWS가 아닌 환경에서 GitHub Actions로 자동 배포하기

카테고리:

3 분 소요

CI/CD CI/CD(Continuous Integration and Continuous Delivery/Deployment)는 소프트웨어 개발에서 코드 변경을 자동으로 빌드, 테스트, 배포하는 프로세스를 의미한다. CI/CD는 개발 속도를 높이고, 품질을 개선하며, 지속적으로 사용자에게 끊김 없는 서비스를 제공하는 데 중요한 역할을 한다. 보통은 CI/CD 도구로 Jenkins와 Github, AWS CodePipeline, AWS CodeDeploy를 사용한다. 대부분의 블로그는 AWS CodeDeploy를 위주로 CI/CD를 설명한다. 본 포스팅에서는 AWS가 아닌 VPS 환경(Azure, Vultr 등)에서 Github Actions를 이용하여 자동 배포하는 방법을 설명하고자 한다. ※ 본 게시

[Kotlin] 싱글톤 객체와 싱글톤 패턴 포스트 Teaser

[Kotlin] 싱글톤 객체와 싱글톤 패턴

카테고리:

4 분 소요

싱글톤(Singleton) 싱글톤은 프로그램 내에서 하나의 인스턴스만 존재하며, 어느 시점에서 호출하든 동일한 인스턴스를 참조하는 것을 말한다. 전통적으로 객체 지향 프로그래밍에서 사용되는 디자인 패턴 중 하나이다. 싱글톤 객체와 싱글톤 패턴 싱글톤 객체 Kotlin에서는 싱글톤 객체를 쉽게 정의할 수 있도록 object 키워드를 제공한다. object 키워드는 클래스를 정의할 때 사용되며, 해당 클래스를 하나의 인스턴스만 가지도록 보장한다. 이를 통해 아래와 같이 싱글톤 객체를 간단하게 생성할 수 있다. object SingletonObject { var counter: Int = 0 fun printCounter() { println("Counter:

[C#] Thread abort is not supported on this platform. 오류 해결하기. 포스트 Teaser

[C#] Thread abort is not supported on this platform. 오류 해결하기.

카테고리:

3 분 소요

문제 상황 .NET Core 3.1 버전까지의 C#에서는 Thread를 강제종료할 때 아래와 같이 Abort 함수를 사용한다. static void Main(string[] args) { Thread thread = new Thread(foo) { IsBackground = true }; thread.Start(); Thread.Sleep(5000); thread.Abort(); } static void foo() { int i = 0; while (true) { Console.WriteLine(i); i++; Thread.Sleep(1000); } } 하지만, .NET 5 버전 이

[Kotlin, Netty] Echo Server 구현하기 포스트 Teaser

[Kotlin, Netty] Echo Server 구현하기

카테고리:

4 분 소요

Netty Netty는 비동기 이벤트 기반 네트워크 애플리케이션 프레임워크이다. Java 기반의 NIO(Non-blocking I/O)를 바탕으로 서버 및 클라이언트와 같은 네트워크 애플리케이션을 빠르고 쉽게 개발할 수 있다. 이전에 자주 사용했던 MINA와 Netty는 NIO를 사용한다는 점에선 같지만, 많은 부분에서 다르다. Netty는 성능과 확장성을 우선시한 모듈식 설계와 더 큰 커뮤니티를 바탕으로 개발자가 네트워크 운영을 위한 프로그램을 작성할 수 있다. 또한, Netty의 아키텍처와 스레딩 모델은 처리량이 많은 서버 애플리케이션을 위한 탁월한 성능을 제공한다. https://stackshare.io/stackups/mina-vs-netty EchoServer 예제 MainServer

개발자를 위한 커리어 관리 핸드북 포스트 Teaser

개발자를 위한 커리어 관리 핸드북

카테고리:

4 분 소요

엉킨 코드를 리팩토링하는 것보다 더 어려운 인간관계와 이직 걱정까지 어떻게 풀어 나가야 할까 걱정인 개발자들에게 1:1 멘토링하듯 알려주는 책 필요한 선수 지식 요구 학력 : 관련학과 대졸 이상(실무에 관련된 내용) 예제 코드 : X 난이도 : ★☆☆☆☆ 책의 구성 중 마음에 들었던 주제 3장 이직의 신호 새로운 직장에 대해 고민할 때는 그 직장으로 옮기고 싶은지 여부가 아니라 무엇을 하고 싶은지, 하고 싶은 일을 하러 떠나는지 알아야 한다고 설명한다. 5장 면접에서 긴장감 이겨내기 면접에서 긴장감의 큰 원인은 평가받고 있다고 생각하기 때문이다. 먼저 크고 모호한 질문의 경우에는 질문의 포인트를 명확히 질문하고 답변이 확실해지기 전까지 입을 열지 않는 질문을 이해해야 한다.

[아이폰] google의 시스템이 컴퓨터 네트워크에서 비정상적인 트래픽을 감지했습니다. 해결하기 포스트 Teaser

[아이폰] google의 시스템이 컴퓨터 네트워크에서 비정상적인 트래픽을 감지했습니다. 해결하기

카테고리:

3 분 소요

문제 상황 아이폰 내 사파리 어플로 구글 검색을 하려고 하면 간헐적으로 아래와 같은 메시지를 출력하며 “로봇이 아닙니다.”를 체크하게 하는 reCAPTCHA를 수행하라고 표시된다. 문제 원인 이는 아이폰의 비공개 릴레이 때문에 발생하는 간헐적으로 문제이다. 아이폰의 비공개 릴레이에 대해 공식 홈페이지에서는 아래와 같이 설명하고 있다. iCloud 비공개 릴레이는 사용자가 Safari에서 웹 검색을 할 때 Apple을 비롯한 어느 한 당사자도 사용자의 신원과 사용자가 방문 중인 사이트를 확인할 수 없게 하여 개인 정보를 보호하도록 설계되었습니다. 비공개 릴레이가 활성화되면 사용자의 요청이 두 개의 별도 보안 인터넷 릴레이를 통해 전송됩니다. iCloud 비공개 릴레이를 자세히 살펴보면 아래

[Unity] can only be called from the main thread. 문제 해결하기 포스트 Teaser

[Unity] can only be called from the main thread. 문제 해결하기

카테고리:

2 분 소요

Unity 엔진의 동작 원리 Unity 엔진은 많은 블로그와 Unity 공식 문서에서 아래의 그림과 같이 Main Thread와 Render Thread, Worker Thread들로 구성되어 있다고 설명한다. 위와 같은 구조로 인해서 UI 요소를 변경하는 함수들은 메인 스레드 위에서만 작동한다. 이로 인해서 멀티 스레드 환경에서 메인 스레드가 아닌 다른 스레드가 UI 요소를 변경하면 아래와 같은 메시지를 출력한다. [문제가 된 함수] can only be called from the main thread. [문제가 된 함수]는 메인 스레드에서만 호출할 수 있습니다. 문제 해결 위와 같은 문제를 C#에서는 Invoke를 사용하여 메인 스레드로 호출을 위임하지만, Unity에서는 해당