본문 바로가기

분류 전체보기

(265)
악성코드와 한판 붙은 썰 -1 현 직장에서 작년 실제 겪은 일입니다 특정 기업명은 공개하지 않습니다 우리 회사는 작년 여름부터 가을까지 악성코드 공격을 당했다 우선 우리 회사는 BtoB 방식으로 특정 기능을 하는 모듈을 고객사에게 제공하고 고객사들은 그 모듈을 활용하여 앤드 유저들이 사용하는 프로그램을 제공하는 방식이다 어느 날 고객사로부터 연락을 받았다 '몇몇 고객들 문의가 와서 원격으로 확인했는데 우리 모듈이 정상적으로 동작하지 않는다' 해당 모듈은 안정성이 높으며 근래에 업데이트를 진행한 적도 없기에 윈도 쪽이나 외부적인 요인이겠거니 하고 확인해 본 결과 실제로 우리 모듈이 돌아가고 있지 않았다 (공격 방식과 분석했던방법 분석 결과 등은 추후 새 글에서 모두 소개하겠습니다) 우리 모듈을 공격하는 악성코드를 일반 유저들의 PC에 ..
HackerRank [Strings] Sherlock and the Valid String /알고리즘 해커랭크 문제 주소 : https://www.hackerrank.com/challenges/sherlock-and-valid-string/problem 난이도 : Medium 성공률 : 64.75% 문제 : 셜록 규칙에 맞는 유효한 문자열 찾기 1. 모든 문자가 동일한 개수여야 유효하다 2. 오직의 하나의 문자를 제거할 수 있다 풀이 : 코드 주석 참고 답안 import math import os import random import re import sys import collections def isValid(s): dic :dict = collections.Counter(s) #딕셔너리를 통하여 각 문자와 개수 산출 (a는2개 b는3개) dic2 : dict = collections.Counter(dic.v..
하도급 개발자의 눈물…"누구는 억대 연봉, 우리는 박봉에 철야" IT 대기업 개발자 연봉 인상 봇물에도 더 많은 인원 일하는 SI업계는 딴세상 하도급 중심 구조, 처우개선 목소리 높아져 www.mk.co.kr/news/it/view/2021/04/411860/ 하도급 개발자의 눈물…"누구는 억대 연봉, 우리는 박봉에 철야" IT 대기업 개발자 연봉 인상 봇물에도 더 많은 인원 일하는 SI업계는 딴세상 하도급 중심 구조, 처우개선 목소리 높아져 www.mk.co.kr
HackerRank [Strings] Sherlock and Anagrams /알고리즘 해커랭크 문제 주소 : www.hackerrank.com/challenges/sherlock-and-anagrams/problem 이도 : Medium 성공률 : 87.92% 문제 : 주어진 문자열에서 에너그램인 하위 문자열이 몇 쌍인지 구하시오 풀이 : 글자수를 늘려주며 하위 문자열을 비교 답안 #!/bin/python3 import math import os import random import re import sys # # Complete the 'sherlockAndAnagrams' function below. # # The function is expected to return an INTEGER. # The function accepts STRING s as parameter. # def sherlo..
delphi, lazarus 동작시간 계산 코드의 특정 부분의 동작 시간(실행시간)을 로그로 남기고 싶을 때 uses dateutils; //datetime 계산을 위한 함수 procedure workfunction; var LStartTime : TDateTime; //시작시간 LWorkTime : Int64; //동작시간 begin LStartTime := Now; // 시작시간 기록 for( 블라블라); LWorkTime := MilliSecondsBetween(Now,LStartTime); end; MilliSecondsBetween() 함수는 ms단위의 값으로 리턴을 주고 각 단위로 계산하는 함수들은 아래와 같다 Function YearsBetween(const ANow, AThen: TDateTime; AExact : Boolean =..
HackerRank [String] Caesar Cipher /알고리즘 해커랭크 문제주소 : https://www.hackerrank.com/challenges/caesar-cipher-1/problem 난이도 : Easy 성공률 : 86% 문제 : 문자열 s를 k만큼 쉬프트 시켜라, 특수문자 제외, z를 넘어가면 다시 a로 돌아온다 풀이 : 1. k 값이 100이하의 수 이므로 선처리로 26의 나머지값만 쉬프트 2. 대문자 아스키값+k 했을때 소문자 영역에 들어갈 수 있으므로 기존 문자가 대문자인지 소문자인지 확인하는 조건 추가 답안 #!/bin/python3 import math import os import random import re import sys # Complete the caesarCipher function below. def caesarCipher(s, k): ..
python postgreSQL 연결, select 파싱(psycopg2) 우선 파이썬에 postgreSQL 연결을 위한 psycopg2 설치 pip install psycopg2 DB 연결 및 Select 데이터 파싱 부분 import psycopg2 as pg2 from dataclasses import dataclass #파싱데이터 저장을 위한 데이터클래스(구조체 역할) @dataclass class site: title: str = '' link: str = '' description: str = '' #데이터 파싱 함수 def siteParsing(siterow): tempsite = site() tempsite.title = siterow[0] tempsite.link = siterow[1] tempsite.description = siterow[2] return t..
Python에서 구조체 사용하기 (how to use struct in python) dataclass db에서 읽어온 값을 구조체로 파싱 해서 사용하고 싶었는데 구조체는 없었고 파이썬 3.7부터 지원하는 dataclass가 있어 이거로 사용해보았다 (공식문서를 읽어보니 구조체로 쓰라고 만든 의도는 아닌 거 같긴 하다) from dataclasses import dataclass @dataclass class site: title: str = '' link: str = '' description: str = '' language: str = '' pub_date: str = '' generator: str = '' managing_editor: str = '' feed_type: str = '' profile_image: str = '' company_feed: bool = False #변수명: 타입 = ..