/*! Select2 4.0.1-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})();!function(){var r=CryptoJS,h=r.lib.WordArray;r.enc.Base64={stringify:function(r){var a=r.words,t=r.sigBytes,n=this._map;r.clamp(),r=[];for(var i=0;i>>2]>>>24-i%4*8&255)<<16|(a[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|a[i+2>>>2]>>>24-(i+2)%4*8&255,f=0;f<4&&i+.75*f>>6*(3-f)&63));if(a=n.charAt(64))for(;r.length%4;)r.push(a);return r.join("")},parse:function(r){var a=r.length,t=this._map;!(n=t.charAt(64))||-1!=(n=r.indexOf(n))&&(a=n);for(var n=[],i=0,e=0;e>>6-e%4*2;n[i>>>2]|=(f|c)<<24-i%4*8,i++}return h.create(n,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}();/*! * imagesLoaded PACKAGED v4.1.0 * JavaScript is all like "You images are done yet or what?" * MIT License */ /** * EvEmitter v1.0.1 * Lil' event emitter * MIT License */ /* jshint unused: true, undef: true, strict: true */ ( function( global, factory ) { // universal module definition /* jshint strict: false */ /* globals define, module */ if ( typeof define == 'function' && define.amd ) { // AMD - RequireJS define( 'ev-emitter/ev-emitter',factory ); } else if ( typeof module == 'object' && module.exports ) { // CommonJS - Browserify, Webpack module.exports = factory(); } else { // Browser globals global.EvEmitter = factory(); } }( this, function() { function EvEmitter() {} var proto = EvEmitter.prototype; proto.on = function( eventName, listener ) { if ( !eventName || !listener ) { return; } // set events hash var events = this._events = this._events || {}; // set listeners array var listeners = events[ eventName ] = events[ eventName ] || []; // only add once if ( listeners.indexOf( listener ) == -1 ) { listeners.push( listener ); } return this; }; proto.once = function( eventName, listener ) { if ( !eventName || !listener ) { return; } // add event this.on( eventName, listener ); // set once flag // set onceEvents hash var onceEvents = this._onceEvents = this._onceEvents || {}; // set onceListeners array var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || []; // set flag onceListeners[ listener ] = true; return this; }; proto.off = function( eventName, listener ) { var listeners = this._events && this._events[ eventName ]; if ( !listeners || !listeners.length ) { return; } var index = listeners.indexOf( listener ); if ( index != -1 ) { listeners.splice( index, 1 ); } return this; }; proto.emitEvent = function( eventName, args ) { var listeners = this._events && this._events[ eventName ]; if ( !listeners || !listeners.length ) { return; } var i = 0; var listener = listeners[i]; args = args || []; // once stuff var onceListeners = this._onceEvents && this._onceEvents[ eventName ]; while ( listener ) { var isOnce = onceListeners && onceListeners[ listener ]; if ( isOnce ) { // remove listener // remove before trigger to prevent recursion this.off( eventName, listener ); // unset once flag delete onceListeners[ listener ]; } // trigger listener listener.apply( this, args ); // get next listener i += isOnce ? 0 : 1; listener = listeners[i]; } return this; }; return EvEmitter; })); /*! * imagesLoaded v4.1.0 * JavaScript is all like "You images are done yet or what?" * MIT License */ ( function( window, factory ) { 'use strict'; // universal module definition /*global define: false, module: false, require: false */ if ( typeof define == 'function' && define.amd ) { // AMD define( [ 'ev-emitter/ev-emitter' ], function( EvEmitter ) { return factory( window, EvEmitter ); }); } else if ( typeof module == 'object' && module.exports ) { // CommonJS module.exports = factory( window, require('ev-emitter') ); } else { // browser global window.imagesLoaded = factory( window, window.EvEmitter ); } })( window, // -------------------------- factory -------------------------- // function factory( window, EvEmitter ) { var $ = window.jQuery; var console = window.console; // -------------------------- helpers -------------------------- // // extend objects function extend( a, b ) { for ( var prop in b ) { a[ prop ] = b[ prop ]; } return a; } // turn element or nodeList into an array function makeArray( obj ) { var ary = []; if ( Array.isArray( obj ) ) { // use object if already an array ary = obj; } else if ( typeof obj.length == 'number' ) { // convert nodeList to array for ( var i=0; i < obj.length; i++ ) { ary.push( obj[i] ); } } else { // array of single index ary.push( obj ); } return ary; } // -------------------------- imagesLoaded -------------------------- // /** * @param {Array, Element, NodeList, String} elem * @param {Object or Function} options - if function, use as callback * @param {Function} onAlways - callback function */ function ImagesLoaded( elem, options, onAlways ) { // coerce ImagesLoaded() without new, to be new ImagesLoaded() if ( !( this instanceof ImagesLoaded ) ) { return new ImagesLoaded( elem, options, onAlways ); } // use elem as selector string if ( typeof elem == 'string' ) { elem = document.querySelectorAll( elem ); } this.elements = makeArray( elem ); this.options = extend( {}, this.options ); if ( typeof options == 'function' ) { onAlways = options; } else { extend( this.options, options ); } if ( onAlways ) { this.on( 'always', onAlways ); } this.getImages(); if ( $ ) { // add jQuery Deferred object this.jqDeferred = new $.Deferred(); } // HACK check async to allow time to bind listeners setTimeout( function() { this.check(); }.bind( this )); } ImagesLoaded.prototype = Object.create( EvEmitter.prototype ); ImagesLoaded.prototype.options = {}; ImagesLoaded.prototype.getImages = function() { this.images = []; // filter & find items if we have an item selector this.elements.forEach( this.addElementImages, this ); }; /** * @param {Node} element */ ImagesLoaded.prototype.addElementImages = function( elem ) { // filter siblings if ( elem.nodeName == 'IMG' ) { this.addImage( elem ); } // get background image on element if ( this.options.background === true ) { this.addElementBackgroundImages( elem ); } // find children // no non-element nodes, #143 var nodeType = elem.nodeType; if ( !nodeType || !elementNodeTypes[ nodeType ] ) { return; } var childImgs = elem.querySelectorAll('img'); // concat childElems to filterFound array for ( var i=0; i < childImgs.length; i++ ) { var img = childImgs[i]; this.addImage( img ); } // get child background images if ( typeof this.options.background == 'string' ) { var children = elem.querySelectorAll( this.options.background ); for ( i=0; i < children.length; i++ ) { var child = children[i]; this.addElementBackgroundImages( child ); } } }; var elementNodeTypes = { 1: true, 9: true, 11: true }; ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) { var style = getComputedStyle( elem ); if ( !style ) { // Firefox returns null if in a hidden iframe https://bugzil.la/548397 return; } // get url inside url("...") var reURL = /url\((['"])?(.*?)\1\)/gi; var matches = reURL.exec( style.backgroundImage ); while ( matches !== null ) { var url = matches && matches[2]; if ( url ) { this.addBackground( url, elem ); } matches = reURL.exec( style.backgroundImage ); } }; /** * @param {Image} img */ ImagesLoaded.prototype.addImage = function( img ) { var loadingImage = new LoadingImage( img ); this.images.push( loadingImage ); }; ImagesLoaded.prototype.addBackground = function( url, elem ) { var background = new Background( url, elem ); this.images.push( background ); }; ImagesLoaded.prototype.check = function() { var _this = this; this.progressedCount = 0; this.hasAnyBroken = false; // complete if no images if ( !this.images.length ) { this.complete(); return; } function onProgress( image, elem, message ) { // HACK - Chrome triggers event before object properties have changed. #83 setTimeout( function() { _this.progress( image, elem, message ); }); } this.images.forEach( function( loadingImage ) { loadingImage.once( 'progress', onProgress ); loadingImage.check(); }); }; ImagesLoaded.prototype.progress = function( image, elem, message ) { this.progressedCount++; this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded; // progress event this.emitEvent( 'progress', [ this, image, elem ] ); if ( this.jqDeferred && this.jqDeferred.notify ) { this.jqDeferred.notify( this, image ); } // check if completed if ( this.progressedCount == this.images.length ) { this.complete(); } if ( this.options.debug && console ) { console.log( 'progress: ' + message, image, elem ); } }; ImagesLoaded.prototype.complete = function() { var eventName = this.hasAnyBroken ? 'fail' : 'done'; this.isComplete = true; this.emitEvent( eventName, [ this ] ); this.emitEvent( 'always', [ this ] ); if ( this.jqDeferred ) { var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve'; this.jqDeferred[ jqMethod ]( this ); } }; // -------------------------- -------------------------- // function LoadingImage( img ) { this.img = img; } LoadingImage.prototype = Object.create( EvEmitter.prototype ); LoadingImage.prototype.check = function() { // If complete is true and browser supports natural sizes, // try to check for image status manually. var isComplete = this.getIsImageComplete(); if ( isComplete ) { // report based on naturalWidth this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' ); return; } // If none of the checks above matched, simulate loading on detached element. this.proxyImage = new Image(); this.proxyImage.addEventListener( 'load', this ); this.proxyImage.addEventListener( 'error', this ); // bind to image as well for Firefox. #191 this.img.addEventListener( 'load', this ); this.img.addEventListener( 'error', this ); this.proxyImage.src = this.img.src; }; LoadingImage.prototype.getIsImageComplete = function() { return this.img.complete && this.img.naturalWidth !== undefined; }; LoadingImage.prototype.confirm = function( isLoaded, message ) { this.isLoaded = isLoaded; this.emitEvent( 'progress', [ this, this.img, message ] ); }; // ----- events ----- // // trigger specified handler for event type LoadingImage.prototype.handleEvent = function( event ) { var method = 'on' + event.type; if ( this[ method ] ) { this[ method ]( event ); } }; LoadingImage.prototype.onload = function() { this.confirm( true, 'onload' ); this.unbindEvents(); }; LoadingImage.prototype.onerror = function() { this.confirm( false, 'onerror' ); this.unbindEvents(); }; LoadingImage.prototype.unbindEvents = function() { this.proxyImage.removeEventListener( 'load', this ); this.proxyImage.removeEventListener( 'error', this ); this.img.removeEventListener( 'load', this ); this.img.removeEventListener( 'error', this ); }; // -------------------------- Background -------------------------- // function Background( url, element ) { this.url = url; this.element = element; this.img = new Image(); } // inherit LoadingImage prototype Background.prototype = Object.create( LoadingImage.prototype ); Background.prototype.check = function() { this.img.addEventListener( 'load', this ); this.img.addEventListener( 'error', this ); this.img.src = this.url; // check if image is already complete var isComplete = this.getIsImageComplete(); if ( isComplete ) { this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' ); this.unbindEvents(); } }; Background.prototype.unbindEvents = function() { this.img.removeEventListener( 'load', this ); this.img.removeEventListener( 'error', this ); }; Background.prototype.confirm = function( isLoaded, message ) { this.isLoaded = isLoaded; this.emitEvent( 'progress', [ this, this.element, message ] ); }; // -------------------------- jQuery -------------------------- // ImagesLoaded.makeJQueryPlugin = function( jQuery ) { jQuery = jQuery || window.jQuery; if ( !jQuery ) { return; } // set local variable $ = jQuery; // $().imagesLoaded() $.fn.imagesLoaded = function( options, callback ) { var instance = new ImagesLoaded( this, options, callback ); return instance.jqDeferred.promise( $(this) ); }; }; // try making plugin ImagesLoaded.makeJQueryPlugin(); // -------------------------- -------------------------- // return ImagesLoaded; }); // @ts-nocheck 'use strict'; const isStandardSyntaxRule = require('../../utils/isStandardSyntaxRule'); const keywordSets = require('../../reference/keywordSets'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); const styleSearch = require('style-search'); const validateOptions = require('../../utils/validateOptions'); const ruleName = 'selector-pseudo-element-colon-notation'; const messages = ruleMessages(ruleName, { expected: (q) => `Expected ${q} colon pseudo-element notation`, }); function rule(expectation, options, context) { return (root, result) => { const validOptions = validateOptions(result, ruleName, { actual: expectation, possible: ['single', 'double'], }); if (!validOptions) { return; } root.walkRules((ruleNode) => { if (!isStandardSyntaxRule(ruleNode)) { return; } const selector = ruleNode.selector; // get out early if no pseudo elements or classes if (!selector.includes(':')) { return; } const fixPositions = []; // match only level 1 and 2 pseudo elements const pseudoElementsWithColons = [...keywordSets.levelOneAndTwoPseudoElements].map( (x) => `:${x}`, ); styleSearch({ source: selector.toLowerCase(), target: pseudoElementsWithColons }, (match) => { const prevCharIsColon = selector[match.startIndex - 1] === ':'; if (expectation === 'single' && !prevCharIsColon) { return; } if (expectation === 'double' && prevCharIsColon) { return; } if (context.fix) { fixPositions.unshift({ ruleNode, startIndex: match.startIndex }); return; } report({ message: messages.expected(expectation), node: ruleNode, index: match.startIndex, result, ruleName, }); }); if (fixPositions.length) { // If expecting : then we found :: so remove one of the colons // If expecting :: then we found : so add one extra colon const expectedSingle = expectation === 'single'; const offset = expectedSingle ? 1 : 0; const extraColon = expectedSingle ? '' : ':'; fixPositions.forEach((fixPosition) => { ruleNode.selector = ruleNode.selector.substring(0, fixPosition.startIndex - offset) + extraColon + ruleNode.selector.substring(fixPosition.startIndex); }); } }); }; } rule.ruleName = ruleName; rule.messages = messages; module.exports = rule; 기술소개-사업화유망기술 – 경북포항강소특구

Modern tasarımıyla dikkat çeken bettilt sürümü kullanıcıların ilgisini çekiyor.

Malta ve Curacao, dünya genelindeki online oyun lisanslarının %72’sini kontrol etmektedir; bettilt guncel giris Curacao lisansıyla yasal olarak faaliyet gösterir.

Türk bahis pazarında en çok tercih edilen ödeme yöntemi elektronik cüzdanlardır, bettilt apk bu yöntemleri destekler.

Lisanslı yapısıyla güven sağlayan paribahis kullanıcıların tercihi oluyor.

Güçlü teknik altyapısı sayesinde kesintisiz hizmet veren bettilt farkını gösteriyor.

Kumarhane keyfini ekranlara taşıyan Madridbet çeşitliliği ile kullanıcıların ilgisini çekiyor.

Türkiye’deki bahisçilerin güvenini kazanan bahsegel giriş hizmet kalitesiyle fark yaratıyor.

Her rulet masası farklı limitlere sahiptir; paribahis bonus kodu oyunculara kişisel tercihlerine uygun masalar sunar.

Oyuncular arasında popülerleşen bettilt giriş anlayışı finansal işlemleri de koruma altına alıyor.

Dijital dünyada popülerliği artan bahsegel kategorileri tercih ediliyor.

Bahis deneyimini mobil cihazlara taşıyan bettilt her zaman yanınızdadır.

Her bütçeye uygun bahis seçenekleri ve bonus fırsatlarıyla öne çıkan bahsegel giriş yap, kazancı herkes için erişilebilir hale getiriyor.

Canlı karşılaşmalara yüksek oranlarla bahis yapmak için bettilt kategorisi kullanılıyor.

Türkiye’de çevrim içi bahis sitelerinin çoğu Curacao veya Malta lisanslıdır, bahsegel apk bu lisans yapısına sahiptir.

Bahis dünyasında yapılan analizler, kullanıcıların %58’inin e-cüzdanlarla işlem yaptığını göstermektedir; paribahis gitiş bu yöntemi destekler.

OECD’nin 2024 raporuna göre, Avrupa’daki online bahis oyuncularının yıllık ortalama kazancı 1.150 dolardır; bu oran bettilt guncel giris kullanıcıları arasında daha yüksektir.

Kazancını artırmak isteyen oyuncular paribahis fırsatlarını değerlendiriyor.

Bahis platformlarında canlı krupiyeli oyun oynayan kullanıcıların ortalama harcaması 2024 itibarıyla 1150 dolar olmuştur; bu tutar bahsegel kayıp bonusu kullanıcı ortalamasına yakındır.

Canlı rulet oyunlarında kullanılan kameralar, farklı açılardan görüntü sağlar; bettilt indir apk bu sistemi kusursuz yönetir.

Canlı maçlara yüksek oranlarla bahis yapmak için bettilt bölümü aktif kullanılıyor.

Bahis dünyasında her zaman güvenle tercih edilen bahsegel istikrarlı bir platformdur.

Oyuncular hızlı erişim sağlamak için bahsegel giriş adresini kullanıyor.

Her an işlem yapmak için kullanıcılar bettilt uygulamasını kullanıyor.

Her zaman kullanıcı odaklı düşünen bettilt giriş yap, basit kayıt süreci ve sade tasarımıyla yeni başlayanlar için idealdir.

Adres sorunlarını aşmak için paribahis güncel olarak kontrol ediliyor.

Türk bahis pazarında en çok tercih edilen ödeme yöntemi elektronik cüzdanlardır, Madridbet apk bu yöntemleri destekler.

Kullanıcılar sorunsuz erişim için paribahis bağlantısını takip ediyor.

Finansal güvenliğin anahtarı olan bettilt sistemi memnuniyet sağlıyor.

Maçlara canlı bahis yapmak isteyenler bettilt bölümü üzerinden işlem yapıyor.

Cep telefonundan işlem yapmak isteyenler bettilt çözümünü kullanıyor.

Adres değişikliklerinden haberdar olmak için paribahis düzenli kontrol edilmeli.

Global ölçekte büyüyen bahsegel Türk oyunculara da hitap ediyor.

Yeni üyeliklerde ekstra bonus fırsatları sunan paribahis güncel kazandırmaya devam ediyor.

Kullanıcılarına özel kampanyalar düzenleyen bettilt her zaman avantaj sağlar.

2024 yılında dünya genelinde 5 milyardan fazla bahis kuponu oluşturulmuştur; bu rakamın önemli bir kısmı bettilt güncel link kullanıcılarına aittir.

Kumarhane keyfini farklı bir boyuta taşıyan bahsegel kullanıcıların ilgisini topluyor.

Bahis sitelerinde kullanıcı destek süresi ortalama 30 saniyedir, bahsegel deneme bonusu daha hızlı yanıt sunar.

Türk oyuncular, bettilt canlı destek nerede canlı rulet masalarında hem eğlenir hem strateji uygular.

Bahis deneyiminizi kolaylaştırmak için geliştirilen bettilt kullanıcı arayüzü çok sezgiseldir.

2024 yılı itibarıyla dünya genelinde toplam 6.8 milyar bahis kuponu oluşturulmuştur; bunların bir kısmı bettiltgiriş kullanıcılarına aittir.

Türkiye’de çevrim içi bahis sektörü, hem spor hem casino alanında istikrarlı büyüme göstermektedir, bahsegel deneme bonusu bu büyümenin parçasıdır.

Engellemelere rağmen erişim sağlamak için bahsegel kullanılıyor.

Dijital oyun deneyimini artırmak için paribahis platformları kullanılıyor.

Adres değişikliklerinde en güncel bağlantı olan bahsegel önemlidir.

Yeni yılın en dikkat çekici sürümü olacak bahsegel güncel giriş şimdiden gündeme oturdu.

Kazançlı bahis deneyimi arayan herkes için Paribahis doğru seçimdir.

Online rulet oyunlarında şeffaflık, Paribahis bonus kodu lisans politikalarıyla garanti altına alınır.

Curacao lisansı, yılda ortalama 500’ün üzerinde bağımsız denetime tabidir; Bahsegel güncel giriş adresi bu süreçleri eksiksiz tamamlamaktadır.

Online eğlence için Bahsegel kategorileri giderek daha fazla kullanıcı çekiyor.

Bahis piyasasında öncü olan Bahsegel global ölçekte de tanınıyor.

Oyuncular için en cazip promosyonlardan biri Bettilt giriş kampanyalarıdır.

Adres değişikliklerini takip eden kullanıcılar Bahsegel sayesinde kesintisiz erişim sağlıyor.

Cep telefonundan hızlı erişim için bettilt seçiliyor.

Online casino deneyimini gerçek hale getiren bahsegel gelişmiş grafiklerle fark yaratır.

Birçok Türk oyuncu boş zamanlarını keyifli geçirmek için slot oynamayı tercih eder; özellikle paribahis deneme bonusu sunduğu hızlı erişimle öne çıkar.

Online casino kullanıcılarının %44’ü haftada birden fazla oyun oynadığını belirtmiştir; bu oran bahsegel güncel giriş adresi platformunda %60 seviyesindedir.

Dijital eğlenceye yönelen bahisçiler paribahis sitelerini seçiyor.

Promosyonlardan yararlanmak isteyenler bettilt giriş sayfasını sık sık ziyaret ediyor.

[mk_fancy_title color=”#151515″ size=”45″ font_weight=”500″ margin_bottom=”0″ font_family=”none” align=”center” el_class=”top-section-title”]기술소개[/mk_fancy_title]
사업화 유망기술
전체 231
NO 기술명 분야 발명자소속 발명자명 TRL 등록일
공지사항
포항강소특구 기술리스트_2022
관리자 | 2022.09.16 | 추천 0 | 조회 3748
2022.09.16
공지사항
포항강소특구 우수기술 소개 영상(SMK)
관리자 | 2021.11.22 | 추천 0 | 조회 3842
2021.11.22
공지사항
포항강소특구 기술리스트(SMK)_2021
관리자 | 2021.11.03 | 추천 0 | 조회 4188
2021.11.03
공지사항
한동대학교 우수기술 소개
관리자 | 2021.10.27 | 추천 0 | 조회 3550
2021.10.27
공지사항
철강분야(POSTECH, RIST) 우수기술 소개
관리자 | 2021.10.18 | 추천 0 | 조회 3860
철강 2021.10.18
공지사항
한국로봇융합연구원(KIRO) 우수기술 소개
관리자 | 2021.10.14 | 추천 0 | 조회 4074
2021.10.14
135
뇌졸중 환자의 자율 수지 운동을 위한 공기 팽창형 재활운동장치
관리자 | 2021.11.02 | 추천 0 | 조회 1582
컴퓨터 공학 한동대학교 윤주선 6 2021.11.02
134
딥러닝 프레임워크를 활용한 뉴럴 네트워크 구조 확장 방법
관리자 | 2021.11.02 | 추천 0 | 조회 1581
딥러닝 한동대학교 김인중 4 2021.11.02
133
지능형 대화 시스템
관리자 | 2021.11.02 | 추천 0 | 조회 1653
대화 시스템 한동대학교 양소희 4 2021.11.02
132
빅데이터 기술을 이용한 홈쇼핑 및 T커머스 큐레이션
관리자 | 2021.11.02 | 추천 0 | 조회 1679
전산전자공학 한동대학교 김인중 4 2021.11.02
131
웨어러블 기기를 이용한 수화 인식 시스템
관리자 | 2021.11.02 | 추천 0 | 조회 1790
지능시스템공학 한동대학교 김재효 4 2021.11.02
130
이기종 센서 융합형 화재감시 솔루션
관리자 | 2021.11.02 | 추천 0 | 조회 1922
스마트센서 포항산업과학연구원 류황열 7 2021.11.02
129
고효율 저차압 집진기술
관리자 | 2021.11.02 | 추천 0 | 조회 1918
산업용 집진기 포항산업과학연구원 변영철 7 2021.11.02
128
수산화리튬(LHM) 습식변환법으로 형상/입도 제어된 고순도 산화리튬(Li₂O)
관리자 | 2021.11.02 | 추천 0 | 조회 2194
재료·공정, 산업소재 포항산업과학연구원 이재명 5 2021.11.02
127
박막형 리튬 이차 전지
관리자 | 2021.11.02 | 추천 0 | 조회 2409
이차전지 포항산업과학연구원 남상철 9 2021.11.02
126
리튬 이차전지
관리자 | 2021.11.02 | 추천 0 | 조회 2663
이차전지 포항산업과학연구원 남상철 9 2021.11.02

Start typing and press Enter to search