jQuery 선택자 컨닝 페이퍼 2

filter

filter 함수는 이미 선택된 항목에 대해서 다시 한번 더 선택을 하고자 할 때 사용합니다.

$('h1').css('background', '#ff0000').filter(':even').css({'color', '#00ff00');

인자를 함수 객체를 던져 처리하는 형태도 가능하며, 아래의 예는 h1 요소 중 짝수번째 요소들에 대한 처리입니다.

$('h1').filter(
    function(index) {
        return (index % 2) == 0;
    }
).css({'color', '#00ff00'});

eq, first, last

요소에 대한 위치 순서로 선택하는 선택자 함수입니다.

$('p').eq(3).css('color', '#00ff00'); // 4번째 요소
$('p').first().css('color', '#ff0000'); // 첫번째 요소
$('p').last().css('color', '#0000ff'); // 마지막 요소
$('p'').eq(-1).css('color', '#ff00ff'); // 끝에서 첫번째 요소

add

이미 선택된 요소들에 다른 요소를 추가하는 함수입니다.

$('p').css('color', '#ff0000').add('span').css('background', '#ffff00');

is

해당 요소가 선택 조건에 맞는지를 검사합니다.

$('h1').each(
    function() {
        if($(this).is('.a')) {
            $(this).css('color', '#ff0000');
        }
    }
);

find

특정 태그 또는 클래스를 갖는 요소를 선택하는 함수입니다.

var doc = $('

...

...

...
'); doc.find('p').each( function(index) { $(this).css('background', '#0000ff'); } );

전력용어

출처 : 전력신문(http://www.epnews.co.kr)

◆ 송변전 분야

△경간(徑間)→지지물간 거리 △지상고(地上高)→전선 높이 △재폐로→(자동)재투입 △쇄정→잠금 △응동→동작 △이면 배선→내부 배선 △뇌써지→낙뢰충격전압 △(발전기)감발→(발전기)출력감소 △(발전기)증발→(발전기)출력증가 △조류(潮流)→전력 흐름 △HVDC 케이블→고압직류송전케이블 △회선긍장(回線亘長→회선길이 △반도(反跳)→되튐 △철탑 도괴→철탑 넘어짐 △밧데리(Battery),축전지→축전지 △블랙아웃(Blackout)→대정전 △제로에너지하우스(zero-energy house)→에너지 자급주택 △가선(架線)→전선 설치 △연선(延線)→전선 펴기 △긴선(緊線)→전선 당기기 △Relay, 보호계전기→보호계전기 △써모비전(Thermo Vision)→열화상 측정기 △방압변(Pressure Relief Device)→과압 방출장치 △MCCB,Auto Breaker→배선용 차단기 △병가→병행 가선 △조상설비→무효전력 보상장치 △CT, 변류기→전류변성기 △MOF→전압전류변성기 △PT→전압변성기 △전선 실장→전선 실제길이 △수트리→수분침투 균열 △어스, Ground→접지 △뇌격→낙뢰 △로드 쉐딩(Load Shedding)→일부 부하차단

◆ 배전 분야

△원방제어(遠方制御)→원격제어(遠隔制御) △인입선(引入線)→고객공급선(顧客供給線) △연접인입선(連接引入線)→이웃고객 공급선 △애자 두부→애자 머리 △긍장(亘長)→선로 길이 △말구(末口), 말구경(末口徑)→윗동, 윗동지름 △지선→지지선 △승주(昇柱)하다→(전주에) 오르다 △재폐로→재투입 △E-type 계기→E형 전력량계 △DM 수동복귀버튼→최대수요전력 초기화 버튼 △건전구간(健全區間)→정상구간(正常區間) △잠바선→점퍼선 △가공지선(架空地線)→공중 낙뢰유도선 △구배(勾配)→기울기 △이도(弛度)→늘어짐(정도) △휴즈→퓨즈 △호광시간(弧光時間)→아크 발생시간 △철탑정부(鐵塔頂部)→철탑꼭대기 △타이(Tie)→연계 △프레샤→시험용 단자 △변대주→변압기주 △단가업체→협력회사 △오계량→계량 오류 △섹셔널라이저(Sectionalizer)→선로구분 자동개폐기 △리클로저, 자동재폐로차단기→자동재투입 차단기 △직결(直結)→직접 연결 △내장(耐張)→장력 견딤 △콘넥타→연결기 △랙크(Rack)→랙 △입상주→케이블 오름전주 △암타이→완철 지지대

◆ 신기술분야

△Smart Meter, 스마트 미터→스마트 전력량계 △BEMS(Building Energy Management System), 건물에너지관리시스템→빌딩에너지관리시스템(BEMS) △PLC(Power Line Communication)→전력선 통신 △ESS(Energy Storage System), 에너지 저장장치, 전력저장장치→에너지 저장장치 △BMS(Battery Management System)→축전지 관리장치 △DR(Demand Response)→수요반응 △CPP(Critical Peak Pricing),피크요금제→피크요금제 △RTP(Real Time Pricing)→실시간 요금제 △EV(Electric Vehicle)→전기차 △Smart Thermostat→스마트 온도조절기 △우드팰릿→압착나무연료 △비회(Fly Ash)→날림재 △저회(Bottom Ash)→바닥재 △개거(開渠)→개방 수로 △그린 프라이스(Green Price)→녹색가격제도 △블레이드(Blade)→날개 △그리드 패리터(Grid Parity)→그리드 평형점 △부하 평준화, Load leveling→부하 평준화 △첨두부하 저감, Peak Shaving→피크부하 저감 △총체적 품질경영, 전사적 품질경영, TQM→전사적 품질경영 △연돌→굴뚝 △연도→연소가스 통로 △Off-taker→생산품구매자 △풍도→공기 통로 △제매장치→그을음 제거장치 △런백(Run Back)→출력 감소 △BOP(Balance Of Plant)→보조설비 △가바나프리(Governor free)→조속기 개방

◆ ICT분야

△AMI(Advanced Metering Infrastructure)→지능형 전력계량시스템 △AMR(Automatic Meter Reading)→원격 검침 △VoIP(Voice over Internet Protocol)→인터넷전화 △HDTV→고화질 텔레비전 △DR(Disaster Recovery)→재해 복구 △GIS(Geographic Information System)→지리정보시스템 △In-house 개발→자체 개발 △SRM(Supplier Relationship Management)→공급자관계관리(SRM) △Batch→일괄 △ISP(Information Strategic Planning)→정보화 전략계획

◆ 전력수급분야

△소내 소비전력→발전소내 소비전력 △PPA(Power Purchase Agreement)→직접구매계약 △절전규제→전력사용규제 △축열→열저장 △축냉→냉기저장 △민간부문 공급능력 활용→민간발전기 활용

[FingerEyes-Xr for HTML5] 여러 개의 필드 값으로 라벨 문자열 표시하기

예를 들어, 필드 이름이 fieldNm1과 fieldNm2인 2개의 필드값을 조합하여 라벨로 표시 하고자할때에 해당 레이어의 라벨의 포맷터(Formatter)에 Custom Formatter를 만들어 지정해 주면 됩니다. 아래의 코드는 수치지도 레이어에 사용자 정의 포맷터를 지정한 코드 예입니다.

var lyr = lm.layer('layerNm'); // 이름이 layerNm인 레이어에 대해서 ...
if (lyr) {
    var label = lyr.label();

    label.enable(true); //.offsetY(20);
    label.visibility().visibleByScale(true).fromScale(0).toScale(3000);

    // 사용자 정의 포맷터 클래스 정의
    CustomLabelFormatter = Xr.Class({
        name: 'CustomLabelFormatter',
        extend: Xr.label.ProgrammableLabelFormatter,
        requires: [Xr.label.ILabelFormatter],

        construct: function (/* ShapeMapLayer */ layer) {
            this.superclass(layer);
            this._fieldIndex1 = -1;
            this._fieldIndex2 = -1;
        },

        methods: {
            /* string */ value: function (/* ShapeRow */ shapeRow,
                    /* FieldSet */ fieldSet, /* AttributeRow */ attributeRow) {
                if (this._fieldIndex1 == -1) {
                    this._fieldIndex1 = fieldSet.fieldIndex('fieldNm1');
                }

                if (this._fieldIndex2 == -1) {
                    this._fieldIndex2 = fieldSet.fieldIndex('fieldNm2');
                }

                var value1 = attributeRow.valueAsString(this._fieldIndex1);
                var value2 = attributeRow.valueAsString(this._fieldIndex2);

                return value1 + '(' + value2 + 'kW)';
            }
        }
    });

    var formatter = new CustomLabelFormatter(lyr);
    label.formatter(formatter);

    var labelTheme = label.theme();
    labelTheme.symbol().strokeColor('#ffffff').strokeWidth(3).size(10)
        .fontFamily('맑은 고딕').color('#0000ff').weight('600');
}

위의 경우 fieldNm1 필드값이 ‘아궁이’이고 fieldNm2 필드값이 ‘1000’일 경우, ‘아궁이(1000kW)’의 문자열로 라벨이 표시된다.