மைக்ரோசெமி ஏஎன்1256 Web புரோகிராமர்கள் விண்ணப்பம்
அறிமுகம்
JSON (ஜாவாஸ்கிரிப்ட் ஆப்ஜெக்ட் நோட்டேஷன்) என்பது ஒரு திறந்த-தரநிலை நிரலாகும். file தரவு பரிமாற்றத்திற்கு மனிதர்கள் படிக்கக்கூடிய உரையைப் பயன்படுத்தும் வடிவம். இது ஒத்திசைவற்ற உலாவி/சேவையக தொடர்புக்கு பயன்படுத்தப்படும் ஒரு பொதுவான தரவு வடிவமாகும்.
புதியதுக்கு web பக்க வடிவமைப்பு, JSON வடிவம் அசல் AJAX பாணிக்கு மாற்றாக இருக்கலாம். AJAX உடன் ஒப்பிடுகையில், JSON ஐப் பயன்படுத்துவது Web செயல்படுத்தல் எளிதானது மற்றும் எளிமையானது. டெவலப்பர் கவனம் செலுத்த வேண்டியது web பக்க வடிவமைப்பு மற்றும் Web JSON அணுகல் முறை ஏற்கனவே ஒவ்வொன்றிலும் ஆதரிக்கப்படுவதால், கையாளுபவரை செயல்படுத்துவதைத் தவிர்க்கலாம். WebStaX மென்பொருள் தொகுதிகள்.
இந்த ஆவணம், மென்பொருள் பொறியாளருக்கான நிரலாளர் வழிகாட்டியை கூறுகிறது, அவர்கள் உருவாக்க வேண்டியது Web JSON வழியாக பக்கம். விரிவான நடைமுறைகள் மற்றும் முன்னாள்ampபின்வரும் பிரிவுகளிலும் சேர்க்கப்பட்டுள்ளது.
JSON தரவு அணுகல் ஓட்டம்
முடிந்துவிட்டதுview
கிளையன்ட் (உலாவி) இலிருந்து HTTP இணைப்பு தொடங்கப்படும் JSON தரவு அணுகல் ஓட்டம் இங்கே. சேவையக (DUT) பக்கத்திலிருந்து பெறப்பட்ட JOSN தரவின் படி HTML அட்டவணை மாறும் வகையில் உருவாக்கப்படுகிறது.
படம் 1. கிளையன்ட் மற்றும் சர்வர் இடையேயான அணுகல் ஓட்டம்
கோரிக்கை/பதில் JSON தரவு
JSON கோரிக்கை பாக்கெட் HTTP கோரிக்கை இடுகை முறையை அடிப்படையாகக் கொண்டது மற்றும் உள்ளடக்கம் MSCC JSON வடிவமைப்பைப் பின்பற்ற வேண்டும்.
- JSON தொடரியலைக் கோருங்கள்:{“முறை”:” ","அளவுருக்கள்":[ ], “ஐடி:”jsonrpc”}
- பதில் JSON தொடரியல்: {“பிழை”: "முடிவு": , “ஐடி:”jsonrpc”}
பின்வரும் ஸ்னாப்ஷாட்கள் உலாவிக்கும் DUTக்கும் இடையிலான JSON உள்ளடக்கத்தைக் காட்டுகின்றன.
படம் 2. கிளையண்டிலிருந்து வந்த HTTP கோரிக்கையின் ஸ்னாப்ஷாட்.
படம் 3. சேவையகத்திலிருந்து HTTP பதிலின் ஸ்னாப்ஷாட்.
MSCC JSON விவரக்குறிப்பு
முறை, அளவுரு, விளக்கம் மற்றும் பலவற்றை உள்ளடக்கிய முழு JSON தகவலைப் பெற. “http://” என தட்டச்சு செய்யவும். உங்கள் உலாவி முகவரிப் பட்டியில் /json_spec” ஐ உள்ளிடவும். JSON முறை பெயர் “jsonRpc.status.introspection.specific.inventory.get” வழியாக மற்றொரு அணுகல் முறை உள்ளது, இது ஒரு குறிப்பிட்ட முறைக்கு பயன்படுத்தப்படுகிறது.
படம் 4. JSON விவரக்குறிப்பின் ஸ்னாப்ஷாட் web பக்கம்
Web கட்டமைப்பு
தி Web கட்டமைப்பில் WebStaX மென்பொருள் திறந்த மூல MooTools ஐ அடிப்படையாகக் கொண்டது. இது MIT உரிமத்துடன் கூடிய JavaScript பயன்பாடுகளின் தொகுப்பாகும். (http://mootools.net/license.txt) மெனு பார் மற்றும் பெரும்பாலானவை web பக்கங்கள் கட்டமைப்பை அடிப்படையாகக் கொண்டவை. AJAX மற்றும் JSON வழிமுறை இரண்டும் ஏற்கனவே அதன் பயன்பாடுகளில் ஒருங்கிணைக்கப்பட்டுள்ளன.
தவிர, WebJSON-க்கு பயனுள்ள பிற பயன்பாடுகளை StaX மென்பொருள் வழங்குகிறது. web பக்க வடிவமைப்பு.
- json.js – JSON தொடரியல் மூலம் டைனமிக் தரவை அனுப்ப/பெற பயன்படுத்தவும்.
- dynforms.js – HTML அட்டவணையை டைனமிக் முறையில் உருவாக்கப் பயன்படுத்தவும்.
- சரிபார்ப்பு.js – HTML படிவத்தை சரிபார்க்கப் பயன்படுத்தவும்.
முழு ஜாவாஸ்கிரிப்ட் நூலகங்களும் மூல மர கோப்பகத்தின் கீழ் அமைந்துள்ளன: webstax2\ vtss_appl\web\html\லிப்.
JSON க்கான வழிகாட்டுதல் Web பக்க வடிவமைப்பு
இந்தப் பிரிவு எவ்வாறு வடிவமைப்பது என்பதை வழிகாட்டுகிறது web MSCC JavaScript நூலகங்களை அடிப்படையாகக் கொண்ட பக்கம். நாங்கள் Mirror உலகளாவிய உள்ளமைக்கப்பட்டதைப் பயன்படுத்துகிறோம் web முன்னாள் பக்கம்ampஇங்கே. ஒத்திசைவற்ற தொடர்பு HTTP JSON அணுகல் முறையை அடிப்படையாகக் கொண்டது மற்றும் அனைத்து உலகளாவிய உள்ளமைக்கப்பட்ட அளவுருக்களும் ஒரு டைனமிக் HTML அட்டவணையில் பட்டியலிடப்பட்டுள்ளன.
தி web பக்க தளவமைப்பு கீழே பட்டியலிடப்பட்டுள்ளது மற்றும் முழு மூல குறியீடு மூல மர கோப்பகத்தின் கீழ் அமைந்துள்ளது: webstax2\vtss_appl\mirror\html\mirror_ctrl.htm. மேலும் பொதுவானதைப் பெற web பக்கங்கள் குறிப்பு, பின் இணைப்பு பகுதியைப் பார்க்கவும்.
கண்ணாடி & ஆர்மிரர் உள்ளமைவு அட்டவணை
படம் 5. Exampஉலகளாவிய உள்ளமைக்கப்பட்ட அட்டவணையின் le
திருத்தவும் Web பக்கம்
HTML தலைப்பு
HTML இல் தேவைப்படும் JS நூலகங்களைச் சேர்க்கவும். tag.
டைனமிக் அட்டவணை வளத்தைத் துவக்கவும்
- HTML ஆவணம் தயாரானதும், டைனமிக் டேபிள் வளத்தை துவக்க DynamicTable() ஐ அழைக்கவும்.
- JSON தரவைப் பெற்ற பிறகு டைனமிக் அட்டவணையை உருவாக்க DynamicTable() பயன்படுத்தப்படுகிறது.
- பின்னர் அது JSON கட்டளை ஓட்டத்தைத் தொடங்க requestUpdate ஐ அழைக்கும்.
- window.addEvent('domready', செயல்பாடு() {
- // JSON தரவைப் பெற/அனுப்ப அட்டவணை உடலுடன் ஒரு படிவத்தை உருவாக்கவும்.
- myDynamicTable = புதிய DynamicTable(“myTableContent”, “config”,”plusRowCtrlBar”);
4 - கோரிக்கை புதுப்பிப்பு();
- });
கோரிக்கை/பதில் JSON தரவு
- HTML ஆவணம் தயாரானதும், உள்ளமைக்கப்பட்ட அமர்வுகள் பற்றிய தகவலைப் பெற, “mirror.config.session.get” என்ற JSON கோரிக்கையை அனுப்ப requestJsonDoc() ஐப் பயன்படுத்தவும்.
- “mirror.capabilities.get” க்கான JSON தரவு பெறப்பட்ட பிறகு, callback செயல்பாடு requestUpdate() செயலாக்கப்படும். தற்போதைய உள்ளமைவைப் பெற, செயல்பாடு requestUpdate “mirror.config.session.get” ஐ அழைக்கும். தற்போதைய உள்ளமைவு பெறப்பட்டதும், காண்பிக்கப்பட வேண்டிய அட்டவணையை உருவாக்க, செயல்பாடு processUpdate அழைக்கப்படுகிறது.
- செயல்பாடு கோரிக்கை புதுப்பிப்பு ()
- {
- // அட்டவணை உள்ளடக்கத்தை மீட்டமைக்கவும்
- என் டைனமிக் டேபிள்.ரீஸ்டோர்();
5 - // இந்த அட்டவணை இரண்டு JSON தரவு.
- requestJsonDoc(“mirror.config.session.get”, null, processUpdate, “config”);
- }
பெறப்பட்ட JSON தரவை செயலாக்கவும்.
- JSON தரவைப் பெற்ற பிறகு டைனமிக் அட்டவணையை வடிவமைக்க processUpdate() செயல்பாடு பயன்படுத்தப்படுகிறது.
- அட்டவணை வரிசைகளைச் சேர்க்க addRows() பயன்படுத்தப்படுகிறது. myDynamicTable.update() அமைப்பை
அட்டவணை வரிசைகளில் உள்ள தரவுகளின்படி HTML அட்டவணை.
- செயல்பாடு செயல்முறை புதுப்பிப்பு(recv_json, பெயர்)
- {
- // தரவு எதுவும் பெறப்படவில்லை என்றால் செயல்முறையைப் புறக்கணிக்கவும்.
- (!recv_json) { என்றால்
- எச்சரிக்கை ("டைனமிக் தரவைப் பெறுவது தோல்வியடைந்தது.");
- திரும்ப;
- }
- // பெறப்பட்ட JSON தரவைச் சேமிக்கவும்
- myDynamicTable.saveRecvJson(“config”, recv_json);
- // அட்டவணை வரிசைகளைச் சேர்க்கவும்
- var அட்டவணை_வரிசைகள் = addRows(recv_json);
- myDynamicTable.addRows(அட்டவணை_வரிசைகள்);
- // இந்த டைனமிக் அட்டவணையைப் புதுப்பிக்கவும்.
- myDynamicTable.update(); ()
- // டைமரைப் புதுப்பிக்கவும்
- var autorefresh = document.getElementById(“autorefresh”);
- (தானியங்கி புதுப்பிப்பு && தானியங்கி புதுப்பிப்பு.சரிபார்க்கப்பட்டால்) {
- (டைமர்ஐடி) { என்றால்
- கிளியர் டைம்அவுட்(டைமர்ஐடி);
- }
- டைமர்ஐடி = setTimeout('requestUpdate()', settingsRefreshInterval());
- }
- }
அட்டவணை வரிசைகளைச் சேர்க்கவும்
- addRows() செயல்பாட்டில், அட்டவணை வரிசையில் உள்ள ஒவ்வொரு உலகளாவிய உள்ளமைக்கப்பட்ட அளவுருவையும் நிரப்ப JSON வடிவமைப்பைப் பயன்படுத்துகிறோம்.
- அனைத்து HTML புலங்களும் JSON வரிசையில் ("table_rows") பட்டியலிடப்பட்டுள்ளன, மேலும் அட்டவணை புலத்தின் தொடரியல் கீழே உள்ளது.
தொடரியல்:
அட்டவணை_வரிசைகள்:[ , ,… ] : { , ,… }
: {“வகை”: , “அளவுருக்கள்”:[ , , ..., ]}
- இந்த நிலையில், ஒவ்வொரு வரிசையிலும் ஐந்து புலங்கள் உள்ளன: “அமர்வு ஐடி”, “பயன்முறை”, “வகை”, “VLAN ஐடி” மற்றும் “ரிஃப்ளெக்டர் போர்ட்” உதாரணத்திற்குample,
அமர்வு ஐடி (பெயர் புலம்: int32_t) | 1 (கண்ணாடி அமர்வின் ஐடி) |
பயன்முறை (பெயர் புலம்: vtss_bool_t) | உண்மை (கண்ணாடி அமர்வு இயக்கப்பட்டது என்று பொருள்) |
வகை (பெயர் புலம்: கணக்கெடுப்பு
{கண்ணாடி, rMirrorSource, rMirrorDestination} |
RMirror மூலம் (இது ஒரு தொலைநிலை கண்ணாடி அமர்வின் மூலமாகும்.) |
VLAN ஐடி (பெயர் புலம்: uint16_t) | 200 (பிரதிபலிப்புக்கு பயன்படுத்தப்படும் vlan) |
பிரதிபலிப்பான் துறைமுகம் (பெயர் புலம்: vtss_ifindex_t) | ஜி 1/1 (பிரதிபலித்த போக்குவரத்து அனுப்பப்படும் துறைமுகம் |
- myDynamicTable.addRows() JSON தரவை HTML வடிவத்திற்கு மாற்றி HTML அட்டவணையை வெளியிடும்.
- செயல்பாடு addRow(key, val)
- {
- var none_map_val = 0xFFFFFFFF, none_map_text = “எதுவுமில்லை”, none_interface_text = “எதுவுமில்லை”;
- var tunnel_mode_suffix = val.TunnelMode == “உலகளாவிய உபயோகம்” ? ” (” + oTTunnelMode[oVTunnelMode.indexOf(global_conf.tunnelMode)] + “)” : “”;
- var வரிசை = {புலங்கள்:[
- {வகை:”இணைப்பு”, அளவுருக்கள்:[“cr”, “mirror.htm?session_id=” + சாவி, சாவி]},
- {வகை:”உரை”, அளவுருக்கள்:[oTMode[oVMode.indexOf(val.Mode)], “c”]},
- {வகை:”உரை”, அளவுருக்கள்:[oTType[oVType.indexOf(val.Type)], “c”]},
- {வகை:”உரை”, அளவுருக்கள்:[val.Type == “கண்ணாடி” ? “-“:
val.RMirrorVlan, “c”]}, - {வகை:”உரை”, அளவுருக்கள்:[val.Type == “rMirrorSource” ?
val.ReflectorPort : “-” , “c”]} - ]};
- திரும்பும் வரிசை;
- }
- செயல்பாடு addRows(recv_json)
- {
- var வரிசை, காலி_கோல்ஸ்பான் = 7;
- var table_rows = புதிய வரிசை();
- // அட்டவணை தலைப்பைச் சேர்க்கவும்
- தலைப்பு சேர்(அட்டவணை_வரிசைகள்);
- // ஒற்றை வரிசையைச் சேர்க்கவும்
- Object.each(recv_json, செயல்பாடு(பதிவு) {
- அட்டவணை_வரிசைகள்.தள்ளு(சேர்வரிசை(பதிவு.கீ, பதிவு.வால்));
- });
- அட்டவணை_வரிசைகளைத் திருப்பி அனுப்பு;
- }
Web உதவி பக்கம்
க்கான web உதவிப் பக்க வடிவமைப்பில், உதவி விளக்கம் JSON விவரக்குறிப்பைக் குறிக்கலாம், இதனால் விளக்க உரை JSON வெளியீட்டோடு ஒத்துப்போகும் மற்றும் தேவையற்ற விளக்கங்களைக் குறைக்க உதவுகிறது.ampஇங்கே le dhcp6 ரிலே உள்ளமைவிலிருந்து எடுக்கப்பட்டது.
மூலத்தில் ஹைப்பர்-லிங்க் file
உதவியை ஒதுக்குங்கள். file அதன் மூலத்தில் இடம் file HTML tag. நிலையான மாறி பெயர் “help_page” பயன்படுத்தப்படுகிறது web உதவிப் பக்க ஒதுக்கீடு.
- // உதவி பக்க மந்திரம்
- var help_page = “/help/help_xxx.htm”;
JSON விவரக்குறிப்பிலிருந்து HTML புல விளக்கத்தைப் புதுப்பிக்கவும்.
- பயன்படுத்தவும் அல்லது HTML tag HTML அட்டவணை விளக்கத்தை அறிவிக்கவும், அதற்கான தனித்துவமான ஐடியை வழங்கவும் tag.
- HTML ஆவணம் தயாரானதும், முழு JSON விவரக்குறிப்பையும் பெற loadXMLDoc() ஐ அழைக்கவும் அல்லது JSON முறை பெயரான “jsonRpc.status.introspection.specific.inventory.get” மூலம் குறிப்பிட்ட முறை விளக்கத்தைப் பெறவும்.
- அட்டவணை விளக்கத்தைப் புதுப்பிக்க processTableDesc() பயன்படுத்தப்படுகிறது மற்றும் அட்டவணை அளவுரு விளக்கத்தைப் புதுப்பிக்க processUpdate() பயன்படுத்தப்படுகிறது.
- processUpdate() இல், குறிப்பிட்ட உறுப்பு பெயர்களுடன் பொருந்தக்கூடிய JSON கூறுகளைப் புதுப்பிக்க updateTableParamsDesc() ஐ அழைக்கவும்.
- புதுப்பிக்கவும் அல்லது tag உறுப்பு விளக்கத்தின்படி உள் HTML.
- /* HTML விளக்க புலங்களைப் புதுப்பிக்கவும் */
- செயல்பாடு செயல்முறை அட்டவணை விவரம்(req) {
- (!req.responseText) { எனில்
- திரும்ப;
- }
- var json_spec = JSON.decode(req.responseText);
- // அட்டவணை விளக்கத்தைப் புதுப்பிக்கவும்
- $(“TableDesc”).innerHTML = getJsonSpecElement(json_spec, “groups”, “dhcp6_relay.config.vlan”).விளக்கம்;
- }
- /* HTML அட்டவணை அளவுரு விளக்கத்தைப் புதுப்பிக்கவும் */
- செயல்பாடு செயல்முறை புதுப்பிப்பு (recv_json) {
- // அட்டவணை அளவுரு விளக்கத்தைப் புதுப்பிக்கவும்
- var param_names = [
- {
- "மாற்று பெயர்": "இடைமுகம்",
- "வகை": "vtss_ifindex_t",
- "பெயர்": "vlan இடைமுகம்",
- "பின்னொட்டு": "."
- },
- {
- "மாற்று பெயர்": "ரிலே இடைமுகம்",
- "வகை": "vtss_ifindex_t",
- "பெயர்": "relayVlan இடைமுகம்",
- “பின்னொட்டு”: “. ரிலேயிங்கிற்குப் பயன்படுத்தப்படும் இடைமுகத்தின் ஐடி.”
- },
- {
- "மாற்று பெயர்": "ரிலே டெஸ்டினேஷன்",
- "வகை": "mesa_ipv6_t",
- “பெயர்”: “ரிலே_டெஸ்டினேஷன்”,
- “suffix”: “. கோரிக்கை விடுக்கும் DHCPv6 சேவையகத்தின் IPv6 முகவரிக்கு அனுப்பப்படும். 'ff05::1:3' என்ற முன்னிருப்பு மதிப்பு 'எந்த DHCP சேவையகத்தையும்' குறிக்கிறது.”
- }
- ];
- updateTableParamsDesc(“TableParamsDesc”, recv_json, “dhcp6_relay.config.vlan.get”, param_names);
- }
- /* JSON விவரக்குறிப்பைப் பெறுங்கள் */
- window.addEvent('domready', செயல்பாடு () {
- loadXMLDoc(“/json_spec”, processTableDesc);
- requestJsonDoc(“jsonRpc.status.introspection.specific.inventory.get”, “dhcp6_relay.config.vlan”, processUpdate);
- });
மெனு பட்டியில் ஹைப்பர்-லிங்க்
- மெனு பட்டியின் HTML மூலக் குறியீடு இதிலிருந்து உருவாக்கப்படுகிறது file webstax2\vtss_appl\web\ மெனு_இயல்புநிலை.cxx.
- இதில் உள்ள உருப்படிகளைத் திருத்தவும் file க்கான Web பக்க ஹைப்பர்-லிங்க்.
- #வரையறுக்கப்பட்டால்(VTSS_SW_OPTION_DHCP6_RELAY)
- ITEM(” ரிலே,dhcp6_ ரிலே.htm”);
- #endif //VTSS_SW_OPTION_DHCP6_RELAY
குறிப்பு
மெனு பட்டியில் குழு நிலையை தீர்மானிக்கப் பயன்படுத்தப்படும் ITEM(“”) இல் உள்ள இடைவெளி எழுத்தின் எண்ணிக்கையைக் கவனியுங்கள். இந்த விஷயத்தில், அனைத்தும் web பக்கங்கள் “DHCPv6” குழுவின் கீழ் உள்ளன.
படம் 6. Exampஉலகளாவிய உள்ளமைக்கப்பட்ட அட்டவணையின் le
பின் இணைப்பு
வழக்கமான web பக்கங்கள்
பல பொதுவானவை உள்ளன web பக்கங்களை குறிப்பு வடிவமைப்பிற்குப் பயன்படுத்தலாம். ஒரு கூடுதல் எடுத்துக்காட்டுampஇங்கே காட்ட வேண்டியது vtss_appl\mirror\html\mirror.htm இல் காணப்படும் ஒற்றை கண்ணாடி அமர்வின் உள்ளமைவு ஆகும்.
தி web ஒற்றை கண்ணாடி அமர்வுக்கான விரிவான உள்ளமைவை இந்தப் பக்கம் வழங்குகிறது. உள்ளமைக்கப்பட்ட அனைத்து அளவுருக்களும் பட்டியலிடப்பட்டுள்ளன.
- தற்போதைய உள்ளமைவைப் பயன்படுத்த "சேமி" பொத்தானைக் கிளிக் செய்யவும்.
- தற்போதைய உள்ளமைவை மீட்டமைக்க "மீட்டமை" பொத்தானைக் கிளிக் செய்யவும்.
- ஓவருக்குத் திரும்ப "ரத்துசெய்" என்பதைக் கிளிக் செய்யவும்.view கண்ணாடி அமர்வுகள்
கண்ணாடி மற்றும் கண்ணாடி கட்டமைப்பு
உலகளாவிய அமைப்புகள்
மூல VLAN(கள்) உள்ளமைவு
துறைமுக கட்டமைப்பு
படம் 7. Exampகண்ணாடி அமர்வின் விரிவான உள்ளமைவின் le
"சேமி", "மீட்டமை" மற்றும் "ரத்துசெய்" பொத்தான்கள் html குறியீட்டால் சேர்க்கப்படுகின்றன:
JSON கட்டளை ஓட்டம்
இந்தப் பக்கத்திற்கு இரண்டு படி கட்டளை ஓட்டம் தேவைப்படுகிறது:
- முதலில் அது "mirror.capabilities.get" என்ற முறை மூலம் சாதனத்தின் திறன்களைப் பெற வேண்டும். திறன்கள் மாறாது, ஒரு முறை மட்டுமே படிக்க வேண்டும்.
- பின்னர் அது “mirror.config.session.get”, “port.status.get” மற்றும் “topo.config.stacking.get” அடுக்கி வைக்கும் பட்சத்தில், சாதனத்தின் தற்போதைய உள்ளமைவைப் பெற வேண்டும்.
“mirror.capabilities.get” இன் அழைப்பு “domready” நிகழ்வால் தொடங்கப்படுகிறது, மேலும் முடிவு requestUpdate செயல்பாட்டால் கையாளப்படும் வகையில் உள்ளமைக்கப்படுகிறது.
requestUpdate “mirror.config.session.get” என்ற அழைப்பைத் தொடங்கும்,
“port.status.get” மற்றும் “topo.config.stacking.get” என அடுக்கி வைக்கப்பட்டால், இந்த அழைப்புகளின் முடிவுகள் prepareUpdate செயல்பாட்டால் கையாளப்படும் வகையில் உள்ளமைக்கப்படும்.
prepareUpdate செயல்பாடு அனைத்து முடிவுகளையும் சேகரிக்கும், மேலும் அனைத்தும் பெறப்பட்ட பிறகு மட்டுமே அது processUpdate செயல்பாட்டை அழைக்கும், இது காட்டப்பட வேண்டிய அட்டவணைகளை உருவாக்கும். web.
குறிப்புகள்
- விக்கிபீடியா ஜாவாஸ்கிரிப்ட் https://en.wikipedia.org/wiki/JavaScript
- JSON https://www.json.org/
- மூன் டூல்ஸ் https://mootools.net/
ஆவணங்கள் / ஆதாரங்கள்
![]() |
மைக்ரோசெமி ஏஎன்1256 Web புரோகிராமர்கள் விண்ணப்பம் [pdf] பயனர் வழிகாட்டி ஏஎன்1256, ஏஎன்1256 Web நிரலாளர்கள் விண்ணப்பம், Web நிரலாளர்கள் விண்ணப்பம், விண்ணப்பம் |