전체 글

사실 백엔드 공부를 하면서 인프라 단에서만 보안과 해킹 방어를 조심했지만, 어플리케이션 단에서의 보안은 크게 알아본 적은 없었던 것 같다. 프레임워크에서 기본적인 설정은 전부 되어 있어였지만, 알고 있지만 안하는 것이 아니라 아예 모르는 것은 문제가 될 수 있을 것 같다. 최근 참여한 모 기업의 채용 필기 테스트에서 이와 관련된 문제가 나왔었고, 최근 진행 중인 프로젝트에서 서버 리드가 UUID/ULID를 DB PK로 사용하는 것을 보고 찾아보던 중 이와 연관되어 한 번 정리해보고자 한다. SQL Injection 워낙 유명해 다들 한 번쯤은 들어봤을텐데, 임의의 SQL문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 조작하는 행위이다. 다양한 공격법이 있지만, 가장 대표적인 Error..
‍💻 알고리즘 공부 노트 📚 문제 아카이브 note link DP DP 전형적인 유형 (표 형태) 동물원 DP 전형적인 유형 : 캐싱이 없으면 고려해야할 경우의 수가 너무 많은 문제 (표 형태) 금광 DP 전형적인 유형 : 입력에 따라 변하는 조건때문에 그리디는 안되고, 탐색은 시간초과날 경우 팩스 DP 냄새가 옅어도 파이썬에선 잘 캐치해야한다. 파이프 이동1 DP 문제처럼 보여도 그리디로 풀 수 있는 문제는? 택배 DP 문제처럼 보여도 메모리가 모자라다면 타개법을 찾아야하는 문제는? 신기한 소수 Two Pointer 투포인터를 써야한다는 것을 눈치채야하는 문제 Longest Strike 투포인터로 부분합 구하기 부분합 PS 원소가 두 개인 튜플 탐색 뱀 정렬 조건 설정하기, 조건 설정 방법별 소요 시간..
문제 https://www.acmicpc.net/problem/2653 2653번: 안정된 집단 주어진 입력이 안정되지 않은 집단의 경우는 첫줄에 빈칸 없이 0을 출력한다. 안정된 집단의 경우는 첫줄에 서로 좋아하는 소집단의 수를 빈칸 없이 출력하고, 그 다음 줄부터는 각 줄마다 각 소 www.acmicpc.net 해설 문제 설명과 조건이 복잡하고 길게 설명되어 있는데, 핵심은 간단하다. 1. 사람 간의 우호도가 다르면 불안정한 집단이다. 이 부분을 간접적으로 표현하고 있는데, 서로 좋아하는 사람끼리 그룹을 나누면 안정된 집단을 만들 수 있는데 서로의 우호도가 다르면 그룹을 나눌 수가 없다. 2. DFS로 탐색하면서 그룹화하고 그 결과를 저장한다. 한 번의 DFS 탐색에서 찾아지는 사람은 같은 그룹이다...
문제 https://www.acmicpc.net/problem/14215 14215번: 세 막대 첫째 줄에 a, b, c (1 ≤ a, b, c ≤ 100)가 주어진다. www.acmicpc.net 해설 아주 쉬운 문제지만, 삼각형의 세 변의 길이 조건을 알아야만 풀 수 있다. 문제에 가끔 나오니, 외워두자. 가장 긴 변은 나머지 두 변의 합보다 작아야 한다. 풀이 Memory: 30840kb Time: 68ms import sys; readline = sys.stdin.readline lines = list(map(int, readline().split())) lines.sort() cond = lines[0] + lines[1] if cond
1. 기획 전남대학교 개발동아리, 에코노베이션은 관리부가 다양한 자재들을 보유 및 관리, 대여를 해주고 있다. 22년도부터 관리부원이 되면서 느낀점은 마음대로 사용하는 여타 동아리와 다르게 엑셀을 통해 관리함으로서 최소한의 장치가 있기는 하지만 개선의 여지가 있다는 것이였다. 파악한 문제점은 다음과 같다. 대여/반납에 관리부의 수작업이 요구됨 (기존 자재 대여/반납 프로세스는 다음과 같다.) 슬랙을 통해 관리부에게 대여/반납을 요청 관리부가 자재 관리 엑셀에 기록 자재를 동방에서 대여/반납 현재의 상태만 엑셀에 기록하기 때문에 분실 혹은 파손되는 경우 역추적이 불가능 자재를 조회하기 위해서는 직접 동방에서 찾거나 다른 부원에게 물어봐야 함 우리는 개발 동아리가 아니던가, 디지털화해서 문제점을 스마트하게 ..
공고 전남대학교 소중단(소프트웨어중심대학사업)에서 K-SW 스퀘어 겨울학기 모집을 시작됬다. 소중단에서 중요하게 개최하는 프로그램 중에 참여해서 손해인 경우는 없지만, 이 프로그램의 경우 마음에 걸리는 점이 있었다. 프로그램에 참여하는 동안 기숙사를 빼야하고, 룸메이트와 방을 다시 잡기위해 기숙사 동호실 신청 광클을 또 해야한다 미국의 물가가 비싼만큼, 자부담 개인 생활비가 얼마나 들지 걱정된다 먼 나라 미국에서 100% 영어 환경인 프로그램을 참여한다는 진입장벽이 있다. 그래도 2번 외에 가장 큰 비용이 드는 부분을 소중단이 지원해주고, 3번은 최근에 여자친구와 영어로 대화하면서 자신이 조금 붙은 상태였다. 1번은 어찌할 방법은 없어서, 가벼운 마음으로 신청해서 붙으면 가고 말면 말자는 마음이였다. 복..
Install $ sudo apt update && sudo apt-get -y upgrade $ sudo apt-get install -y mariadb-server $ sudo mysql Configuration Environment setting $ sudo mysql mysql> use mysql mysql> SHOW VARIABLES LIKE 'c%'; (utf8 OR utf8mb4) mysql> SELECT now(); (KST 이여야함) mysql> exit; $ sudo timedatectl set-timezone 'Asia/Seoul' $ date $ sudo service mysql restart User setting $ sudo mysql mysql> use mysql; mysql..
· Csharp
이 글에서는 시작프로그램에 프로그램을 등록하기 위해서 레지스트리에 직접 데이터를 넣는 방식을 이용함. 1 2 3 4 5 6 private RegistryKey runRegKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); runRegKey.SetValue("ProgramName", "Path"); // 등록 runRegKey.DeleteValue("ProgramName", false); // 등록 삭제 runRegKey.GetValue("ProgramName") // 등록 여부 반환 Colored by Color Scripter cs runRegKey: "SOFTWARE\Micros..
· Csharp
실행경로 혹은 현재경로 얻기위해서는 1. Application.StartupPath 현재 프로그램이 존재하는 경로를 반환. 실행위치와 상관없이 파일의 위치를 반환함. Application.ExcutablePath와 동일함. - WPF 프로젝트일 경우에는 참조의 혼동이 발생함 Application.StartupPath는 Winform의 코드임으로 WPF 프로젝트의 경우 다음과 같이 System.Windows.Forms.Application.StartupPath Application앞에 추가하여 명시해야함. 2. System.Environment.CurrentDirectory 현재 작업이 실행되는 경로를 반환함. System.IO.Directory.GetCurrentDirectory( ) 와 동일. - Wi..
· Csharp
ShowInTaskBar 프로퍼티 사용 - XAML 1 2 3 4 5 6 7 Colored by Color Scripter cs - Code Behind 1 this.ShowInTaskBar = false; cs 해당 윈도우안의 코드에서 설정하는 법 1 2 3 4 Window myWindow = new Window(); myWindow.ShowInTaskbar = false; myWindow.Show(); cs 윈도우 생성전에 설정하는 법
sckwon770
sckwon770