사업개요

기업이 보유한 지식재산권의 가치평가를 통하여 지식재산권을 담보로 자금을 조달할 수 있도록 평가비용을 지원해 드리는 사업입니다.
 
☞ 등록된 특허권을 보유 및 사업화하여 활용하고 있는 중소기업
 
☞ 특허기술가치평가에 소요되는 비용을 지원

지원분야 및 대상

ㅇ 지원 대상

- 신청일 현재 등록된 특허권을 보유하고 사업화하여 활용하고 있으며
 ㆍ 중소기업기본법 제2조에 따른 중소기업
 ㆍ 중견기업 성장촉진 및 경쟁력 강화에 관한 특별법 제2조에 따른 중견기업으로서 중소기업기본법 제2조제3항에서 정한 기간이 종료된 연도의 다음 연도부터 3년 이내의 기업(단, 직전연도 매출액이 3,000억원 이상인 기업 제외)

지원조건 및 내용

ㅇ 지원 내용
- 협약은행*은 수혜기업을 발굴 및 추천하고, 발명의 평가기관에 수혜기업의 특허에 대한 특허기술가치평가를 요청하고 그 결과를 토대로 IP담보대출 실시여부 최종결정 
  * 2019년 협약 은행–산업은행, 기업은행, 국민은행, 신한은행, 우리은행, 하나은행, 농협은행
- 특허청·한국발명진흥회는 협약은행이 지정한 발명의 평가기관에서 수행하는 특허기술가치평가에 소요되는 비용을 지원

구분

평가 비용(VAT별도)

국고지원액

 

일반평가

5백만원

2.5백만원

국고지원금(2.5백만원) 제외한 평가비용(2.5백만원) 대출시행 금융기관에서 지원

 

  * 부가가치세(VAT)는 신청기업이 부담

- 발명의 평가기관은 특허권의 담보가치를 정확히 파악하기 위해 특허기술가치평가를 수행하여 그 평가결과를 협약은행에 제공
 ㆍ 특허기술가치평가는 발명의 평가기관 중 협약은행이 지정한 평가기관*에서 수행
  * 발명의 평가기관 – 신용보증기금, 기술보증기금, 한국발명진흥회 등 18개 기관

지원절차

상담

예비 선정

평가 의뢰

평가 상담

특허기술평가지원 사업 신청

평가비용 지원 적격심사

특허기술가치평가

특허기술평가지원 보조금 신청

평가비용 지원

대출여부 판단 및 대출 시행

신청방법 및 서류

ㅇ 신청 방법 : 온라인 접수 후 서류는 이메일 제출

- 온라인 : 한국발명진흥회(www.kipa.org)

- E-mail : suin.son@kipa.org

 ※ 제출 후 수신확인 전화 요망
 
ㅇ 신청 서류 : 신청서, 기업신용정보제공 활용 동의서 등

가점우대제도

ㅇ 해당없음

주관기관 담당부서 및 담당자

주관기관담당부서전화번호홈페이지URL담당자명

한국발명진흥회 지식재산경영실
02-3459-2935 http://www.kipa.org/
사업담당자

접수기관 담당부서 및 담당자

접수기관담당부서전화번호홈페이지URL담당자명

한국발명진흥회 지식재산경영실
02-3459-2935 http://www.kipa.org/
사업담당자

기타사항

※ 자세한 사항은 한국발명진흥회(www.kipa.org) → 알림광장 → 사업공고 참조(☞바로가기)

문의처

구분

기관명

전화번호

비고

협약은행

KDB산업은행(벤처기술금융실)

02-787-5825

02-787-5831

02-787-5834

- 각 지점 상담 가능

- 상품명: IP담보대출

IBK기업은행(기술금융부)

02-729-7641

- 각 지점 상담 가능

상품명: IP사업화자금대출

KB국민은행(기술금융부)

02-2073-0306

- 각 지점 상담 가능

상품명: KB더드림 IP담보대출

신한은행(기업금융부)

02-2151-2611

- 각 지점 상담 가능

상품명: 신한성공두드림 IP담보대출

우리은행(혁신금융추진부)

02-2002-3514

- 각 지점 상담 가능

상품명: 우리 CUBE-X

KEB하나은행(중소벤처금융부)

02-2002-1648

- 각 지점 상담 가능

상품명: KEB하나 IP담보대출

농협은행

-

- 상품 준비중

사업관리

한국발명진흥회(지식재산경영실)

02-3459-2935

- 사업운영 및 관리

use schemaTestDB;
create schema schema_A;
create schema schema_B;
create table schema_A.TBL_A(no int);
create table schema_B.TBL_B(id int);
create table schema_A.TBL_AA(code int);
SELECT * from schema_A.TBL_A;
Create table department(deptNo int not null,
deptName nvarchar(20),
location nchar(20))
select * into departmentNew from department Where 1=0;--무조건 거짓,테이블 구조만 복사
create sequence dept_seq
start with 10
increment by 10;--시퀀스를 넣어서 번호 자동 생성
insert departmentNew values(next value for dept_Seq,'경기부','서울');
insert departmentNew values(next value for dept_Seq,'인사부','인천');
insert departmentNew values(next value for dept_Seq,'전산부','수원');
insert departmentNew values(next value for dept_Seq,'영업부','대전');
select * from departmentNew;
--시퀀스현재값
select current_value from sys.sequences where name='dept_seq';
--시퀀스의 시작값을 다시 수정하기 위한 구문
alter sequence dept_seq restart with 15;
insert departmentNew values(next value for dept_Seq,'생산부','안산');
insert departmentNew values(next value for dept_Seq,'회계부','광주');
select * from departmentNew;
alter sequence dept_seq restart with 35 increment by 5;
insert departmentNew values(next value for dept_Seq,'회계부1','광주');
insert departmentNew values(next value for dept_Seq,'회계부2','광주');
select * from departmentNew;
--시퀀스의 반복
create sequence dept_seq1
start with 100 increment by 100
minvalue 100
maxvalue 500
cycle; --반복설정
insert departmentNew values(next value for dept_Seq1,'생산부1','서울');
insert departmentNew values(next value for dept_Seq1,'인사부1','인천');
insert departmentNew values(next value for dept_Seq1,'전산부1','수원');
insert departmentNew values(next value for dept_Seq1,'영업부1','대전');
insert departmentNew values(next value for dept_Seq1,'영업부2','대전');
insert departmentNew values(next value for dept_Seq1,'영업부3','대전');
select * from departmentNew;
--테이블 생성시에 시퀀스 활용법
create sequence auto_seq
start with 1
increment by 1;

create table seqTest(no int default(next value for auto_seq), name nchar(30));

insert seqTest(name) values('김동길');
insert seqTest(name) values('김말길');
insert seqTest(name) values('김동말');
select * from seqTest

--변수선언
/* 변수선언형식:
Declare @변수명 데이터형식;
변수에 값대입:
@변수명 = 값;
변수의값출력:
select @변수이름;
*/

Declare @aaa int;
declare @bbb smallint, @ccc decimal(4,2);
declare @ddd nchar(20);
set @aaa=10;
set @bbb =5;
set @ccc=10.33;
set @ddd = '이름:';
select @aaa;
select @bbb + @ccc;
select @aaa,* from departmentNew;
select top(@bbb) deptName,* from departmentNew;

--if 문

declare @var1 int;
set @var1 = 10;
if @var1 = 10
begin
print '@var1이 10이다'
end
else
begin
print '@var1이 10이아니다'
end;

--변수 초기화
declare @var2 int =100;
select @var2;

declare @score int =78,@res nchar(1)
if @score >= 90
set @res = 'A'
else if @score >= 80
set @res='B'
else if @score >= 70
set @res='C'
else if @score >= 60
set @res='D'
else
set @res='F'
print '점수:' + cast(@score as nchar(30));
print N'학점:' + @res; --한글이기때문에 N을 넣어야함.

--case
declare @score int = 100,@res  nchar(1);
set @res =
case 
when(@score >= 90) then 'A'
when(@score >= 80) then 'B'
when(@score >= 70) then 'C'
when(@score >= 60) then 'D'
else 'F'
end
print '점수:' + cast(@score as nchar(30));
print N'학점:' + @res; --한글이기때문에 N을 넣어야함.


select name,price,case 
when (amount >=80) then '최고인기상품'
when (amount >=50) then '인기상품'
when (amount >= 30) then '추천상품'
else '보통상품'
end as '상품등급'
from products;

--반복문 : while / break / continue / return
/*
while 조건
begin
SQL명령문
end
*/
declare @i int = 0 ,@sum int =0
while(@i<=100)
begin
set @sum += @i
set @i += 1
end

select @sum;


declare @i int = 1,@sum int =0;

while(@i <=100)
begin
if(@i % 3 =0)
begin
print '3의배수:' + cast(@i as char(3))
set @i += 1
continue --while end문으로 이동
end
set @sum  += @i --3의배수시 실행않됨
if(@sum>2000) break --3의배수시 실행않됨,while문을 빠져나옴
set @i += 1 --3의배수시 실행않됨
end;

print '합계:' + cast(@sum as char(10))



--goto : 제한적으로사용,지정한위치로 이동

declare @i int = 1,@sum int =0;

while(@i <=100)
begin
if(@i % 3 =0)
begin
print '3의배수:' + cast(@i as char(3))
set @i += 1
continue --while end문으로 이동
end
set @sum  += @i --3의배수시 실행않됨
if(@sum>2000) goto aa --3의배수시 실행않
set @i += 1 --3의배수시 실행않됨
end

aa:

print '합계:' + cast(@sum as char(10))

--waitfor 실행을 잠시 멈추고 기다림
--waitfor time,waitfor delay

begin 
waitfor delay '00:00:03'
print '3초간 일시정지후 실행합니다..'
end
begin 
waitfor time '12:30'
print '정해진시간에 실행합니다...'
end
--예외 처리(try catch문)
/*
begin try
sql 명령
end try
begin
catch
오류시실행될 명령
end
catch
*/
begin try
insert departmentNew values('테스트','','');
print '정상처리되었습니다..'
end try

begin catch
print '오류발생'
print '오류번호:'
print error_number()
print '오류메세지'
print error_message()
print '오류라인'
print error_line() 
end catch
--오류발생시 사용할 함수 제공
/*
.error_number():오류번호
.error_message():오류메세지
.error_serverity():오류심각성
.error_state():오류 상태
.error_line():오류라인
.error_procesude():오류발생 프로시저나 트리거 이름을 알려줌.
*/

--오류를 강제로 발생시키는 함수
--raiserror,throw
--오류의 심각도(0~18까지,기본값은 16)
--raiserror(메세지,심각도,상태)
--throw(메세지,상태)

raiserror('오류발생',16,1);
throw 50000,'오류발생',1;--예외번호는 50000이상

--execute(exec),스파이스열,임시테이블
--exec, execute:SQL문을 실행시키는 명령어
declare @sql varchar(100);
set @sql = 'select * from departmentnew where deptno = 10' 
exec(@sql);

--테이블의 명칭 : tbl_04_12,tbl_04_13,동적으로 테이블을 만들어서 사용가능

declare @todayDate Date
declare @Month varchar(2)
declare @day varchar(2)
declare @sql varchar(100)
set @todayDate = getDate()
set @Month = month(@todayDate)
set @day = day(@todayDate);
set @sql = 'create table test_' + @Month + '_' + @day
set @sql += '(no int,name char(10))'
exec(@sql);

--스파스열 : null값이 많이 들어가는 열의 저장공간을 낭비하지 않게 하기위해서 지정하는 열
--키워드 : sparse   5만건 기준으로 약 1/5수준으로 저장공간을 사용

create table aaa(
no int identity,
name char(100) null
);
go
create table sparseTbl(
no int identity,
name char(100) sparse null
);

declare @i int =0
while @i<10000
begin
insert aaa values(null);
insert aaa values(null);
insert aaa values(null);
insert aaa values(null);
insert aaa values(REPLICATE('s',100));
--sparse테이블
insert sparseTbl values(null);
insert sparseTbl values(null);
insert sparseTbl values(null);
insert sparseTbl values(null);
insert sparseTbl values(REPLICATE('s',100));
set @i += 1;
end


--임시테이블
--#테이블명 하나 사용 : 생성한 사용자만 사용가능 --쿼리차이 닫히면 사라짐.
--##테이블명 두개 사용 : 모든 사용자가 사용가능  --쿼리창이 닫히고 사용자가 없으면 사라짐.

create table #tempTbl1 
(
no int,name nchar(10)
);
create table ##tempTbl2(
no int,name nchar(10)
);

insert #tempTbl1 values(1,'테이블#1');
insert ##tempTbl2 values(1,'테이블#2');

select * from #tempTbl1
select * from ##tempTbl2
--뷰테이블
select * into copy_departmentnew from departmentnew --테이블 복사
select * from copy_departmentnew
select deptNo,DeptName,location from departmentNew
create view depart_View as 
select deptNo,DeptName,location from departmentNew 
where location ='서울'
select * from depart_View
exec sp_helptext depart_View; --뷰에 정의된 내용을 보수 있음.
Insert depart_View values(1100,'회계부','서울') --뷰를 통해서도 저장이됨.

--복잡한 쿼리문을 단순화해서 사용하기 위해서도 뷰를 사용
select deptNo,DeptName,location from departmentNew
create table emp(no int default(next value for auto_seq), name nchar(30),deptNo int);
insert emp(name,deptNo) values('김동길1','10');
insert emp(name,deptNo) values('김동길2','20');
insert emp(name,deptNo) values('김동길3','30');
insert emp(name,deptNo) values('김동길4','40');
insert emp(name,deptNo) values('김동길5','50');
insert emp(name,deptNo) values('김동길6','60');
insert emp(name,deptNo) values('김동길7','70');
insert emp(name,deptNo) values('김동길8','80');
insert emp(name,deptNo) values('김동길11','100');
insert emp(name,deptNo) values('김동길12','15');
insert emp(name,deptNo) values('김동길13','25');
insert emp(name,deptNo) values('김동길14','35');
insert emp(name,deptNo) values('김동길15','40');
insert emp(name,deptNo) values('김동길16','100');
insert emp(name,deptNo) values('김동길17','300');
insert emp(name,deptNo) values('김동길18','400');

select e.no,e.name,d.deptNo,d.deptName,d.location from emp e, departmentNew d where e.deptNo = d.deptNo

create view emp_dept_view as
select e.no,e.name,d.deptNo,d.deptName,d.location from emp e, departmentNew d 
where e.deptNo = d.deptNo and d.deptName = '영업부'

select * from emp_dept_view
exec sp_helptext emp_dept_view; --뷰에 정의된 내용을 보수 있음.
exec sp_help emp_dept_view;--뷰에 구조를 보여줌
create view emp_enc with encryption as
select e.no,e.name,d.deptNo,d.deptName,d.location from emp e, departmentNew d 
where e.deptNo = d.deptNo and d.deptName = '영업부'
exec sp_helptext emp_enc; --암호화 되어있어 뷰를 볼 수 없음.
exec sp_help emp_enc; --암호화되어있어도 구조는 확인가능
drop view emp_dept_view--뷰삭제
select * from sys.sql_modules --정의된 모든 뷰를 볼수 있음,테이블이름이 않나옴..
select object_name(object_id) as emp_dept_view,definition,* from sys.sql_modules --테이블명까지 나오나 암호화되어있은 뷰는 못 봄.

--뷰를 수정
alter view emp_dept_view as
select * from emp Where deptNo=40 with check Option; --40번에 해당하는 건만 수정,저장 가능.

--인덱스 : 데이터의 변경 작업이 자주 일어날 경우에는 성능이 나빠질 수 있다.
--Page,extent
/*
페이지 : 데이터를 저장하는 기본단위(8kb)
헤더,Data rows,Row Offset으로 구성

헤더:이전페이지와 가음페이지의 정보가 포함.
Data rows:실제 데이터가 저장되는 영역
Row Offset: 각행의 첫 번째 바이트가 페이지의 시작에서 얼마나 떨어져 있는지에 대한 정보를 포함하고 있다.

페이지 종류
.데이터 페이지 : 데이터를 저장하기 위한 페이지
.인덱스 페이지 : 인데스를 저장하는 페이지

익스텐트(extent)
:테이블이나 인덱스가 저장되는 기본단위, 8개의 페이지가 모여서 하나의 익스텐트를 이룬다.

단일 익스텐트 : 하나의 개체만 할당된 익스텐트
혼합 익스텐트 : 하나 이상의 개체의 페이지가 들어 있는 익스텐트

--인덱스의 구조
:인덱스는 기본적으로 정렬 되어있다.
인덱스는 B-tree구조로 구성되어 있다.
*/
--인덱스 유형

--clustered 인덱스(물리적으로 데이터를 정렬 시킴)
/*
:원하는 컬럼에 클러스터드 인덱스를 만들게 되면 기본적으로 데이터를 정렬을 시킨다.(오름차순으로 정렬)
.한테이블에 하나의 클러스터드 인덱스만 만들수있다.
.기본키를 만들게 되면 기본키에 클러스터드 인덱스가 만들어진다.
(기본키에는 넌클러스터드 인덱스를 만들 수 도 있다.)
.수정삭제 발생시 논클러스터드 보다 느리다.(데이터 재정렬 때문)
*/

--non clustered 인데스(논리적으로 데이터를 정렬 시킴)
/*
:원하는 컬럼에 넌클러스터드 인덱스를 만들게 되면, 데이터 페이지의 위치정보를 인덱스로 구성하게된다.
.한테이블에 만들 수 있는 넌 클러스터드 인덱스는 여러개가 가능
.기본적으로 클러스터드 인덱스 보다 검색 속도가 느리다.
*/
create table tbl01(aa int primary key, bb int, cc int);
--인덱스 정보확인 프로시져
exec sp_helpIndex tbl01

create table tbl02(aa int primary key, bb int unique, cc int unique,dd int);
exec sp_helpIndex tbl02 --aa는 클러스터드 인덱스,bb,cc는 넌 클러스터드 인덱스가 자동으로 생성

--기본키에도 넌 클러스터드 인덱스 설정 가능
create table tbl03(aa int primary key nonclustered,bb int unique,cc int unique,dd int);
exec sp_helpindex tbl03;

create table tbl04(aa int primary key nonclustered,bb int unique clustered,cc int unique,dd int)
exec sp_helpindex tbl04;

create table clusteredTbl(
id char(8) not null,
name NVARCHAR(10) not null);

insert clusteredTbl values('LL','김말똥');
insert clusteredTbl values('FF','홍길동');
insert clusteredTbl values('AA','김말똥2');
insert clusteredTbl values('BB','김말똥3');
insert clusteredTbl values('DD','김말똥4');
insert clusteredTbl values('HH','김말똥5');
insert clusteredTbl values('MM','김말똥6');
insert clusteredTbl values('OO','김말똥7');
insert clusteredTbl values('JJ','김말똥8');
insert clusteredTbl values('BB','김말똥9');
insert clusteredTbl values('II','김말똥10');
delete from clusteredTbl where name = '김말똥9'
select * from clusteredTbl

Alter table clusteredTbl
add constraint PK_clu_id primary key(id);
select * from clusteredTbl

create table noncluTbl(
id char(8) not null,
name nVarchar(8) not null
)

insert noncluTbl values('LL','김말똥');
insert noncluTbl values('FF','홍길동');
insert noncluTbl values('AA','김말똥2');
insert noncluTbl values('BB','김말똥3');
insert noncluTbl values('DD','김말똥4');
insert noncluTbl values('HH','김말똥5');
insert noncluTbl values('MM','김말똥6');
insert noncluTbl values('OO','김말똥7');
insert noncluTbl values('JJ','김말똥8');
insert noncluTbl values('KK','김말똥9');
insert noncluTbl values('II','김말똥10');
select * from noncluTbl
alter table noncluTbl
add constraint UK_non_id unique(id)
insert clusteredTbl values('gg','조관우')
insert clusteredTbl values('HA','김장비')
select * from clusteredTbl
insert noncluTbl values('gg','조관우')
insert noncluTbl values('HA','김장비')
select * from noncluTbl


create table ccc(
id char(8) not null,
name nvarchar(10) not null,
address nchar(10)
)

insert ccc values('LL','김말똥'  ,'서울 강서구1' );
insert ccc values('FF','홍길동'  ,'서울 강서구2' );
insert ccc values('AA','김말똥2'  ,'서울 강서구3');
insert ccc values('BB','김말똥3'  ,'서울 강서구4');
insert ccc values('DD','김말똥4'  ,'서울 강서구5');
insert ccc values('HH','김말똥5'  ,'서울 강서구6');
insert ccc values('MM','김말똥6'  ,'서울 강서구7');
insert ccc values('OO','김말똥7'  ,'서울 강서구8');
insert ccc values('JJ','김말똥8'  ,'서울 강서구9');
insert ccc values('KK','김말똥9'  ,'서울 강서구10');
insert ccc values('II','김말똥10' ,'서울 강서구11');
select * from ccc 
alter table ccc
add constraint PK_mix_id
primary key(id)

alter table ccc 
add constraint UK_mix_name
unique(name)
exec sp_helpindex ccc


select address from ccc where name = '김말똥'

--알아두어야할 용어
/*
Table scan : 데이터페이지를 처음부터 끝까지 검색하는 방식
인덱스가 없을 경우에 주로 사용하는 방식
Index seek : 넌클러스터드 인덱스에서 데이터를 찾는 방식

RID lookup : 넌클러스터드 인덱스에서 키를 검색 한 후, 실제 데이터 페이지를 찾는 다라는 의미

Clustered Index seek : 클러스터드 인덱스에서 데이터를 찾는 방식

Key lookup : 넌 클러스터드 인덱스에서 키를 검색한 후 클러스터드 인덱스에서 데이터를 찾는 방식

Clustered Index Scan : table scan방식과 비슷한 개념으로 전체를 찾아본다는 의미
 
*/

select * from ccc where id = 'aa'
select * from ccc

--인덱스를 직접 생성하는 방법
/*
create [unique][clustered | nonclustered] index 인덱스명 
on 테이블명(column [asc | desc]) 

PAD_INDEX : 기본값은 OFF,ON으로 설정되면 FILLFACTOR에 페이지 여유분을 설정할 수 있다.
FILLFACTOR : 페이지의 여유분을 설정한다.

예>with fillfactor 80 ->페이지에 20%의 여유분을 두겠다는 의미

    .sort_in_tempDB : 기본값은 OFF,ON설정하면 디스크의 분리효과가 생긴다.
.online : 기본값은 OFF,ON 설정시 인덱스 생성중에서 기본 테이블에 쿼리가 가능하도록 하는 옵션


*/
--인덱스를 변경하는 방법
/*
alter index [인덱스 명 | all] on 테이블명 rebuild 옵션:인덱스를 삭제하고 다시 생성하는 옵션
예> alter index all on ccc
rebuild
with (online = on)

reorganize : 인덱스를 다시 구성하는 옵션(삭제하지 않고, 즉 조각모음)
*/

--인덱스 삭제
/*
delete index 테이블명.인덱스명
.primary key, unique 제약조건으로 자동생성된 인덱스는 drop index로 제거 할 수 없다.
이경우에는 alter table 구문으로 제약조건을 삭제하면 인덱스가 삭제된다.
.시스템 테이블의 인덱스는 drop index구문으로 삭제 할 수없다.
.혼합형 테이블에서 인덱스를 제거할 경우에는 넌클러스터드 인덱스를 제거하는 것이 좋다.
*/
select * from ccc

exec sp_helpindex ccc;

alter table ccc
drop UK_mix_name;--인덱스 삭제

create index idx_name on ccc(name)
exec sp_helpindex ccc;

create unique index idx_name on ccc(name); --네임에 유니크를 추가

--트랜잭션 : 하나의 논리적인 작업단위로 여러명령의 묶음.
--여러명령의 묶음 : insert/update/delete 명령들의 묶음이라도 봐도 된다.

--예
begin transaction --자동으로 sql server에서 붙인다.
update ccc set address='경기도 시흥' where id = 'aaa';
commit transaction --자동으로 sql server에서 붙인다.

--commit : 데이터베이스에 반영을 하겠다는 명령 


--예
begin transaction --사용자가 명시
update ccc set address='경기도 시흥1' where id = 'aaa';
update ccc set address='경기도 시흥2' where id = 'bbb';
update ccc set address='경기도 시흥3' where id = 'ddd';
commit transaction --사용자가 명시
--commit : 데이터베이스에 반영을 하겠다는 명령

create table cccc(
number int 
);

insert cccc values(10);
insert cccc values(20);
insert cccc values(30);

begin tran 
Update cccc set number =10 where number=100;
Update cccc set number =20 where number=200;
Update cccc set number =30 where number=300;
commit tran

select * from cccc

--현재 실행 중인 트랜잭션의 갯수를 알아보기위한 함수
--시스템 함수 @@trancount
select @@TRANCOUNT

--다른 쿼리창에서 select * from cccc 실행해도 트랜잭션이 진행중일 경우 않보임
--트랜잭션 중일 경우에는 해당 테이블에 Lock을 발생시킴.
--따라서 다른 사용자가 접근 할 수 없게 된다.
--ctrl + alt + del키를 누른다.
--만약 LOCK을 해제하면 볼수 있는데 해제하는 방법은 
--alter database sampleDB set allow_snapshot_isolation on;
--set transaction isolation level snapshot;
--원상태는
--alter database sampleDB set allow_snapshot_isolation off;

--구문형식
/*
begin tran
SQL 명령...
Commit tran(=commit work)

.commit tran : 트랜잭션의 이름을 지정해서 commit을 시킬 수 있다.
.commit work : 현재 실행중인 트랜잭션 중에서 가장 가까운 트랜잭션만을 커밋 시킨다.
.rollback tran: 트랜잭션을 취소
트랜잭션의 내용이 길 경우 중간에 위치를 지정해서
그 지점까지의 저장 할 수 있다.
.save tran 저장지점
*/

--트랜잭션의 종류
/*
자동 커밋 트랜재션 : 자동적으로 begin tran 과 commit tran을 명시하는 방식
SQL Server에서는 자동 커밋을 디폴트로 사용한다.
명시적 트랜잭션 : 사용자가 직접 begin tran과 commit tran,rollback tran을 명시하는 방식.
묵시적(암시적(트랜잭션):쿼리문을 실행했을 때 자동으로 begin tran을 명시하지만, commit tran,rollback tran은
자동으로 명시하지 않는 방식(사용자가 직접 commit tran을 결정하는 방식)

설정방법 : set implict transaction on 

alter table, fetch, revoke, create, grant, select, delete, insert,update,truncate table,drop,open
암시적 트랜잭션이 한번이 수행되면,commit이나 rollback명령이 수행되기 전까지는 암시적트랜잭션이 중복되어 시작되지 않는다.
*/

create table tran_ex2(
name varchar(10),
money int,

constraint CK_money check(money >= 0)
);

INSERT tran_ex2 values('유비',1000);
INSERT tran_ex2 values('장비',2000);

select * from tran_ex2

--유비가 장비에게 500원을 송금하는 예
begin
update tran_ex2 set money=money-500 where name='유비';
commit tran

begin
update tran_ex2 set money=money + 500 where name='장비';
commit tran
--유비가 장비에게 800원을 송급처리
begin
update tran_ex2 set money = money - 800 where name='유비';
update tran_ex2 set money = money + 800 where name='장비';
commit tran

--check 조건:money >=0 ->논리적인 오류 rollback이 실행되지 않는다.
--이러한 논리적인 오류가 발생했을 경우에는 
--예외 처리를 한다. begin try ~end try begin catch ~ end catch를 이용한다.
begin try 
begin tran
update tran_ex2 set money = money - 500 where name='유비';
update tran_ex2 set money = money + 500 where name='장비';
commit tran
print '송금처리가 되었습니다.'
end try
begin catch
rollback tran
print '잔액이 부족합니다.'
end catch
-------이상 5강------------
--단순한 레코드 증가용 테이블
create table tran_ex3(
no int identity 
);
--트랜잭션의 갯수를 저장하는 테이블
create table tran_ex4(
no int,
tranCnt int
);


--트리거 만들기
CREATE TRIGGER trancnt
on tran_ex3
for insert
as
declare @no int;
select @no = no from inserted;
insert tran_ex4 values(@no,@@TranCount);

insert tran_ex3 default values;

SELECT * from tran_ex3
SELECT * from tran_ex4

begin tran
begin tran
print '트랜잭션의수:' + cast(@@tranCount as char(3));
commit tran
print '트랜잭션의 수:' + cast(@@trancount as nchar(3));
commit tran

print '트랜잭션의 수:' + cast(@@trancount as nchar(3));



CREATE TABLE TRAN_ROLLback_EX1(
NO INT
);
INSERT TRAN_ROLLBACK_EX1 VALUES(10);

BEGIN TRAN --모든 TRAN 롤백
UPDATE TRAN_ROLLBACK_EX1 SET NO = 100;
BEGIN TRAN
UPDATE TRAN_ROLLBACK_EX1 SET NO =200;
SELECT * FROM TRAN_ROLLBACK_EX1;
ROLLBACK TRAN
SELECT * FROM TRAN_ROLLBACK_EX1;
ROLLBACK TRAN
SELECT * FROM TRAN_ROLLbACK_EX1;

--SAVA TRAN 문응용 : TRAN별로 롤백
BEGIN TRAN
UPDATE TRAN_ROLLback_EX1 SET NO =100;
SAVE TRAN [POS1]
BEGIN TRAN
UPDATE TRAN_ROLLBACK_EX1 SET NO = 200;
SELECT * FROM TRAN_ROLLback_EX1;
ROLLBACK TRAN[POS1]
SELECT * FROM TRAN_ROLLback_EX1;
ROLLBACK TRAN
SELECT * FROM TRAN_ROLLback_EX1
--이상6강

SET  IMPLICIT_transactions on;

CREATE table Tran_tbl( --암시적트랜잭션이 시작되는 지점
no int
);
go

insert Tran_tbl values(10);
insert Tran_tbl values(20);

select * from Tran_tbl --create부터 같이 실행시 다른쿼리창에서 select문이 실행이 않됨.
rollback tran

SELECT @@TRANCOUNT;
SELECT * FROM Tran_tbl;

begin tran
INSERT Tran_tbl values(10)
select @@TRANCOUNT;
commit tran;
begin tran
INSERT Tran_tbl values(20)
select @@TRANCOUNT;
rollback tran; --위의 tran까지 취소

SELECT @@TRANCOUNT;

set implicit_transactions off;

--이상 7강
/*
CREATE PROCEDURE 프로시져이름
as
SQL ..

프로시져 실행
exe 프로시져명

프로시져 수정/삭제
alter procedure /drop procedure 

매개변수 : 프로시저를 생성할때 매개변수를 지정한다.

입력매개변수 지정
@입력 매개 변수이름 데이터 형식

입력매개변수가 있는 프로시저 실행
execute 프로시져명 [매개변수에 전달 될 값]

출력매개변수 지정
@출력변수이름 데이터형식 output

출력매개변수가 있는 프로시저를 실행
execute 프로시저명 @변수명 output
*/


SELECT * FROM seqTest

--프로시저 생성
create procedure pr_1
@empName nvarchar(10)

as
SELECT * FROM seqTest ;

--프로시저 수정
alter procedure pr_1
@empName nvarchar(10)

as
SELECT * FROM seqTest WHERE name like @empName;

exec pr_1 ''

create procedure pr_4
@text nchar(10),
@outNum int Output
as
insert pr_Tbl values(@text);
select @outNum = IDENT_CURRENT('pr_tbl'); --pr_Tbl의 현재 identity 값

create table pr_tbl(
no int identity,
text char(10)
);

declare @n int;

exec pr_4 'number 1', @n output

SELECT * from pr_Tbl

--이상 8강




'IT' 카테고리의 다른 글

Mobile software development lifecycle  (0) 2019.08.01
모바일 소프트웨어 개발 수명 주기  (0) 2019.07.31
What is Xamarin?  (0) 2019.07.25
Xamarin이란?  (0) 2019.07.25
갤럭시노트10 5G 사전예약 출시 알림 신청  (0) 2019.07.15

안녕하세요. 이번에는 USB선풍기 할인쿠폰을 공유해드려요.

 

공유해드리는 USB선풍기는 [플래시빈] USB 선풍기 DH-FS04 모델이에요.

 

할인쿠폰은 9PAW 이에요.

https://doubleshop.co.kr/offers/163

 

[플래시빈] USB 선풍기 DH-FS04

강하지만 조용하게

doubleshop.co.kr

링크를 클륵하시면 가격이 19800원이지만 가격 바로 밑에 쿠폰사용을 클릭하시고 할인쿠폰 9PAW를 입력하시면

12,870원에 구입 할 수 있어요.

 

 

USB 선풍기의 특징을 정리하자면

 

1. 강하지만 조용하게, 평범하지만 특별하게

2. 화이트&블랙의 모던함

3. 곡선디자인의 그립감이 좋은 손잡이

4. 고효율 저소음 BLDC모터

BLDC모터 - 사용할 수록 마모되는 브러시 대신 전자회호를 사용하는 브러시리스 모터로 미세유해물질이 발생하지 않으며, 제품의 수명이 10배 이상 향상된 첨단 모터로 소음이 거의 없고 진동을 낮추며 에너지 효율은 80%이상 개선된 친환경 모터입니다.

5. 자연에 가까운 부드러운 바람

6. 7엽 날개의 강한 입체적인 바람

7. USB 포트가 있는 어느 장소든 충전케이블로 편리하게 전원 공급하여 사용이 가능

8. 똑똑한 바람 각도 조절 - 22도 상하 각도 조절

9. 청소가 편리한 분리형 설계

10. 플래시빈의 인증받은 안정성

 

 

 

장마가 끝나면 무더운 여름의 시작이에요. 특히 더운 날씨는 9월까지 갈 수 있으니 가성비 좋은 USB 선풍기를 찾는 분들은 할인쿠폰으로 저렴하게 구매 할 수 있으니 구매 후보에 올려도 좋을 것 같아요.

 

 

 

안녕하세요.이번에는 여행플랫폼 클룩에서 전 상품 15%할인코드가 나와서 공유해드려요.

블로그를 통해서 7월12일부터 8월15일까지 예약만 하셔도 할인이 되는 코드이니 해외여행 준비중이신 분들에게 도움이 되었으면 좋겠어요.

클룩에 대해 짥게 소개해드린다면

클룩은 다양한 여행 액티비티를 손쉽게 예약할 수 있는 여행 플랫폼입니다.

클룩에서는 다양한 여행 상품을 독보적인 가격대에 만나 볼 수 있습니다.

몇 번의 터치만으로 바로 홍콩 공항 익스프레스를 타고

도심까지 빠르게 이동할 수도 있고,

동심을 불러일으키는 도쿄 디즈니랜드도 방문하고,

발리의 잔잔한 파도 아래 숨겨져 있던 보석 같은 풍경도 감상할 수 있습니다.

https://app.ac/HAXzRp513

 

세계 어디든지~ 초특가로 떠나래!

다가오는 여름! 초특가로 클룩이랑 떠나래! 심카드, 와이파이부터 공항 픽업, 샌딩 서비스, 테마파크와 박물관 입장권, 맛집 할인 쿠폰까지! 지금 바로 클룩에서 전 세계 다양한 액티비티를 최대 15% 할인가에 예약하세요!

www.klook.com

위의 링크를 클릭하시고

1. 원하는 액티비티를 고르세요

2.장바구니에 상품을 넣으세요

3. 쿠폰코드 : 클룩이떠나래 를 입력하시면 할인되요.

여행 플랫폼 클룩 전 상품 15% 할인코드

2019년 7월 12일 ~ 2019년 8월 15일

전 상품 15% 할인, 최대 7만원 할인코드

o 할인 코드명: 클룩이떠나래

o 할인 내용: 전 상품 15%, 최대 7만원까지 할인.

o 할인 조건: 최소 5,000원 이상 결제 시 적용 가능. (단일 상품이 아닌 여러 상품 장바구니에 담아서 5,000원 이상이면 사용 가능)

o 대상 상품: 클룩 전상품 *유니버셜 스튜디오, JR 패스 등 일부 상품 제외

이용약관

쿠폰코드는 2019년 8월 15일까지(예약일 기준)유효합니다.

유니버셜 스튜디오 재팬 (USJ) 및 JR패스 등 일부 상품은 할인 대상에서 제외됩니다.

최종 결제단계에서 쿠폰코드 적용 완료한 뒤 결제해야만 할인 적용이 가능합니다.

결제 완료 이후, 쿠폰 코드 적용이 불가하니, 반드시 결제 전 쿠폰 적용 여부를 다시 한 번 확인하세요.

상품가격 및 할인률은 환율에 따라 조정될 수 있습니다

본 할인 혜택은 기타 프로모션, 바우처 등 기타 할인 혜택과 중복 적용이 불가합니다.

구매한 상품의 취소, 환불 요청시 상품 페이지 내 명시된 규정대로 처리됩니다.

적용된 할인 코드는 예약 취소 및 환불 시, 재반환 되지 않습니다.

본 혜택은 클룩 사정에 의해 사전 통보 없이 변경될 수 있으며, 행사가 조기 종료될 수 있습니다.

클룩 상품 및 이벤트 관련 문의는 아래 클룩 고객센터로 문의해주시기 바랍니다.

클룩 고객센터 : 카카오톡 플러스친구 @klook // E-mail : support@klook.com

이번 klook 할인코드는 위의 상품 외에도 모든 상품에 적용외요.

다양한 할인코드가 있으니 이번 해외여행 액티비티를 계획 중인 분들은 위의 할인코드를 활용해서 가성비 좋은 여행 하길 바래요.

다음에 더 좋은 할인코드가 있으면 다시 공유해드릴게요~

"이 포스팅은 제휴마케팅이 포함된 광고로 일정 커미션을 지급 받을 수 있습니다."

출처 - 마이크로 소프트

What is Xamarin?

Building mobile apps can be as easy as opening up the IDE, writing and testing an app, and submitting to an App Store – all done in an afternoon. Or it can be an extremely involved process that involves rigorous up-front design, usability testing, QA testing on thousands of devices, a full beta lifecycle, and then deployment a number of different ways.

This document introduces the Xamarin platform. To learn more about the process of building mobile applications from design through to testing, see Introduction to the Mobile Software Development Lifecycle.

See system requirements to confirm your system.

Introduction to Xamarin

When considering how to build Android and iOS applications, many people think that the native languages, Objective-C, Swift, Java, and Kotlin, are the only choice.

Xamarin allows you develop in C#, with a class library and runtime that works across all many platforms, including iOS, Android, and Windows, while still compiling native (non-interpreted) applications that are performant enough even for demanding games.

Xamarin combines all of the abilities of the native platforms and adds a number of powerful features of its own, including:

  1. Complete Binding for the underlying SDKs – Xamarin contains bindings for nearly the entire underlying platform SDKs in both iOS and Android. Additionally, these bindings are strongly-typed, which means that they’re easy to navigate and use, and provide robust compile-time type checking and during development. This leads to fewer runtime errors and higher-quality apps.
  2. Objective-C, Java, C, and C++ Interop – Xamarin provides facilities for directly invoking Objective-C, Java, C, and C++ libraries, giving you the power to use a wide array of 3rd party code that has already been created. This lets you take advantage of existing iOS and Android libraries written in Objective-C, Java, or C/C++. Additionally, Xamarin offers binding projects that allow you to easily bind native Objective-C and Java libraries using a declarative syntax.
  3. Modern Language Constructs – Xamarin applications are written in C#, a modern language that includes significant improvements over Objective-C and Java such as *Dynamic Language Features, Functional Constructs such as *Lambdas, *LINQ,Parallel Programming features, sophisticated *Generics, and more.
  4. Amazing Base Class Library (BCL) – Xamarin applications use the .NET BCL, a large collection of classes that have comprehensive and streamlined features such as powerful XML, Database, Serialization, IO, String, and Networking support, and more. Existing C# code can be compiled for use in an app, which provides access to thousands of libraries that allow you do things that aren’t covered in the BCL.
  5. Modern Integrated Development Environment (IDE) – Xamarin uses Visual Studio for Mac on macOS and Visual Studio on Windows. These are both modern IDEs that include features such as code auto completion, a sophisticated Project and Solution management system, a comprehensive project template library, integrated source control, and many others.
  6. Mobile Cross Platform Support – Xamarin offers sophisticated cross-platform support for the three major mobile platforms of iOS, Android, and Windows. Applications can be written to share up to 90% of their code, and our Xamarin.Mobile library offers a unified API to access common resources across all three platforms. This can significantly reduce both development costs and time to market for mobile developers that target the three most popular mobile platforms.

Because of Xamarin’s powerful and comprehensive feature set, it fills a void for application developers that want to use a modern language and platform to develop cross-platform mobile applications.

 참고

This Get Started series focuses on getting started building iOS and Android applications. Microsoft offers information about Universal Windows Platform (UWP) development for tablets and desktops. To learn more about cross-platform development with Xamarin (including UWP apps for Windows), read the Building Cross-Platform Applications guide.

How does Xamarin work?

Xamarin offers two commercial products: Xamarin.iOS and Xamarin.Android. They’re both built on top of Mono, an open-source version of the .NET Framework based on the published .NET ECMA standards. Mono has been around almost as long as the .NET framework itself, and runs on nearly every imaginable platform including Linux, Unix, FreeBSD, and macOS.

On iOS, Xamarin’s Ahead-of-Time ( AOT) Compiler compiles Xamarin.iOS applications directly to native ARM assembly code. On Android, Xamarin’s compiler compiles down to Intermediate Language ( IL), which is then Just-in-Time ( JIT) compiled to native assembly when the application launches.

In both cases, Xamarin applications utilize a runtime that automatically handles things such as memory allocation, garbage collection, underlying platform interop, etc.

Xamarin.iOS.dll and Mono.Android.dll

Xamarin applications are built against a subset of the .NET BCL known as the Xamarin Mobile Profile. This profile has been created specifically for mobile applications and packaged in the Xamarin.iOS.dll and Mono.Android.dll (for iOS and Android respectively). This is much like the way Silverlight (and Moonlight) applications are built against the Silverlight/Moonlight .NET Profile. In fact, the Xamarin Mobile profile is equivalent to the Silverlight 4.0 profile with a bunch of BCL classes added back in.

For a full list of available assemblies and classes, see the Xamarin.iOS Assembly List and the Xamarin.Android Assembly List

In addition to the BCL, these .dlls include wrappers for nearly the entire iOS SDK and Android SDK that allows the underlying SDK APIs to be invoked directly from C#.

Application output

When Xamarin applications are compiled, the result is an Application Package, either an .app file in iOS, or .apk file in Android. These files are indistinguishable from application packages built with the platform's default IDEs and are deployable in the exact same way.

Next steps

Now you've learned a little about how Xamarin works, the next step is to start building an app using one of these guides:

출처 - 마이크로 소프트

Xamarin이란?

모바일 앱 빌드는 IDE를 열고, 앱을 작성 및 테스트하고, 앱 스토어에 제출하는 것처럼 쉽게 수행할 수 있습니다. 모든 작업이 그 날 완료됩니다. 또는 엄격한 사전 설계, 유용성 테스트, 수천 대의 디바이스에서 QA 테스트, 전체 베타 주기 및 여러 가지 다른 방식의 배포가 포함된 매우 복잡한 프로세스일 수 있습니다.

이 문서에서는 Xamarin 플랫폼을 소개합니다. 설계부터 테스트에 이르는 모바일 애플리케이션을 빌드하는 프로세스에 대한 자세한 내용은 모바일 소프트웨어 개발 수명 주기 소개를 참조하세요.

시스템을 확인하려면 시스템 요구 사항을 참조하세요.

Xamarin 소개

Android 및 iOS 애플리케이션을 빌드하는 방법을 고려할 때, 많은 사람은 Objective-C, Swift, Java 및 Kotlin와 같은 기본 언어가 유일한 선택이라고 생각합니다.

Xamarin을 사용하면 까다로운 게임을 실행할 만큼 충분한 성능을 갖춘 네이티브(해석되지 않은) 애플리케이션을 계속 컴파일하면서, iOS, Android 및 Windows를 비롯한 많은 플랫폼에서 작동하는 클래스 라이브러리 및 런타임을 사용하여 C#으로 개발을 진행할 수 있습니다.

Xamarin은 네이티브 플랫폼의 모든 기능을 결합하고 다음과 같은 강력한 여러 기능을 추가적으로 제공합니다.

  1. 기본 SDK에 대한 전체적인 바인딩 - Xamarin에는 iOS 및 Android에서 거의 모든 기본 플랫폼 SDK에 대한 바인딩이 포함되어 있습니다. 또한 이러한 바인딩은 강력한 형식이므로 탐색 및 사용하기 쉽고 개발 중에도 강력한 컴파일 시간 형식 확인을 제공합니다. 이로 인해 런타임 오류가 줄어들고 앱의 품질이 향상됩니다.
  2. Objective-C, Java, C 및 C++ Interop - Xamarin은 Objective-C, Java, C 및 C++ 라이브러리를 직접 호출할 수 있는 기능을 제공하므로 이미 생성된 다양한 타사 코드를 사용할 수 있습니다. 이를 통해 Objective-C, Java 또는 C/C++로 작성된 기존 iOS 및 Android 라이브러리를 활용할 수 있습니다. 또한 Xamarin은 선언적 구문을 사용하여 네이티브 Objective-C 및 Java 라이브러리를 쉽게 바인딩할 수 있는 바인딩 프로젝트를 제공합니다.
  3. 현대적인 언어 구문 - Xamarin 애플리케이션은 *Lambdas, *LINQ, 병렬 프로그래밍 기능, 정교한 *제네릭과 같은 기능적 구문, *동적 언어 기능과 같은 Objective-C 및 Java보다 크게 향상된 기능을 포함하는 현대적인 언어인 C#으로 작성됩니다.
  4. 뛰어난 BCL(기본 클래스 라이브러리) - Xamarin 애플리케이션은 강력한 XML, 데이터베이스, 직렬화, IO, 문자열 및 네트워킹 지원 등과 같은 포괄적이고 간소화된 기능을 갖춘 방대한 클래스의 컬렉션인 .NET BCL을 사용합니다. 기존 C# 코드를 앱에서 사용할 수 있도록 컴파일할 수 있으며 수천 개의 라이브러리에 액세스할 수 있으므로 BCL에서 다루지 않은 것도 수행할 수 있습니다.
  5. 현대적인 IDE(통합 개발 환경) - Xamarin은 MacOS에서 Mac용 Visual Studio를 사용하고 Windows에서 Visual Studio를 사용합니다. 코드 자동 완성, 정교한 프로젝트 및 솔루션 관리 시스템, 포괄적인 프로젝트 템플릿 라이브러리, 통합 소스 제어 및 기타 여러 기능을 포함하는 현대적인 IDE입니다.
  6. 모바일 플랫폼 간 지원 - Xamarin은 iOS, Android 및 Windows의 세 가지 주요 모바일 플랫폼에 대해 정교한 플랫폼 간 지원을 제공합니다. 애플리케이션은 코드의 최대 90%를 공유하도록 작성할 수 있으며 Xamarin.Mobile 라이브러리는 세 가지 모든 플랫폼 간에 공통의 리소스에 액세스할 수있는 통합 API를 제공합니다. 이를 통해 가장 널리 사용되는 세 가지 모바일 플랫폼을 대상으로 하는 모바일 개발자의 개발 비용과 출시 시간을 크게 줄일 수 있습니다.

Xamarin의 강력하고 포괄적인 기능 집합으로 인해, 플랫폼 간 모바일 애플리케이션을 개발하기 위해 현대적인 언어 및 플랫폼을 사용하려는 애플리케이션 개발자에게 도움이 됩니다.

 참고

이 시작 시리즈에서는 iOS 및 Android 애플리케이션 빌드를 시작하는 데 중점을 둡니다. Microsoft는 태블릿 및 데스크톱용 UWP(유니버설 Windows 플랫폼) 개발에 대한 정보를 제공합니다. Xamarin(Windows용 UWP 앱 포함)을 사용한 플랫폼 간 개발에 대한 자세한 내용은 플랫폼 간 애플리케이션 빌드 가이드를 읽어 보세요.

Xamarin 작동 방식

Xamarin은 Xamarin.iOS 및 Xamarin.Android라는 두 가지 상업용 제품을 제공합니다. 둘 다 게시된 .NET ECMA 표준을 기반으로 한 .NET Framework의 오픈 소스 버전인 Mono를 기반으로 합니다. Mono는 .NET Framework만큼 오래되었으며 Linux, Unix, FreeBSD, MacOS 등 떠올릴 수 있는 거의 모든 플랫폼에서 실행됩니다.

iOS, Xamarin의 AOT(Ahead-of-Time) 컴파일러는 Xamarin.iOS 애플리케이션을 네이티브 ARM 어셈블리 코드로 직접 컴파일합니다.Android에서는 Xamarin의 컴파일러가 IL(중간 언어)로 컴파일한 후 애플리케이션이 시작될 때 네이티브 어셈블리로 JIT(Just in Time) 컴파일됩니다.

두 경우 모두, Xamarin 애플리케이션은 메모리 할당, 가비지 수집, 기본 플랫폼 상호 운용 등을 자동으로 처리하는 런타임을 활용합니다.

Xamarin.iOS.dll 및 Mono.Android.dll

Xamarin 애플리케이션은 Xamarin Mobile Profile로 알려진 .NET BCL의 하위 집합에 대해 빌드됩니다. 이 프로필은 모바일 애플리케이션에 맞게 특별히 작성되어 Xamarin.iOS.dll 및 Mono.Android.dll(각각 iOS 및 Android용)에 패키지됩니다 이 방식은 Silverlight/Moonlight .NET 프로필에 대해 Silverlight(및 Moonlight) 애플리케이션이 빌드된 방식과 매우 유사합니다. 사실, Xamarin Mobile Profile은 BCL 클래스가 다시 추가된 Silverlight 4.0 프로필과 동일합니다.

사용 가능한 어셈블리 및 클래스의 전체 목록은 Xamarin.iOS 어셈블리 목록  Xamarin.Android 어셈블리 목록을 참조하세요.

BCL 외에도, 이러한 .dll에는 C#에서 기본 SDK API를 직접 호출할 수 있는 거의 모든 iOS SDK 및 Android SDK용 래퍼가 포함되어 있습니다.

애플리케이션 출력

Xamarin 애플리케이션이 컴파일되면 결과는 애플리케이션 패키지(iOS에서는 .app 파일, Android에서는 .apk 파일)로 생성됩니다. 이러한 파일은 플랫폼의 기본 IDE로 작성된 애플리케이션 패키지와 구별할 수 없으며 동일한 방식으로 배포할 수 있습니다.

안녕하세요. 이번에는 패션쇼핑몰 크루비의 9월 할인코드를 공유해 드릴게요. 할인코드는 10%와 15%가 있는데 이 글에 있는 것은 15%에요. 역시즌은 최대 90%할인이에요.

 

https://app.ac/jj5TR1a83

 

크루비

100% 정품 브랜드 셀렉샵. 다양한 국내외 브랜드 입점, 합리적인 가격으로 고객을 먼저 생각하는 온라인 몰입니다.

crewbi.com

크루비는 국내외 브랜드의 의류를 판매하고 있는데요, 수입 브랜드의 경우 정식 수입절차를 통한 정품 100%에요.

이번에 패션쇼핑몰 크루비에서 9월달에 한시적으로 사용 할 수있는 할인코드를 배포했어요.

할인코드 : crewbicy

◎ 할인코드 조건

1. 할인코드 사용기간: 9/1 ~ 9/30

2. 할인율: 15% 할인

3. 유의사항

- 15% 할인(상한금액: 10,000원)

- 만원 이상 적용 가능

- 일부특가상품 적용 제외

- 장바구니에서 할인코드 입력

- 장바구니 내 1개 상품만 할인적용 가능 (여러번 사용 가능)

- 적립금과 중복사용 가능, 타쿠폰과 중복사용 불가

맨위의 링크를 클릭하고 할인코드를 사용하시면 되요. 아래의 링크는 역시즌 90%할인 링크에요.

https://app.ac/63fvuKJ33

 

2019 역시즌 초특가전! - 기획전 - 크루비

크루비 기획전 - 2019 역시즌 초특가전! - 관심가는 상품을 한눈에 모아보아서 간편하고 저렴하게 구매하실 수 있습니다.

crewbi.com

여름에 겨울 옷을 준비하면 저렴하게 준비 할 수있어요. 어차피 세월은 빨리가니.............사두면 금방 입게 되더라구요.(T_T시간이 너무 빨리가요....)

크루비는 정품 의류와 화장품을, 합리적인 가격에 구입해서, 가장 빨리 받아보고, 마음 편하게 환불 교환할 수 있는 쇼핑몰입니다.

크루비는 2009년 설립된 무브 주식회사가 운영하고 있으며, 무브 주식회사는 설립 첫해 부터 지금까지 연평균 50% 이상 성장하고 있는, 재정적으로 안정된 기업입니다. 높은 기술력으로 5개의 특허를 보유하고 있으며, 중소기업청으로부터 벤처기업 인증을 받았고, 메인비즈 기업 인증도 받았습니다. 국내 최대 규모 수험생 커뮤니티인 오르비도 운영하고 있습니다. 무브 주식회사는 설립 초기부터 유니세프, 유엔난민기구, 국경없는 의사회를 정기후원하고 있습니다.

그리고 크루비에서 의류를 구매 하실 경우 해외 브랜드라 사이즈 고르기가 어려울 수 있는데요,

아래의 링크를 들어가시면 크루비에서 알려주는 사이즈 고르는 방법이 나와있어요.

https://app.ac/6qIzN0213

 

크루비 꿀팁 - 공지사항 - 크루비

 

crewbi.com

"이 포스팅은 제휴마케팅이 포함된 광고로 일정 커미션을 지급 받을 수 있습니다."

 

안녕하세요. 이번에는 꽃배달 꾸까의 8월 할인코드를 공유해드려요.

책이나 신문을 정기구독해서 볼수 있듯이 꽃을 정기구독해서 정기 적으로 받아 볼 수도 있고 단품으로도 구매가 가능해요.

 

https://app.ac/Gj5TRxa63

 

꾸까 - kukka

Live everyday with beautiful flowers

kukka.kr

◎ 할인코드 조건

1. 할인코드 사용기간: 9/1 ~ 9/30

2. 할인율: 10% 할인

3. 미적용 카테고리: '플라워 클래스' 미적용(ID당 1회 사용가능)

4. 코드적용: 구매페이지에서 '코드 할인' 란에 할인코드 입력 후 적용

위의 링크를 클릭하셔서 할인코드 kukka9845 를 사용하시면 10%할인이 되요.

 

꾸까(kukka)

꽃으로 새로운 라이프스타일을 만들어가는

kukka의 문화를 소개해요.

kukka는 핀란드어로 꽃을 의미하는 단어예요.

꽃을 일상에서 가볍게 즐기는 핀란드의 문화를 한국에 전파하는 것이 우리의 목표죠.

우리는 한국에도 멋진 ‘꽃 브랜드’가 생길 수 있다고 믿어요.

꽃으로 시도할 수 있는 모든 것들의 가능성을 열어두고,

항상 새로운 도전을 하는 열정적이고 창조적인 사람들이에요.

아직 우리가 발견하지 않았기에 정답은 존재하지 않고,

그 답을 찾는 길을 함께 걸어가고 있죠.

자율과 책임을 같은 무게로 둘 때,

가장 멋진 일들을 해낼 수 있을 거라고 믿어요.

인턴도 대표에게 NO라고 말할 수 있는 자유로운 분위기이고

새로운 시도에 얼마든지 열려있는 유연한 곳이지만

동시에 그 만큼 막중한 책임이 따르기도 해요.

kukka의 구성원이라면 누구나

‘꽃’에 있어서는 누구도 도전해 보지 않은 일들을

끊임없이 고민하고, 또 실행해야 하니까요.

꽃의 위대한 아름다움에 종종 가려지곤 하지만

책임감과 전문성을 가진 프로들이 모여 있는 곳이랍니다.

우리는 구성원의 행복을 가장 중요하게 생각해요.

그래야 kukka를 만나는 당신도 행복해질 테니까요.

사무 공간, 아뜰리에, 오프라인 쇼룸

다양한 공간에 머무는 kukka의 직원들.

1년에 한 번,

kukka의 직원들은 각자 한 달씩 휴식을 가질 수 있어요.

누군가는 제주에서 한 달을 살아보기도 하고,

누군가는 유럽 여행을 떠나기도 해요.

일은 힘들 수 있죠.

‘처음’이라는 수식어에는 늘 고생이 따르니까요.

하지만 행복만은 kukka에서 꼭 지켜야 하는 가치라고 믿어요.

언젠가는 kukka가 해낼 일들,

우리는 지금 이런 꿈을 꾸고 있어요.

평균 나이가 31세 정도로 연륜이 많지는 않지만, 그렇기에 세상에 더 부딪쳐 볼 일이 많아 행복해요.

kukka의 앞날에는 어떤 재미있는 일들이 기다릴지 늘 상상하죠.

오프라인에서는 꽃으로 뒤덮인 공간으로

세상 사람들에게 영감을 주는 쇼룸을 선보이기도 하고, 꽃으로 디자인된 모든 것들을 모아둔

편집샵을 열기도 하는 미래를 그리고 있어요.

그 답을 찾는 길을 함께 걸어가고 있죠.

"이 포스팅은 제휴마케팅이 포함된 광고로 일정 커미션을 지급 받을 수 있습니다."

+ Recent posts