Active Directory를 이용해 사용자 CN 값을 바꾸려고 하는 도중 막혔다. CN값을 바꾸려고 했던 이유는 일을 하는 도중 특정 디렉토리 아래에 있는 사용자들의 이름앞에 어떤 문자를 붙여서 이름을 바꾼 후 디렉토리를 옮겨달라고 했기 때문이었다. 다른 특성 값들은 해당 사용자의 directoryEntry 값을 가져와서 값을 바꿔주면 되었기 때문에 name도 그렇게 하면 될거라고 생각함.. 첫 번째로 시도한 방법 🔥 👉 Duser.Properties["cn"].Value = "바꾸고 싶은 이름"; exception 에러 메세지 : The directory service cannot perform the requested operation on the RDN attribute of an object...
이번에 엑셀다운로드를 구현하는 일을 맡게 되었다. 이전까지는 엑셀 다운로드를 할 때 단일 시트형식이었기 때문에 큰 어려움은 없었다. 하지만 이번에는 테이블에 따라 시트를 나눠달라는 요구사항이 추가 되었다. 여기저기 열심히 구글을 찾아본 결과 SheetJS를 이용하기로 했다. 가장 큰 이유는 상업적용도로 이용 가능하기 때문이었다. 👉 Is SheetJS open source? 오늘의 목표 : 구현된 테이블 별로 엑셀시트를 만들어 엑셀을 다운로드해보자 1 🔥 JS 파일 다운로드 받기 Download 행에 있는 버튼말고 버전 옆에 있는 버튼 이미지를 눌러야 다운로드 된다. 👉 FileSaver.min.js/v1.3.8 👉 xlsx.full.min.js/v14.3 스크립트 단에 해당 스크리브의 주소를 직접 호출..
최근에 맡은 프로젝트에서 다시 Oracle을 쓰게 되었다. (최근까지는 MSSQL을 이용한 프로젝트에 참여했었다) 다중 INSERT를 해야 해서 MSSQL 사용했을 때처럼 했는데 계속 " ORA-00933: SQL 명령어가 올바르게 종료되지 않았습니다 " 오류가 발생했다. 구글에 검색을 해보니 오라클에서 다중 INSERT 문을 처리하는 방법들이 나왔다. 첫 번째 방법 🔥 INSERT INTO 테이블 (COL1, COL2, ....) SELECT VAL1, VAL2, ... FROM DUAL UNION ALL SELECT VAL1, VAL2, ... FROM DUAL 결과 "ORA-00001: 무결성 제약 조건에 위배됩니다" PK 값에 이전값의 MAX값을 가져와서 넣도록 해놨는데 일괄 삽입이라 그런지 적용..
😃 || 정리 부전승이 따로 있지 않고 , 참가자가 2의 제곱으로 주어지기 때문에 한 번 라운드가 끝날 때 마다 참가자가 이전라운드 참가자의 2분의 1로 줄어드는 것을 확인할 수 있었다. 처음에는 b와 a의 차이가 1일 때로 생각해서 풀었더니 정확도가 88점... 왜 일까 알고보니 a가 4, b가 5로 주어질 경우는 차이가 1이므로 내가 만든 풀이에선 라운드가 한번밖에 진행되지 않지만 사실은 라운드가 3번은 진행되어야 하는 것이었다. 그래서 a와 b가 같아지지 않을 때 까지로 조건을 변경해서 풀었더니 해결! 😃 || 풀이 방법 class Solution { public int solution(int n, int a, int b) { int roundCnt = 0; while(a != b){ roundCn..
* 2019년에 취득한 자격증 입니다 * 👏 || 시험 계기 ADsP는 내가 제일 처음으로 취득한 IT계열 자격증이다 경영계열 대학생이었던 나는 마지막 학기에 지도교수님의 수업 하나를 듣게 되었다 '국제 마케팅' 이라는 과목이었는데 교수님께서 이 수업에서 통계를 내서 마케팅에 활용하는 사례들을 가르쳐 주셨다. 그리고는 R프로그래밍을 이용하여 맛보기로 통계를 어떻게 분석하는지 이렇게 나온 결과들을 어떻게 해석할 수 있는지를 배웠다. 통계를 넣으면 정규분포도가 그려져 시각적으로도 보기 좋아서그런지 재밌었다 프로그래밍 더 배워보고 싶은 마음이 살짝 생겨남 이 때 전공관련 인턴 한후로 내가 전공관련 과를 가는게 맞나 고민도하고,, 어디 가고 싶은지도 모르겠고 방황하던 때라 배워볼까 싶다가도 이건 또 적성을 많이..
2년전에 만들고 방치해둔 깃허브 블로그의 테마를 갈아끼워보자! 앞으로 일하거나 공부하면서 알게된 것들은 티스토리 블로그에 계속 써나가고 내가 했던 프로젝트 정리는 깃블로그에 올릴 생각이다. 현재 나의 깃블로그 날것의상태이다. 심지어 CSS도 적용되지 않은 상태 1. 지킬에서 변경할 블로그 테마를 정한다 Jekyll Themes jekyllthemes.org 지킬에서 자기가 원하는 테마 양식을 찾아본다 심플해서 인기있는 테마는 Jekyll-indigo theme같다 나는 내가 맘에 드는 테마를 계속 찾다가 파인애플 테마를 발견해서 이걸 적용하기로 했다 파인애플과 색조합이 너무 귀엽다 마음에 쏙 - 🍍 테마를 골랐으면 해당 github에서 fork를 누르면 된다 그 후 settings >> Repositor..
😃 || 정리 1) 끝말잇기에서 패하는 경우 두 가지 단어가 중복되는 경우 💬 ArrayList를 선언해서 단어들을 넣은 후 , contains메서드를 이용해서 단어가 중복되는지 확인 직전 단어의 마지막 문자로 시작하는 단어가 아닐 경우 💬 substring 메서드를 이용해서 이전 단어의 마지막글자와 다음 단어의 첫번째 글자를 가져와 같은지 확인함 2) 반복문을 모두 통과하지 못할 경우 탈락한 사람의 번호와 그 사람의 순서를 반환 💬 [다음 단어의 index%사람수+1, 다음 단어의 index/사람수+1] 이 식은 노가다로 직접 단어의 인덱스와 길이 , n값 도출되어야 하는 값을 써보면서 규칙을 찾았다 ^.T 3) 반복문을 모두 통과할 경우 끝말잇기 성공 💬 [0,0]값을 반환함 😃 || 풀이 방법 im..
😃 || 정리 Anagram이 뭔지 검색해보니 주어진 알파벳으로 해당 단어를 만들 수 있는지 가늠하는 것이라고 한다. 예를 들어 "papel" 주어지면 "apple"을 만들 수 있으므로 해당 문자는 true를 반환하게 된다. 그래서 이 문제를 풀 때 두 단어 모두 정렬한 뒤 정렬한 문자가 서로 같으면 true를 반환하면 될 것 같다고 생각 , 문제를 풀기 시작했다. 1. 두 문자를 각 각 정렬한다. 2. 두 문자를 비교한다 3. 비교한 결과가 같으면 true, 아니면 false 반환하기 😃 || 풀이 방법 import java.util.*; class Solution { public boolean isAnagram(String s, String t) { boolean answer = true; if(!s..
😃 || 정리 1. 처음에는 '중복되는' 숫자들을 제거한 배열을 리턴해주는 줄 알고 Set을 써서 구현했었다. 알고보니 '중복되는'이 아닌 ' 연속되는' 숫자임을 깨닫고 다시 풀이 시작 2. 그렇다면 연속되는 숫자는 어떻게 구분해줄까를 다시 고민했다. 일단 연속되는 숫자 중 가장 먼저 나타나는 숫자를 기준으로 배열에서 값을 가져온 후 기준값과 배열에서 가져온 값이 같지 않을 때, 배열에서 가져온 값을 return 배열에 넣어주기로 했다. 그런데 return 배열의 크기가 정해지지 않았기 때문에 나는 ArrayList를 사용하기로 했다. 그 후 다시 ArrayList를 int배열로 바꿔서 return 했다. 😃 || 풀이 방법import java.util.*; public class Solution { p..
😃 || 정리 먼저 주어진 문자를 공백을 기준으로 잘라주기 위해 split method를 사용해서 단어별로 나누었다.그리고 한 단어를 다시 split method를 이용해서 알파벳으로 나눈 후 짝수번째 수는 대문자로 , 홀수번째 수는 소문자가 되도록 toLowerCase()와 toUpperCase()를 이용하기로 했다.😃 || 풀이 방법import java.util.*; class Solution { public String solution(String s) { String[] word = s.split(" ",-1); int wordLen = word.length; StringBuilder sb = new StringBuilder(); for(int i=0; i < wordLen ; i++){ Stri..