"MR. DEVELLO - 의뢰한대로가 아닌 의도한대로 만드는 개발사"
사업 ㆍ클라이언트 ㆍ 고객을 이어주는 플랫폼 역할을 하는 '개발'이 얼마나 중요한 요소인지 정확히 이해하고 있습니다
그렇기에 의뢰한대로만 만들어드리지 않습니다.
사업의 방향성부터 이해하고, 의도했던 것을 그대로 개발하는 에이전시
국내 최고 5성급 호텔부터 카카오뱅크, 국민은행, 한국전력공사, 국가기관 등이 미스터 디벨로를 선택하는 이유입니다
블로그
전체 122023. 08. 29.
0
[이카운트] ECOUNT API 연동(6)
API 제공 기능 테스트 ( PHP CURL )구매 입력(품목) - 문서 ( 너무 길어서 생략 ) - PHP CODE/* 구매 입력 */ /* 문서 TEST URL = https://sboapi{ZONE}.ecount.com/OAPI/V2/Purchases/SavePurchases?SESSION_ID={SESSION_ID} -> {ZONE}에 ZONE 조회 반환값 ZONE, {SESSION_ID}에 로그인 반환값 SESSION_ID */ $url = 'https://sboapiCC.ecount.com/OAPI/V2/Purchases/SavePurchases?SESSION_ID=로그인 반환값 SESSION_ID'; $arr_post['SaleList'] = array(); for($i=0;$i※ 쇼핑몰 창고1 ( 창고코드 : 100 ) 에 상품2 ( 품목코드 : 000200 ) 를 9개씩 4번 구매함 - 반환값※ 반환값 정상인지 확인하고 이카운트 ERP에서 구매현황, 재고 현황 다 확인 ㄱ
웹 개발
・
미스터디벨로
・
이카운트
2023. 08. 29.
0
[이카운트] ECOUNT API 연동(5)
API 제공 기능 테스트 ( PHP CURL )판매 입력(품목) - 문서 ( 너무 길어서 생략 ) - PHP CODE/* 판매 입력 */ /* 문서 TEST URL = https://sboapi{ZONE}.ecount.com/OAPI/V2/Sale/SaveSale?SESSION_ID={SESSION_ID} -> {ZONE}에 ZONE 조회 반환값 ZONE, {SESSION_ID}에 로그인 반환값 SESSION_ID */ $url = 'https://sboapiCC.ecount.com/OAPI/V2/Sale/SaveSale?SESSION_ID=로그인 반환값 SESSION_ID'; $arr_post['SaleList'] = array(); for($i=0;$i※ 쇼핑몰 창고1 ( 창고코드 : 100 ) 에 상품1 ( 품목코드 : 000100 ) 을 3개씩 5번 팔았음 - 반환값※ 반환값 정상인지 확인하고 이카운트 ERP에서 판매현황, 재고 현황 다 확인 ㄱ
웹 개발
・
미스터디벨로
・
웹개발
・
이카운트
2023. 08. 29.
0
[이카운트] ECOUNT API 연동(4)
API 제공 기능 테스트 ( PHP CURL )창고 + 품목별 재고 조회하기 - 문서 - PHP CODE/* 창고 + 품목별 재고 조회하기 */ /* 문서 TEST URL = https://sboapi{ZONE}.ecount.com/OAPI/V2/InventoryBalance/GetListInventoryBalanceStatusByLocation?SESSION_ID={SESSION_ID} -> {ZONE}에 ZONE 조회 반환값 ZONE, {SESSION_ID}에 로그인 반환값 SESSION_ID */ $url = 'https://sboapiCC.ecount.com/OAPI/V2/InventoryBalance/GetListInventoryBalanceStatusByLocation?SESSION_ID=로그인 반환값 SESSION_ID'; $arr_post['SESSION_ID'] = '로그인 반환값 SESSION_ID'; $arr_post['BASE_DATE'] = '현재 날짜 ex) 20211210'; $arr_post['COM_CODE'] = '아까 기록한 본인 회사코드 6자리'; $arr_post['USER_ID'] = '아까 기록한 본인 아이디'; $arr_post['ZONE'] = 'CC'; //ZONE 조회 결과 /* 계정 인증키( Self-Customizing - 정보관리 - API 인증키발급 ) */ $arr_post['API_CERT_KEY'] = '아까 기록한 본인 인증키'; $arr_post['LAN_TYPE'] = 'ko-KR'; $post_data = json_encode($arr_post); $ch=curl_init(); // user credencial curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json')); curl_setopt($ch, CURLOPT_VERBOSE, true); //POST방식 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); $response = curl_exec($ch); curl_close($ch); return json_decode($response, true); - 반환값※ 초기 셋팅에서 입력한 창고 + 품목별 재고 현황이 반환됨 ㅅㅅ
웹 개발
・
미스터디벨로
・
이카운트
・
이카운트API
2023. 08. 29.
0
[이카운트] ECOUNT API 연동(3)
API 제공 기능 테스트 ( PHP CURL )로그인 - 문서 - PHP CODE/* 로그인(테스트) */ /* 문서 TEST URL = https://sboapi{ZONE}.ecount.com/OAPI/V2/OAPILogin -> {ZONE}에 ZONE 조회에서 나온 ZONE 을 입력 */ $url = 'https://sboapiCC.ecount.com/OAPI/V2/OAPILogin'; $arr_post['COM_CODE'] = '아까 기록한 본인 회사코드 6자리'; $arr_post['USER_ID'] = '아까 기록한 본인 아이디'; $arr_post['ZONE'] = 'CC'; //ZONE 조회 결과 /* 계정 인증키( Self-Customizing - 정보관리 - API 인증키발급 ) */ $arr_post['API_CERT_KEY'] = '아까 기록한 본인 인증키'; $arr_post['LAN_TYPE'] = 'ko-KR'; $post_data = json_encode($arr_post); $ch=curl_init(); // user credencial curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json')); curl_setopt($ch, CURLOPT_VERBOSE, true); //POST방식 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); $response = curl_exec($ch); curl_close($ch); return json_decode($response, true); - 반환값※ SESSION_ID 로 다른 API들을 사용해야 함
웹 개발
・
미스터디벨로
・
이카운트
・
이카운트API
2023. 08. 29.
1
[이카운트] ECOUNT API 연동(2)
API 제공 기능 테스트 ( PHP CURL )ZONE - 문서※ HEADER : 호출방식, Content-Type, Test URL ( 테스트 URL이 따로 있네요 )※ BODY : 'COM_CODE' = '회사코드'※ Example Parameter로 데이터 보낼 구조 확인 - PHP CODE/* ZONE 조회(테스트) */ $url = 'https://sboapi.ecount.com/OAPI/V2/Zone'; // 테스트 URL $arr_post["COM_CODE"] = '아까 기록한 본인 회사코드 6자리'; $post_data = json_encode($arr_post); $ch=curl_init(); // user credencial curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json')); curl_setopt($ch, CURLOPT_VERBOSE, true); //POST방식 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); $response = curl_exec($ch); curl_close($ch); return json_decode($response, true);※ HEADER 에 Content-Type, Accept 다 안넣으면 에러뜸ㅠ - 반환값※ ZONE 다른 기능에 사용해야해서 따로 기록
웹 개발
・
미스터디벨로
・
이카운트
・
ECOUNT
2023. 08. 29.
1
[이카운트] ECOUNT API 연동(1)
기존에 사용중인 이카운트를 활용한 재고관리 백엔드 개발을 해야해서 몇개 테스트해봄Spring이나 Node나 다른 백엔드에서도 별로 어렵지않게 연동 가능할듯 - ECOUNT 홈페이지 ( https://www.ecount.com/kr/ ) ERP 모든 기능 월4만원 | 웹기반 이카운트 ERP이카운트는 재고,생산,회계,영업,급여,그룹웨어,웹메일 등 업무관리에 필요한 모든 기능을 월4만원에 제공하는 클라우드 기반의 ERP프로그램입니다.www.ecount.com - ECOUNT OPEN API 개발문서 ( https://sboapi.ecount.com/ECERP/OAPI/OAPIView?lan_type=ko-KR ) https://sboapi.ecount.com/ECERP/OAPI/OAPIView?lan_type=ko-KR이카운트 오픈 API 란? 고객사(개발자)가 이카운트와 타 사이트 및 프로그램과의 연동 기능을 개발할 수 있도록 [이카운트의 데이터 플랫폼을 외부에 공개]하는 서비스 입니다. 개발단계 [이카운sboapi.ecount.com 선작업(셋팅) - 이카운트 ERP 로그인 페이지※ Code, ID 따로 기록해두세요 ( API에 사용 ) - 이카운트 ERP API 인증키 발급(테스트용 KEY)※ 인증키 따로 기록해두세요 ( API에 사용 )※ 내가 테스트한 기능들이 미검증에서 검증으로 바뀐것을 확인할 수 있음 - 이카운트 ERP 창고 등록창고 코드, 창고명 입력후 저장※ 테스트용 창고를 3개 만듬 - 이카운트 ERP 품목 등록품목코드, 품목명, 입고단가, 출고단가 입력후 저장※ 테스트용 품목을 2개 만듬 - 이카운트 ERP 품목별 재고 입력※ 상품1(품목)이 쇼핑몰1 창고, 쇼핑몰2 창고에 각각 900개, 300개씩 있다고 입력함 ※ 상품2(품목)가 쇼핑몰1 창고, 쇼핑몰2 창고, 쇼핑몰3 창고에 각각 300개, 200개, 500개 씩 있다고 입력함 입력한 창고 + 품목 재고 다음글부터 API 연동 테스트 시작
웹 개발
・
미스터디벨로
・
이카운트
・
이카운트API
2023. 08. 24.
2
[Vue js] 아임포트 결제모듈 연동(KG 이니시스)
https://www.iamport.kr/ 온라인 비즈니스의 모든 결제를 한곳에서, 아임포트결제의 시작부터 비즈니스의 성장까지 아임포트와 함께하세요www.iamport.kr - 로그인후 우측 상단의 관리자 콘솔 접근 1. 아임포트 설정 - 내 정보 탭에서 가맹점 식별코드 복사 - PG 설정에서 기본 PG 사 KG 이니시스 설정 후 저장 2. FrontEnd- public/index.html head에 추가 - Component 결제 const { IMP } = window; export default { name: "test", data(){ return{ price: 0 } }, created(){ document.cookie = "safeCookie1=foo; SameSite=Lax"; document.cookie = "safeCookie2=foo"; document.cookie = "crossCookie=bar; SameSite=None; Secure"; }, methods: { PaymentBtn:function(){ IMP.init("관리자 콘솔 - 내 정보 - 가맹점 식별코드"); IMP.request_pay({ // param pg: "html5_inicis", pay_method: "card", merchant_uid: "ORD20180131-0000011", name: "YOYOSTUDY", amount: this.price, buyer_email: "funidea_woo@naver.com", buyer_name: "테스터", buyer_tel: "010-8832-4280", buyer_addr: "서울특별시 영등포구 당산동", buyer_postcode: "07222" }, rsp => { // callback console.log(rsp); if (rsp.success) { console.log("결제 성공"); } else { console.log("결제 실패"); } }); } } } input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } input{ width:300px; border:0; border-bottom:1px #a8a8a8 solid; margin:0 10px 0; padding:0; height:40px; line-height:40px; outline: none; } .test{ display:flex; justify-content: center; align-items: center; height:100vh; } div{ width: 200px; height:40px; background-color:#ffffff; border:1px #a8a8a8 solid; color:black; display:flex; align-items: center; justify-content: center; cursor:pointer; } 2. TEST - 결제 금액 입력 후 결제 버튼 클릭 - 결제 진행 - 결제 성공 확인(console.log) - 아임포트 관리자 콘솔에서 결제 내역 확인 가능
미스터디벨로
・
아임포트
・
결제모듈
2023. 08. 24.
1
[AWS] EC2 EBS 볼륨 추가 + 마운트 + 부팅시 자동 마운트 하기
AWS 설정 1. 볼륨추가할 인스턴스 ID, 가용 영역 확인 2. 볼륨 생성 및 확인- 생성시 1번에서 확인한 인스턴스 가용영역 적용- 생성된 신규 볼륨의 ID를 클릭해서 세부정보 접근 3. 볼륨 연결- 1번에서 확인한 인스턴스 ID SELECT 4. 인스턴스 세부정보에서 볼륨이 추가됐나 확인 콘솔 접근해서 마운트 + 자동 마운트 설정 1. 파일시스템 사용량 확인 2. 연결된 디스크목록 확인 3. 파티션 생성 후 확인 4. 포맷 5. 파티션을 특정 디렉토리에 마운트- 디렉토리에 마운트- 파일시스템 확인 6. 재부팅시에도 유지돼도록 자동 마운트 설정- UUID 확인- fstab에 UUID, 마운트 위치 입력sudo vim /etc/fstab 재부팅 해서 마운트 확인 :)
미스터디벨로
・
AWS볼륨
・
서버
2023. 08. 24.
0
[Vue js] 카카오 로그인 연동
1. Kakao Developers 셋팅 - https://developers.kakao.com Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com로그인 -> 내 애플리케이션 -> 애플리케이션 추가하기로 앱 추가 요약 정보 -> JavaScript 키 기록 플랫폼 -> 사이트 도메인 등록(http://localhost 가능) 카카오 로그인 -> ON -> Rdeirect URL 등록 동의항목 -> 카카오 계정(이메일) 동의 2. FrontEnd - public/index.html에 스크립트 추가 - component 카카오 연동 export default { name: "test", methods: { kakaoLoginBtn:function(){ window.Kakao.init('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx') // Kakao Developers에서 요약 정보 -> JavaScript 키 if (window.Kakao.Auth.getAccessToken()) { window.Kakao.API.request({ url: '/v1/user/unlink', success: function (response) { console.log(response) }, fail: function (error) { console.log(error) }, }) window.Kakao.Auth.setAccessToken(undefined) } window.Kakao.Auth.login({ success: function () { window.Kakao.API.request({ url: '/v2/user/me', data: { property_keys: ["kakao_account.email"] }, success: async function (response) { console.log(response); }, fail: function (error) { console.log(error) }, }) }, fail: function (error) { console.log(error) }, }) } } } .test{ display:flex; justify-content: center; align-items: center; height:100vh; } div{ width: 200px; height:40px; background-color:#fdd101; color:white; display:flex; align-items: center; justify-content: center; cursor:pointer; } 3. 테스트
미스터디벨로
・
vuejs
・
카카오로그인
・
oauth
2023. 08. 24.
0
[Vue js] 구글 로그인 (OAuth) 연동
https://console.cloud.google.com/ Google Cloud Platform하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요.accounts.google.com 사진 순서대로 하면 걍됨 1. Oauth 동의화면 - Ouath 동의화면 검색해서 찾아들어가기 - 좌측 상단 프로젝트 선택 - 새 프로젝트 - 프로젝트 이름 입력하고 만들기 - 외부 선택 후 만들기 - 앱 정보 입력중 선택한 부분만 입력후 "저장 후 계속" - 범위 추가(이메일 등)한 뒤 "저장 후 계속" - 그냥 쭉쭉 "저장 후 계속" - 좌측 OAuth 동의 화면 클릭 -> 앱 게시 2. 사용자 인증 정보 - 사용자 인증 정보(OAuth 클라이언트 ID) 만들기 - 선택부분 입력후 만들기 * 승인된 리디렉션 URI는 frontend 주소입력 - OAuth 클라이언트가 만들어졌고 이중 클라이언트 ID 복사 3. FrontEnd public/index.html head에 meta 추가 /* 아까 복사한 클라이언트 ID를 아래 content 부분에 넣어주세요 */ component 작성(test.vue) 구글 OAuth2 연동 export default { name: "test", methods: { GoogleLoginBtn:function(){ var self = this; window.gapi.signin2.render('my-signin2', { scope: 'profile email', width: 240, height: 50, longtitle: true, theme: 'dark', onsuccess: this.GoogleLoginSuccess, onfailure: this.GoogleLoginFailure, }); setTimeout(function () { if (!self.googleLoginCheck) { const auth = window.gapi.auth2.getAuthInstance(); auth.isSignedIn.get(); document.querySelector('.abcRioButton').click(); } }, 1500) }, async GoogleLoginSuccess(googleUser) { const googleEmail = googleUser.getBasicProfile().getEmail(); if (googleEmail !== 'undefined') { console.log(googleEmail); } }, //구글 로그인 콜백함수 (실패) GoogleLoginFailure(error) { console.log(error); }, } } .test{ display:flex; justify-content: center; align-items: center; height:100vh; } div{ width: 200px; height:40px; background-color:#ffffff; border:1px #a8a8a8 solid; color:black; display:flex; align-items: center; justify-content: center; cursor:pointer; } 4. 테스트
미스터디벨로
・
vuejs
・
구글로그인
・
oauth