본문 바로가기

분류 전체보기

(265)
개발자와 이직이야기 - 1 (구인광고 확인) 2021/02/16 - [일기장/개발자 일기] - 개발자와 이직이야기 - 0 1. 구인광고 확인 나의 경우엔 보통 잡코리아를 사용하였는데 이 구인광고만으로도 회사에 대한 인식이 변경된다 우선은 회사 인원수를 확인한다 IT회사들은 인원 규모가 그렇게 크지 않다 다만 정상적으로 구조를 갖춰 개발팀, 영업팀, 운영팀, 관리팀 정도가 있으려면 개인적으론 20명은 되어야 한다고 생각한다 그리고 이 인원수가 적을수록 특정 포지션에 위치한 사람의 권력이 강하고 그로인해 휘둘리기 쉽다 (예: 영업팀장 권력이 강해 영업위주 운영으로 고객사 요구사항, 일정 다맞춰주며 진행, 임원진 권력이 강해 업무능력보다 임원 비위맞추기가 더 중요 등등) 두번째로 매출을 확인한다 IT회사들은 매출액이 높지 않다 왜냐면 다른회사보다 매출이..
개발자와 이직이야기 - 0 누구든 이직이 마냥 즐겁지만은 않다 가장 큰 이유는 내가 미리 예상할 수 없는 것들이 많이 있기 때문이다 새로운 곳에서 새로운 사람들과 새로운 프로젝트를 하며 새로운 업무를 맡게 된다 다행히도 개발자는 전문직이기에 그래도 업무에 있어 완전 새롭게 시작하는일은 드문 편이다 자신의 경력을 인정받아 이직하기에 유사 업종 혹은 주로 쓰던 스킬과 관련있는곳으로 이직하며 완전 다른언어나 툴을 사용하더라도 어느정도 유사하므로 기존 경험에 의해 빠르게 습득이 가능하다 그렇다 하더라도 !!! 이직은 참 쉽지 않은 결정이다 의도치 않게 잦은 이직경험을 쌓게되었고 나는 갈수록 이직에 실패하지(?) 않기 위해 노력하였다 그러면서 쌓인 약간의 노하루들을 공유하려고 한다 나만의 이직시 회사를 평가하는 방법은 크게 3가지로 나뉠 ..
HackerRank [Constructive Algorithms] Flipping the Matrix /알고리즘 해커랭크 문제주소 : www.hackerrank.com/challenges/flipping-the-matrix/problem 문제 : 2n * 2n 크기의 매트릭스를 큐브돌리듯이 상하 좌우를 회전시켜서 n * n 크기의 좌측상단 매트릭스에 최대값이 위치하도록 한 뒤 그 매트릭스의 모든값을 합한값을 리턴하라 풀이 1. 매트릭스 가장 좌측상단의 1열1행에 있는 값은 아무리 회전한들 결국 존재할 수 있는 위치는 n열n행, 1열 n행, n열 1행, 1열1행 4곳밖에 존재 할 수 없다 2. 반대로 그 4곳에 위치하는 값중 가장 큰 값이 1열1행에 존재하게 될 것이다 3. 모든 나머지 매트릭스의 위치값들도 matrix[i][j], matrix[i][n-j-1], matrix[n-i-1][j], matrix[n-i-1][n-..
HackerRank [Bit Manipulation]Lonely Integer /알고리즘 해커랭크 문제주소 : www.hackerrank.com/challenges/lonely-integer/problem 문제 : 주어진 int array에서 같은 수의 값을 한쌍씩 제외시킨 후 홀로남는 값을 리턴하라 풀이 1. 같은 값을 한쌍씩 없애는 가장 쉬운방법은 모든값을 누적으로 xor시켜버리면 된다 답안 #!/bin/python3 import math import os import random import re import sys def lonelyinteger(a): result = 0 for i in a: result = result ^ i return result if __name__ == '__main__': # fptr = open(os.environ['OUTPUT_PATH'], 'w') fptr =..
java file md5 checksum / 자바 파일 md5 체크썸 MD5는 과거 128비트 암호화 해시함수로 사용되었으나 암호화 결함 오류로인해 암호화에는 사용되지 않고 파일의 무결성 검사에 주로 사용되고 있다 나도 그 용도로 사용중에 있다 public static byte[] createChecksum(String filename) throws Exception { InputStream fis = new FileInputStream(filename); byte[] buffer = new byte[1024]; MessageDigest complete = MessageDigest.getInstance("MD5"); int numRead; do { numRead = fis.read(buffer); if (numRead > 0) { complete.update(buffer,..
내 두번째 회사이야기.. 2021/02/08 - [일기장/개발자 일기] - 내 첫번째 회사이야기.. * 주니어 개발자들이 이 글을읽고 나같은 일을 겪지 않았았으면 혹은 이런쪽은 괜찮으니 가봤으면 하는 마음으로 작성합니다 특정업체에 대한 비판이 목적은 아닙니다 * 매우 주관적일 수 있습니다 참고만 하시길 바랍니다 ● 소개 두번째 회사는 첫번째 회사 퇴사 후 한달도 안되서 이직에 성공했는데 겉으론 SCM(supply chain management) 솔루션 업체였는데 너무 거창한 표현이고 실제론 POS기기를 납품받아 설치/유지보수하고 안에 들어가는 솔루션을 제작/유지보수 하는 업체였고 직원은 200명이 조금 안되었다 직원의 1/3이상이 개발자였고 BtoC(Business to Consumer)업체답게 콜센터 팀이 별도로 있었고 현장설..
HackerRank [Bit Manipulation] Counter game /알고리즘 해커랭크 문제 주소 : www.hackerrank.com/challenges/counter-game/problem 문제 : Louise와 Richard가 번갈아 가며 주어진 숫자가 2의 제곱근 값인지 확인한다 2의 제곱근 값이라면 1/2 값을 상대에게 넘기고 아니라면 주어진 숫자보다 작은 숫자 중 가장 높은 2의 제곱 값과의 차이 값을 상대에게 넘겨주되 1을 넘겨주면 승리한다 Louise가 항상 먼저 시작한다 풀이 1. 공학용 계산기에 2의 제곱근을 순서대로 입력해보았다 (2..4..8..16..32) 이 값들의 2진수 값들은 10, 100, 1000, 10000이다 가장 앞자리는 1이고 2의 승수만큼 뒤에 0이 붙는다 2. 전달받은 값 n을 2진수로 바꾸고 그 길이를 구한 뒤 그 길이와 같은 2의 제곱근 값을 ..
안드로이드11 내파일, ASTRO로 android/data 경로 접근불가 특정 url을 통하여 파일을 다운받는 시스템을 테스트중이였는데 최신 기기에서 정상적으로 다운이 되었는지 내 파일 앱을 통해 /Android/data를 열었더니 다음과 같은 화면이 나왔다 찾아보니 안드로이드11 (API30) 부터는 보안정책에 의해 접근이 불가능하다고 하였다... 파일다운이 정상으로 된건지 확인하기 위해 압축파일을 열어보는 방식으로 진행하고 있었는데.. 임시로 테스트파일을 미디어파일로 변경 후 다시 다운받아 플레이어로 재생해보려고 했으나 자동으로 미디어파일을 찾지 못하고 수동으로 경로를 찾아가도 동일하게 접근 할 수 없었다 앱내에서는 자신의 경로의 권한을 획득해놨으니 소스안에서 Hash값을 통해 파일이 정상적으로 다운완료되었는지 확인해야 할 것 같다.. 기왕 들어간김에 안드로이드11관련 내..