Category Archives: கணனி

உபுண்டு 13.04 இல் தமிழ் 99

அண்மையில் அலுவலகத்தில் இனிமேல் லினக்சின் உபுண்டு பதிப்பில் மென்பொருள் எழுதும் பணிகளை ஆரம்பிக்க வேண்டும் என்று அறிவித்தல் வழங்கப்பட்ட பின்னர் எனது அலவலக மடிக் கணனியில் உபுண்டு 13.04 ஐ நிறுவிக்கொண்டேன். எக்லிப்ஸ், நோட்ஜெஸ் என்று எல்லாம் உபுண்டுவில் களை கட்டிப் பறந்தாலும் அவ்வப்போது பேஸ்புக் போய் தமிழில் மொக்கை போட முடியவில்லை. தமிழ் 99 முறையில் தட்டச்சிடும் நான் எவ்வாறு தமிழில் தட்டச்சிடலாம் என்று தேடத் தொடங்கினேன்.

ubuntu 14.04

முதலில் நிறுவப்பட்டிருக்கும் செயலிகளில் iBus இருப்பதைக் கண்டுகொண்டேன். அதை திறந்து பார்த்தாலோ ஒரே ஆச்சரியமும் ஏமாற்றமும். காரணம் சீனம் மட்டுமே அதில் நிறுவப்பட்டு இருந்தது. சரி எப்படியாவது தமிழ் பொதிகளை நிறவிவிடவேண்டும் என்று புறப்பட்டேன்.

அதன் போது உபுண்டு மன்றத்தின் இந்த திரி கண்ணில் பட்டது. அடடா அதில் கூறியபடி செய்தவுடன் தமிழ் உடனேயே iBus தெரிவு சாரளத்தில் தெரியத் தொடங்கியது.

உங்கள் டேர்மினலைத் திறந்து அதில் பின்வரும் கட்டளையை இயக்கவும்

sudo apt-get install ibus ibus-m17n m17n-db m17n-contrib ibus-gtk

இப்போது iBus ஐத் திறந்து கொள்ளுங்கள். இப்போது Add எனும் தெரிவைத் தெரிவு செய்து அதில் தமிழ் 99 ஐத் தெரிவு செய்து கொள்ளலாம்.

Tamil 99 in Ubuntu
Tamil 99 in Ubuntu

அப்புறம் என்ன கலக்குங்கள்

பாகம் 4 : nodejs தமிழில்

மொடியூல்களை ஏற்றுதல்

இதுவரை வந்த பதிவுகளை வாசித்திருந்தால் உங்களுக்கு node.js இன் Module கள் பற்றிய ஒரு அறிவு கிடைத்திருக்கும். முதலே கூறியபடி வேர்ட்பிரஸ் சொருகிகள் (Plugins) போல node.js இன் சொருகிகள்தான் இந்த Moduleகள். நாம் அன்றாடம் செய்யும் வேலைகளை சில வரிகளை எழுதாமல் இந்த மொடியூல்களைப் பயன்படுத்தி எழுதிவிடலாம்.

JavaScript மொழியானது இன்று இணையத்தில் எங்கும் பரந்து விரிந்து வாழும் ஒருமொழி. முதலில் DHTML இல் சில மாற்றங்களை ஏற்படுத்த இணையவடிவமைப்பாளர்களால் பாவிக்கப்பட்டு பின்னர் இணையதள வல்லுனர்களும் பயனர்கணனிகள் இயங்கும் செயலிகளை அல்லது செயற்பாடுகளை நிறைவேற்றப்பாவிக்கப்பட்டு தற்போது வழங்கிகளில் செயற்படும் தன்மையைம் கொண்டுள்ளது. JavaScript இன் மூன்றாவது பிறப்பு இது. இந்த உயர் நிலையை எட்ட ஜாவாஸ்கிரிப்டின் இலகுத் தன்மை ஒரு காரணமாக இருந்தாலும், வழங்கிசார் மென்பெருள் தயாரிப்பில் கனகச்சிதமாக இருக்கவேண்டும் அல்லது அனைத்தும் கவிழ்ந்துவிடும். ஆகவே node.js ஆனது JavaScript இயக்கத்தை கட்டுக்குள் வைத்து இயக்குகின்றது. இந்த அத்தியாயத்தில் மொடியூல்களை சிறப்பாக வினைத்திறனாக இயக்க, ஜாவாஸ்கிரிப்ட்டின் சின்னப்பிள்ளைத் தனத்தை கட்டுப்படுத்த node.js வைத்துள்ள கட்டுப்பாடுகளைப் பார்ப்போம். அத்துடன் நீங்களே உங்களுக்குத் தேவையான ஒரு மொடியூலை எவ்வாறு எழுதிக்கொள்ளலாம் என்றும் பார்க்கலாம்.

நாங்கள் முன்பே பார்த்தபடி node.js சில அடிப்படைத் தேவைகளை நிறைவேற்ற சில மொடியூல்களுடன் வெளியாகியுள்ளது. அத்துடனம் NPM மூலம் எமக்குத் தேவையான மூன்றாம் நபர்கள் எழுதிய மொடியூல்களைப் பாவித்துக்கொள்ளலாம். அதைவிட மேலும் நாங்களும் மொடியூல்களை எழுதிப் பாவிக்கலாம். பொதுவாக பின்வரும் முறையில் மொடியூல் ஒன்றை எமது செயலியினுள் அழைத்துக்கொள்வோம்.

var module=require('somemodule');

node.js ஆரம்பிக்கும் போதே அதன் அடிப்படை மொடியூல்களை ஏற்றிவிடும். ஆயினும் NPM மற்றும் நாங்கள் எழுதிய மொடியூல்களை கோப்பு இருக்கும் இடத்தின் மூலம் node.js ஞாபகத்தில் வைத்துக்கொள்ளும்.

மொடியூல் எழுதலாம் வாங்க

உங்களுக்கு JavaScript மற்றும் பொதுவான மென்பெருள் எழுதும் ஆற்றல் உள்ளது என்ற எடுகோளின் அடிப்படையிலேயே மிகுதியைச் சொல்லுகின்றேன். பொதுவாக மொடியூல்களை நீங்கள் JavaScript, C, C++ போன்ற மொழிகளில் எழுதிக்கொள்ளலாம்.

முதலில் mymodule.js எனும் கோப்பை உருவாக்கிக் கொள்ளுங்கள். அதன் உள்ளடக்கம் பினவருமாறு அமையட்டும்

exports.area = function (r) {
  return r * r;
};

அதன் பின்னர் எமது node செயலியின் உரை பின்வருமாறு அமையட்டும். எமது கோப்பை app.js என வழமை போல பெயரிட்டுக்கொள்ளலாம்.

// நாங்கள் எழுதிய மொடியூலை செயலிக்குள் இறக்குகின்றோம்
var mymodule = require('./mymodule.js');

// நாங்கள் எழுதிய செயலியின் மெதட் area என்பதை அழைக்கின்றோம்
console.log(mymodule.area(4));

இந்த செயலியின் படி ஒரு சதுரம், செவ்வகத்தின் பரப்பளவைக் கணிக்க ஒரு மொடியூலை நாங்கள் எழுதியுள்ளோம்.

குறிப்பு : மொடியூல் மற்றும் அப்ஜேஸ் கோப்புகள் ஒரே கோப்புறையில் இருப்பதை உறுதிப்புடுத்திக்கொள்ளுங்கள். அனைத்தும் சரியாக இயங்கினால் பின்வரும் செய்தி உங்களுக்கு கிடைக்கும்.
node mymodule

குறிப்பு : வழமையாக மொடியூல் ஒன்றை இறக்குப் போது require(‘./mymodule’) என்று .js என்ற Extension இல்லாமலும் இறக்கிக்கொள்ளலாம். Node.js அந்தக் கோப்புறையினுள் உள்ள அந்தப்பெயரிற்குப் பொருந்தும் ஒரு ஜாவாஸ்கிரிப்ட் கோப்பை இறக்கிக்கொள்ளும்.

செயலியை இங்கே பதிவிறக்கிக்கொள்ளலாம்

பாகம் 3 : Node.js தமிழில்

NPM அல்லது Node Package Manager எனப்படுவது மூன்றாம் மென்பொருள் வல்லுனர்களால் எழுதப்பட்ட Module களை உங்கள் கணனியில் நிறுவ உதவுகின்றது. உங்களுக்கு வேர்ட்பிரசில் சொருகிகள் (Plugins) போல node.js ற்கு NPM உதவுகின்றது.

பொதுவாக NPM மூலம் பின்வரும் மூன்று வேலைகளைச் செய்யலாம்.

  • மூன்றாம் மென்பொருள் வல்லுனர்கள் எழுதிய மொடியூல்களைத் தொகுத்து வைக்கின்றமை
  • உங்கள் கணனியில் நிறுவப்பட்டிருக்கும் மொடியூல்களை மேலான்மை செய்தல்
  • உங்கள் செயற்றிட்டத்தில் Dependancy மொடியூல்களை பதிவிறக்க உதவுகின்றது

node.js படிப்பதற்கு எதற்காக இப்போது NPM பற்றி அறிந்துகொள்ள வேண்டும் என நீங்கள் கேட்கலாம். அதற்கு காரணம் உள்ளது. நீங்கள் நிஜத்தில் node.js மூலம் செயலிகளை எழுதும்போது கட்டாயம் மூன்றாம் மென்பொருள் வல்லுனர்கள் எழுதிய மொடியூல்களை பாவிக்க வேண்டிய கட்டாயம் இருக்கும். அப்போது NPM உங்கள் வேலையை மிகவும் இலகுவாக்கிவிடும். குறிப்பாக ஒரு மொடியூலின் எத்தனையாவது பதிப்பை பதிவிறக்க வேண்டும் போன்ற செயல்களை NPM இன் Command Prompt மூலம் வினைத்திறனுடன் நிறைவேற்றலாம்.

நீங்கள் இப்போது NPM நிறுவுவதற்காக இணையத்தில் தேடத் தொடங்க வேண்டாம். புதிய node.js பதிப்பை பதிவிறக்கி நிறுவும் போது NPM கூடவே நிறவப்பட்டுவிடுவது மேலும் சிறப்பு.

NPM இன் Global மற்றும் Local முறைமை

Local முறைமையில் NPM ஐப் பயன்படுத்தும்போது, எமது கணனியின் மற்றச் செயலிகளில் எந்த மாற்றமும் நிகழ்த்தப்படமாட்டாது. தற்போது நாம் வேலைசெய்துகொண்டிருக்கும் கோப்புறையில் மட்டுமே மாற்றங்கள் மேற்கொள்ளப்படும்.

Global முறைமை இதற்கு எதிர்மாறாக கணனி முழுதும் மாறங்களை ஏற்படுத்தும். அனைத்து செயலிகளும் மாற்றங்களுக்கு உள்ளாகும். பொதுவாக Utilities போன்ற மொடியூல்களை Globalஇலும் மற்றைய மொடியூல்களை localஇலும் மென்பொருள் வல்லுனர்கள் பயன்படுத்துவர். இதை Global அல்லது Local இல் நிறுவுவதா என ஐயம் ஏற்பட்டால் வீண் பிரைச்சனைகளைத் தவிர்க்க Local இல் நிறுவிவிடுங்கள். ஏன் வீண் வம்பு?? 😉

உதாரணமாக Sax எனும் மொடியூலை நிறவ வேண்டும் என்றால் பின்வருமாறு நிறவிக்கொள்ளலாம். இங்கே நீங்கள் காணும் –g என்பது இந்த மொடியூல் Global முறையில் நிறுவப்படுகின்றது என்பதை காட்டுகின்றது.

நிறவுல் கட்டளை ‘npm install -g sax’

NPM 1

குறிப்பு : நீங்கள் லினக்ஸ் இயங்குதளத்தில் இருந்தால் Root பயனராக இக்கட்டளையை இயக்க வேண்டியிருக்கும்.
உ+ம் “$ sudo npm install -g sax”

அனைத்தும் செவ்வனே நிறைவேறியதும் எமது செயலியில் Sax மொடியூலைப் பினவருமாற பாவிக்கலாம்.

var sax = require('sax');

ஒரு மொடியூலை நிறவு பின்வருவதுவே அதற்கான கட்டளை

npm install 

ஒரு மொடியூலின் குறிப்பான ஒரு பதிப்பைப் பதிவிறக்க பின்வருவதே அதன் கட்டளை

npm install @

உ+ம்

npm install sax@0.2.5

NPM 2

ஒரு மொடியூலை நீக்க

npm uninstall 

அந்த மொடியூலை Global நிலையில் நீக்க

npm uninstall -g 

ஒரு மொடியூலை இயற்படுத்த

npm update 

அந்த மொடியூலை Global நிலையில் இயற்படுத்த

npm update –g 

சில மொடியூல்கள் வேறு சில மொடியூல்களில் தங்கியிருக்கும். அந்த வேளைகளில் ஒரு மொடியூலை பதிவிறக்கினால் தங்கியிருக்கும் மொடியூல்களையும் NPM உங்களுக்காகப் பதிவிறக்கித்தரும். பின்வருவதை உங்கள் Command prompt இல் இயக்கிப்பாருங்கள்.

npm install nano

அனைத்தும் முடிந்த்தும் கடைசியில் பின்வருமாறு ஒரு வரைபடம் கிடைக்கும்.

NPM 3

இதன் மூலம் nano எனும் மொடியூல் underscore, follow மற்றும் request ஆகிய மொடியூல்களில் தங்கியிருப்பதை அவதானிக்கலாம். இப்போது எங்கள் செயற்றிட்டம் இருக்கும் கோப்புறையைத் திறந்து பார்த்தால் அங்கே “node_modules” என்று இன்னுமொரு கோப்புறை இருப்பதைக்காணலாம். அதனுள்ளே நாங்கள் பதிவிறக்கிய மொடியூல்களை நீங்கள் அவதானிக்கலாம்.

package.json மூலம் தங்கியிருக்கும் மொடியூல்களை அறிவுறுத்தல்

“package.json” எனும் கோப்பினை எமது செயற்றிட்டம் இருக்கும் கோப்புறையினுள் போட்டு அதனில் தங்கியிருக்கும் மொடியூல்களை கூறிவிட்டால் போதும். NPM தானே அவற்றை தேடி நிறுவிவிடும். நாங்கள் தனித்தனியாக ஒவ்வொரு மொடியூலாக பதிவிறக்கிக்கொள்ளத் தேவையில்லை.

package.jason இன் உள்ளடக்கம் பொதுவாக பின்வருமாறு இருக்கும்.

{
"name" : "MyApp",
"version" : "1.0.0",
"dependencies" : {
"sax" : "0.3.x",
"nano" : "*",
"request" : ">0.2.0"
}
}

இதன் பின்னர் json.package இல் குறிப்பிட்ட மொடியூல்களைப் பதிவிறக்க பின்வரும் கட்டளையைப் பயன்படுத்தலாம்

npm install

மொடியூல்களை இயற்படுத்த பின்வரும் கட்டளையைப் பயன்படுத்தலாம்

npm update

பொறுமையாக இறுது வரை வாசித்தமைக்கு மிக்க நன்றி. அடுத்த பாகத்தில் ஒரு மொடியூலைப் பயன்படுத்தி ஒரு சிறிய செயலியை எழுதலாம். அதுவரை அன்புடன் விடைபெற்றுக் கொள்கின்றேன் 😉

பாகம் 2 : node.js தமிழில்

ஆரம்ப காலங்களில் ஒருவர் ஒரு கணனியில் ஒரு தடவையில் ஒரு செயலை மட்டும் நிகழ்தும் நிலமையே இருந்தது. அதற்கான காரணம் அக்காலத்துக் கணனிகளின் வினைத்திறனும் கணனி வலையமைப்புகளின் குறைபாடுகளேயாகும். ஆயினும் காலவோட்டத்தில் கணனிகளின் வினைத்திறன் கூடிவிட்டமையுடன் கணனி வலையமைப்புகள் புதிய ஒரு நிலையைப் பெற்றுவிட்டன. குறிப்பாக இன்றைய இணையப் புரட்சி காரணமாக செயிலிகள் ஒரு செயலிற்காக காத்திருக்க வேண்டும் எனும் நிலமை மாறத் தொடங்கியது. Blocking Programming எனும் முறமையின் அழிவு இதனுடனேயே ஆரம்பமாகியது.

Multi-threading எனும் செயன்முறை இன்றைய ஜாவா, சீசார்ப் போன்ற மொழிகளில் கோலோச்சுகின்றது. இது பல செயல்களை ஒன்றை ஒன்று தடுக்காமல் சமாந்தரமாக இயகப்பபடுகின்றது.ஆயினும் இது சிலவேளைகளில் மென்பொருள் வல்லுனர்களுக்கு தலையிடியாக அமைந்துவிடும். இந்த Multi-Threading முறை மூலம் ஒரே வளத்தை இரண்டு Threads அணுக முயன்று Deadlock எல்லாம் வந்துவிடக்கூடய வாய்ப்புகள் உண்டு. ஆயினும் பயப்படவேண்டாம் இவற்றை எல்லாம் சமாளிக்க இன்றைய நவீன மென்பொருள் மொழிகளில் வாய்ப்புகள் மற்றும் வசதிகள் உண்டு.

மற்றைய வழங்கிகளில் இருந்து node.js எவ்வாறு வேறுபடுகின்றது

node.js மூலம் வளர்ந்து விரிவடையும் என எண்ணும் எந்தவொரு இணைய வழங்கிக்காவுப் பாவிக்க முடியும். உங்கள் தளம், சேவை விரிவடையும் போது அதற்கேற்றவாறு மாற்றி அமைக்க இடம்தரும் தன்மையை node.js கொண்டிருப்பது அதன் சிறப்பியல்பு.

node.js ஆனது PHP, Java, C# இணைய சேவை வழங்கிகளை (Web Services) விடவும் அதிக வேகமாக இருப்பதற்கான காரணம் node.js இன் பின்ணனியில் சி மொழி இருக்கின்றமையாகும். வழமையாகவே சி மொழியில் எழுதப்படும் செயலிகள் வேகமாக இயங்குவதை நாம் அவதானித்து இருக்கின்றோம்தானே.

தற்போதைய நவீன இணைய சேவை வழங்கிகள் மற்றும் அதை எழுதப் பயன்படும் மொழிகள் பல வேலைகளை ஒரேதடவையில் செய்யும் வல்லமை வாய்ந்தவை (Multi Threading). ஆனால் node.js ஒரு செயலை மட்டுமே ஒருதடவையில் செய்யும். அதாவது தனக்கு வரும் கோரிக்கைகளை ஒரு நிரையாக நிறுத்தி வரிசையாக வரும் கோரிக்கைகளை அலசி ஆராய்ந்து பதில் அனுப்பும். இதன் காரணமாகத்தான் node.js வழங்கியில் ஒரு கோரிக்கை ஏதோவொரு காரணத்தால் பிழையடைந்தால் முற்றுமுழுதாக வழங்கியே செயல்இழந்துவிடும்.

அப்படியானால் வரிசையில் வைத்து ஒன்றொன்றாகத்தான் தனக்கு வரும் கோரிக்கைகளை பரீசிலிக்குமானால் எப்படி அத்தனை வேகமாக இயங்குகின்றது? ஒரு இணையசேவைக் கோரிக்கை நீண்ட நேரம் எடுத்துவிட்டால் அடுத்த கோரிக்கைகள் இன்னும் நேரமாகுமே? இப்படியெல்லாம் கேள்விகள் எழக்கூடும். இதற்கு node.js இன் பதில்தான் Event driven programming & Callback functions எனப்படும் முறைமை.

Event driven programming & Callback செயன்முறை என்றால் என்ன

அதாவது நீங்கள் ஒரு வேலையை செய்ய இணைய வழங்கியிடும் கோருகின்றீர்கள் அந்த வேலை முடியும் வரை node.js காத்திருக்காது அந்த வேலைக்கான உத்தரவை வழங்கிவிட்டு அடுத்த கோரிக்கையைப் பரிசீலிக்கத்தொடங்கிவிடும். முதல் கோரிக்கை நிறைவேற்றப்பட்டதும் Callback function அழைக்கப்பட்டு பதில் சேவையை கோரியவரிற்கு வழங்கப்படும். என்ன குளப்பமாக உள்ளதா?

உதாரணமாக அம்மா இன்று கேக் செய்வதாக உத்தேசித்துள்ளார். அதே வேளை நீங்கள் எனக்கு புடிங் வேண்டும் என்று கேட்கின்றீர்கள். இப்போது அம்மாவிடும் இரண்டு கோரிக்கைகள் உள்ளன. முதலில் புடிங் செய்வதற்கான உள்ளுடன்கள் இப்போது வீட்டில் இல்லை. அவர் உங்களை முன்னால் இருக்கும் கடையில் சென்று புடிங் செய்வதற்கான பொருட்களை வாங்கிவருமாறு கூறுகின்றார். நீங்கள் புடிங் செய்யத் தேவையான பொருட்களை வாங்கிவரும் வரை காத்திருக்காமல் உங்களை அனுப்பிவிட்டு கேக் செய்யும் வேலையை ஆரம்பித்துவிடுவார். பொருட்களுடன் நீங்கள் மறுபடியும் வந்து அம்மாவை அழைப்பதாக வைத்துக்கொள்ளுவோம். அழைத்து அவரிடனம் பொருட்களைக் கொடுக்கின்றீர்கள். இவ்வாறு அழைப்பதையே Callback function என்று அழைகின்றார்கள். இப்போது அம்மா புடிங் வேலையை முடித்துவிடுவார். அப்படியே அரைவாசியில் தொங்கும் கேக் வேலையையும் முடித்துவிடுவார்.

node.js படிக்க வந்தா இவன் என்ன புடிங், கேக், டோனட் எண்டு கடுப்பேத்துறான் என்று நீங்கள் நெருமுவது காதில் கேட்கின்றது. சரி அடுத்து ஒரு Callback function க்கான ஒரு உதாரணத்தைப் பார்த்துவிடுவோமா?

// முறை ஒன்று
fs.readFile('index.html', function(err, contents){
	// கோப்பின் உள்ளடக்கத்தை கன்சோலில் எழுதுகின்றோம்
	console.log(contents);
)};

// முறை இரண்டு
var callback = function(err, contents){
	console.log(contents);
};
fs.readFile('index.html', callback);

முழுமையான உதாரணம்

var fs = require('fs');

fs.readFile('index.html', function (err, data) {
  if (err) throw err;
  console.log(data);
});

index.html எனும் கோப்பு உங்கள் app.js உள்ள கோப்புறையில் உள்ளமையை உறுதிப்படுத்துமாறு கேட்டுக்கொள்கின்றேன். வழமையான மென்பொருள் எழுதும் வழிமுறையில் பொதுவாக functionகள் ஒரு முடிவை இயக்க முடிவில் வெளியனுப்பும்(return). ஆயினும் node.js பயன்படுத்தும் Event Driven Programming இல் முடிவை வெளியனுப்புவதற்குப் பதிலாக இயக்கம் முடிவடைந்ததும் அழைக்கப்படவேண்டிய function ஐக் குறிப்பிடுகின்றோம். நீண்ட நேரம் எடுக்கும் I/O இயக்கங்கள் முடிவடைந்ததும் அந்த function அழைக்கப்படும். இதன் மூலம் காத்திருக்கும் நேரம் கணிசமாகக் குறைக்கப்படுகின்றது.

node இல் கோப்புகளை திறந்து வாசிக்க File System எனும் Module ஐப் பயன்படுத்தலாம். இன்றைய பாகத்தில் callback function பற்றி அறிந்து கொண்டோம். இனி அடுத்த அத்தியாயத்தில் node.js பற்றி மேலும் அறிந்து கொள்ளலாம்.

அடுத்த திங்கள் கிழமை வெளிவரும் பதிவில் nodejs இன் Package Manager பற்றி விரிவாக அறிந்து கொள்ளலாம். பொறுமையாகப் படித்தமைக்கு நன்றி.

செயலியை இங்கே பதிவிறக்கிக்கொள்ளலாம்

பாகம் 1 : Node.js தமிழில்

நோட்ஜெஎஸ் இன்று பல மென்பெருள் வல்லுனர்கள் மத்தியிலும் அடிக்கடி உச்சரிக்கப்ப்படும் ஒரு மந்திரச்சொல். நோட் ஜேஸ் றையல் டால் (Ryan Dhal) எனபவரினால் எழுதப்பட்டது. இது கூகிளினால் எழுதப்பட்ட வி8 ஜாவாஸ்கிரிப்ட் இயந்திரத்தினால் பின்ணனியில் இருந்து இயக்கப்படுகின்றது.

logo

நோட்ஜேஸ் என்றால் என்ன?

நோட்ஜேஎஸ் ஒரு வழங்கி சார் தொழில்நுட்பம் (Server side technology). ஆனால் இதில் வியப்புத்தரும் விடையம் என்னவென்றால் ஜாவாஸ்கிரிப்ட் கொண்டு வழங்கிசார் மென்பொருள் தயாரிப்பில் ஈடுபடக்கூடியதாக இருக்கின்றமையே.

பொதுவாக ஜாவாஸ்கிரிப்ட் இணைய உலாவி (Internet Browser) சார்ந்த ஒரு பயனர் கணனியில் இயங்கும் ஒரு மொழியாகும். இதைப் பயன்படுத்தி வழங்கிசார் சேவைகளை எழுத முடிவது நோட்ஜேஸ்இன் ஒரு பலமாகும்.

ஜாவாஸ்கிரிப்ட் மொழியானது ஜாவா, சீசார்ப் (C#) போன்ற மொழிகளைப்போல கற்றுக்கொள்ள அத்தனை கடினமானது கிடையாது. இலவகுவாக உங்கள் மென்பொருள் அல்லது கைபேசி மொன்பொருளுக்குத் தேவையான வழங்கி சேவைகளை (Web Services) நீங்களே எழுதிக்கொள்ளலாம்.

NodeJS ஐ நிறுவுதல்

NodeJS முன்பு வின்டோசுக்கான ஆதரவை வழங்கவில்லை. லினக்ஸ் கணனிகளை கல கலவென்று கலக்கிக்கொண்டு வேலைசெய்தது. வின்டோஸ் பயனர்கள் NodeJS ஐ இயக்குவதானால் சுற்றி மூக்கைத் தொடும் செயலாகவே இருந்தது. பலர் லினக்ஸ் வேர்ச்சுவர் மெசினை இயக்கி அதில் லினக்சை ஓட்டுவர்.

இப்போது NodeJS இன் புதிய பதிப்புகள் வின்டோசுக்கான ஆதரவைத் தருகின்றமை வின்டோஸ் பயனர்களுக்கு சந்தோசமான செய்தியாகும்.

நிறுவல் படிகள்

  1. http://nodejs.org/ எனும் தளத்திற்கு செல்க
  2. தளத்தில் இருந்து Node.js இற்கான நிறுவியைப் பதிவிறக்கி உங்கள் கணனியில் நிறுவுக.
  3. Command Promt ஐத் திறந்து node என தட்டச்சி Enter விசையை அமுக்கவும்
  4. அனைத்தும் சரியாக நிறவப்பட்டிருந்தால் உங்கள் கணனியில் பினவரும் திரை கிடைக்கும்.

node command promt

அனைத்தும் சரிதானே?? சரி அடுத்த்தாக முதலாவது செயலியை எழுதிவிடலாமா?

முதலாவது உதாரணம்

உங்கள் கணனியில் விரும்பிய ஒரு இடத்தில் ஒரு கோப்பை (Folder) உருவாக்கிக்கொள்ளுங்கள். உங்கள் கோப்பு உள்ள இடத்திற்கு Command Promt இல் இடம்பெயர்ந்து கொள்ளுங்கள்.

உதாரணமாக D Drive இல் “TamilNode” எனும் கோப்பை உருவாக்கியுள்ளேன் என வைத்துக்கொள்வோம். Command Prompt இல் அந்த கோப்பிற்கு நகர்ந்தால் கீழ் உள்ளவாறு தெரியும்.

2 Tamil Node

இனி செயலியை எழுதத்தொடங்கலாம். உங்கள் விருப்ப Text Editor ஐத் திறந்து நாங்கள் முன்பே உருவாக்கிய கோப்புறை TamilNode இல் app.js எனுப் கோப்பை உருவாக்கிக்கொள்ளலாம்.

app.js கோப்பின் உள்ளடக்கம் பின்வருமாற அமையட்டும்.

// http எனும் module இங்கு பாவிக்கப்படுகின்றது.
// Node.js இது போல பல உள்ளமைந்த மொடியூல்களுடன் வருகின்றது
var http = require('http');
// வழங்கி உருவாக்கம்
http.createServer(function (req, res) {
  // வழங்கி பதில் குறியெண் (Server responce code)
  res.writeHead(200, {'Content-Type': 'text/plain'});
  // பதிலில் வழங்கி அனுப்பும் செய்தி
  res.end('வணக்கம் உலகம்');
}).listen(1337); // 1337 என்ற Port இல் வழங்கி கவனித்துக்கொண்டு இருக்கும்
console.log('Server started');

இப்போது எங்கள் Command Prompt இல் node app.js எனும் கட்டளையை வழங்குக.

4. Server started

பின்னர் உங்கள் உலாவியைத் திறந்து அதில் http://localhost:1337/ எனும் முகவரிக்குச் செல்லவும்.

அனைத்தும் சரியாகச் செயற்பட்டால் பின்வரும் திரையைக் காணலாம்.

3. Server running

குறிப்பு : தமிழ் எழுத்து ஜிலேபி போலத் தெரிந்தால் உலாவியின் Encoding ஐ UTF-8 க்கு கைமுறையாக (Manual) மாற்றவும்.

வாழ்த்துக்கள் Node.js மூலம் முதலாவது செயலியை நீங்கள் உருவாக்கி விட்டீர்கள். அடுத்து வரும் பாகங்களில் மேலும் Nodejs பற்றி அறிந்து கொள்ளலாம்.

வின்டோஸ் பிரிவின் தலைவர் மைக்ராசாப்டில் இருந்து விலகினார்

கடந்த மாதம் மைக்ரோசாப்ட் தனது புதிய இயங்குதளமான வின்டோஸ் 8 ஐ அறிமுகப் படுத்தியது. இணைய உலகிலே கூகிளும் அப்பிளும் மைக்கரோசாப்டின் பங்கை புடுங்கிச் சாப்பிட்டுக்கொண்டிருக்கும் வேளையில் இந்த இயங்குதளம் மைக்ரோசாப்டிற்கு மீள புத்துயிர் ஊட்டும் என்று எதிர்பார்க்கப்பட்டது. வின்டோசைச் சுற்றியே முன்பு ஒரு தடவை நான் எழுதிய சேர்பஸ் டால்டும் வெளியிடப்பட்டது. வின்டோஸ் இயங்குதளம் கைபேசி, மேசைக் கணனி, மடிக் கணனி, டாப்லெட் என்று பல முனைகளில் வெளியிடப்பட்டது.

ஆயினும் திடீரென்று இந்த வின்டோஸ் பிரிவின் தலைமைத்துவம் நிறுவனத்தில் இருந்து விலகிவிட்டமை மைக்ரோசாப்ட் வட்டாரத்தில் பெரும் சலசலப்பை ஏற்படுத்திவிட்டது. செய்தி வெளியே தெரிந்ததும் பங்குச் சந்தையில் மைக்ரோசாப்டின் பங்கு சர சரவெனச் சரியத் தொடங்கியது.

ஸ்டீவ் சினோவ்ஸ்கி
முன்னாள் வின்டோஸ் தலைவர்

இதற்கான காரணம் என்ன என்று இது வரை அறிவிக்கப்படவில்லை ஆயினும் உள்வீட்டுத் தகவல்களின் படி மைக்ரோசாப்டின் நிறைவேற்று அதிகாரி ஸ்டீவ் பால்மரிற்கும் வின்டோஸ் பிரிவின் முன்னாள் தலைவர் ஸ்டீவன் சினோவ்ஸ்கியிற்கும் இடைய்யில் தகறாறுதான் காரணம் என்று சொல்லப்படுகின்றது. 23 வருடங்கள் மைக்ரோசாப்டில் பணியாற்றிய ஸ்டீபன் கடுமையான போக்குடைய ஒரு மேலதிகாரி என்று பலராலும் கூறப்பட்ட ஒரு வல்லுனர். அத்துடன் 2000 ஆண்டு முதல் மைக்ரோசாப்டின் நிறைவேற்று அதிகாரியாக இருக்கும் ஸ்டீவ் பால்மரிற்குப் பின்னர் இவர்தான் மைக்ரோசாப்டின் நிறைவெற்று அதிகாரி என்றும் கிசு கிசுக்கள் மைக்ரோசாப்டினுள் உலா வந்தன.

புதிய வின்டோஸ் பிரிவின் தலைவி – ஜூலி

ஸ்டீபன் சினோவ்ஸ்கியின் இடத்தை மைக்ரோசாப்டில் 1993இல் இருந்து வேலை செய்யும் ஜூலி லார்சன் என்பவர் நிரப்புவார் என்று அறிவிக்கப்பட்டுள்ளது. இதே வேளை ஜூலி லார்சன் என்பவர் ஒரு பெண்மணி என்பதையும் தெரிந்துகொள்ளுக. (ஆமாங்க பாஸ் இனி பொண்ணுதான் வின்டோஸ் ரிலீஸ் பண்ணப்போகுது 😉 )

ஸ்டீவனின் வெளியேற்றம் ஒரு சாராரால் அதிர்ச்சியாகப் பார்க்கப்பட்டாலும் சிலர் அதை ஒரு சிறப்பான நிகழ்ச்சியாகப் பார்க்கின்றனர். பழைய நபர்கள் வெளியேறும் போது புதியவர்கள் உள்ளே வருவதனால் புதுச் சிந்தனைகளும் ஊற்றெடுக்கும் என்பதே காரணம். பழைய மொந்தையில் இன்னும் வண்டியோட்டாமல் புது இரத்தத்தை மைக்ரோசாப்டினுள் பாய்ச்ச இது சிறந்த சந்தர்ப்பம் என்றே கருதப்படுகின்றது.

வேர்ட்பிரசிற்கான மொபைல் தீம்

ப்ளாக்கர் பயன்படுத்தும் நண்பர்களுக்கு தங்கள் தளத்தை நகர்பேசி அல்லது செல்பேசியில் பார்க்க அதற்கான வார்ப்புருவை முடக்கிவிடமுடியும். இதே வசதி இப்போது தனி வழங்கிகளில் வேர்பிரஸ் தளத்தை நிறுவிப் பயன்படுத்தும் நண்பர்களுக்கும் கிடைக்கின்றது.

செல்பேசியில்

ஜெட்பக் எனும் சொருகியைப்பற்றி நீங்கள் கேள்விப்ப்படிருப்பீர்கள். அனைத்து வேர்ட்பிரஸ் பயனர்களும் கட்டாயம் பாவிக்க வேண்டிய சொருகியிது. தளத்தின் புள்ளிவிபரங்கள், மறுமொழிப்பெட்டியில் பேஸ்புக், ட்விட்டர் போன்ற முறைகளில் புகுபதிகைசெய்ய உதவல் மேலும் சமூக வலைத்தளங்களில் உங்கள் பக்கத்தைப் பகிர உதவல் எனப் பல்வேறு வசதிகளை இந்த செருகி வழங்குகின்றது. இந்த வரிசையில் இப்போது செல்பேசிகளுக்கான வார்ப்புருவை இந்த சொருகி வழங்குகின்றது.

உங்கள் தளத்தில் ஜெட்பக்கை முதலில் நிறுவவும் அல்லது பிந்தைய பதிப்பிற்கு தரமுயர்த்தவும். பின்னர் ஜெட்பாக் மெனுவிற்குச் சென்று அங்கே மொபைல் தீம் என்பதை உயிரூட்டவும்.

இப்போது உங்கள் தளத்தை கைத்தொலைபேசியில் சென்று பார்த்தால் அழகாகத் தெரிய ஆரம்பிக்கும்.

YouTube ஐயும் நீக்கிய அப்பிள்

iOS6 இன் மென்பொருள் வல்லுனருக்கான சிறப்பு முன்னோட்ட பதிப்புகள் தொடர்ச்சியாக வெளியிடப்பட்டு வருகின்றது. நீங்கள் ஒரு அப்பிள் மென்பொருள் வல்லுனராக இருந்தால் நீங்களும் இந்தப் பதிப்புக்களைப் பெற்று இருப்பீர்கள்.

இவ்வாறு அண்மையில் வெளிவந்து iOS6 பீட்டா பதிப்பில் யூடியூப் (YouTube) செயலி நீக்கப்பட்டுள்ளது. இதற்கு முன்னர் இதே போன்று அப்பிள் கூகிள் மப்ஸ் செயலியை நீக்கி அப்பிள் மப்ஸ் செயலியை நிறுவியமையைக் குறிப்பிட்டு இருந்தேன். இப்போது யூடியூப் செயலியும் அப்பிளின் டெஸ்க் டொப்பில் இருந்து நீக்கப்பட்டுள்ளது.

தீராமல் தொடரும் அப்பிள் கூகிள் பிரைச்சனையினால் அப்பிள் கூகிளின் பால் சார்ந்து இருக்கும் தன்மையை மெல்ல மெல்ல அகற்றி தனித்து இயக்கும் தன்மையை நோக்கிச் செல்கின்றது. எல்லாம் அன்ரொயிட் செய்த மாயம் அப்பா.

கூகிளின் புதிய படைப்புகள்

மைக்ரோசாப்ட் அப்பிளைத் தொடர்ந்து இந்த வருடம் கூகிளினது 5ம் கூகிள் ஐ/ஓ (Google I/O) நடைபெறத் தொடங்கயுள்ளது. நேற்றைய பிரதான உரையின் போது கூகிளின் புதிய படைப்புகள் அறிமுகப் படுத்தப்பட்டது.

கூகிள் ஐஓ இலச்சனை

வழமைபோல இம்முறையும் அன்ரொயிட்டின் சாதனைகளை கூறியே கருத்தரங்கு ஆரம்பிக்கப்பட்டது. கடந்த வருடம் நடந்த கருத்தரங்கில் சுமார் 100 மில்லியன் அன்ரொயிட் கருவிகள் பாவனையில் உள்ளதாக அறிவித்தது கூகிள். இம்முறை இந்த எண்ணிக்கை 400 மில்லியனாக அதிகரித்து விட்டதாகவும் அறியத்தருகின்றது. அத்துடன் ஒரு நாளைக்கு 1 மில்லியன் அன்ரொயிட் கருவிகள் உயிரூட்டப்படுவதாகவும் அறிவித்தது கூகிள். இந்தியா பிரேசில் போன்ற நாடுகளில் இந்த வளர்ச்சி வீதம் 500% மாக இருப்பதாகவும் இந்தக் கருத்தரங்கில் அறிவிக்கப்பட்டது.

ஜெலி பீன் அன்ரொயிட் 4.1

இந்தக் கருத்தரங்கில் அன்ரொயிட்டின் புதிய இயங்குதளமான ஜெலி பீன் (jelly bean) அறிமுகம் செய்யப்பட்டது. அன்ரொயிட்டின் முன்னைய இயங்குதளமான ஐஸ்கிரீம் சான்விச்சின் மேல் சில மாற்றங்களை செய்து வழு வழுப்பாக இயங்கக்கூடி இந்த ஜெலி பீன் இயங்கு தளத்தை அமைத்ததாக கூகிள் அறிவித்தது. இந்த மாற்றங்களை “புரஜக்ட் பட்டர் (Project Butter)” என்று அறிவிக்கப்படுகின்றது.

அப்பிளினால் ஐபோன் 4எஸ் இல் பரபரப்பாக பேச வைக்கப்பட்ட சிறிக்குப் போட்டியாக கூகிளின் வொய்ஸ் அக்சன் களம் இறக்கப்பட்டுள்ளது இந்த புதிய இயங்கு தளத்தில். இணைய இணைப்பு இல்லாமலேயே ஒலி மூலம் கட்டளைகளை வழங்கவும், தட்டச்சிடவும் முடியும். இதில் முக்கியமான இந்திய பயனர்களைப் பரவசப்படுத்தக் கூடிய செய்தி என்னவெனில் ஹிந்தி மொழியில் ஒலி மூலம் தட்டச்சிடும் வசதி உள்ளடக்கப்பட்டுள்ளமையாகும். மேலும் பல மொழிகள் எதிர்காலத்தில் உள்ளடக்கப்படும் என்று அறிவிக்கப்பட்டுள்ளது. தமிழ் போன்ற மொழிகளும் விரைவில் கிடைக்கும் என்று எதிர் பார்க்கலாம்.

மேலும் கன்னடா, மலையாளம் போன்ற இந்திய மொழிகளுக்கான ஆதரவும் இந்த ஜெலி பீனில் வழங்கப்பட்டுள்ளது.

நெக்சஸ் தொடு பலகை

அடுத்து கூகிள் நெக்சஸ் 7 (Nexus 7) எனும் டாப்லட் பீசி அல்லது பலகைக் கணனி என்று அழைக்கப்படும் கருவியை வெளியிட்டு வைத்தது. இது அமசொன் சில காலங்களுக்கு முன்னர் வெளியிட்ட கின்டில் பயர் (Kindle Fire) என்ற பலகை கணனிக்கு போட்டியாக இருக்கும் என்று எதிர்பார்க்கப்படுகின்றது. திரைப்படங்கள், இசை, புத்தகங்கள் போன்றவற்றை இந்த கருவியில் போகுமிடமெங்கும் எடுத்துச் சென்று பயனுறலாம்.

கவர்ச்சியான நெக்சஸ் கியூ இசைக் கருவி

இதைவிட் நெக்சஸ் கியூ (Nexus Q) எனும் இசை கருவியையும் கூகிள் வெளியிட்டு வைத்தது. இதன் மூலம் கூகிளின் முகிலத்தில்(Cloud) இருக்கும் இசைக் கோர்வைகளை நீங்கள் செல்லும் இடத்தில் எல்லாம் சிரீம் செய்து கேட்டுக் கொள்ளலாம். இந்ததக் கருவி முற்று முழுதாக அமெரிக்காவில் ஆராய்ச்சி செய்து அமெரிக்காவிலேயே உற்பத்தி செய்யப்பட்டது. இதனால் சீனாவில் செய்யப்பட்ட பொருட்கள் போல குறைந்த விலையில் கிடைக்காது. மாறாக $300 பெறுமதியில் சந்தையில் கிடைக்கும்.

கூகிள் கிளாஸ் அணிந்த அணங்கு

இறுதியாக மென்பொருள் கலைஞர் கருத்தரங்கை ஆட்டுவித்த பொருள்தான் கூகிள் மூக்குக்கண்ணாடி. கூகிளினால் இது புரஜக்ட் கிளாஸ் (Proejct Glass) என்று பெயரிடப்பட்டுள்ளது. விமானத்தில் பறந்த வந்த வான் குதிப்பர்கள் (Sky Divers) இந்தக் கண்ணாடி அணிந்த வாறு விமானத்தில் இருந்து குதித்து அதை நேரடியாக படமாக கூகிள் திரையில் காட்டினார்கள். இதைவிட நேரடியாகப் படம் எடுத்தல் போன்ற செயற்பாடுகளை இதன் மூலம் செய்யக்கூடியதாக உள்ளது.

மேலே உள்ள காணொளி மூலம் எவவாறு இதைச் செய்கின்றார்கள் என்று பார்க்கலாம். ஆயினும் இந்தக் கண்ணாடி எப்போது சந்தையில் கிடைக்கும் என்பது பற்றி இன்னமும் அறிவிக்கப்படவில்லை.

வழமை போல கூகிளின் மென்பெருள் வல்லுனர் கருத்தரங்கு அட்டகாசமாக ஆரம்பித்துள்ளது. இனி வரும் நாட்களில் இது சம்பந்தமாக மேலும் செய்திகள் வெளியாகும்.

மைக்ரோசாப்ட் சேர்பஸ் – டாப்லட்

ஐபாட், அன்ரொயிட் டபிளட் அணிவகுப்பில் இப்போது மைக்ரோசொப்ட் நிறுவனத்தின் சேர்பஸ் (Surface) எனப்படும் டபிளட் கணனியும் இணைந்துள்ளது.
விண்டோஸ் 8 இயங்கு தளத்தில் இயங்கும் இந்த டாப்ளெட் Intel மற்றும் ARM சிப்புகளினால் உயிரூட்டப் பட்டுள்ளது. வாடிக்கையாளர்கள் இன்டலையோ அல்லது ஏ.ஆர்.ம் சிப்பையோ தெரிவு செய்து கொள்ளலாம்.

Microsoft Surface Tablet

இந்த டாப்லட்டின் ஒரு சிறப்பம்சம் என்னவெனில் மென்பொருள் வன்பொருள் இரண்டையும் மைக்ரோசாப்ட் நிறுவனமே தயாரித்திருக்கின்றமை. இதற்கான காரணமாக தாம் மென்பொருளில் அறிமுகப்படுத்தும் வினைத்திறன் மிக்க செயற்பாடுகளுக்கு ஏற்ற வன்பொருளை மற்றைய நிறுவனங்கள் செய்ய பின்னடிக்கும் காரணத்தினாலேயே தாமே வன்பொருளையும் வடிவமைத்ததாக மைக்ரோசாப்டின் நிறைவெற்று அதிகாரி ஸ்டீவ் பால்மர் தெரிவித்தார்.

மைக்ரோசாப்ட் அறிவித்தன் படி ARM Chip இல் இயங்கும் டாப்லட் 10.6 அங்குலம் நீளமுள்ளதுடன் 32GB, 64GB ஆகிய நினைவுத்திறனுடனும் சந்தையில் கிடைக்கவுள்ளது. இதில் வின்டோஸ் ஆர்.டி எனும் இயங்குதளம் உள்ளிடப்படவுள்ளது.

விண்டோஸ் 8 இயங்கு தளத்தில் இயங்க இருக்கும் டாப்லட் 64, 128GB ஆகிய நினைவுத் திறனுடன் வெளியிடப்படவுள்ளது. அத்துடன் USB 3.0 விற்கான ஆதரவும் வழங்கப்படவுள்ளது.

பொதுவாக அக்டோபர் மாதத்திற்குப் பின்னர் இந்த டாப்லட்கள் சந்தையில் கிடைக்கலாம் என்று எதிர்பார்க்கப்படுகின்றது.