분류 전체보기
-
[C#] 크로스 스레드 작업이 잘못되었습니다. 오류 해결하기프로그래밍/C# + Unity 2023. 11. 29. 12:58
문제 상황C#으로 멀티 스레드 프로그래밍을 하다보면, 컨트롤이 자신이 만들어진 스레드가 아닌 스레드에서 액세스하는 경우에 아래와 같은 메시지를 출력한다. 이럴 때는 Invoke함수를 사용하여 컨트롤이 자신이 만들어진 스레드 아닌 스레드에서의 함수 호출을 위임한다. 소스 코드아래의 텍스트박스의 텍스트를 바꾸는 예제이다.private void InvokeAccess(TextBox textBox, string data) { if (textBox.InvokeRequired) { textBox.Invoke((MethodInvoker) delegate { textBox.Text = data; }); } else { textBox.Text = data;..
-
[Ubuntu, Cloudflared] Cloudflared로 Ngrok처럼 Tunneling하기백엔드/Linux(Ubuntu) 2023. 9. 18. 13:11
CloudflareCloudflare는 사이트를 운영할 때 WAF(Web Application Firewall; 웹 어플리케이션 방화벽), CDN(Content Delivery Network; Content Distribution Network), DDoS(Distributed Denial of Service attack; 분산 서비스 거부 공격), 서버의 원본 IP 숨기기 등의 중요한 기능을 무료로 제공한다. 이제는 Cloudflared(Cloudflare Zero Access, 구 Cloudflare Argo Tunnel)를 통해 Ngrok처럼 포트포워딩 없이 Private에서 개발하고 있는 환경을 Public으로 Tunneling할 수 있다. https://developers.cloudf..
-
[PHP] 파일 업로드 하기프로그래밍/Web(CSS + HTML + JS + PHP ) 2023. 9. 15. 14:46
소스 코드 php로 여러가지를 개발하다 보면, 사용자가 파일을 업로드 해야 할 상황이 있다. 아래는 php8 에서 사진 파일을 업로드하는 예제이다. index.html upload.php // 업로드 디렉토리를 설정합니다. $uploadDir = "uploads/"; // 업로드 디렉토리 경로 $maxFileSize = 5 * 1024 * 1024; // 5MB // 업로드된 파일의 정보를 가져옵니다. $fileName = $_FILES["fileToUpload"]["name"]; $fileTmpName = $_FILES["fileToUpload"]["tmp_name"]; $fileSize = $_FILES["fileToUpload"]["size"]; // 파일 확장자를 체크하고 허용되는 확장자를 지정합..
-
인간 관계에서 오는 중독일상/심리학 2023. 9. 12. 15:14
중독적인 인간 관계는 정신적, 감정적으로 무언가에 지나치게 의존하고, 그 의존성으로 인해 심리적으로 부정적인 영향을 받는 상황이다. 중독적인 인간 관계 인관 관계에서 오는 중독은 다양한 형태로 나타날 수 있으나, 크게 상대방에 대한 과도한 의존성과 감정적 의존을 보이는 애정 중독과 한 사람이 다른 사람의 감정, 행동, 문제 해결을 지나치게 관여하고, 상대방의 요구를 우선시하는 의존 관계(Codependency) 중독으로 나눌 수 있다. 중독적인 인간 관계가 가지는 특징 중독적인 관계에서 있는 사람은 종종 자신의 가치나 감정을 무시하고 상대방의 요구나 감정을 우선시하는 자아부정, 상대방이 없으면 자신을 완전하지 못하다고 느끼는 과도한 의존성, 분노와 감정 폭발 그리고 화해와 다시 의존으로 이어지는 싸움이 ..
-
[Minecraft] Forge와 Optifine 같이 사용하기게임/마인크래프트 2023. 9. 12. 14:12
1. Forge 설치하기 Minecraft Forge는 아래의 링크에서 다운로드 받을 수 있다. https://files.minecraftforge.net/net/minecraftforge/forge/ Minecraft Forge downloads Downloads for Minecraft Forge for Minecraft 1.20.1 Recommended: 47.1.0 Latest: 47.1.46 files.minecraftforge.net 다운로드 받은 후 Java로 실행하면 다음과 같은 창이 표시된다. Java가 설치되어 있지 않은 경우 더보기 윈도우 + R 입력 cmd 입력 후 엔터 cmd가 나오면 아래의 명령어 입력 cd C:\Program Files (x86)\Minecraft Launche..
-
[Minecraft, Ubuntu] Forge로 마크 모드 서버 열기게임/마인크래프트 2023. 9. 4. 09:48
알림 마인크래프트 서버를 여는 방법은 Realms이나 Bukkit, Spigot 등등이 있다. 하지만 모드 서버를 열려면 Forge로 서버를 열어야 한다. 서버를 열 때 보통 무료인 리눅스를 사용한다. ※ 본 게시글은 Ubuntu 22.04 LTS 버전을 기준으로 작성되었습니다. 1. Java 설치하기 apt-get update apt-get upgrade apt-get install openjdk-17-jdk 2. Forge 설치하기 Forge는 아래의 홈페이지에서 다운로드 받을 수 있다. https://files.minecraftforge.net/net/minecraftforge/forge/ Minecraft Forge downloads Downloads for Minecraft Forge for ..
-
[HustOJ] Online Judge System 구축하기유틸리티/HustOJ 2023. 8. 23. 13:01
HustOJ HustOJ는 전세계에서 흔히 사용하는 Online Judge System의 한 종류이다. 한국에서도 여러 대학, 중고등학교에서 수행평가나 프로그래밍 학습 교구로 많이 사용하고 있다. 다만, 현재 구글에 올라온 구축 방법들이 상당히 오래전 방법이라 최신 방법을 포스팅하고자 한다. ※ Ubuntu 22.04 LTS jammy를 기준으로 작성함. 1. HustOJ 다운로드 후 설치하기 설치 방법은 예전과 다르게 많이 간편화되어 아래의 명령어 두줄이면 자동으로 설치를 시작한다. 다만, Ubuntu 운영체제만 지원하며, WSL 및 도커로 구축한 Ubuntu는 지원되지 않고 듀얼 코어 CPU와 2G RAM 이상의 사양을 요구한다. wget http://dl.hustoj.com/install.sh su..
-
[HustOJ] 아이디에 '-'가 포함된 경우 사용자 정보 불러오지 못하는 오류 해결하기유틸리티/HustOJ 2023. 8. 18. 08:31
HustOJ에서 사용자 ID에 '-'가 포함된 경우에는 No such User! 라는 메시지를 출력하며, 사용자의 정보를 불러올 수 없는 오류가 있다. 이는 사용자 ID가 올바른지 검사하는 로직에서 사용자 ID의 범위를 a ~ z, A ~ Z, 0 ~ 9, _ 로 제한하고 있기 때문이다. 따라서 해당 로직을 수정하면 해결된다. 1. HustOJ가 설치된 경로에서 src/web/include 경로로 이동한다. cd ../../ cd /home/judge/src/web/include/ 2. my_func.inc.php를 열어 해당 로직을 아래와 같이 값을 수정한다. function is_valid_user_name($user_name){ $len=strlen($user_name); for ($i=0;$i='..