반응형

정량평가 vs 정성평가

 

 

정량평가 : 양적 기준, 즉 수치로 표시된 기준을 적용한 평가 방식
정성평가 : 질적 기준, 수치화 되지 않은 다면적인 정보들을 종합적으로 활용한 평가

 

한마디로 정량평가가 수치화된 기준을 적용한 평가방식이라면 정성평가는 수치화되지 않는 정보를 평가하는 방식이라고 할 수 있다.

우리가 생각하는 일반적인 수능시험은 대표적인 정량평가에 해당한다. 학생부 종합전형은 내신이라는 수치화된 기준이 적용되긴 하지만, 그 이외에 학생부에 드러나는 다양한 활동들을 종합적으로 평가한다는 면에서 정성평가에 해당한다고 볼 수 있다.

반응형
반응형

www.youtube.com/playlist?list=PLKlTnphWMK_pbfHE4VilQg3GjVuXJdo5I

 

Short Comedy Films and Sketches

Funny short comedy films, sketches and other videos made by Lauris Beinerts

www.youtube.com

 

문제 영상 : https://youtu.be/BKorP55Aqvg

 

해결 영상 : https://youtu.be/B7MIJP90biM

 

반응형

'프로그래밍' 카테고리의 다른 글

feature complete  (0) 2020.11.26
정량평가 vs 정성평가  (0) 2020.11.25
MS Power BI 관련 정보  (0) 2020.11.24
구글, 수수료 30% 인상 전격 연기  (0) 2020.11.23
쿠팡 상품공유시 리워드 시작.  (0) 2020.11.23
반응형

젊었을 때 흘리지 않은 땀은 나이를 먹었을 때 눈물로 돌아온다.
한 살이라도 힘이 있을 때 도전하고, 또 도전해야 한다.
도전하면 성공과 실패를 맛볼 수 있지만,
도전하지 않으면 아무것도 경험하지 못한다는 걸 명심해야 한다.
도전은 나이가 아니라 용기로 하는 것이다.
- 노무라 가쓰야, 일본 명 감독


노무라 가쓰야 감독은 75세의 나이에도
‘감독으로서 미국 무대에 도전해보고 싶다’고 말했습니다.
도전을 하면 성공을 하거나 아니면 실패를 하게 됩니다.
성공도 좋지만, 젊어서 실패는 더 좋다고 할 수 있습니다.
도전하지 않으면 아무 일도 발생하지 않습니다.

반응형
반응형

나의 어머니는
견실한 상식을 가지고 있었다.
나라의 모든 일을 잘 알고 있었고,
조정의 부인들은 그의 지성을 높이 보고 있었다.
나는 종종 어린이의 특권으로 어머니를 따라 들어가곤
했는데, 그때에 그가 다코레 사헵의 홀어머니와 열심히
토론하던 일을 지금도 기억하고 있다. 이러한 양친
사이에서 나는 1896년 10월 2일 포르반다르에서
태어났다. 어린 시절을 나는 포르반다르에서
보냈다. 학교에 가던 생각이 난다.


- 함석헌의《간디자서전》중에서 -


* '견실한 상식'을 가진 어머니.
간디가 기억하는 어머니의 모습 속에
위대한 간디의 '견실한 삶'이 고스란히 드러납니다.
어머니는 창조자입니다. 아들딸 육체만 만드는 존재가
아닙니다. 인물을 만들고 역사를 바꾸는 존재입니다.
누구든 어린 시절 기억되는 어머니의 모습 속에
오늘의 자기 모습이 담겨 있습니다. 한 사람의
인물됨의 8할은 어머니가 만듭니다.

반응형

'생활의 발견 > 아침편지' 카테고리의 다른 글

절대 잊을 수 없는 날  (0) 2020.11.27
'그저 건강하게 있어달라'  (0) 2020.11.26
몽당 빗자루  (0) 2020.11.24
올바른 배움의 자세  (0) 2020.11.23
잠깐의 여유  (0) 2020.11.23
반응형

HTML5 Canvas: Lunch Wheel - javascript 룰렛

 

blog.bramp.net/post/2011/07/27/html5-canvas-lunch-wheel/

 

HTML5 Canvas: Lunch Wheel

In the on going battle to make my lunch time more optimised I decided to learn some Javascript, and how to use the HTML5 Canvas element. Turns out it’s not that hard, and I have now created Click to …

blog.bramp.net

 

blog.bramp.net/wheel/

 

Lunch Wheel

 

blog.bramp.net

<html><head>
<meta content="IE=EmulateIE7" http-equiv="X-UA-Compatible">
<title>Lunch Wheel</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript" src="jquery.tinysort.min.js"></script>
<!--[if IE]><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jit/2.0.2/Extras/excanvas.min.js"></script><![endif]-->
<script type="text/javascript">
// Helpers
	shuffle = function(o) {
		for ( var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x)
			;
		return o;
	};

	String.prototype.hashCode = function(){
		// See http://www.cse.yorku.ca/~oz/hash.html		
		var hash = 5381;
		for (i = 0; i < this.length; i++) {
			char = this.charCodeAt(i);
			hash = ((hash<<5)+hash) + char;
			hash = hash & hash; // Convert to 32bit integer
		}
		return hash;
	}

	Number.prototype.mod = function(n) {
		return ((this%n)+n)%n;
	}
</script>
<script type="text/javascript">
venues = {
		"116208"  : "Jerry's Subs and Pizza",
		"66271"   : "Starbucks",
		"5518"    : "Ireland's Four Courts",
		"392360"  : "Five Guys",
		"2210952" : "Uptown Cafe",
		"207306"  : "Corner Bakery Courthouse",
		"41457"   : "Delhi Dhaba",
		"101161"  : "TNR Cafe",
		"257424"  : "Afghan Kabob House",
		"512060"  : "The Perfect Pita",
		"66244"   : "California Tortilla",
		"352867"  : "Pho 75 - Rosslyn",
		"22493"   : "Ragtime",
		"268052"  : "Subway",
		"5665"    : "Summers Restaurant & Sports Bar",
		"129724"  : "Cosi",
		"42599"   : "Ray's Hell Burger"
	};

	$(function() {

		var venueContainer = $('#venues ul');
		$.each(venues, function(key, item) {
			venueContainer.append(
		        $(document.createElement("li"))
		        .append(
	                $(document.createElement("input")).attr({
                         id:    'venue-' + key
                        ,name:  item
                        ,value: item
                        ,type:  'checkbox'
                        ,checked:true
	                })
	                .change( function() {
	                	var cbox = $(this)[0];
	                	var segments = wheel.segments;
	                	var i = segments.indexOf(cbox.value);

	                	if (cbox.checked && i == -1) {
	                		segments.push(cbox.value);

	                	} else if ( !cbox.checked && i != -1 ) {
	                		segments.splice(i, 1);
	                	}

	                	segments.sort();
	                	wheel.update();
	                } )

		        ).append(
	                $(document.createElement('label')).attr({
	                    'for':  'venue-' + key
	                })
	                .text( item )
		        )
		    )
		});

		$('#venues ul>li').tsort("input", {attr: "value"});
	});
</script>
<script type="text/javascript">
// WHEEL!
	var wheel = {

		timerHandle : 0,
		timerDelay : 33,

		angleCurrent : 0,
		angleDelta : 0,

		size : 290,

		canvasContext : null,

		colors : [ '#ffff00', '#ffc700', '#ff9100', '#ff6301', '#ff0000', '#c6037e',
		           '#713697', '#444ea1', '#2772b2', '#0297ba', '#008e5b', '#8ac819' ],

		//segments : [ 'Andrew', 'Bob', 'Fred', 'John', 'China', 'Steve', 'Jim', 'Sally', 'Andrew', 'Bob', 'Fred', 'John', 'China', 'Steve', 'Jim'],
		segments : [],

		seg_colors : [], // Cache of segments to colors
		
		maxSpeed : Math.PI / 16,

		upTime : 1000, // How long to spin up for (in ms)
		downTime : 17000, // How long to slow down for (in ms)

		spinStart : 0,

		frames : 0,

		centerX : 300,
		centerY : 300,

		spin : function() {

			// Start the wheel only if it's not already spinning
			if (wheel.timerHandle == 0) {
				wheel.spinStart = new Date().getTime();
				wheel.maxSpeed = Math.PI / (16 + Math.random()); // Randomly vary how hard the spin is
				wheel.frames = 0;
				wheel.sound.play();

				wheel.timerHandle = setInterval(wheel.onTimerTick, wheel.timerDelay);
			}
		},

		onTimerTick : function() {

			wheel.frames++;

			wheel.draw();

			var duration = (new Date().getTime() - wheel.spinStart);
			var progress = 0;
			var finished = false;

			if (duration < wheel.upTime) {
				progress = duration / wheel.upTime;
				wheel.angleDelta = wheel.maxSpeed
						* Math.sin(progress * Math.PI / 2);
			} else {
				progress = duration / wheel.downTime;
				wheel.angleDelta = wheel.maxSpeed
						* Math.sin(progress * Math.PI / 2 + Math.PI / 2);
				if (progress >= 1)
					finished = true;
			}

			wheel.angleCurrent += wheel.angleDelta;
			while (wheel.angleCurrent >= Math.PI * 2)
				// Keep the angle in a reasonable range
				wheel.angleCurrent -= Math.PI * 2;

			if (finished) {
				clearInterval(wheel.timerHandle);
				wheel.timerHandle = 0;
				wheel.angleDelta = 0;

				$("#counter").html((wheel.frames / duration * 1000) + " FPS");
			}

			/*
			// Display RPM
			var rpm = (wheel.angleDelta * (1000 / wheel.timerDelay) * 60) / (Math.PI * 2);
			$("#counter").html( Math.round(rpm) + " RPM" );
			 */
		},

		init : function(optionList) {
			try {
				wheel.initWheel();
				wheel.initAudio();
				wheel.initCanvas();
				wheel.draw();

				$.extend(wheel, optionList);

			} catch (exceptionData) {
				alert('Wheel is not loaded ' + exceptionData);
			}

		},

		initAudio : function() {
			var sound = document.createElement('audio');
			sound.setAttribute('src', 'wheel.mp3');
			wheel.sound = sound;
		},

		initCanvas : function() {
			var canvas = $('#wheel #canvas').get(0);

			if ($.browser.msie) {
				canvas = document.createElement('canvas');
				$(canvas).attr('width', 1000).attr('height', 600).attr('id', 'canvas').appendTo('.wheel');
				canvas = G_vmlCanvasManager.initElement(canvas);
			}

			canvas.addEventListener("click", wheel.spin, false);
			wheel.canvasContext = canvas.getContext("2d");
		},

		initWheel : function() {
			shuffle(wheel.colors);
		},

		// Called when segments have changed
		update : function() {
			// Ensure we start mid way on a item
			//var r = Math.floor(Math.random() * wheel.segments.length);
			var r = 0;
			wheel.angleCurrent = ((r + 0.5) / wheel.segments.length) * Math.PI * 2;

			var segments = wheel.segments;
			var len      = segments.length;
			var colors   = wheel.colors;
			var colorLen = colors.length;

			// Generate a color cache (so we have consistant coloring)
			var seg_color = new Array();
			for (var i = 0; i < len; i++)
				seg_color.push( colors [ segments[i].hashCode().mod(colorLen) ] );

			wheel.seg_color = seg_color;

			wheel.draw();
		},

		draw : function() {
			wheel.clear();
			wheel.drawWheel();
			wheel.drawNeedle();
		},

		clear : function() {
			var ctx = wheel.canvasContext;
			ctx.clearRect(0, 0, 1000, 800);
		},

		drawNeedle : function() {
			var ctx = wheel.canvasContext;
			var centerX = wheel.centerX;
			var centerY = wheel.centerY;
			var size = wheel.size;

			ctx.lineWidth = 1;
			ctx.strokeStyle = '#000000';
			ctx.fileStyle = '#ffffff';

			ctx.beginPath();

			ctx.moveTo(centerX + size - 40, centerY);
			ctx.lineTo(centerX + size + 20, centerY - 10);
			ctx.lineTo(centerX + size + 20, centerY + 10);
			ctx.closePath();

			ctx.stroke();
			ctx.fill();

			// Which segment is being pointed to?
			var i = wheel.segments.length - Math.floor((wheel.angleCurrent / (Math.PI * 2))	* wheel.segments.length) - 1;

			// Now draw the winning name
			ctx.textAlign = "left";
			ctx.textBaseline = "middle";
			ctx.fillStyle = '#000000';
			ctx.font = "2em Arial";
			ctx.fillText(wheel.segments[i], centerX + size + 25, centerY);
		},

		drawSegment : function(key, lastAngle, angle) {
			var ctx = wheel.canvasContext;
			var centerX = wheel.centerX;
			var centerY = wheel.centerY;
			var size = wheel.size;

			var segments = wheel.segments;
			var len = wheel.segments.length;
			var colors = wheel.seg_color;

			var value = segments[key];
			
			ctx.save();
			ctx.beginPath();

			// Start in the centre
			ctx.moveTo(centerX, centerY);
			ctx.arc(centerX, centerY, size, lastAngle, angle, false); // Draw a arc around the edge
			ctx.lineTo(centerX, centerY); // Now draw a line back to the centre

			// Clip anything that follows to this area
			//ctx.clip(); // It would be best to clip, but we can double performance without it
			ctx.closePath();

			ctx.fillStyle = colors[key];
			ctx.fill();
			ctx.stroke();

			// Now draw the text
			ctx.save(); // The save ensures this works on Android devices
			ctx.translate(centerX, centerY);
			ctx.rotate((lastAngle + angle) / 2);

			ctx.fillStyle = '#000000';
			ctx.fillText(value.substr(0, 20), size / 2 + 20, 0);
			ctx.restore();

			ctx.restore();
		},

		drawWheel : function() {
			var ctx = wheel.canvasContext;

			var angleCurrent = wheel.angleCurrent;
			var lastAngle    = angleCurrent;

			var segments  = wheel.segments;
			var len       = wheel.segments.length;
			var colors    = wheel.colors;
			var colorsLen = wheel.colors.length;

			var centerX = wheel.centerX;
			var centerY = wheel.centerY;
			var size    = wheel.size;

			var PI2 = Math.PI * 2;

			ctx.lineWidth    = 1;
			ctx.strokeStyle  = '#000000';
			ctx.textBaseline = "middle";
			ctx.textAlign    = "center";
			ctx.font         = "1.4em Arial";

			for (var i = 1; i <= len; i++) {
				var angle = PI2 * (i / len) + angleCurrent;
				wheel.drawSegment(i - 1, lastAngle, angle);
				lastAngle = angle;
			}
			// Draw a center circle
			ctx.beginPath();
			ctx.arc(centerX, centerY, 20, 0, PI2, false);
			ctx.closePath();

			ctx.fillStyle   = '#ffffff';
			ctx.strokeStyle = '#000000';
			ctx.fill();
			ctx.stroke();

			// Draw outer circle
			ctx.beginPath();
			ctx.arc(centerX, centerY, size, 0, PI2, false);
			ctx.closePath();

			ctx.lineWidth   = 10;
			ctx.strokeStyle = '#000000';
			ctx.stroke();
		},
	}

	window.onload = function() {
		wheel.init();

		var segments = new Array();
		$.each($('#venues input:checked'), function(key, cbox) {
			segments.push( cbox.value );
		});

		wheel.segments = segments;
		wheel.update();

		// Hide the address bar (for mobile devices)!
		setTimeout(function() {
			window.scrollTo(0, 1);
		}, 0);
	}
</script>
</head>
<body>
<div id="venues" style="float:left"><ul><li><input id="venue-257424" name="Afghan Kabob House" value="Afghan Kabob House" type="checkbox" checked="checked"><label for="venue-257424">Afghan Kabob House</label></li><li><input id="venue-66244" name="California Tortilla" value="California Tortilla" type="checkbox" checked="checked"><label for="venue-66244">California Tortilla</label></li><li><input id="venue-207306" name="Corner Bakery Courthouse" value="Corner Bakery Courthouse" type="checkbox" checked="checked"><label for="venue-207306">Corner Bakery Courthouse</label></li><li><input id="venue-129724" name="Cosi" value="Cosi" type="checkbox" checked="checked"><label for="venue-129724">Cosi</label></li><li><input id="venue-41457" name="Delhi Dhaba" value="Delhi Dhaba" type="checkbox" checked="checked"><label for="venue-41457">Delhi Dhaba</label></li><li><input id="venue-392360" name="Five Guys" value="Five Guys" type="checkbox" checked="checked"><label for="venue-392360">Five Guys</label></li><li><input id="venue-5518" name="Ireland's Four Courts" value="Ireland's Four Courts" type="checkbox" checked="checked"><label for="venue-5518">Ireland's Four Courts</label></li><li><input id="venue-116208" name="Jerry's Subs and Pizza" value="Jerry's Subs and Pizza" type="checkbox" checked="checked"><label for="venue-116208">Jerry's Subs and Pizza</label></li><li><input id="venue-352867" name="Pho 75 - Rosslyn" value="Pho 75 - Rosslyn" type="checkbox" checked="checked"><label for="venue-352867">Pho 75 - Rosslyn</label></li><li><input id="venue-22493" name="Ragtime" value="Ragtime" type="checkbox" checked="checked"><label for="venue-22493">Ragtime</label></li><li><input id="venue-42599" name="Ray's Hell Burger" value="Ray's Hell Burger" type="checkbox" checked="checked"><label for="venue-42599">Ray's Hell Burger</label></li><li><input id="venue-66271" name="Starbucks" value="Starbucks" type="checkbox" checked="checked"><label for="venue-66271">Starbucks</label></li><li><input id="venue-268052" name="Subway" value="Subway" type="checkbox" checked="checked"><label for="venue-268052">Subway</label></li><li><input id="venue-5665" name="Summers Restaurant &amp; Sports Bar" value="Summers Restaurant &amp; Sports Bar" type="checkbox" checked="checked"><label for="venue-5665">Summers Restaurant &amp; Sports Bar</label></li><li><input id="venue-512060" name="The Perfect Pita" value="The Perfect Pita" type="checkbox" checked="checked"><label for="venue-512060">The Perfect Pita</label></li><li><input id="venue-101161" name="TNR Cafe" value="TNR Cafe" type="checkbox" checked="checked"><label for="venue-101161">TNR Cafe</label></li><li><input id="venue-2210952" name="Uptown Cafe" value="Uptown Cafe" type="checkbox" checked="checked"><label for="venue-2210952">Uptown Cafe</label></li></ul></div>
<div id="wheel">
<canvas height="600" id="canvas" width="1000"></canvas>
</div>
<div id="stats">
<div id="counter">30.278136368970777 FPS</div>
</div>


</body></html>
반응형
반응형

Bootstrap - admin LTE

 

version 3 :adminlte.io/themes/dev/AdminLTE/index3.html

 

AdminLTE 3 | Dashboard 3

12% CONVERSION RATE 0.8% SALES RATE 1% REGISTRATION RATE

adminlte.io

version 2 : adminlte.io/themes/AdminLTE/index2.html

 

AdminLTE 2 | Dashboard

Sales: 1 Jan, 2014 - 30 Jul, 2014

adminlte.io

반응형
반응형

 

 

powerbi.microsoft.com/ko-kr/why-power-bi/

 

Power BI를 사용해야 하는 이유 - 기능과 이점 | Microsoft Power BI

셀프 서비스 및 엔터프라이즈 분석 통합 단일 플랫폼에서 셀프 서비스 및 엔터프라이즈 데이터 분석 요구 사항을 모두 충족하세요. 강력한 의미 체계 모델, ALM(애플리케이션 수명 주기 관리) 툴

powerbi.microsoft.com

Power BI youtube : www.youtube.com/user/mspowerbi

 

Microsoft Power BI

Power BI is a business analytics service that enables you to see all of your data through a single pane of glass. Live Power BI dashboards and reports includ...

www.youtube.com

파트너 쇼케이스 : powerbi.microsoft.com/ko-kr/partner-showcase/

 

파트너 쇼케이스 | Microsoft Power BI

파트너가 Power BI를 어떻게 활용하고 있는지 확인 비즈니스 데이터에 적합한 BI 솔루션을 찾고 싶나요? Microsoft의 인증 파트너는 많은 수의 업계 및 기술 분야에서 다양한 환경을 갖추고 있습니다.

powerbi.microsoft.com

데이터 인사이트의 시각화 사례 : app.powerbi.com/view?r=eyJrIjoiNGU3ODUyYzEtZGZhYS00NWM0LTg0MGItNzRlMzhmMWY2MmM1IiwidCI6IjUyMmEwZjg5LWFlNTgtNDNiNi04MjFiLTJiMDZjZWNjN2Q4YSIsImMiOjEwfQ%3D%3D

 

Power BI Report

Report powered by Power BI

app.powerbi.com

 

 

 

Agile Analytics - HR Analytics : 

powerbi.microsoft.com/ko-kr/partner-showcase/agile-analytics-hr-analytics/

 

파트너 쇼케이스 | Microsoft Power BI

Power BI 파트너가 되고 싶으세요? 팀에서 인증 파트너의 역할이 중요합니다. 회사의 인재들이 전 세계의 Power BI 사용자와 연결하여 경험을 공유하며 새로운 비즈니스 기회를 확대할 수 있습니다.

powerbi.microsoft.com

 

반응형

'프로그래밍' 카테고리의 다른 글

정량평가 vs 정성평가  (0) 2020.11.25
The Expert - 7 RED Lines  (0) 2020.11.25
구글, 수수료 30% 인상 전격 연기  (0) 2020.11.23
쿠팡 상품공유시 리워드 시작.  (0) 2020.11.23
네이버 클라우드 구인 중  (0) 2020.11.23
반응형

ASP - random 적용 난수 발생

 

	Function fncRandom_str()
		Dim str_rnd, strlen_rnd, rnd_r, rnd_i, rnd_ds, serialCode, nLength '사용되는 변수를 선언
	
		str_rnd = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" '랜덤으로 사용될 문자 또는 숫자

		strlen_rnd = 7 '랜덤으로 출력될 값의 자릿수 ex)해당 구문에서 10자리의 랜덤 값 출력
        
        nLength = Len( str_rnd )
		Randomize '랜덤 초기화
		For rnd_i = 1 To strlen_rnd '위에 선언된 strlen_rnd 랜덤 코드 생성
			rnd_r = Int((nLength - 1 + 1) * Rnd + 1)  ' 36은 str의 문자갯수

			serialCode = serialCode + Mid(str_rnd,rnd_r,1)
		Next
		fncRandom_str = serialCode
	
        'Response.Write  random_str()
	End Function
반응형

+ Recent posts