Website development for Myint Moh Thakhin Com., Ltd.
I've recently developed a website for Myint Moh Thakhin Com., Ltd. The website name is www.myintmohthakhin.com .
Myint Moh Thakhin is one of the best emploment agencies in Myanmar. They help you to find your dream jobs in Japan, Malaysia and Singapore.
Eset Antivirus
Eset is one of the best Antivirus software. I prefer to use it. We can use it as free trail for 30 days. If you want to try it, please click here.
Website for JM Unity Company Limited
I've recently developed a website for JM Unity Com., Ltd. As a business website, there are some functions in that website such as admin registration, admin login, create post, create class, student registration, student list, etc. I've also made a video for JM Unity to show how the website works. You can see it in Youtube.
Web service extension with Amog Tech Company Limited
Amog Tech Com., Ltd. makes next one year extension of web service with TNW(Web Service & ICT Solutions) for their company emails and website. It has already been seven years I've been providing Web service to Amog Tech.
I wanna say "Thank you so much" to Amog Tech Com., Ltd.
Free VPN software for computer
1. PaladinVPN
PaladinVPN is one of the best VPN software you can use free of charge. You can use it as freeware for lifetime. Please click here if you wanna download it.
2. Psiphon
Psiphon is also one of the best VPN software you can use free of charge. You can use it as freeware for lifetime. Please click here if you wanna download it.
3. Hotspot Shield
Hotspot Shield is also one of the best VPN software you can use free of charge. You can use it as freeware for lifetime. But it has daily bandwidth limit (500MB). Please click here if you wanna download it.
Malwarebytes antivirus
Malwarebytes antivirus is one of the best antivirus software. You can use it as free version for lifetime. And you can also use it as 14 days free trial for premium service. If you wanna download it, please click here.
Web Service Extension for April Zaw Min Compamy Limited
Today, April Zaw Min company makes next one year extension with TNW(Web Service & ICT Solutions) for their company website.
April Zaw Min company is one of reliable foreign agencies in Myanmar.
For more details, please click here.
Web service extension for corechoicegroup company limited
Core Choice Group makes next one year extension of Web service with TNW (Web Service & ICT Solutions) for their company Website and Business Emails.
It has already been five years that TNW has been providing Web service for Core Choice Group.
Thank you so much.
Recently developed website
I have recently developed one more website for one of my customers. The website name is https://www.phisyangon.com/ .
If you are looking for the best private school for your children, PHIS Yangon will be the best choice for you.
JavaScript Array Methods
entries()
Returns a key/value pair Array Iteration Object
every()
Checks if every element in an array pass a test in a testing function.
fill()
Fill the elements in an array with a static value.
filter()
Creates a new array with all elements that pass the test in a testing function.
find()
Returns the value of the first element in an array that pass the test in a testing function.
findIndex()
Returns the index of the first element in an array that pass the test in a testing function.
forEach()
Calls a function once for each array element.
from()
Creates an array from an object
includes()
Determines whether an array includes a certain element.
indexOf()
Search the array for an element and returns its first index.
isArray()
Determines whether the passed value is an array.
join()
Joins all elements of an array into a string.
keys()
Returns a Array Iteration Object, containing the keys of the original array.
lastIndexOf()
Search the array for an element, starting at the end, and returns its last index.
map()
Creates a new array with the results for calling a function for each array element.
pop()
Removes the last element from an array, and returns that element.
push()
Adds one or more elements to the end of an array, and returns the array's new length.
reduce()
Reduce the values of an array to a single value(from left-to-right).
reduceRight()
Reduce the values of an array to a single value(from right-to-left).
reverse()
Reverses the order of the elements in an array.
shift()
Removes the first element from an array, and returns that element.
slice()
Selects a part of an array, and returns the new array.
some()
Checks if any of the elements in an array passes the test in a testing function.
sort()
Sorts the elements of an array.
splice()
Adds/Removes elements to/from an array.
unshift()
Adds new elements to the beginning of an array, and returns the arrays's new length.
How to sell IT materials in tnwict.com
I've developed an application called SHOP for those who wanna sell their IT materials on the online and for those who are looking for IT materials at Online. I've made the video for those who wanna sell their IT Materials in tnwict.com. Please look it at Youtube by clicking the below link.
How to change proxy setting in Windows Computer
We can change some proxy settings in Windows computer about using internet. For example, if you are help desk technician and you don't wanna allow the users to use some websites, you can use this proxy settings in Windows. If you are network engineer or network technician, you can configure it in the routers or accept points or servers.
I've explained how to change proxy setting of windows computer in YouTube. Pls click the following link to see it in YouTube.
How to change proxy setting in Mozilla Firefox
Sometimes we may face the problem that internet connection is ok in our computers and we can use internet by other browsers. But we can't use it in Mozilla. At that time, we should check the proxy settings in Mozilla. I've made a video to explain how to change proxy settings. You can see it in YouTube.
How to check Hard Disk
Sometimes our computers may be working slowly because of hard disk errors. At that time, we should check our hard disks are in good conditions or not. We can check our hard disks by the following ways.
1. We can use chkdsk in the command prompt. To use command prompt, please press windows key and s key together at the same time.
The system will check hard disk at the next time restart.
2. We can use hard disk sentinel to check the performance and health or a hard disk.
The performance and health of the first hard disk is in 100%. So, we can use it safely.
I will insert the next hard disk into the computer. Although performance is in good condition, the health is not in good condition. So, we should not continue to use second hard disk anymore.
I've made a video about it. You can see it in YouTube.
Business Email Service Extension for Knowledge Villa
Today Knowledge Villa Com., Ltd. makes next one year extension of Business Email Service with TNW(Web Service & ICT Solutions) for their company emails. I would like to say "Thank you so much" to Knowledge Villa Com., Ltd.
May Their Business Be Successful More Than Now
Web Service Extension for Amog Tech Com., Ltd.
Today Amog Tech Com., Ltd. makes next one year extension of Web Service with TNW(Web Service & ICT Solutions) for their company website and emails. It has already been five years I have been providing Web Service to Amog Tech Com., Ltd. I would like to say "Thank you so much" to Amog Tech Com., Ltd.
May Their Business Be Successful More Than Now.
AMOG Tech Co., Ltd. was organized and managed by a qualified group who
have working experiences for Engineering, Procurement and Construction
Projects in the Southeast Asia region. We are an MEP Contractor and also
supply Electrical, Instrumentation & Automation Products for a
commercial & industrial building in Myanmar.To read more about Amog Tech Com., Ltd.
Input Datetime Local (HTML Objects)
<!DOCTYPE html>
<html>
<head>
<title>Js Code Testing</title>
</head>
<body>
<button onclick = "jsFun()">Try It</button>
<script>
function jsFun(){
var x = document.createElement("INPUT");
x.setAttribute("type", "datetime-local");
document.body.appendChild(x);
}
</script>
</body>
</html>
Input Date (HTML Objects)
<!DOCTYPE html>
<html>
<head>
<title>Js Code Test</title>
</head>
<button onclick = "jsFun()">Try It</button>
<body>
<script>
function jsFun(){
var x = document.createElement("INPUT");
x.setAttribute("type", "date");
document.body.appendChild(x);
}
</script>
</body>
</html>
JS Event Listener 2
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<button type = "button" id = "event">Try It</button>
<p id = "demo"></p>
<script>
var x = document.getElementById("event");
x.addEventListener("mouseover", jsFun1);
x.addEventListener("mousedown", jsFun2);
x.addEventListener("mouseout", jsFun3);
function jsFun1(){
document.getElementById("demo").innerHTML += "Mouse Over<br />";
}
function jsFun2(){
document.getElementById("demo").innerHTML += "Mouse Down<br />";
}
function jsFun3(){
document.getElementById("demo").innerHTML += "Mouse Out<br />";
}
</script>
</body>
</html>
JS Event Listener 1
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo">The Date is:</p>
<button type = "button" id = "test">Show Date</button>
<button type = "button" id = "test1">Hide</button>
<script>
document.getElementById("test").addEventListener('click', jsFun);
document.getElementById("test1").addEventListener('click', jsHide);
function jsFun(){
document.getElementById("demo").innerHTML = Date();
}
function jsHide(){
document.getElementById("demo").innerHTML = "";
}
</script>
</body>
</html>
timer (HTML DOM Window)
<!DOCTYPE html>
<html>
<head>
<title>Js Code Testing</title>
</head>
<body>
<button onclick = "startCount()">Start Count</button>
<input type = "text" id = "txt">
<button onclick = "stopCount()">Stop Count</button>
</body>
<script>
var c = 0;
var t;
var myTimer = 0;
function jsFun(){
document.getElementById("txt").value = c;
c++;
t = setTimeout(jsFun, 1000);
}
function startCount(){
if(!myTimer){
myTimer = 1;
jsFun();
}
}
function stopCount(){
myTimer = 0;
clearTimeout(t);
}
</script>
</html>
progressBar (HTML DOM Window)
<!DOCTYPE html>
<html>
<head>
<title>Js Code Testing</title>
<style>
#progressBar{
width: 100%;
height: 30px;
position: relative;
background-color: grey;
}
#myBar{
width: 20px;
height: 30px;
position: absolute;
background-color: green;
}
</style>
</head>
<body>
<div id = "progressBar">
<div id = "myBar"></div>
</div><p></p>
<button onclick = "myMove()">Try Now</button>
<script>
function myMove(){
var ele = document.getElementById("myBar");
var width = 0;
var myTime = setInterval(jsFun, 100);
function jsFun(){
if(width == 100){
clearInterval(myTime);
}else{
width ++;
ele.style.width = width + '%';
}
}
}
</script>
</body>
</html>
moveTo (HTML DOM Window)
<!DOCTYPE html>
<html>
<head>
<title>Js Code Testing</title>
</head>
<body>
<button onclick = "openWin()">Open Window</button>
<button onclick = "moveWin()">Move Window</button>
<script>
function openWin(){
myWindow = window.open('', 'myWindow', 'width=300px, height=200px');
myWindow.document.write('hello');
myWindow.document.designMode = "On";
}
function moveWin(){
myWindow.moveTo(500, 300);
myWindow.focus();
}
</script>
</body>
</html>
close (HTML DOM Window)
<!DOCTYPE html>
<html>
<head>
<title>Js Code Testing</title>
</head>
<body>
<div id = "msg"></div>
<button onclick = "openWin()">Open Window</button>
<button onclick = "closeWin()">Close Window</button>
<button onclick = "chkStatus()">Check Status</button>
<script>
var myWin;
function openWin(){
myWin = window.open("", "myWin", "width=300px, height=200px");
}
function closeWin(){
if(myWin){
myWin.close();
}
}
function chkStatus(){
if(!myWin){
document.getElementById("msg").innerHTML = "Window has never been opened.";
}else{
if(myWin.closed){
document.getElementById("msg").innerHTML = "Window has been closed.";
}else{
document.getElementById("msg").innerHTML = "Window stills opend.";
}
}
}
</script>
</body>
</html>
onchange 1 (HTML DOM Events)
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
</head>
<body>
<input type = "text" id = "fname" onchange = "jsFun()">
<script>
function jsFun(){
var x = document.getElementById("fname");
x.value = x.value.toUpperCase();
}
</script>
</body>
</html>
onchange (HTML DOM Events)
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
</head>
<body>
<select id = "myId" onchange = "jsFun()">
<option value = "#">Choose Options</option>
<option value = "Thet">Thet</option>
<option value = "Naing">Naing</option>
<option value = "Win">Win</option>
</select>
<p id = "demo"></p>
<script>
function jsFun(){
var x = document.getElementById("myId").value;
document.getElementById("demo").innerHTML = x;
}
</script>
</body>
</html>
appendChild() (HTML DOM Elements)
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
</head>
<body>
<button onclick = "jsFun()"> + </button>
<script>
function jsFun(){
var para = document.createElement("P");
var txtNode = document.createTextNode("Paragraph");
para.appendChild(txtNode);
document.body.appendChild(para);
}
</script>
</body>
</html>
appendChild() (HTML DOM Elements)
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
<style>
#myDiv{
width: 200px;
border: 2px solid red;
padding: 5px;
text-align: center;
}
</style>
</head>
<body>
<button onclick = "jsFun()"> + </button>
<p></p>
<div id = "myDiv">My Example</div>
<script>
function jsFun(){
var para = document.createElement("P");
var txtNode = document.createTextNode("Example");
para.appendChild(txtNode);
document.getElementById("myDiv").appendChild(para);
}
</script>
</body>
</html>
appendChild() (HTML DOM Elements)
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
</head>
<body>
<ul id = "myText">
<li>Thet</li>
<li>Naing</li>
</ul>
<button onclick = "jsFun()">Try It</button>
<script>
function jsFun(){
var node = document.createElement("LI");
var txtNode = document.createTextNode("Win");
node.appendChild(txtNode);
document.getElementById("myText").appendChild(node);
}
</script>
</body>
</html>
addEventListener() (HTML DOM Elements)
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
</head>
<body>
<button id = "myId">Try It</button>
<p id = "demo"></p>
<script>
var x = document.getElementById("myId");
x.addEventListener("mouseover", msOver);
x.addEventListener("click", msClick);
x.addEventListener("mouseout", msOut);
function msOver(){
document.getElementById("demo").innerHTML += "Mouse Over <br />";
}
function msClick(){
document.getElementById("demo").innerHTML += "Mouse Click <br />";
}
function msOut(){
document.getElementById("demo").innerHTML += "Mouse Out <br />";
}
</script>
</body>
</html>
addEventListener() (HTML DOM Elements)
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
</head>
<body>
<button id = "myId">Try It</button>
<p id = "demo"></p>
<script>
var p1 = 9;
var p2 = 9;
document.getElementById("myId").addEventListener("click", function(){myFun(p1, p2)});
function myFun(num1, num2){
var x = num1 * num2;
document.getElementById("demo").innerHTML = x;
}
</script>
</body>
</html>
addEventListener() (HTML DOM Elements)
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
</head>
<body>
<button id = "myId">Try It</button>
<script>
var x = document.getElementById("myId");
x.addEventListener("click", myFun1);
x.addEventListener("click", myFun2);
function myFun1(){
alert("Function1");
}
function myFun2(){
alert("Function2");
}
</script>
</body>
</html>
querySelectorAll() (HTML DOM Document)
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
</head>
<body>
<h1 class = "example">Heading</h1>
<p class = "example">Paragraph</p>
<button onclick = "jsFun()">Try It</button>
<script>
function jsFun(){
var i;
var x = document.querySelectorAll(".example");
for(i = 0; i < x.length; i++){
x[i].style.color = "red";
}
}
</script>
</body>
</html>
getElementsByTagName (HTML DOM Document)
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
<style>
</style>
</head>
<body>
<ol>
<li>Example_1</li>
<li>Example_2</li>
<li>Example_3</li>
</ol>
<button onclick = "jsFun()">Red</button>
<script>
function jsFun(){
var i;
var x = document.getElementsByTagName("LI");
for(i = 0; i < x.length; i++){
x[i].style.color = "red";
}
}
</script>
</body>
</html>
getElementsByClassName (HTML DOM Document)
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
<style>
.Example{
border: 2px solid yellow;
padding: 5px;
width: 100px;
}
</style>
</head>
<body>
<div class = "Example">
Example_1
</div>
<div class = "Example">
Example_2
</div>
<div class = "Example">
Example_3
</div><br />
<button style = "background: red" onclick = "colRed()">Red</button>
<button style = "background: green" onclick = "colYellow()">Green</button>
<script>
function colRed(){
var i;
var x = document.getElementsByClassName("Example");
for(i = 0; i < x.length; i++){
x[i].style.backgroundColor = "red";
x[i].style.color = "white";
}
}
function colYellow(){
var i;
var x = document.getElementsByClassName("Example");
for(i = 0; i < x.length; i++){
x[i].style.backgroundColor = "green";
x[i].style.color = "yellow";
}
}
</script>
</body>
</html>
document.links (HTML DOM Document)
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
</head>
<body>
<button onclick = "jsGreen()">Green</button>
<button onclick = "jsRed()">Red</button><br />
<p id = "demo"></p>
<li><a href = "tnwict.com">tnwict.com</a></li>
<li><a href = "tnw87.com">tnw87.com</a></li>
<li><a href = "tnw87.site">tnw87.site</a></li>
<script>
function jsGreen(){
var i;
var x = document.links;
for(i = 0; i < x.length; i ++){
x[i].style.color = "green";
}
}
function jsRed(){
var i;
var x = document.links;
for(i = 0; i < x.length; i++){
x[i].style.color = "red";
}
}
</script>
</body>
</html>
Creating Text Node (HTML DOM Document)
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
<style>
#myDiv{
border: 1px solid red;
margin-bottom: 10px;
}
</style>
</head>
<body>
<div id = "myDiv">
This is just Testing.
</div>
<button onclick = "jsFun()">+</button>
<script>
function jsFun(){
var para = document.createElement("P");
para.innerHTML = "Paragraph";
document.getElementById("myDiv").appendChild(para);
}
</script>
</body>
</html>
Creating a Calculator with JS
<html>
<head>
<title>Math Fun</title>
<script>
function registerEvents(){
document.mathWiz.operate.addEventListener('click', doTheMath, false);
}
function doTheMath(){
var first = parseInt(document.mathWiz.numberOne.value);
var second = parseInt(document.mathWiz.numberTwo.value);
var operator = document.mathWiz.operator.value;
switch (operator){
case "add":
var answer = first + second;
break;
case "substract":
var answer = first - second;
break;
case "multiply":
var answer = first * second;
break;
case "divide":
var answer = first / second;
break;
}
document.mathWiz.theResult.value = answer;
}
</script>
</head>
<body onload = "registerEvents();">
<form name="mathWiz">
<label>First Number: <input type="number" name="numberOne"></label><br />
<label>Second Number: <input type="number" name="numberTwo"></label><br />
<label>Operator:
<select name = "operator">
<option value="add"> + </option>
<option value="substract"> - </option>
<option value="multiply"> * </option>
<option value="divide"> / </option>
</select>
</label><br />
<input type="button" name="operate" value="Do the Math!"><br />
<label>Result: <input type="number" name="theResult">
</form>
</body>
</html>
JS Timer
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
</head>
<body>
<button onclick = "myTimer = setInterval(jsCount, 1000)">Start Count</button>
<button onclick = "clearInterval(myTimer)">Stop Count</button>
<p id = "demo"></p>
<script>
c = 0;
function jsCount(){
document.getElementById("demo").innerHTML = ++c;
}
</script>
</body>
</html>
Creating Readmore Button
<!DOCTYPE html>
<html>
<head>
<titile>Code Testing For Read More Function</titile>
<style>
#more{
display: none;
}
</style>
</head>
<body>
<p>
I am Thet Naing Win. I am 35 years old man. Now I stay in Yangon. I have achieved the BCSc degree and SCN. <span id="dots">.....</span><span id="more">I have passed the matriculation exam in 2003 and I went to Computer University in December 2003.I have finished my studies in Computer University in Sep 2006. I have achieved the BCSc degree in Feb 2007. Since then, i have been supporting the IT services to the customers for their business.</span>
<button id="myBtn" onclick="myFunction()">Read More</button>
</p>
<p>
I am Thet Naing Win. I am 35 years old man. Now I stay in Yangon. I have achieved the BCSc degree and SCN. <span id="dots">.....</span><span id="more">I have passed the matriculation exam in 2003 and I went to Computer University in December 2003.I have finished my studies in Computer University in Sep 2006. I have achieved the BCSc degree in Feb 2007. Since then, i have been supporting the IT services to the customers for their business.</span>
<button id="myBtn" onclick="myFunction()">Read More</button>
</p>
<script>
function myFunction(){
var dots = document.getElementById("dots");
var more = document.getElementById("more");
var btn = document.getElementById("myBtn");
if(dots.style.display === "none"){
dots.style.display = "inline";
more.style.display = "none";
btn.innerHTML = "Read More";
}else{
dots.style.display = "none";
more.style.display = "inline";
btn.innerHTML = "Read less";
}
}
</script>
</body>
</html>
Creating Nav Bar
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
<style>
body{
margin: 0px;
font-size: 14px;
}
.header{
background-color: grey;
text-align: center;
padding: 12px;
}
#navbar{
overflow: hidden;
background-color: black;
}
#navbar a{
display: block;
float: left;
padding: 16px 32px;
text-decoration: none;
color: white;
}
#navbar a:hover{
background-color: gray;
}
#navbar a:focus{
background-color: green;
}
.content{
padding: 16px;
line-height: 25px;
}
.sticky{
position: fixed;
top: 0px;
width: 100%;
}
.sticky + .content{
padding-top: 60px;
}
</style>
</head>
<body onscroll = "jsFun()">
<div class = "header">
<h1>Sticy Test</h1>
<h2>These are codes for Sticky Position</h2>
</div>
<div id = "navbar">
<a href = "#">Home</a>
<a href = "#">Computer</a>
<a href = "#">Network</a>
</div>
<div class = "content">
<h2>My Paragraph</h2>
<p>I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win.</p>
<p>I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win.</p>
<p>I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win.</p>
<p>I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win.</p>
<p>I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win.</p>
<p>I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win.</p>
<p>I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win.</p>
<p> I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win.</p>
<p> I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win.</p>
<p>I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. </p>
<p>I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. </p>
<p>I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. </p>
<p>I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. </p>
<p>I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. </p>
<p>I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. </p>
<p>I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win. I am Thet Naing Win.
</div>
<script>
var navbar = document.getElementById("navbar");
var sticky = navbar.offsetTop;
function jsFun(){
if(window.pageYOffset >= sticky){
navbar.classList.add("sticky");
}else{
navbar.classList.remove("sticky");
}
}
</script>
</body>
</html>
Dropdown Menu
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
<style>
.dropdown{
display: inline-block;
position: relative;
}
.dropbtn{
background-color: red;
font-size: 14px;
color: white;
padding: 12px 32px;
cursor: pointer;
border: 2px solid green;
}
.dropbtn:hover, .dropbtn:focus{
background-color: orange;
}
.dropcontent{
display: none;
overflow: auto;
position: absolute;
box-shadow: 0px 2px 1px 3px;
}
.dropcontent a{
display: block;
color: white;
padding: 15px 32px;
text-decoration: none;
background-color: red;
}
.dropcontent a:hover{
background-color: orange;
}
.show{
display: block;
}
</style>
</head>
<body>
<div class = "dropdown">
<button id = "myBtn" class = "dropbtn">Example</button>
<div id = "myDrop" class = "dropcontent">
<a href = "">Example_1</a>
<a href = "">Example 2</a>
<a href = "">Example 3</a>
</div>
</div>
<script>
document.getElementById("myBtn").onclick = function(){jsFun()};
function jsFun(){
document.getElementById("myDrop").classList.toggle("show");
}
</script>
</body>
</html>
Display a Clock
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
<script>
function startTime(){
var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();
m = checkTime(m);
s = checkTime(s);
document.getElementById("demo").innerHTML = h + ":" + m + ":" + s;
setTimeout(startTime, 500);
}
function checkTime(i){
if(i < 10){i = "0" + 1};
return i;
}
</script>
</head>
<body onload = "startTime()">
<div id = "demo"></div>
</body>
</html>
Converting Celsius to Fahrenheit
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
</head>
<body>
<p><input id = "c" onkeyup = "temperature('C')"> degree Celsius.</p>
<p><input id = "f" onkeyup = "temperature('F')"> degree Fahrenheit.</p>
<script>
function temperature(degree){
var x;
if(degree == "C"){
x = document.getElementById("c").value * 9 / 5 + 32;
document.getElementById("f").value = Math.round(x);
}else{
x = (document.getElementById("f").value - 32) * 5 / 9;
document.getElementById("c").value = Math.round(x);
}
}
</script>
</body>
</html>
Change Background Color of Html Elements
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
</head>
<body>
<table style = "width:300px; height:100px">
<tr>
<td onmouseover = "bgChange(this.style.backgroundColor)";
onmouseout = "bgChange('transparent')";
style = "background-color:red"></td>
<td onmouseover = "bgChange(this.style.backgroundColor)";
onmouseout = "bgChange('transparent')";
style = "background-color:green"></td>
<td onmouseover = "bgChange(this.style.backgroundColor)";
onmouseout = "bgChange('transparent')";
style = "background-color:yellow"></td>
</tr>
</table>
<script>
function bgChange(bg){
document.body.style.background = bg;
}
</script>
</body>
</html>
JS Animation
<!DOCTYPE html>
<html>
<head>
<title>JS Code Testing</title>
<style>
#mySlide{
position: relative;
}
li{
position: relative;
list-style: none;
display: block;
float: left;
padding: 0px 10%;
width: auto;
}
@keyframes mymove{
from { left: 0px; }
to { left: 100%; }
}
@-webkit-keyframes{
from { left: 0px; }
to { left: 100%; }
}
</style>
</head>
<body onload = "jsFun()">
<div id = "mySlide">
<li>Example 1</li>
<li>Example 2</li>
<li>Example 3</li>
</div>
<script>
var x = document.getElementsByTagName("LI");
function jsFun(){
for(i = 0; i < x.length; i++){
x[i].style.animation = "20s 5 mymove";
}
}
</script>
</body>
</html>
Switch (JS Statement)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Statement</title>
</head>
<body>
<p id = "demo">What is Today?</p>
<button type = "button" onclick = "jsFunction()">Click Now</button>
<script>
function jsFunction(){
switch(new Date().getDay()){
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
case 2:
day = "Tuesday";
break;
case 3:
day = "Wednesday";
break;
case 4:
day = "Thursday";
break;
case 5:
day = "Friday";
break;
case 6:
day = "Saturday";
}
document.getElementById("demo").innerHTML ="Today is " + day + ".";
}
</script>
</body>
</html>
If (JS Statement)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Statement</title>
</head>
<body>
<h1>JavaScript Code Testing</h1>
<p id = "demo1"></p>
<p id = "demo2"></p>
<p id = "demo3"></p>
<button type = "button" onclick = "jsFunction()">Try Now</button>
<script>
function jsFunction(){
var you = "I like to swim.";
var me = "I like to swim.";
var youme = "Our hobby is not same.";
if (you == me){
document.getElementById("demo1").innerHTML = you;
document.getElementById("demo2").innerHTML = me;
}else{
document.getElementById("demo3").innerHTML = youme;
}
}
</script>
</body>
</html>
Continue (JS Statement)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo"></p>
<script>
var txt = "", i;
for(i = 0; i < 10; i++){
if (i===5){continue;}
txt += i + "<br />";
}
document.getElementById("demo").innerHTML = txt;
</script>
</body>
</html>
Break (JS Statement)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo"></p>
<script>
var txt = "", i;
for(i = 0; i < 10; i++){
if (i===5){break;}
txt += i + "<br />";
}
document.getElementById("demo").innerHTML = txt;
</script>
</body>
</html>
Random Integer (JS Random)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo">Please click Random for random numbers.</p>
<button type = "button" onclick = "jsRand()">Random</button>
<script>
function jsRand(){
var rand = Math.floor(Math.random() * 4000);
document.getElementById("demo").innerHTML = rand;
}
</script>
</body>
</html>
Proper Random Function (JS Random)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo">Click Random for random numbers.</p>
<button type = "button" onclick = "myRand()">Random</button>
<script>
function myRand(){
var rand = jsRand(100000, 900000);
document.getElementById("demo").innerHTML = rand;
}
function jsRand(min, max){
return Math.floor(Math.random() * (max - min + 1)) + min;
}
</script>
</body>
</html>
Math.sqrt() (JS Math)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo">This is JavaScript Math.sqrt Testing</p>
<button type = "button" onclick = "jsSqrt()">Math Sqrt</button>
<script>
var a = 81;
document.getElementById("demo").innerHTML = a;
function jsSqrt(){
var b = Math.sqrt(a);
document.getElementById("demo").innerHTML = b;
}
</script>
</body>
</html>
Math.round() (JS Math)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo">This is JavaScript Math.round Testing</p>
<button type = "button" onclick = "jsRound()">Math Round</button>
<script>
var a = 4.576;
var b = 4.345;
document.getElementById("demo").innerHTML = a + " and " + b;
function jsRound(){
document.getElementById("demo").innerHTML = Math.round(a) + " and " + Math.round(b);
}
</script>
</body>
</html>
Math.random() (JS Math)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo">This is JavaScript Math.random Testing</p>
<button type = "button" onclick = "jsRandom()">Math Random</button>
<script>
function jsRandom(){
var a = Math.random();
document.getElementById("demo").innerHTML = a;
}
</script>
</body>
</html>
Math.pow() (JS Math)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo">This is JavaScript Math.pow Testing</p>
<button type = "button" onclick = "jsPower()">Math Power</button>
<script>
var a = 9;
var b = 5;
document.getElementById("demo").innerHTML = a + " and " + b;
function jsPower(){
var c = Math.pow(a, b);
document.getElementById("demo").innerHTML = c;
}
</script>
</body>
</html>
Math.PI (JS Math)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo1">This is JavaScript Math.PI Testing</p>
<button type = "button" onclick = "jsPI()">Math PI</button>
<script>
function jsPI(){
var pi = Math.PI;
document.getElementById("demo1").innerHTML = pi;
}
</script>
</body>
</html>
JS While Loop
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo"></p>
<script>
var names = ["Maung Maung", "Aung Aung", "Mya Mya", "Hla Hla"];
var txt, i = 0;
txt = "<ol>";
while(i < names.length){
txt += "<li>" + names[i] + "</li>";
i++;
}
txt += "</ol>";
document.getElementById("demo").innerHTML = txt;
</script>
</body>
</html>
forof (JS For Loop)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo"></p>
<script>
var names = ["Maung Maung", "Aung Aung", "Mya Mya", "Hla Hla"];
var txt;
for(txt of names){
document.write("<li>" + txt + "</li>");
}
</script>
</body>
</html>
for (JS For Loop)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo"></p>
<script>
var names = ["Maung Maung", "Aung Aung", "Mya Mya", "Hla Hla"];
var i, txt;
txt = "<ol>";
for(i=0; i<names.length; i++){
txt += "<li>" + names[i] + "</li>";
}
txt += "</ol>";
document.getElementById("demo").innerHTML = txt;
</script>
</body>
</html>
forin (JS For Loop)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo"></p>
<script>
var names = ["Maung Maung", "Aung Aung", "Mya Mya", "Hla Hla"];
var i, txt;
txt = "<ol>";
for(i in names){
txt += "<li>" + names[i] + "</li>";
}
txt += "</ol>";
document.getElementById("demo").innerHTML = txt;
</script>
</body>
</html>
JS Form Validation
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<script>
function formValidate(){
var x = document.forms["myForm"]["fname"].value;
if(x == ""){
alert("Must fill out in the form");
return false;
}
}
</script>
</body>
<form action = "formvalidate1.html" method = "POST" onsubmit = "return formValidate()" name = "myForm">
<input type = "text" name = "fname">
<input type = "submit" value = "Submit">
</form>
</html>
Throw Statement (JS Errors)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<input id = "demo" type = "text">
<button type = "button" onclick = "jsFun()">Check Input</button>
<p id = "page"></p>
<script>
function jsFun(){
var sms, x;
sms = document.getElementById("page");
sms.innerHTML = "";
x = document.getElementById("demo").value;
try{
if(x == "") throw "empty.";
if(isNaN(x)) throw "not a number.";
x = Number(x);
if(x < 5) throw "too small.";
if(x > 10) throw "too big.";
if(x > 4 && x < 11) throw "OK.";
}
catch (err){
sms.innerHTML = "The input is " + err;
}
}
</script>
</body>
</html>
Finally Statement (JS Errors)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Cdoe Testing</title>
</head>
<body>
<input id = "demo" type = "text">
<button type = "button" onclick = "jsFun()">Check Input</button>
<p id = "page"></p>
<script>
function jsFun(){
var sms, x;
sms = document.getElementById("page");
sms.innerHTML;
x = document.getElementById("demo").value;
try {
if (x == "") throw "empty.";
if (isNaN(x)) throw "not a number.";
x = Number(x);
if(x < 5) throw "too small.";
if(x > 10) throw "too big.";
if(x > 4 && x < 11) throw "OK.";
}
catch (err){
sms.innerHTML = "The Input is " + err;
}
finally{
document.getElementById("demo").value;
}
}
</script>
</body>
</html>
JS Arrow Function
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<button id = "btn1">Try Now</button>
<p id = "demo1"></p>
<button id = "btn2">Try Now</button>
<p id = "demo2"></p>
<script>
var test1 = function(){
document.getElementById("demo1").innerHTML += this;
}
//window object calls the function
window.addEventListener("load", test1);
//button object calls the function
document.getElementById("btn1").addEventListener("click", test1);
var test2 = () =>{
document.getElementById("demo2").innerHTML += this;
}
//window object calls the function
window.addEventListener("load", test2);
//button object calls the function
document.getElementById("btn2").addEventListener("click", test2);
</script>
</body>
</html>
Inheritance (JS Classes)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo">Inheritance Test</p>
<script>
class Car{
constructor(brand){
this.carname = brand;
}
present(){
return "I have " + this.carname;
}
}
class Model extends Car{
constructor(brand, mod){
super(brand);
this.model = mod;
}
show(){
return this.present() + " and the model is " + this.model + ".";
}
}
var myCar = new Model("Tesla", "2021");
document.getElementById("demo").innerHTML = myCar.show();
</script>
</body>
</html>
Getter and Setter (JS Classes)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo"></p>
<script>
class Car{
constructor(brand){
this.carname = brand;
}
get cnam(){
return this.carname;
}
set cnam(x){
this.carname = x;
}
}
const myCar = new Car["Tesla"];
document.getElementById("demo").innerHTML = myCar;
</script>
</body>
</html>
Creating Object (JS Classes)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id ="demo"></p>
<script>
class Name{
constructor(Name, City){
this.name = Name;
this.city = City;
}
}
var newName = new Name("Thet", "Yangon");
document.getElementById("demo").innerHTML = newName.name + " stays in " + newName.city + ".";
</script>
</body>
</html>
Class Methods (JS Classes)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo">What is your name and age?</p>
<button type = "button" onclick = "jsFun()">Check Name and Age</button>
<script>
function jsFun(){
class Name{
constructor(Name, Year){
this.name = Name;
this.year = Year;
}
age(){
const date = new Date();
return date.getFullYear() - this.year;
}
}
const myName = new Name("Thet", 1987);
document.getElementById("demo").innerHTML = "My name is " + myName.name + " and my age is " + myName.age() + " years old now.";
}
</script>
</body>
</html>
Reduce() (JS Array Iteration)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo"></p>
<button type = "button" onclick = "jsReduce()">Total</button>
<button type = "button" onclick = "jsReset()">Reset</button>
<script>
var numbers = [302, 428, 49, 92, 84, 70, 80, 10, 3, 200];
var num = numbers.sort(function(a, b){return a - b;}).join("<br/>");
document.getElementById("demo").innerHTML = num;
function jsReset(){
document.getElementById("demo").innerHTML = num;
}
function jsReduce(){
var number2 = numbers.reduce(funReduce);
document.getElementById("demo").innerHTML = number2;
}
function funReduce(total, value){
return total + value;
}
</script>
</body>
</html>
Map() (JS Array Iteration)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo"></p>
<button type = "button" onclick = "jsDouble()">Double</button>
<button type = "button" onclick = "jsReset()">Reset</button>
<button type = "button" onclick = "jsTriple()">Triple</button>
<script>
var numbers = [302, 428, 49, 92, 84, 70, 80, 10, 3, 200];
var num = numbers.sort(function(a, b){return a - b;}).join("<br/>");
document.getElementById("demo").innerHTML = num;
function jsReset(){
document.getElementById("demo").innerHTML = num;
}
function jsDouble(){
number2 = numbers.map(mapDouble).join("<br/>");
document.getElementById("demo").innerHTML = number2;
}
function jsTriple(vlaue){
number3 = numbers.map(mapTriple).join("<br/>");
document.getElementById("demo").innerHTML = number3;
}
function mapDouble(value){
return value*2;
}
function mapTriple(value){
return value*3;
}
</script>
</body>
</html>
Foreach() (JS Array Iteration)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo"></p>
<script>
var txt = "";
var numbers = [302, 428, 49, 92, 84, 70, 80, 10, 3, 200];
var num = numbers.sort(function (a, b){return a - b;});
txt = "<ol>";
num.forEach(jsFunction);
document.getElementById("demo").innerHTML = txt;
function jsFunction(value){
txt += "<li>" + value + "</li><br/><hr/><br/>";
}
txt += "</ol>";
</script>
</body>
</html>
Find() (JS Array Iteration)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo">Find the first number greater than 20</p>
<button type = "button" onclick = "jsFind()">Find > 20</button>
<button type = "button" onclick = "jsReset()">Reset</button>
<script>
var numbers = [302, 428, 49, 92, 84, 70, 80, 10, 3, 200];
var num = numbers.sort(function(a, b){return a - b;}).join("<br/>");
document.getElementById("demo").innerHTML = num;
function jsReset(){
document.getElementById("demo").innerHTML = num;
}
function jsFind(){
var number2 = numbers.find(funFind);
document.getElementById("demo").innerHTML = number2;
}
function funFind(value){
return value > 20;
}
</script>
</body>
</html>
Filter() (JS Array Iteration)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo"></p>
<button type = "button" onclick = "jsFilter()">Less Than 100</button>
<button type = "button" onclick = "jsReset()">Reset</button>
<script>
var numbers = [302, 428, 49, 92, 84, 70, 80, 10, 3, 200];
var num = numbers.sort(function(a, b){return a - b;}).join("<br/>");
document.getElementById("demo").innerHTML = num;
function jsReset(){
document.getElementById("demo").innerHTML = num;
}
function jsFilter(){
number2 = numbers.filter(funFilter).sort(function(a, b){return a - b;}).join("<br/>");
document.getElementById("demo").innerHTML = number2;
}
function funFilter(value){
return value < 100;
}
</script>
</body>
</html>
Website development for April Zaw Min Com., Ltd.
Yesterday I've successfully developed a website for April Zaw Min Com., Ltd. I want to say "Thank you so much" to April Zaw Min Com., Ltd. May their business be successful more than now!
April Zaw Min Com., Ltd is a reliable foreign agency. If you want to know more details, please visit their website (aprilzawmin.com).
Sort() and reverse() numerically (JS Array Sort)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo">Sort Numberically</p>
<button type = "button" onclick = "jsSort()">Sort</button>
<button type = "button" onclick = "jsReverse()">Reverse</button>
<script>
var numbers = [400, 40, 20, 200, 93, 49];
document.getElementById("demo").innerHTML = numbers.join("<br />");
function jsSort(){
var sort = numbers.sort(function(a,b){return a - b;}).join("<br />");
document.getElementById("demo").innerHTML = sort;
}
function jsReverse(){
var reverse = numbers.sort(function(a,b){return b - a;}).join("<br />");
document.getElementById("demo").innerHTML = reverse;
}
</script>
</body>
</html>
Sort() and reverse() alphabetically (JS Array Sort)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo"></p>
<button type = "button" onclick = "jsSort()">Sort</button>
<button type = "button" onclick = "jsReverse()">Reverse</button>
<script>
var cities = ["Yangon", "Mandalay", "Naypyidaw", "Meikhtila", "Bagan"];
document.getElementById("demo").innerHTML = cities.join(" * ");
function jsSort(){
var sort = cities.sort().join(" * ");
document.getElementById("demo").innerHTML = sort;
}
function jsReverse(){
var reverse = cities.reverse().join(" * ");
document.getElementById("demo").innerHTML = reverse;
}
</script>
</body>
</html>
Sort number randomly (JS Array Sort)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo"></p>
<button type = "button" onclick = "jsRandom()">Sort Now</button>
<script>
var numbers = [300, 40, 83, 49, 92, 200, 79];
document.getElementById("demo").innerHTML = numbers.join("<br />");
function jsRandom(){
var random = numbers.sort(function(a, b){return 0.5 - Math.random();});
document.getElementById("demo").innerHTML = random.join("<br />");
}
</script>
</body>
</html>
Math.max and Math.min (JS Array Sort)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo"></p>
<button type = "button" onclick = "findMax()">Find Max</button>
<button type = "button" onclick = "jsReset()">Reset</button>
<button type = "button" onclick = "findMin()">Find Min</button>
<script>
var numbers = [200, 30, 400, 50, 1000, 70, 20, 100];
document.getElementById("demo").innerHTML = numbers.join("<br/>");
function jsMax(arr){
return Math.max.apply(null, arr);
}
function jsMin(arr){
return Math.min.apply(null, arr);
}
function findMax(){
document.getElementById("demo").innerHTML = jsMax(numbers);
}
function findMin(){
document.getElementById("demo").innerHTML = jsMin(numbers);
}
function jsReset(){
document.getElementById("demo").innerHTML = numbers.join("<br />");
}
</script>
</body>
</html>
Find maximum or minimum number (JS Array Sort)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo"></p>
<button type = "button" onclick = "findMax()">Find Max</button>
<button type = "button" onclick = "numReset()">Reset</button>
<button type = "button" onclick = "findMin()">Find Min</button>
<script>
var numbers = [200, 30, 400, 50, 1000, 70, 20, 100];
document.getElementById("demo").innerHTML = numbers.join("<br />");
function jsMax(arr){
var len = arr.length;
var max = -Infinity;
while(len--){
if(arr[len] > max){
max = arr[len];
}
}
return max;
}
function jsMin(arr){
var len = arr.length;
var min = Infinity;
while(len--){
if(arr[len] < min){
min = arr[len];
}
}
return min;
}
function findMax(){
document.getElementById("demo").innerHTML = jsMax(numbers);
}
function findMin(){
document.getElementById("demo").innerHTML = jsMin(numbers);
}
function numReset(){
document.getElementById("demo").innerHTML = numbers.join("<br/>");
}
</script>
</body>
</html>
Array Function
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<button id = "btn1">Try Now</button>
<p id = "demo1"></p>
<button id = "btn2">Try Now</button>
<p id = "demo2"></p>
<script>
var test1 = function(){
document.getElementById("demo1").innerHTML += this;
}
//window object calls the function
window.addEventListener("load", test1);
//button object calls the function
document.getElementById("btn1").addEventListener("click", test1);
var test2 = () =>{
document.getElementById("demo2").innerHTML += this;
}
//window object calls the function
window.addEventListener("load", test2);
//button object calls the function
document.getElementById("btn2").addEventListener("click", test2);
</script>
</body>
</html>
Objects (JS Arrays)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo"></p>
<script>
var myName = {firstName : "Thet", middleName : "Naing", lastName : "Win"};
document.getElementById("demo").innerHTML = myName.firstName;
</script>
</body>
</html>
Looping Array Element (JS Arrays)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo"></p>
<script>
var cities, clen, text, i;
cities = ["Yangon", "Mandalay", "Naypyidaw", "Meikhtila"];
clen = cities.length;
text = "<ul>";
for(i=0; i<clen; i++){
text += "<li>" + cities[i] + "</li>";
}
text += "</ul>";
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
Foreach Loop (JS Arrays)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo">forEach Loop</p>
<script>
var cities, text;
cities = ["Yangon", "Mandalay", "Naypyidaw", "Meikhtila"];
text = "<ul>";
cities.forEach(jsFunction);
text+= "</ul>";
function jsFunction(value){
text += "<li>" + value + "</li>";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
Creating the Array (JS Arrays)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo1"></p>
<p id = "demo2"></p>
<script>
//good habit in crating array
var a = ["aaa", "bbb", "ccc", "ddd"];
document.getElementById("demo1").innerHTML = a;
//bad habit in creating array
var b = new Array("aaa", "bbb", "ccc", "ddd");
document.getElementById("demo2").innerHTML = b;
</script>
</body>
</html>
Array Elements (JS Arrays)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo1"></p>
<p id = "demo2"></p>
<script>
var a = ["aaa", "bbb", "ccc", "ddd"];
a[0] = "eee";
document.getElementById("demo1").innerHTML = a;
var b = new Array("aaa", "bbb", "ccc", "ddd");
document.getElementById("demo2").innerHTML = b[2];
</script>
</body>
</html>
Adding Array Element (JS Arrays)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Code Testing</title>
</head>
<body>
<p id = "demo">forEach Loop</p>
<script>
var cities, text;
cities = ["Yangon", "Mandalay", "Naypyidaw", "Meikhtila"];
text = "<ul>";
cities.forEach(jsFunction);
text+= "</ul>";
function jsFunction(value){
text += "<li>" + value + "</li>";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
unshift (JavaScript Array Method)
const tnwNames = ["Moe", "Soe", "Noe", "Mya"];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwNames.join(", ");
}
function tnwFun2(){
document.getElementById("demo").innerHTML = "The original array is : " + tnwNames.join(", ");
let tnwNewvalue = document.getElementById("newname").value;
tnwNames.unshift(tnwNewvalue);
document.getElementById("demo1").innerHTML = "The new array is : " + tnwNames.join(", ");
}
splice (JavaScript Array Method)
const tnwNames = ["Hla", "Mya", "Soe", "Moe", "Noe"];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwNames.join(", ");
}
function tnwFun2(){
document.getElementById("demo").innerHTML = "The original array is :
" + tnwNames.join(", ");
let result = tnwNames.splice(2, 2, "Aung", "Kyaw", "Tun");
document.getElementById("demo1").innerHTML = "The removed elements are :
" + result.join(", ");
document.getElementById("demo2").innerHTML = "The new array is :
" + tnwNames.join(", ");
}
sort (JavaScript Array Method)
//1. sort alphabetically
/**
const countries = ["Myanmar", "Singapore", "Malaysia", "USA", "Thailand", "Vietname"];
function tnwFun1(){
document.getElementById("demo").innerHTML = countries.join("<br />");
}
function jsSort(){
let result = countries.sort();
document.getElementById("demo").innerHTML = result.join("<br />");
}
function jsReverse(){
let result = countries.reverse();
document.getElementById("demo").innerHTML = result.join("<br />");
}
//2. Sort randomly
const tnwNums = [20, 17, 30, 38, 40, 50, 28, 12];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwNums.join("<br />");
}
function tnwFun2(){
let result = tnwNums.sort(tnwFun3);
document.getElementById("demo").innerHTML = result.join("<br />");
}
function tnwFun3(a, b){
return 0.5 - Math.random();
} */
// 3. Sort Numerically
const tnwNums = [20, 17, 30, 38, 40, 50, 28, 12, 4];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwNums.join("<br />");
}
function jsSort(){
let result = tnwNums.sort(function(a, b){return a - b;});
document.getElementById("demo").innerHTML = result.join("<br />");
}
function jsReverse(){
let result = tnwNums.sort(function(a, b){return b - a;});
document.getElementById("demo").innerHTML = result.join("<br />");
}
some (JavaScript Array Method)
const tnwNums = [20, 39, 48, 58, 68, 70, 85, 90];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwNums.join(", ");
}
function tnwFun2(){
let result = tnwNums.some(tnwFun3);
document.getElementById("demo").innerHTML = tnwNums.join(", ");
document.getElementById("demo1").innerHTML = result;
}
function tnwFun3(num){
let chkInput = document.getElementById("chknum").value;
return num > chkInput;
}
slice (JavaScript Array Method)
const tnwNums = [20, 29, 30, 39, 40, 47, 50, 70];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwNums.join(", ");
}
function tnwFun2(){
let result = tnwNums.slice(1, 4);
document.getElementById("demo").innerHTML = "The original is: " + tnwNums.join(", ");
document.getElementById("demo1").innerHTML = "The new array is: " + result.join(", ");
}
shift (JavaScript Array Method)
const tnwNums = [20, 30, 40, 50, 60, 70, 90];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwNums.join(", ");
}
function tnwFun2(){
let result = tnwNums.shift();
document.getElementById("demo").innerHTML = tnwNums.join(", ");
document.getElementById("demo1").innerHTML = "The removed element is: " + result;
}
reverse (JavaScript Array Method)
const tnwNums = [20, 30, 40, 50, 60, 70];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwNums.join("
");
}
function tnwFun2(){
let result = tnwNums.reverse();
document.getElementById("demo").innerHTML = result.join("
");
}
reduceRight (JavaScript Array Method)
const tnwNum = [20, 9, 20, 8, 100];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwNum.join(", ");
}
function tnwFun2(){
var result = tnwNum.reduceRight(tnwFun3);
document.getElementById("demo").innerHTML = result;
}
function tnwFun3(numRight, sum){
return numRight - sum;
}
reduce (JavaScript Array Method)
const tnwNum = [70, 30, 20, 10, 7];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwNum.join("
");
}
function tnwFun2(){
var result = tnwNum.reduce(tnwFun3);
document.getElementById("demo").innerHTML = result;
}
function tnwFun3(leftNum, sum){
return leftNum - sum;
}
push (JavaScript Array Method)
const tnwNames = ["Soe Soe", "Moe Moe"];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwNames.join("
");
}
function tnwFun2(){
let tnwAdd = document.getElementById("adding").value;
let result = tnwNames.push(tnwAdd);
document.getElementById("demo").innerHTML = result;
}
pop (JavaScript Array Method)
const tnwName = ["Hla Hla", "Mya Mya", "Aung Aung", "Maung Maung"];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwName.join("
");
}
function tnwFun2(){
let result = tnwName.pop();
document.getElementById("demo").innerHTML = "The removed element is : " + result;
}
map (JavaScript Array Method)
const tnwNum = [10, 20, 30, 40];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwNum.join("
");
}
/**
function tnwFun2(){
let result = tnwNum.map(Math.sqrt);
document.getElementById("demo").innerHTML = result.join("
");
}*/
function tnwFun2(){
let result = tnwNum.map(tnwFun3);
document.getElementById("demo").innerHTML = result.join("
");
}
function tnwFun3(num){
return num * 10;
}
lastIndexOf (JavaScript Array Method)
const tnwText = "Hello, welcome to TNW (Web Service & ICT Solutions)";
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwText;
}
function tnwFun2(){
let tnwSearch = document.getElementById("search").value;
let result = tnwText.lastIndexOf(tnwSearch);
document.getElementById("demo").innerHTML = "The search text is found at : " + result;
}
keys (JavaScript Array Method)
const tnwNames = ["Hla Hla", "Mya Mya", "Soe Soe", "Moe Moe"];
let result = "";
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwNames.join("
");
}
function tnwFun2(){
let tnwKeys = tnwNames.keys();
for(let x of tnwKeys){
result += x + "
";
document.getElementById("demo").innerHTML = result;
}
}
join (JavaScript Array Method)
const tnwNames = ["Hla Hla", "Mya Mya", "Aung Aung", "Maung Maung"];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwNames;
}
function tnwFun2(){
document.getElementById("demo").innerHTML = tnwNames.join("
");
}
isArray (JavaScript Array Method)
const tnwText = ["Hla Hla", "Mya Mya", "Soe Soe", "Noe Noe"];
//const tnwText = "I am Thet Naing Win.";
const result = Array.isArray(tnwText);
document.write(result);
indexOf (JavaScript Array Method)
const tnwText = "Hello Dear All, I am Thet Naing Win. Welcome to TNW (Web Service & ICT Solutions)";
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwText;
}
function tnwFun2(){
const tnwSearch = document.getElementById("search").value;
const result = tnwText.indexOf(tnwSearch);
document.getElementById("demo").innerHTML = "The search text is fount at " + result;
}
includes (JavaScript Array Method)
const tnwNames = ["Hla Hla", "Mya Mya", "Soe Soe", "Moe Moe"];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwNames.join("
");
}
function tnwFun2(){
document.getElementById("demo").innerHTML = tnwNames.includes("Mya Mya");
}
from (JavaScript Array Method)
const myLetter = "ABCDEFGHIJKL";
function tnwFun1(){
document.getElementById("demo").innerHTML = myLetter;
}
function tnwFun2(){
const result = Array.from(myLetter);
document.getElementById("demo").innerHTML = result;
}
forEach (JavaScript Array Method)
const student = ["Aung Aung", "Maung", "Kyaw", "Zaw", "Soe", "Moe"];
let names = "";
function tnwFun1(){
student.forEach(tnwFun2);
}
function tnwFun2(item, index){
names += index + " : " + item + "
";
document.getElementById("demo").innerHTML = names;
}
findIndex (JavaScript Array Method)
const tnwAges = [19, 39, 28, 43, 29, 45, 53];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwAges.join("
");
}
function tnwFun2(){
document.getElementById("demo").innerHTML = tnwAges.findIndex(chkAge);
}
function chkAge(age){
return age > document.getElementById("myAge").value;
}
find (JavaScript Array Method)
const tnwAges = [19, 39, 28, 43, 29, 45, 53];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwAges.join("
");
}
function tnwFun2(){
document.getElementById("demo").innerHTML = tnwAges.find(chkAge);
}
function chkAge(age){
return age > document.getElementById("myAge").value;
}
filter (JavaScript Array Method)
const tnwAges = [25, 18, 29, 20, 40, 32, 53, 24];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwAges.join("
");
}
function tnwFun2(){
const result = tnwAges.filter(chkAge);
document.getElementById("demo").innerHTML = result.join("
");
}
function chkAge(age){
return age > 20;
}
fill (JavaScript Array Method)
const tnwNames = ["Aye Aye", "Nwe Nwe", "Hla Hla", "Mya Mya", "Soe Soe", "Moe Moe"];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwNames.join("
");
}
function tnwFun2(){
const result = tnwNames.fill("Aung Aung", 1, 3);
document.getElementById("demo").innerHTML = result.join("
");
}
every (JavaScript Array Method)
const tnwAge = [20, 29, 48, 76, 50, 38, 39];
function tnwFun1(){
document.getElementById("demo").innerHTML = tnwAge.every(tnwFun2);
}
function tnwFun2(chkAge){
return chkAge > 19;
}
entries (JavaScript Array Method)
const tnwNames = ["Hla Hla", "Mya Mya", "Aye Aye", "Nwe Nwe", "Soe Soe", "Moe Moe", "Aung Aung"];
const y = tnwNames.entries();
for(x of y){
document.write(x + "
");
}
copyWithin (JavaScript Array Method)
const people = ["Hla", "Mya", "Aung", "Maung", "Soe", "Noe", "Moe"];
function tnwFun1(){
document.getElementById("demo").innerHTML = people.join("
");
}
function tnwFun2(){
const result = people.copyWithin(3, 0, 3);
document.getElementById("demo").innerHTML = result.join("
");
}
concat (JavaScript Array Methods)
const girls = ["Aye Aye", "Nwe Nwe", "Htwe Htwe"];
const boys = ["Aung Aung", "Maung Maung", "Kyaw Kyaw"];
const students = ["Hla Hla", "Mya Mya", "Aung Ba", "Aung Mya"];
const people = girls.concat(boys, students);
document.write(people.join("
"));
JavaScript Array Properties
length
Sets or returns the number of elements in an array.
prototype
Allows you to add new properties and methods to an Array object.
//length
/*
const countries = ["USA", "UK", "Canada", "Myanmar", "Singapore"];
function showLength(){
document.getElementById("demo").innerHTML = countries.length;
}
//prototype
Array.prototype.tnwCase = function(){
for(let i = 0; i < this.length; i++){
this[i] = this[i].toLowerCase(); //lower case
}
};
const countries = ["USA", "UK", "Canada", "Myanmar", "Singapore"];
countries.tnwCase();
function tnwFun(){
document.getElementById("demo").innerHTML = countries;
}*/
//Another example of prototype property
function Person(first, middle, last){
this.firstName = first;
this.middleName = middle;
this.lastName = last;
}
const myFriend = new Person("Aung", "Kyaw", "Soe");
Person.prototype.nationality = "Myanmar";
Person.prototype.age = 35;
function tnwFun(){
document.getElementById("demo").innerHTML = myFriend.age;
}
JavaScript Array
/*
const countries = ["USA", "UK", "Canada"];
document.write(countries);
//example one
const names = ["Hla Hla", "Mya Mya", "Soe Soe"];
document.write(names);
//example two
const cities = [
"Yangon",
"Mandalay",
"Meikhtila"
];
document.write(cities);
//example three
const countries = [];
countries[0] = "USA";
countries[1] = "UK";
countries[2] = "Canada";
document.write(countries);
//example four
//creating array by using new keyword
const countries = new Array("USA", "UK", "Canada");
document.write(countries); */
//Arrays are special types of objects
const myNmae = {first: "Thet", middle: "Naing", last: "Win"};
document.write(myNmae.last);
javascript in html
When we design the website, we need to use css and html together. html, css and javascript are the most important languages for those who are trying to get in front-end web development field. The following is the very basic sample of html and css.
Adding script between <head> and </head>
<html>
<head>
<title>TNW (Web Service & ICT Solutions)</title>
<script>
var txt = "<b>Welcome to TNW (Web Service & ICT Solutions)!</b><br /><br /> TNW provides the best ICT Solutions for your business by the reasonable price.";
function myFun(){
document.getElementById("demo").innerHTML = txt;
}
</script>
</head>
<body>
<p id = "demo">TNW</p>
<button type = "button" onclick = "myFun()">Click Here</button>
</body>
</html>
Open notepad or text editor and write the above codes. Then, save it as test.html and try to open by one of the browsers on your computer.
Adding Script between <body> and </body>
<html>
<head>
<title>TNW (Web Service & ICT Solutions)</title>
</head>
<body>
<p id = "demo">TNW</p>
<button type = "button" onclick = "myFun()">Click Here</button>
<script>
var txt = "<b>Welcome to TNW (Web Service & ICT Solutions)!</b><br /><br /> TNW provides the best ICT Solutions for your business by the reasonable price.";
function myFun(){
document.getElementById("demo").innerHTML = txt;
}
</script>
</body>
</html>
Open notepad or text editor and write the above codes. Then, save it as test.html and try to open by one of the browsers on your computer.
css in html
When we design the website, we need to use css and html together. html, css and javascript are the most important languages for those who are trying to get in front-end web development field. The following is the very basic sample of html and css.
<!DOCTYPE html>
<html>
<head>
<title>T N W</title>
<style type="text/css">
p{color:red; background:black; width: 200 px;}
</style>
</head>
<body>
<p>Hello, This is HTML Testing!</p>
</body>
</html>
html links
<!DOCTYPE html>
<html>
<head>
<title>TNW (Web Service & ICT Solutions)</title>
</head>
<body>
<p><a href = "https://tnwict.com/index.php?view=category&id=8">Computer Service</a></p>
<p><a href = "https://tnwict.com/index.php?view=category&id=11">Networking Service</a></p>
</body>
</html>
PDF Extra
PDF Extra is one of the best pdf software. There are so many features we can use such as in adobe acrobat pro. There are three versions in PDF Extra. We can use free version for lifetime.
Nitro PDF
Nitro PDF is one of the best pdf software. You can use so many features such as in Adobe Acrobat Pro. Nitro PDF is not a freeware. But, you can use it as a free trial. If you want to download it or want to know more details, please click here.
Adobe Acrobad PDF Reader and Pro
Adobe Acrobat is one of the best pdf software I prefer to use.
1. Adobe Acrobat Reader
It is a freeware. If you have not installed any pdf reader in your computer and searching free pdf reader, you should use adobe acrobat reader. If you want to download it, please click here. (Note: select Operating System, Language and Version to download)
2. Adobe Acrobat Pro
There are so many features in Adobe Acrobat Pro such as editing pdf, combining pdf files, converting pdf files into (word, excel, power point) files, converting any printable documents into pdf file and adding signature, etc., . But it is not freeware. You can use it as free trial. You have to pay license fee after free trial period if you will continue to use. You can uninstall it if you don't want to use it anymore. If you want to download it, please click here.
JavaScript Course
Chapter 1: Introduction to JavaScript
- What is JavaScript
- History of JavaScript
- Start writing JS Codes
- JavaScript Outputs
- JavaScript Syntax
- Basic Rules
- Accessing Elements
- Dot Notation
- Square Bracket Notation
- JS Statements
- JS Objects
- JS Methods
- JS Properties
Chapter 2: Varialbes, Arrays and Operators
- JS Variables
- Variable Naming
- JS Constant
- Arrays
- Array Properties
- Array Methods
- JS Operators
- Working with Operators
Chapter 3: JS Functions
- Function Definitions
- Function Parameters
- Function Invocation
- Function Call
- Function Apply
- Function Closures
Chapter 4: JS Objects
- Object hierarchy
- Assigning properties to an object
- Using methods to manipulate objects
- Creating a new custom object
- Window object
- Document object
- String object
- Arrays
- Date object
- Math object
- Image object
Chapter 5: Conditionals and Loops
- Conditionals
- if_else if_else conditions
- Switch / Case
- Loops
- while loop
- do while loop
- for...of loop
- for...in loop
- break and continue
- Array: forEach()
Chapter 6: Event Handlers and Listeners
- On-Event Handlers
- The getElementById() Method
- The addEventListener() Method
- Capturing Key Events
- Benefits of Event Listeners
- Timers
Chapter 7: JS HTML DOM
- DOM Intro
- DOM Methods
- DOM Document
- DOM Elements
- DOM HTML
- DOM CSS
- DOM Animations
- DOM Events
- DOM Event Listener
- DOM Navigation
- DOM Nodes
- DOM Collections
- DOM Node List
Chapter 8: JS Browser BOM
- JS Window
- JS Screen
- JS Location
- JS History
- JS Navigator
- JS Popup Alert
- JS Timing
- JS Cookies
Chapter 9: Basic JS AJAX
- AJAX Intro
- AJAX XMLHttp
- AJAX Request
- AJAX Response
- AJAX XML File
- AJAX PHP
- AJAX ASP
- AJAX Database
- AJAX Applications
Chapter 10: JS Web APIs
- Introduction to Web API
- Web History API
- Web Storage API
- Web Worker API
- Web Fetch API
- Web Geolocation API
CSS Course
Chapter 1: Introduction to CSS
- CSS Rules
- Where to put your styles
- Explaining Selectors (Grouping & Type)
- Inline and Embedded styles
- CSS and Fonts
- Font colors
- Font sizes
- Styling Fonts
Chapter 2: Selectors
- Selector Basics
- Tag Selectors
- Class Selector
- ID Selectors
- Group Selector
- Descendant Selector
- Universal Selector
Chapter 3: Advanced Selectors
- Pseudo-Classes and Pseudo-Elements
- Pseudo-Classes for Links
- Direct Child Selectors
- Next Sibling Selector
- Pseudo-Elements
Chapter 4: Font Formatting
- Font Formatting Basic
- Font-Size
- Font-Color
- Font Combinations
- Font-Stye
- Font-Weight
- Text-Transform
- Text-Decoration
- Font-Variant
- Font Shorthand
- Font-Family
Chapter 5: Text Display Control
- Text Display Baiscs
- Text-Align
- Text-Index
- Adding Color to Text
- Line-Height
- Letter-Spacing
- Word-Spacing
- White Space Proterty
Chapter 6: Page Background
- Background Basic
- Background-Color
- Background-Image
- Background-Repeat
- Background-Position
- Background-Attachment
- Background-Shorthand
Chapter 7: CSS Box Model
- Box Model Basic
- Margin
- Margin Collapsing
- Margin for Horizontal Alignment
- Border
- Padding
- Height and Width
- Min and Max Dimensions
- Overflow Property
Chapter 8: Float
- Float Basic
- Float Property
- Clear Property
- Vertycally Aligning Content
Chapter 9: Positioning
- Positioning Basic
- Relative Positioning
- Absolute Positioning
- Fixed Positioning
- Z-Index
Chapter 10: Styling Lists
- List Styling Basics
- List Tags
- List-Style-Type Property
- List-Style-Image Property
- List-Style-Position Property
- List-Style Shorthand Property
Chapter 11: Styling Tables
- Table Styling Basics
- Table Elements
- Captions
- Columns
- Table Layout
- Borders Collapsing
- Border Spacing
Chapter 12: CSS Animations
- @keyfrmaes
- animation-name
- animation-duration
- animation-delay
- animation-iteration-count
- animation-direction
- animation-timing function
- animation-fill-mode
- animation
Chapter 13: CSS Multiple Columns
- column-count
- column-gap
- column-rule-style
- column-rule-width
- column-rule-color
- column-rule
- column-span
- column-width
HTML Course
Chapter 1: Introduction to HTML
- What is HTML?
- HTML Development Environments
- Using Editors
- Simple HTML Document
- Publishing Documents
Chapter 2: HTML Elements
- Rules of Syntax
- Making your Code Readable
- Making your Code XHTML Compliant
- Building a Document
- Using Colors
- Adding Color to your Page
- Using Headings
- Using Paragraphs
- Using Blockquotes
- Using Entities
- Aligning Block-Level Elements
Chapter 3: Inserting Spaces and Line Breaks
- Displaying Performatted Text
- Formatting with Inine Elements
- Controlling Fonts
- Introducing List Elements
- Creating Unordered Lists
- Creating Ordered Lists
- Creating Definition Lists
- Nesting Lists
- Indenting Text with the <ul> Tag
Chapter 4: HTML Table
- Building a Table
- Using the Border Attribute
- Cell Padding and Cell Spacing
- Controlling a Table and Cell Width
- Aligning a Table on the Page
- Aligning Tables and Text
- Aligning Table Data
- Spanning Columns and Rows
- Nesting Tables
- Adding Color to Tables
- Using Tables as a Design Tool
Chapter 5: HTML Links
- Understanding and Using URLs
- Linking to a Web Document
- Linking to a Local Document
- Linking to Anchors
- Opening a New Browser Window
- Creating a Frameset
- Adding the Frame Elements
- Creating the Frames
- Using the Noframes Elements
- Using Inline Frames
Chapter 6: Graphic File Formats
- Optimizing Image and File Size
- Inserting Inline Images
- Aligning and Formatting Images
- Using Images to Anchor Links
- Adding images to the Page
- Sizing and Scaling Images
Chapter 7: HTML Forms
- HTML Forms
- HTML Form Attributes
- HTML Form Elements
- HTML Input Types
- HTML Input Attributes
- HTML Input Form Attributes
Chapter 8: HTML Media
- HTML Media
- HTML Video
- HTML Audio
- HTML Plug-ins
- HTML YouTube
Chapter 9: HTML APIS
- HTML Geolocation
- HTML Drag/Drop
- HTML Web Storage
- HTML Web Workers
- HTML SSE
Restoro (Computer Repair Software)
Restoro is one of the best software to securely and safely repair any PC. It can remove Malware Threat, detect dangerous websites and replace damaged windows files. We can use it as trial version.
Advanced System Care
Advanced System Care is really nice software to clean up your computer. By using it, you can fix the computer errors such as Privacy traces, Junk files, Invalid shortcuts, Registry entries, etc,. There are two versions in it. One is free version and one is pro version. You can use the free version as a freeware for lifetime. And it is easy to use. This software is one of the best software you should have installed in your computer to clean up yours.
CCleaner
It is a really cool software. There are so many features we can use in it to make computer run faster.
1. Health Check
We can check our computer health by using Health Check. If there are some issues, we can resolve those.
2. Custom Clean
We can use this feature to clean up such as Internet cache, Internet histories, Cookies, etc., in the Browsers. It also cleans up some applications such as multimedia.
3. Registry
We can use this feature to repair registry errors.
4. Tools
We can use this feature to uninstall software, to update software, to manage Startup program, etc., . But, some tools are only for Pro versions.If you don't want to clean your computer manually, you should have installed this software in your computer. There are three versions in CCleaner. One is Free version and others are Pro and Pro Bundle versions. It is really nice to use although there are some limitations in free version. If you want to download free version, please click here.
Registry Reviver
Registry Reviver is a cool software. We can use it to repair, optimize and maintain registry. And we can disable or enable the Startup programs and the services by using Startup Manager under Utilities. You should use Registry Reviver if you think your computer is running slow because of registry errors. Registry Reviver is not a freeware. But, we can use it as free version. It is really nice to use although there are some limitations in free version. If you want to download it, please click here.
Driver Booster
We need to check the drivers in our computer are up to date or not so that the computer can work properly. The computer may work slowly if the drivers are not up to date. We can use driver booster to check the drivers in our computer are up to date or not. Driver booster is one of the best driver software. You can use it as a freeware for lifetime.
Driver Easy
If your computer is so slow although there is no error in both of Hardware and Software, you should check your computer drivers are up to date or not. Some brands provide support assistant application to check drivers and hardware errors. But some don't provide. In such kind of condition, we can use Driver Easy to check our computer drivers are up to date or not. There are two versions in Driver Easy. One is Pro version and another one is Free version. We can use free version for life time without any charges. But there are limitations in free version and download speed is also very slow. If you want to download it, please click here.
Dell Support Assistant for Dell PCs
Are you using Dell Computers ? If you are using dell computers, you should have installed Dell Support Assistant in your computer. By using Dell Support Assistant, you can do the followings:
1. Checking the drivers in your PC ,and can do download and update if required.
2. Hardware testing.
3. Cleaning Files.
4. Tuning Performance.
5. Optimizing Network.
How to use Dell Support Assistant
Open Dell Support Assistant application and Click "Start Now". You can also troubleshoot your PC if you wanna do. If you want to download Dell Support Assistant, please click here.
Network Engineer Course
This course will be real practical network engineering course. This course will be included not only Cisco networking devices but also other network devices. After completion of this course,
1. You will be able to work as an IT engineer, network engineer, system engineer, network administrator, etc.
2. This course will also be foundation for those who will take Cisco and Microsoft exams.
Topics:
What is Virtualization
DNS
DHCP
Active Directory
File Sharing
IIS
Servers Clustering
Activities and Lab
Chapter 29: IP Addressing Services
Topics:
DHCP
Scaling Networks with NAT
IPv6
Activities and Labs
Chapter 28: Teleworker Services
Topics:
Business Requirements for Teleworker Services
Broadband Services
VPN Technology
Activities and Labs
Chapter 27: Access Control Lists (ACLs)
Topics:
Using ACLs to Secure Networks
Configuring Standard ACLs
Configuring an Extended ACL
Configure Complex ACLs
Activities and Labs
Chapter 26: Network Security
Topics:
Introduction to Network Security
Securing Cisco Routers
Securing Router Network Services
Using Cisco SDM
Secure Router Management
Activities and Labs
Chapter 25: Frame Relay
Topics:
Basic Frame Relay Concepts
Configuring Frame Relay
Advanced Frame Relay Concepts
Activities and Labs
Chapter 24: Point-to-Point Protocol (PPP)
Topics:
Introducing Serial Communications
PPP Concepts
Activities and Labs
Chapter 23: Introduction to WANs
Topics:
Introducing Wide-Area Networks
The Evolving Enterprise
The Evolving Network Model
WAN Technology Concepts
WAN Connection Options
Activities and Labs
Chapter 22: Basic Wireless Concepts and Configuration
Topics:
The Wireless LAN
Wireless LAN Security
Configure Wireless LAN Access
Troubleshooting Simple WLAN Problems
Activities and Labs
Chapter 21: Spanning Tree Protocol (STP)
Topics:
Redundant Layer 2 Topologies
Introduction to STP
STP Convergence
PVST+, RSTP, and Rapid PVST
Activities and Labs
Chapter 20: VLAN Trunking Protocol (VTP)
Topics:
VTP Concepts
VTP Operation
Configure VTP
Activities and Labs
Chapter 19: Virtual LANs (VLANs)
Topics:
Introduction to VLANs
VLAN Trunking
Configure VLANs and Trunks
Troubleshooting VLANs and Trunks
Activities and Labs
Chapter 18: OSPF
Topics:
Introduction to OSPF
Basic OSPF Configuration
The OSPF Metric
OSPF and Multiaccess Networks
More OFPF Configuration
Activities and Labs
Chapter 17: Link-State Routing Protocols
Topics:
Link-State Routing
Implementing Link-State Routing Protocols
Activities and Labs
Chapter 16: EIGRP
Topics:
Introduction to EIGRP
Basic EIGRP Configuration
EIGRP Metric Calculation
DUAL
More EIGRP Configurations
Activities and Labs
Chapter 15: RIPv2
Topics:
RIPv1 Limitations
Configuring RIPv2
VLSM and CIDR
Verifying and Troubleshooting RIPv2
Activities and Labs
Chapter 14: VLSM and CIDR
Topics:
Classful and Classless Addressing
VLSM
CIDR
Activities and Labs
Chapter 13: RIP Version 1
Topics:
RIPv1: Distance Vector, Classful Routing Protocol
Basic RIPv1 Configuration
Verification and Troubleshooting
Automatic Summarization
Default Route and RIPv1
Activities and Labs
Chapter 12: Distance Vector Routing Protocols
Topics:
Introduction to Distance Vector Routing Protocols
Network Discovery
Routing Table Maintenance
Routing Loops
Distance Vector Routing Protocols Today
Activities and Labs
Chapter 11: Introduction to Dynamic Routing Protocols
Topics:
Introduction to Dynamic Routing Protocols
Classifying Dynamic Routing Protocols
Metrics
Administrative Distance
Activities and Labs
Chapter 10: Static Routing
Topics:
Routers and the Network
Router Configuration Review
Exploring Directly Connected Networks
Static Routes with Next-Hop Address
Static Routers with Exit Interfaces
Summary and Default Static Routes
Managing and Troubleshooting Static Routes
Activities and Labs
Chapter 9: Introduction to Routing and Packet Forwarding
Topics:
Inside the Router
CLI Configuration and Addressing
Building the Routing Table
Path Determination and Switching Functions
Activities and Labs
Chapter 8: Basic Switch Concepts and Configuration
Topics:
Introduction to Ethernet/802.3 LANs
Forwarding Frames Using a Switch
Switch Management Configuration
Configuration Switch Security
Activities and Labs
Chapter 7: LAN Design
Topics:
Switched LAN Architecture
Managing Switches to Specific LAN Function
Activities and Labs
Chapter 6: Configuring and Testing Your Network
Topics:
Configuring Cisco Devices: IOS Basics
Applying a Basic Configuration Using Cisco IOS
Verifying Connectivity
Monitoring and Documenting Networks
Activities and Labs
Chapter 5: Planning and Cabling Networks
Topics:
LANs: Making the Physical Connection
Device Interconnections
Developing and Addressing Scheme
Calculating the Subnets
Device Interconnections
Activities and Labs
Chapter 4: Ethernet
Topics:
Overview of Ethernet
Ethernet: Communication Through the LAN
Ethernet Frame
Ethernet MAC
Ethernet Physical Layer
Hubs and Switches
Address Resolution Protocol (ARP)
Activities and Labs
Chapter 3: Addressing the Network: IP4
Topics:
IPv4 Addresses
IPv4 Addresses for Different Purposes
Assigning Addresses
Calculating Addresses
Testing the Network Layer
Activities and Labs
Chapter 2: OSI and TCP/IP Model
Topics:
Application Layer
Applications: The Interface Between the Networks
Making Provisions for Applications and Services
Application Layer Protocols and Services Examples
OSI Transport Layer
Roles of Transport Layer
TCP: Communicating with Reliability
UDP: Communicating with Low Overhead
OSI Network Layer
Network Layer: Communicating from Host to Host
Network: Dividing Hosts into Groups
Routing: How Data Packets are Handled
Routing Processes: How Routes Are Learned
OSI Data Link Layer
Data Link Layer: Accessing the Media
MAC Techniques: Placing Data on the Media
MAC: Addressing and Framing Data
Putting It All Together: Following Data Through an Internetwork
OSI Physical Layer
Physical Layer: Communication Signals
Physical Signaling and Encoding: Representing Bits
Physical Media: Connection Communication
Activities and Labs
Chapter 1: Communicating over the Network
Topics:
The Platform for Communication
LANs, WANs and Internetworks
Protocols
Using Layered Models
Network Addressing
Activities and Labs
Practical A+ Course
Benefits of completing Practical A+ Course
TNW (Web Service & ICT Solutions) provides practical A+ course based on CompTIA A+. After completion of this course, you will be able to work as a desktop support technician or IT support technician or help desk technician. Moreover, you will be able to take CompTIA A+ exam if you wish to get CompTIA A+ certificate.
Lesson 15: Supporting Personal Computer Security
Topics:
Install and Configure Security Measures
Maintain and Troubleshoot Security Measures
At the end of this course, the students will be able to support personal computer security.
Lesson 14: Personal Computer Security Concepts
Topics:
Security Fundamentals
Security Protection Measures
Data and Physical Security
Wireless Security
Social Engineering
At the end of this course, the students will be able to identify personal computer security concepts.
Lesson 13: Supporting Printers and Scanners
Topics:
Printer and Scanner Technologies
Printer and Scanner Components
Printer and Scanner Processes
Install and Configure Printers and Scanners
Maintain and Troubleshoot Printers and Scanners
At the end of this course, the students will be able to support printers and scanners.
Lesson 12: Supporting Laptops and Portable Computing Devices
Topics:
Laptop and Portable Computing Device Components
Install and Configure Laptops and Portable Computing Devices
Maintain and Troubleshoot Laptops and Portable Computing Devices
At the end of this course, the students will be able to support laptops and portable computing devices.
Lesson 11: Installing and Managing Network Connections
Topics:
Create Network Connections
Install and Configure Web Browsers
Maintain and Troubleshoot Network Connections
At the end of this course, the students will be able to install and manage network connections.
Lesson 10: Network Technologies
Topics:
Network Concepts
Network Communications
Network Connectivity
Internet Technologies
At the end of this course, the students will be able to identify network technologies.
Lesson 9: Maintaining and Troubleshooting Microsoft Windows
Topics:
Operating System Utilities
Maintain Microsoft Windows
Troubleshoot Microsoft Windows
Recover Microsoft Windows
At the end of this course, the students will be able to maintain and troubleshoot installations of Microsoft Windows.
Lesson 8: Installing and Configuring Operating Systems
Topics:
Install Microsoft Windows
Upgrade Windows
Add Devices to Windows
Optimize Windows
At the end of this course, the students will be able to install and configure operating systems.
Lesson 7: Troubleshooting System Components
Topics:
Troubleshoot Storage Devices
Troubleshoot Power Supplies
Troubleshoot Memory
Troubleshoot CPUs
Trouble System Boards
At the end of this course, the students will be able to troubleshoot system components.
Lesson 6: Maintaining and Troubleshooting Peripheral Components
Topics:
Troubleshoot Display Devices
Maintain and Troubleshoot Input Devices
Troubleshoot Adapter Cards
Troubleshoot Multimedia Devices
At the end of this course, the students will be able to maintain and troubleshoot peripheral components.
Lesson 5: Installing and Configuring System Components
Topics:
Install and Configure Storage Devices
Install and Configure Power Supplies
Install and Configure Memory
Install and Configure CPUs
Install and Configure System Boards
At the end of this course, the students will be able to install and configure system components.
Lesson 4: Installing and Configuring Peripheral Components
Topics:
Install and Configure Display Devices
Install and Configure Input Devices
Install and Configure Adapter Cards
Install and Configure Multimedia Devices
At the end of this course, the students will be able to install and configure computer components.
Lesson 3: PC Technician Professional Best Practices
Topics:
Tools of the Trade
Electrical Safety
Environmental Safety and Materials Handling
Perform Preventative Maintenance
Diagnostics and Troubleshooting
Professionalism and Communication
At the end of this course, the students will be able to identify best practices followed by professional personal computer technicians.
Lesson 2: Operating System Fundamentals
Topics:
Personal Computer Operating Systems
Windows User Interface Components
Windows File System Management
Windows System Management Tools
At the end of this course, the students will be able to identify fundamental components and functions of personal computer operating systems.
Lesson 1: Personal Computer Components
Topics:
Personal Computer Components
System Unit Components
Storage Devices
Personal Computer Connection Methods
At the end of this course, the students will be able to identify the components of standard desktop personal computers.
ZenMate VPN
ZenMate VPN is one of the best VPN Software. It supports multiple operating system platforms. As an application, it is not a freeware. We can only use it as trial version for limited duration. As for a browser addon, we can use it as a freeware for life time. If you want to know how to install it in browsers, please click how to install vpn addons in the browsers.
Vypr VPN
Vypr VPN is one of the best VPN Software. It is cheap and cool to use. It will fully protect your privacy and support you to securely browse every website without interruption. It can be used in various kinds of Operating Systems.
NordVPN
NordVPN is one of the best VPN software. It supports multiple operating systems: android, windows, linux and mac. But, it is not a freeware.
Why should we use VPN
By using VPN, we can get so many advantages. We can hide the actual IP address and actual location. We can protect against the danger of the hackers. The hackers can't know which websites we browse by using VPN. We can browse every website without any restriction even if your ISP blocks some websites.
The disadvantage of using VPN is that it may cause internet connection a little bit slower than normal. It is jus a little bit, not too much. So, we should use VPN if we want to get secured network connection.
There are so many VPN software we can use in our computers. Some VPNs are free and some are not free. And we can also use Tor browser for VPN Service. It is totally free and auto VPN enabled browser. The problem is that some websites do not accept the Tor Browsers.
Moreover, we can also use VPN Addons in the browsers. I've already explained how to configure VPN Services in the browsers. You can see those in my previous posts.
How to install VPN Add-ons in Google Chrome
We can install VPN Add-ons in Google Chrome Browser if you don't want to install any VPN software in your computer because of different kinds of reasons. I've made a video to explain about it.
How to install VPN Add-ons in Brave Browser
We can install VPN Add-ons in Brave Browser if you don't want to install any VPN software in your computer because of different kinds of reasons. I've made a video to explain about it.
How to enable VPN in Opera Browser
We can install VPN Add-ons in Opera Browser if you don't want to install any VPN software in your computer because of different kinds of reasons. I've made a video to explain about it.
How to install VPN Add-ons in Microsoft Edge Browser
We can install VPN Add-ons in Microsoft Edge Browser if you don't want to install any VPN software in your computer because of different kinds of reasons. I've made a video to explain about it.
How to install VPN Add-ons in Mozilla Browser
We can install VPN Add-ons in Mozilla Browser if you don't want to install any VPN software in your computer because of different kinds of reasons. I've made a video to explain about it.
Using Free Public DNS
When we should use free public DNS ? Sometimes, we can't enter some websites although we can enter some websites. That may be because of DNS error of your ISP if the website is not down and your network administrator does not set any rule to block the websites. At that time, we should use free public DNS. The followings are some of free public DNS:
1. Google 8.8.8.8, 8.8.4.4
2. Norton ConnectSafe 199.85.126.10, 199.85.127.10
3. SafeDNS 195.46.39.39, 195.46.39.40
4. Verisign 64.6.64.6, 64.6.65.6
5. GreenTeam 81.216.119.11, 209.88.198.133
6. DNS.Watch 84.200.69.80, 84.200.70.40
7. Comodo Secure DNS 8.26.56.26, 8.20.247.20
Virtual Private Network (VPN)
I want to explain about VPN because some of my friends are confusing about VPN.
VPN is used to get secured network connection through Internet. The big companies also use VPN to get secured network connection in connecting offices, industries, etc., from different locations through the Internet. (for example, most of the banks use VPN).
Generally, there are two types of VPN.(More than two if detailed)
1. Side-to-Side VPN.
2. Remote Access VPN.
Server Operating Systems
What is Server?
Server is a computer that stores data and share with its clients. There are so many server operating systems such as Ubuntu, Redhat, CentOS, Fedora, Windows, etc,. In Windows Server, there are so many versions:
1. Windows Server 2003
2. Windows Server 2008
3. Windows Server 2012
4. Windows Server 2016
5. Windows Server 2019
Windows Server provides so many features such as DNS, DHCP, Active Directory (AD), File Sharing, Internet Information Service (IIS), Server Clustering, etc,.
Start creating basic xml file
<people>
<person>
<name>Thet Naing Win</name>
<dob>20.03.1987</dob>
<address>Yangon</address>
</person>
<person>
<name>Su Su</name>
<dob>01.10.1990</dob>
<address>Mandalay</address>
</person>
<person>
<name>Nu Nu</name>
<dob>02.02.1980</dob>
<address>Yangon</address>
</person>
</people>
Start embedding css in html
<!DOCTYPE html>
<html>
<head>
<title>TNW (Web Service & ICT Solutions)</title>
<style>
p{
color: red;
font-weight: bold;
}
</style>
</head>
<body>
<p>Page 1</p>
<p>Page 2</p>
</body>
</html>
Write the above codes and save it as test.html in somewhere. Try to open that file by double clicking and you will find it working.
HTML Development Environments
HTML development can be done in notepad that comes along with Windows, text editors, IDE Software and WYSIWYG (What You See Is What You Get).
What is HTML
HTML is Hypertext Markup Language. It is a standard markup language. It describes the structure of the web page and defines the contents. It is a language should be firstly learned for those who start to learn web programming.
JavaScript Constant
Example 1
<html>
<head>
<title>JS Constant</title>
</head>
<body>
<p id = "demo"></p>
<script>
const x = (x, y) => x * y;
document.getElementById("demo").innerHTML = x(8, 8);
</script>
</body>
</html>
Example 2
<html>
<head>
<title>JS Constant</title>
</head>
<body>
<p id = "demo"></p>
<script>
const x = (x, y, z) => (x + y + z);
document.getElementById("demo").innerHTML = x (4, 5, 6);
</script>
</body>
</html>
JavaScript Variable Naming
/*
//the first character is letter
var myName = "I am Thet Naing Win.";
document.write(myName);
//the first character is underscore
var _myAge = "I am 35 now.";
document.write(_myAge);
//the first character is number. this is not valid naming.
var 1_myAge = "I am 35 now.";
document.write(1_myAge);
var myName1 = "I am Thet Naing Win.";
var myAge1 = "I am 35 now.";
document.write(myName1);
document.write(myAge1);
//we can not use punctuation marks
var myName, = "I am Thet Naing Win.";
document.write(myName,);
var _myAge = "I am 35 now.";
document.write(_myAge);
//proper variable name
var myNmae = "I am Thet Naing Win.";
document.write(myNmae);
//we can use very long variable name. but this is improper variable name
//so we should care in variable naming
var iamthetnaing = "I am Thet Naing Win.";
document.write(iamthetnaing);
var while = "I am Thet Naing Win.";
document.write(while); */
JavaScript Variables
/*var a = "I am Thet Naing Win.";
let b = "I am from Myanmar.";
const c = "I currently stay in Yangon.";
document.write(a);
document.write(b);
document.write(c);
const a = "I am Thet Naing Win.";
const a = "Who are you?";
document.write(a);
*/
var tnwGlobal = "I am TNW Global."; // global variable
function tnwOne(){
var tnwLocal = "I am TNW Local."; //local variable
document.getElementById("global").innerHTML = tnwGlobal;
document.getElementById("local").innerHTML = tnwLocal;
}
function tnwTwo(){
document.getElementById("global").innerHTML = tnwGlobal;
document.getElementById("local").innerHTML = tnwLocal; //local variable declared in tnwOne
}
Basic JavaScript Objects
/*var person = {
firstname : "Thet",
lastname : "Naing"
};
function tnwFun(){
document.getElementById("demo").innerHTML = person.lastname;
}*/
var person = {
firstname : "Thet",
lastname : "Naing",
fullname : function(){
return person.firstname+ " " +person.lastname;
}
}
function tnwFun(){
document.getElementById("demo").innerHTML = person.fullname();
}
JavaScript Statements
var a = "I am Thet Naing Win."; // Statement one
var b = "I am from Myanmar."; // Statement two
var c = "I currently stay in Yangon."; // Statement three
/*
document.write(a);
document.write(b);
document.write(c);*/
function tnwFun(){
document.getElementById("demo1").innerHTML = a;
document.getElementById("demo2").innerHTML = b;
document.getElementById("demo3").innerHTML = c;
}
JavaScript Bracket Notation
var myObj = {tree: 'green', sky: 'blue', cloud: 'white'};
myObj['sky'] = 'gray'; //here i use ctrl+s to save
var myColor = myObj['sky']; //bracket notation
document.write(myColor);
JavaScript Dot Notation
var myObj = {tree : "green", sky : "blue", cloud : "white"};
myObj.cloud = "gray";
var myColor = myObj.cloud;
document.write(myColor);
Accessing Elements
// 1. Access Element By Id
/*
function tnwFun(){
var txt = "<b>Welcome to TNW(Web Service & ICT Solutions)</b><br /><br />TNW Provides The Best ICT Solutions For Your Business By The Reasonable Price.";
document.getElementById("tnwId").innerHTML = txt;
}*/
// 2. Access Elements By ClassName
/*
function tnwBlue(){
var i;
var x = document.getElementsByClassName("tnwPage");
for(i = 0; i < x.length; i++){
x[i].style.backgroundColor = "blue";
x[i].style.color = "white";
}
}
function tnwRed(){
var i;
var x = document.getElementsByClassName("tnwPage");
for(i = 0; i < x.length; i++){
x[i].style.backgroundColor = "red";
x[i].style.color = "white";
}
} */
// 3. Access Elements By Name
/*
function tnwBlue(){
var i;
var x = document.getElementsByName("tnwName");
for(i = 0; i < x.length; i++){
x[i].style.backgroundColor = "blue";
x[i].style.color = "white";
}
}
function tnwRed(){
var i;
var x = document.getElementsByName("tnwName");
for(i = 0; i < x.length; i++){
x[i].style.backgroundColor = "red";
x[i].style.color = "white";
}
} */
// 4. Access Elements By tagName
/*
function tnwFun(){
var i;
var x = document.getElementsByTagName("li");
for(i = 0; i < x.length; i++){
x[i].style.color = "red";
}
}*/
// 5. Access Element By CSS Selector
function tnwFun(){
var i;
var x = document.querySelectorAll(".tnwClass");
for (i = 0; i < x.length; i++){
x[i].style.color = "red";
}
}
JavaScript Basic Rules
// 1. JavaScript is case-sensitive
/*
var myTest = "I am Thet Naing Win";
var mytest = "Who are you?"
document.write(mytest);
*/
// 2. All the statements should end in semicolon
/*
var myStatement1 = "I am Thet Naing Win.";
var myStatement2 = "I am from Myanmar.";
var myStatement3 = "I live in Yangon now.";
var myStatement4 = "I am 35 now.";
document.write(myStatement1 + " " + myStatement2 + " " + myStatement3 + " " + myStatement4);
*/
// 3. All the variables mu be defined before using it. The type of data is put into the variables.
/*
var myVar1 = "I am Thet Naing Win."; //String
var myVar2 = "I am 35 now."; //number
document.write(myVar1 + " " + myVar2);
*/
// Global variable and local variable
/*
var tnwGlobal = "I am TNW Global."; //global variable
function myFun1(){
var tnwLocal1 = "I am TNW Local one."; //local variable
document.write(tnwGlobal + "<br />" + tnwLocal1);
}
function myFun2(){
var tnwLocal2 = "I am TNW Local two."; //local variable
document.write(tnwGlobal + "<br />" + tnwLocal2 + "<br />" + tnwLocal1);
}
*/
//Function two does not work as the local variable from myFun1() is being used in myFun2().
// 4. We can use single quotation mark or double quotation mark to declare the strings
/*
var myString1 = "I am Thet Naing Win.";//double quotation mark
var myString2 = 'I am from Myanmar.';//single quotation mark
document.write(myString1 + "<br />" + myString2);
*/
// 5. Varialbe increment or decrement
/*
var a;
a = a + 1; //or
a++;
a = a - 1; //or
a--;
*/
// For example
/*
for(var a = 9; a >= 1; a--){
document.write(a + "<br />");
}
*/
// 6. Comments
// We can use // or /* ------- */
JavaScript Syntax
//There is a difference between const and let & var.
//We can not use const like let and var.
//For example
const a = 9;
const b = 8;
const c = a * b;
document.write(c);
//we must use const keyword like this
Please look at the following video.
JavaScript Outputs
<!DOCTYPE html>
<html>
<head>
<title>JavaScript OutPut</title>
</head>
<body>
<p>alert</p>
<button type = "button" onclick = "jsAlert()">Try Now</button>
<p>console.log</p>
<button type = "button" onclick = "jsConsole()">Try Now</button>
<p>document.write</p>
<button type = "button" onclick = "jsWrite()">Try Now</button>
<p id = "demo">innerHTML</p>
<button type = "button" onclick = "jsInner()">Try Now</button>
<p>Window Print</p>
<button type = "button" onclick = "jsPrint()">Print Now</button>
<script>
function jsAlert(){
alert("Window Alert in JavaScript OutPut");
}
function jsConsole(){
console.log("Console Log in JavaScript OutPut");
}
function jsWrite(){
document.write("document.write in JavaScript OutPut");
}
function jsInner(){
document.getElementById("demo").innerHTML = "inner.html in JavaScript OutPut";
}
function jsPrint(){
window.print("Window Print in JavaScript OutPut");
}
</script>
</body>
</html>
Start writing JS codes
Adding script between <head> and </head>
<html>
<head>
<title>TNW (Web Service & ICT Solutions)</title>
<script>
var txt = "<b>Welcome to TNW (Web Service & ICT Solutions)!</b><br /><br /> TNW provides the best ICT Solutions for your business by the reasonable price.";
function myFun(){
document.getElementById("demo").innerHTML = txt;
}
</script>
</head>
<body>
<p id = "demo">TNW</p>
<button type = "button" onclick = "myFun()">Click Here</button>
</body>
</html>
Open notepad or text editor and write the above codes. Then, save it as test.html and try to open by one of the browsers on your computer.
Adding Script between <body> and </body>
<html>
<head>
<title>TNW (Web Service & ICT Solutions)</title>
</head>
<body>
<p id = "demo">TNW</p>
<button type = "button" onclick = "myFun()">Click Here</button>
<script>
var txt = "<b>Welcome to TNW (Web Service & ICT Solutions)!</b><br /><br /> TNW provides the best ICT Solutions for your business by the reasonable price.";
function myFun(){
document.getElementById("demo").innerHTML = txt;
}
</script>
</body>
</html>
Open notepad or text editor and write the above codes. Then, save it as test.html and try to open by one of the browsers on your computer.
SEMRush
If you are finding the SEO tools to get more traffic in your website, I would like to suggest you to try and use SEMrush. It is one of the best SEO tools. If you want to know more details, please click here.
Google Search Console
Google Search Console is one of the best free SEO tools for your website. There are so many features we can do in it such as Performance, URL Inspection, Coverage and Sitemap.
How to add your website Google Search Console
1. Firstly click here to enter Google Search Console.
2. Click Start now and type your domain or your URL and click continue.
3. Follow the instructions to verify ownership. There are so many ways we can choose to verify ownership.
Performance
After your website has been successfully added to Google Search Console, visitors can see your website in Google and you can check how many clicks and impressions you have got daily or weekly or monthly. You can also check which key word was used by the visitors to get your website. You can also check Pages, Countries and Devices.
Coverage
We can check which pages have what kinds of errors.
Sitemap
We can submit the sitemaps in the Google Search Console. We can write the codes ourselves or can use other third party websites to create sitemaps.
To use third party website, please click here. After creating sitemap, download it and upload to your hosting or server. After uploading, type the URL under Add a new sitemap and click submit.
Links
We can check External links, Internal links, Top linking sites and Top linking text.
(note: if you have something difficulty in using Google Search Console, please do not hesitate to contact me).
Thank you all.
Bing Webmaster
Bing Webmaster is one of the best free SEO tools with so many features such as Search Performance, URL Inspection, Site Explorer and Sitemaps.
1. Firstly click here to browse Bing Webmaster and sign in with Microsoft account or Gmail or Facebook.
2. There are two options to add your website into Bing Webmaster. One is importing from Google Search Console and another one is manually adding. Here I will choose Add Manually.
3. Enter your site name and click Add.
4. Follow the instructions to verify ownership. There are three ways to verify ownership. Choose one you prefer.
5. After successfully adding your site to Bing Webmaster, you can submit sitemaps and you can do other things such as Checking back links and Keyword research.
6. We can write the codes ourselves or we can use other third party websites to create sitemaps. To use third party websites, please click here.
7. After creating sitemaps, download it and upload to the server or web hosting.
8. Click Submit sitemap and enter your sitemap URL and click Submit.
(Note: if there is something difficulty in using Bing Webmaster, please do not hesitate to contact me)
Thank you all.
Yandex Webmaster
Yandex Webmaster is one of the best free SEO tools.
1. To use it, please crate a Yandex account or Login with Facebook or Google or Twitter. To login or create Yandex account, please click here.
2. After login, please click here to enter Yandex Webmaster.
3. Click Add site, enter Site address, click Add and follow the instructions to verify ownership.
4. There are three ways to verify ownership and please choose one you prefer.
5. Click Check to be able know your website has been successfully added or not.
6. After successfully adding the website, you can do so many things such as submitting sitemaps and checking the links.
7. To crate sitemaps, we can write the codes ourselves or can use other third party websites. To use third party website, please click here.
8. After creating sitemap, download it and upload to your web server or web hosting.
9. And then, click Sitemap files under Indexing. Fill your sitemap URL under Add Sitemap File and click Add.
10. You can check the Status if the submitting sitemap is successful or not. If the status shows Ok, you have already successfully submitted the sitemap.
(note: if there is something difficulty in using Yandex Webmaster, please do not hesitate to contact me)
Seobility
Seobility is one of the good SEO tools and easy to use. There are so many features we can use such as Keyword Checker, SEO Compare and Ranking Checker.
There are three plans in Seobility: Basic, Premium and Agency. We can use Basic plan free for lifetime. If you want to know more about Seobility, please click here.
GTmetrix
GTmetrix is one of the good SEO tools and it is easy to use. We can check our website Performance, Structure, etc., without doing registration. If you want to check your website performance, please click here. There are four plans in GTmatrix: Basic, Solo, Starter and Growth. We can use Basic Plan free for lifetime. If you want to know more about the plans and prices, please click here.
Google Analytics
Google Analytics is a free Web Analytics tool. By using it, we can get many benefits. Some of those are,
1. We can check how many users visit to your website per day or per month.
2. We can check Realtime Locations, Realtime Traffic Sources, Realtime Content, Realtime Events and Realtime Conversions.
3. We can check what time the users visit the website.
4. We can check which pages the users visit.
5. We can set up the goals.
We need to create account to use it. To create account please click here and sign in with your email address. And then, follow the instructions step by step. After creating account, add your website as a property and verify ownership. After verifying ownership, you can start to use it.
Marketgoo
Marketgoo is a cool SEO tool and so easy to use. You can audit your website for free. By using it, you can know the strong points and weak points of your website. If you are interested, please click here.
To get report, enter your website name and email. Then click Give Me My SEO Report.
IfastNet
IfastNet is one of the best web hosting companies. If you want to know more details, please click the following link.
Hostinger
Hostinger is one the best web hosting providers. If you want to know more details, please click the following links.
123 Reg (Domain Registration and Web Hosting)
123 Reg is one of the best domain registration and web hosting providers.
Knowledge Villa
Today, I provide business email service to Knowledge Villa for their company emails. I would like to say "Thank you so much" for their confidence in me.
TNW provides the best email service for your business.
Android application for Shop
By installing this android application (Shop) in your android phone, you can easily sell or buy your IT materials. And you can also search the solutions related with your ict problems in the website (tnwict.com) whenever you face the ict problems. And you can also discuss in the chat room. If you want to download the application, please click here.
Web service extension for www.myathtutkhaung.com
Today, Myanmar Astrologer U Myat Htut Khaung makes his personnel website extension with TNW (Web Service & ICT Solutions) for another one year. If you are interested in astrology, please click here to read the articles written by U Myat Htut Khaung.
Automotion Company Office Network
Today, I set up and configure one router, one access point, one Epson printer (network), one Canon printer (network) and one finger print (network) for the office of Automotion Company.
April Zaw Min Com., Ltd
TNW provides web development service and business email service for April Zaw Min Com., Ltd.
April Zaw Min Company Limited was organized and established since September 2017 and located at No.1214, Min Ye Kyaw Swar Road, North Dagon (Myothid), Yangon, Myanmar. April Zaw Min Company Limited has been registered at Ministry of Labour and has been recruiting under License No. 071/2019.
Services extension for Amog Tech Com Ltd.
Amog Tech Co., Ltd makes next two years extension with TNW (Web Service & ICT Solutions) for their company Web Service and Business Email Service. I want to say "Thank You So Much" for their extension with TNW(Web Service & ICT Solutions).
Core Choice Group Com Ltd.
I provide Web Development Service and Business Email Service for Core Choice Group Company Ltd. I want to say "Thank You" for their confidence in TNW (Web Service & ICT Solutions).
Core Choice Group Company Ltd is doing business about Recruitment, HR Consulting, Printing Service, Screen Printing Ink, Corporate Gift, Promotion Items and HR Outsourcing. Please click here to enter their website.
Freelance Marketing Executive
TNW is searching for those who have good talent and are willing to get new challenges and opportunities in Marketing Field.
Responsibilities
- You must use your own ability to get new customers for TNW (Web Service & ICT Solutions).
Requirements
- You must have good personality and attitude.
You must have knowledge about using internet and email.
- You must have marketing knowledge.
- You must have basic knowledge about Digital Marketing.
Benefits
- You will get up to 30% of the commission.
Inserting data into table (eg.3)
This step is a little bit more complex. In this step, we also check the User Id already exists or not. But, not too difficult. I hope you will be ok.
1. Create html form.
2. Connect to server.
3. Check form is filled or not.
4. Check the User Id already exists or not.
5. Insert data into table.
<?php
@$server = 'localhost';
@$username = 'root';
@$password = ' ';
@$db = 'TNW';
@$conn = mysqli_connect($server, $username, $password, $db);
if($conn){
if(isset($_POST['UserId']) && isset($_POST['FirstName']) && isset($_POST['LastName']) && isset($_POST['UserName'])&& isset($_POST['Password'])){
$userid = $_POST['UserId'];
$firstname = $_POST['FirstName'];
$lastname = $_POST['LastName'];
$username = $_POST['UserName'];
$password = $_POST['Password'];
//check form is filled or not
if(!empty($userid) && !empty($firstname) && !empty($lastname) && !empty($username) && !empty($password)){
//check userid already exists or not
$query = "SELECT `UserId` FROM `username` WHERE `UserId` = '".$userid."'";
$query_run = mysqli_query($conn, $query);
$row = mysqli_num_rows($query_run);
if($row == 1){
echo 'User Id already exists. Please choose another User Id.';
}else{
//insert data into table
$query = "INSERT INTO `username` VALUES('".$userid."', '".$firstname."', '".$lastname."',
'".$username."', '".$password."')";
$query_run = mysqli_query($conn, $query);
if($query_run){
echo 'Data is successfully inserted into table.';
}else{
echo 'Inserting Error!';
}
}
}else{
echo 'Please fill all fields.';
}
}
}else{
echo 'Error in Server connection!';
}
?>
<html>
<head>
<title>Inserting Data into table</title>
<style>
.tnwform{
padding: 20px;
}
</style>
</head>
<body>
<form action="inserting_data_into_tabel_3.php" method="POST" class="tnwform">
<label for="UserId">User Id</label>
<input type="text" name="UserId"><br /><br />
<label for="FirstName">First Name</label>
<input type="text" name="FirstName"><br /><br />
<label for="LastName">Last Name</label>
<input type="text" name="LastName"><br /><br />
<label for="UserName">User Name</label>
<input type="text" name="UserName"><br /><br />
<label for="Password">Password</label>
<input type="password" name="Password"><br /><br />
<input type="submit" value="Submit">
</form>
</body>
Inserting data into table (eg.2)
This step is a litter bit complex. But, not too difficult. I hope you will be ok.
1. Create html form.
2. Connect to server.
3. Check form is filled or not.
4. Insert data into table.
<?php
@$server = 'localhost';
@$username = 'root';
@$password = ' ';
@$db = 'TNW';
@$conn = mysqli_connect($server, $username, $password, $db);
if($conn){
if(isset($_POST['UserId']) && isset($_POST['FirstName']) && isset($_POST['LastName']) && isset($_POST['UserName']) && isset($_POST['Password'])){
$userid = $_POST['UserId'];
$firstname = $_POST['FirstName'];
$lastname = $_POST['LastName'];
$username = $_POST['UserName'];
$password = $_POST['Password'];
if(!empty($userid) && !empty($firstname) && !empty($lastname) && !empty($username) && !empty($password)){
$query = "INSERT INTO `username` VALUES('".$userid."', '".$firstname."', '".$lastname."',
'".$username."', '".$password."')";
$query_run = mysqli_query($conn, $query);
if($query_run){
echo 'Data is successfully inserted into table.';
}else{
echo 'Inserting Error!';
}
}else{
echo 'Please fill all fields.';
}
}
}else{
echo 'Error in Server connection!';
}
?>
<html>
<head>
<title>Inserting Data into table</title>
<style>
.tnwform{
padding: 20px;
}
</style>
</head>
<body>
<form action="inserting_data_into_tabel_2.php" method="POST" class="tnwform">
<label for="UserId">User Id</label>
<input type="text" name="UserId"><br /><br />
<label for="FirstName">First Name</label>
<input type="text" name="FirstName"><br /><br />
<label for="LastName">Last Name</label>
<input type="text" name="LastName"><br /><br />
<label for="UserName">User Name</label>
<input type="text" name="UserName"><br /><br />
<label for="Password">Password</label>
<input type="password" name="Password"><br /><br />
<input type="submit" value="Submit">
</form>
</body>
</html>
Inserting data into table (eg.1)
<?php
$server = 'localhost';
$username = 'root';
$password = ' ';
$db = 'TNW';
$conn = mysqli_connect($server, $username, $password, $db);
if($conn){
$query = "INSERT INTO `username` VALUES(1, 'Thet', 'Naing', 'thet', 'password1'),
(2, 'Michael', 'Win', 'win', 'password2'),
(3, 'Mya', 'Mya', 'myamya', 'password3')";
$query_run = mysqli_query($conn, $query);
if($query_run){
echo 'Successfully inserted data into table.';
}else{
echo 'Inserting error or Data already exits.';
}
}else{
echo 'Connecting to a database Error.';
}
?>
Deleting table in a database
<?php
$server = 'localhost';
$username = 'root';
$password = '';
$db = 'TNW';
$conn = mysqli_connect($server, $username, $password, $db);
if($conn){
$query = "DROP TABLE `username`";
$query_run = mysqli_query($conn, $query);
if($query_run){
echo 'Successfully deleted a table.';
}else{
echo 'Deleting a table Error.';
}
}else{
echo 'Connecting to a database Error.';
}
?>
Creating table in a database
<?php
$server = 'localhost';
$username = 'root';
$password = '';
$db = 'TNW';
$conn = mysqli_connect($server, $username, $password, $db);
if($conn){
$query = "CREATE TABLE `username`(
UserId int(30) NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName varchar(30) NOT NULL,
LastName varchar(30) NOT NULL,
UserName varchar(30) NOT NULL,
Password varchar(50) NOT NULL
)";
$query_run = mysqli_query($conn, $query);
if($query_run){
echo 'Successfully created a table.';
}else{
echo 'Creating a table Error.';
}
}else{
echo 'Connecting to a database Error.';
}
?>
Connecting to a database
<?php
$server = 'localhost';
$username = 'root';
$password = '';
$db = 'TNW';
$conn = mysqli_connect($server, $username, $password, $db);
if($conn){
echo 'Successfully connected to a database -' .$db. '.';
}else{
echo 'Connecting to a database Error.';
}
?>
Deleting a database
<?php
$server = 'localhost';
$user = 'root';
$password = '';
$conn = mysqli_connect($server, $user, $password);
if($conn){
$query = "DROP DATABASE `TNW`";
$query_run = mysqli_query($conn, $query);
if($query_run){
echo 'Successfully deleted a Database.';
}else{
echo 'Deleting a database Error.';
}
}else{
echo 'Connection Error';
}
?>
Creating a database
<?php
$server = 'localhost';
$user = 'root';
$password = '';
$conn = mysqli_connect($server, $user, $password);
if($conn){
$query = "CREATE DATABASE `TNW`";
$query_run = mysqli_query($conn, $query);
if($query_run){
echo 'Successfully created a Database.';
}else{
echo 'Creating a database Error.';
}
}else{
echo 'Connection Error';
}
?>
Connecting to database server in php
The following is the example of connecting to database server in php.
<?php
$server = 'localhost';
$user = 'root';
$password = '';
$conn = mysqli_connect($server, $user, $password);
if($conn){
echo 'Successfull connected to the server.';
}else{
echo 'Connection Error.';
}
?>
Codes for file upload in php (step4)
We can set the limitations in uploading files. For example, we allow to upload only jpg or jpeg images and the maximum file size is 800KB.
<?php
@$name = $_FILES['file']['name'];
@$type = $_FILES['file']['type'];
@$size = $_FILES['file']['size'];
@$extension = substr($name, strpos($name, '.')+1);
@$max_size = 800000;
@$tmp_name = $_FILES['file']['tmp_name'];
@$location = 'tnw87/';
if(isset($name) && !empty($name)){
if($extension == 'jpg' || $extension == 'jpeg'){
if($size < $max_size){
if(move_uploaded_file($tmp_name, $location.$name)){
echo 'Successfully uploaded!';
}else{
echo 'Upload Errors!';
}
}else{
echo 'The maximum file size is 800KB';
}
}else{
echo 'Only jpg or jpeg image is allowed!';
}
}else{
echo 'Please choose a file to upload';
}
?>
<form action = "upload.php" method = "POST" enctype = "multipart/form-data">
<input type = "file" name="file"><br /><br />
<input type = "submit" value = "Submit">
</form>
Codes for file upload in php (step3)
In this example, we will upload file to the designated location. So, we will create a folder to store the files we've uploaded and give name to that folder. I give it as tnw87. Ok, lets start write the following codes and discover how it works.
<?php
$name = $_FILES['file']['name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
$tmp_name = $_FILES['file']['tmp_name'];
if(@isset($name) && @!empty($name)){
$location = 'tnw87/';
if(move_uploaded_file($tmp_name, $location.$name)){
echo $name. ' is successfully uploaded.';
}else{
echo 'Upload Errors';
}
}else{
echo 'Please select file to upload';
}
?>
<style type = "text/css">
form{margin-top : 100px; margin-left : 50px;}
</style>
<form action = "upload.php" method = "POST" enctype = "multipart/form-data">
<input type = "file" name = "file"></br></br>
<input type = "submit" value = "Upload">
</form>
Codes for file upload in php (step2)
When we upload a file into one location, the file is firstly saved in temporary location as a temp file. Ok, lets discover how it works. We will write the following codes and test it.
<?php
$name = $_FILES['file']['name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
$tmp_name = $_FILES['file']['tmp_name'];
if(@isset($name) && @!empty($name)){
$location = 'tnw87/';
if(move_uploaded_file($tmp_name, $location.$name)){
echo $name. ' is successfully uploaded.';
}else{
echo 'Upload Errors';
}
}else{
echo 'Please select file to upload';
}
?>
<style type = "text/css">
form{margin-top : 100px; margin-left : 50px;}
</style>
<form action = "upload.php" method = "POST" enctype = "multipart/form-data">
<input type = "file" name = "file"></br></br>
<input type = "submit" value = "Upload">
</form>
Codes for file upload in php (step1)
<?php
@$name = $_FILES['file']['name'];
@$type = $_FILES['file']['type'];
@$size = $_FILES['file']['size'];
if(@isset($name) && @!empty($name)){
echo 'File name is <strong> '.$name.'</strong>, File type is <strong>'.$type.'</strong> nad File size is <strong> '.$size.'</strong>';
}else{
echo 'Please select file to upload';
}
?>
<style type = "text/css">
form{margin-top : 100px; margin-left : 50px;}
</style>
<form action = "upload.php" method = "POST" enctype = "multipart/form-data">
<input type = "file" name = "file"></br></br>
<input type = "submit" value = "Upload">
</form>
Timestamp in php
<?php
$time = time();
$time_now = date('D M Y & H:i:s', $time);
$time_modified = date ('D M Y @ H:i:s', strtotime('+ 1 year') );
echo 'The current time is '.$time_now.'.</br>The time modified is '.$time_modified.'.' ;
?>
Using header in php
<?php
$redirect_page = 'https://www.tnw87.com';
$redirect = true;
if($redirect == true){
header('location:' .$redirect_page);
}
?>
Search and replace in php
<?php
$offset = 0;
if(isset($_POST['text']) && isset($_POST['search']) && isset($_POST['replace'])){
$text = $_POST['text'];
$search = $_POST['search'];
$replace = $_POST['replace'];
$search_length = strlen($search);
if(!empty($text) && !empty($search) && !empty($replace)){
while($strpos = strpos($text, $search, $offset)){
$offset = $strpos + $search_length;
$text = substr_replace($text, $replace, $strpos, $search_length);
echo $text;
}
}else{
echo 'Please fill all fields!';
}
}
?>
<hr />
<form action="searchandreplace.php" method="POST">
<textarea name="text" rows="15" cols="60"></textarea><br /><br />
Search : </br>
<input type="text" name="search"><br /><br />
Replace : </br>
<input type="text" name="replace"><br /><br />
<input type="submit" value="Submit">
</form>
Similarity in php
<?php
$string = 'Hi, this is the php testing!';
$string1 = 'Hi, this is string testing!';
similar_text($string, $string1, $result);
echo $result;
?>
Wordcensoring in php
From the following example, you can learn the usage of form, textarea, isset, strtolower and str_replace. Every word 'love' you type in the text box, the codes will change with the word 'hate'.
<?php
$find = 'love';
$replace = 'hate';
if(isset($_POST['user_input']) && !empty($_POST['user_input'])){
$user_input = strtolower($_POST['user_input']);
$user_input_new = str_replace($find, $replace, $user_input);
echo $user_input_new.'</br>';
}else{
echo 'Please fill in the text box!';
}
?>
<form action = "wordcensoring.php" method = "POST">
<textarea name = "user_input" cols = "40" widths = "500"></textarea></br></br>
<input type = "submit" value = "Submit">
</form>
Array in php
Normally There are three types of array: Indexed Array, Associative Array and Multi-Dimentional Array.
1. Indexed Array (Works with number)
<?php
$snack = array('Banana', 'Ice-cream', 'Coconet', 'Mango', 'Orange');
$snack[1]='Alcohol';
echo $snack[1];
//print_r($snack);
?>
2. Associative Array (Works with name)
<?php
$snack = array('Banana' => 100, 'Apple' => 200, 'Cake' => 300);
echo 'The cake is '.$snack['Cake']. ' Kyat.';
?>
3. Multi-Dimentional Array
<?php
$food = array('Healthy'=>array('Salad'=>200, 'Milk'=>100, 'Coconet'=>200),
'Unhealthy'=>array('Alcohol'=>200, 'Beer'=>300));
foreach($food as $element => $inner_array){
echo '<br /><strong>'.$element.'</strong><br />';
foreach($inner_array as $inner_element => $item){
echo $inner_element.' = '.$item.'<br />';
}
}
?>
Matching with function in php
<?php
$string = 'I am Thet Naing Win and who are you?';
$find = '/000/';
function Match($find, $string){
if(preg_match($find, $string)){
return true;
}else{
return false;
}
}
if(Match($find, $string)){
echo 'Match Found!';
}else{
echo 'Match Not Found!';
}
?>
Matching in php
<?php
$string = 'Hi How are you?. I am Thet Naing Win. Nice to meet you!';
$find = '/000/';
if (preg_match($find, $string)){
echo 'Match Found!';
}else{
echo 'Match Not Found!';
}
?>
Randomization in php
<?php
if(isset($_POST['roll'])){
$rand = rand(000, 999);
echo 'You rolled a '.$rand.'.';
}
?>
<form action = "rand.php" method = "POST">
<input type = "submit" name = "roll" value = "Roll a Dice">
</form>
Using html form in php
<?php
if(isset($_POST["username"]) && isset($_POST["password"])){
$username = $_POST["username"];
$password = $_POST["password"];
if(!empty($username) && !empty($password)){
echo 'Welcome to TNW, '.$username.'!';
}else{
echo 'Fill in all fields!';
}
}
?>
<form action = "test.php" method = "POST">
Username:<br />
<input type = "text" name = "username"><br /><br />
Password:<br />
<input type = "password" name = "password"><br /><br />
<input type = "submit" value = "Log In">
</form>
Function with return value in php
<?php
function Add($num1, $num2){
$result = $num1 + $num2;
return $result;
}
function Divide($num1, $num2){
$result = $num1/$num2;
return $result;
}
$info = Add(Add(5,5), Divide(4,2));
echo $info;
?>
Function in php
<?php
function MyName(){
echo 'Thet Naing Win.';
}
echo 'My Name is ';
MyName();
?>
Do while loop in php
<?php
$count = 1;
$message = 'Hello!';
do {
echo $count.'. '.$message.'</br>';
$count ++;
}
while($count<=10)
?>
While loop in php
<?php
$text = 'I am Thet Naing Win.';
$count = 1;
while($count <= 10){
echo $count. ' '.$text.'!</br>';
$count ++;
}
?>
For loop in php
<?php
$text = 'I am Thet Naing Win.';
for($count = 1; $count <= 10; $count++){
echo $count. ' '.$text. '!</br>';
}
?>
For each statement in php
<?php
$food = array('Healthy'=>array('Salad', 'Milk', 'Coconet', 'Ground_nut'),
'Unhealthy'=>array('Alcohol', 'Beer', 'Ice_cream'));
foreach($food as $element => $inner_element){
echo '</br><strong>'.$element.'</strong></br>';
foreach($inner_element as $item){
echo $item.'</br>';
}
}
?>
Switch statement in php
$date = 'Sunday';
switch($date){
case 'Saturday';
case 'Sunday';
echo 'It is weekend!';
break;
default;
echo 'It is not weekend day!';
break;
}
?>
If statement in php
<?php
$num1 = 30;
$num2 = 40;
if($num1 > $num2){
echo 'Num1 is greater than Num2!';
} else if($num1 == $num2){
echo 'Num1 and Num2 are equal!';
}else{
echo 'Num2 is greater than Num1!';
}
?>
String replace in php
<?php
$string = 'I am thet naing win';
$find = array('thet', 'naing', 'win');
$replace = array('THET', 'NAING', 'WIN');
$string_new = str_replace($find, $replace, $string);
echo $string_new;
?>
String position in php
<?php
$string = 'I am Thet Naing Win. This is PHP Testing and Word position Test. If you are insterested in PHP, please join us!';
$find = 'T';
$find_length = strlen($find);
$offset = 1;
while ($strpos = strpos($string, $find, $offset)){
echo 'The Character <strong>'.$find. '</strong> is found at '.$strpos.'.</br>';
$offset = $strpos + $find_length;
}
?>
String lower and upper in php
We can change all characters to lower case by using strtolower. The following code is an example.
<?php
$string = 'I am ThEt NainG WiN!';
$string_low = strtolower($string);
echo $string_low;
?>
We can also change all characters to upper case by using strtoupper. The following is an example.
<?php
$string = 'I am ThEt NAInG win!';
$string_up = strtoupper($string);
echo $string_up;
?>
String trim in php
<?php
$string = 'I am Thet Naing Win.';
$string_trimmed = rtrim($string);
echo $string_trimmed;
?>
String reverse in php
<?php
$string = 'I am Thet Naing Win';
$string_reversed = strrev($string);
echo $string_reversed;
?>
String word count in php
<?php
$string = 'I am Thet Naing Win and who are you?';
$string_word_count = str_word_count($string, 1);
print_r($string_word_count);
?>
String length in php
<?php
$string = 'I am Thet Naing Win';
$strlen = strlen($string);
echo $strlen;
?>
Checking php version by Code
Write the following code and save it as info.php in C > xampp > htdoc.
<?php
phpinfo();
?>
Open Web Browser and type localhost/info.php in it and press Enter. Then, you will see the php version as the below picture.
Creating first php file in Windows
We need Apache Service to run php codes. Now I hope you've already installed the Apache Service in your Windows PC. If you have not installed, please click here.
We need Text Editor to write php codes. If you don't have any text Editor, please click here.
If you've completed the above steps. We will start to write php codes.
1. Open your Text Editor (here I use ConText) and create New File.
2. Choose PHP instead of Text files as the below picture.
3. Save that file as test.php in the C > xampp > htdoc.
4. In test.php, write the following codes.
Text Editor for Windows PC
We need Text Editor to write programming codes. ConText is one of the best open source text editors. Please click here to download.
Installing Xampp for Apache Service in Windows
We need Apache service to run php codes. Xampp is the open source software we can use as Apache Server in Windows. Please click here to download.
Before installing Xampp in Windows PC, you better decrease UAC Level and disable Firewall or Antivirus.You can set back default setting after installation.
How to decrease UAC Level
1. Type uac in the search box and press Enter.User Account Control Setting Box will be appeared.
2. Choose Lowest Level and Click Ok.
How to disable Firewall
1. Press Windows and R Keys together at the same time.Run Box will be appeared.
2. Type firewall.cpl in the Run Box and click OK.
2. Click Windows Firewall on or off.
3. Choose Turn off Windows Firewall and click OK.
Then, start to run the exe file you've downloaded and follow the procedures.It will take some time to finish installation.
Now, I hope you've successful installed. Open the Xampp Control Panel. Start Apache and MySQL. You will see as the following picture.
To test Apache Service in Windows,
Open Web Browser and type localhost in it and press Enter. You will as the following picture.
1. To check php version, click PHPInfo.
2. To MySQL Service, click phpMyAdmin.
Creating first php file in Ubuntu
We need Apache Service to run php codes. Now, I hope you've already installed Apache Service in your Ubuntu PC. If you have not installed it, please click here. Then, follow the below steps.
1. Click Open Folder Location.
2. Double click htdoc.
3. Right Click in htdoc and Click Open In Terminal.
4. Type nano in the Terminal and press Enter. And then, type the following php codes.
Installing Xampp in Ubuntu 18.04
1. Click here to download the Xampp Software for Ubuntu.
2. Open new terminal and type cd Downloads in it and press Enter.
3. Type sudo chmod +x xampp-linux-x64-7.3.0-0-installer.run and press Enter.
4. Type sudo ./xampp-linux-x64-7.3.0-0-installer.run and press Enter.
Now, you've successfully installed the Xampp in Ubuntu. To open Xampp, type the following command in the terminal.
sudo /opt/lampp/manager-linux-x64.run and press Enter. Then, the following welcome page will be appeared.
Go to Manage Servers and start MySQL Database and Apache Web Server.
To check Apache Web Server,
Open Web Browser and type localhost in it and press Enter. Then, you will see the following welcome page.
To check MySQL Service,
Type localhost/phpmyadmin/ in the browser and press Enter. Then, you will see the following welcome page.
Installing php 7.0 in Ubuntu
Installing php 7.0
sudo apt-get install php7.0
To search php extensions
apt-cache search php7.*
Then, you can install php extensions upon the services you need.
Installing MySql in Ubuntu
The followings are the commands to install MySql in Ubuntu.
1. Open new terminal and type sudo su in it.
2. Type apt-get install mysql-server php7.0-mysql and press Enter.
3. Type systemctl status mysql and press Enter. (Checking MySql service working or not)
4. Type systemctl enabel mysql and press Enter. (Enabling MySql service)
5. Type systemctl start mysql and press Enter. (Starting MySql Service)
6. Type mysql_secure_installation and press Enter. (Give Username, Password and follow the procedure)
7. Type mysql -u root -p and press Enter.(Log In MySql)
Installing Apache Service in Ubuntu
1. Open new terminal and then, we better type sudo su and press Enter for admin persmission before typing any command.
2. Type apt-get install apahce2 libapache2-mod-php and press Enter.
3. And then, type systemctl status apache2 to check if the apache service is running or not.
4. If the apache service is not running, type systemctl enable apache2 and press Enter, and then, systemctl start apache2 and presse Enter.
5. Open the browser and type localhost in it. Then you will see the following welcome page.
Using Network Discovery Tool (Nmap) in Ubuntu
Nmap is one of open source network discovery tools. In Nmap, there are so many features such as Target Specification, Host Discovery, Scan Techniques, etc,... . We can also check website is up or down by using Nmap. In this example, I'l tell you some functions under Host Discovery.
How to install Nmap in Ubuntu
Open a new terminal and type sudo apt-get install nmap in it. Wait a moment until the software is successfully installed.
1. Using List Scan (-sL)
Open new terminal and type nmap -sL domain name (eg. nmap -sL tnw87.com) in it. Then you will see ip address of 'tnw87.com'. If you don't see, your domain is errored in something.
2. Using Ping Scan (-sn)
Open new terminal and type nmap -sn domain name (eg. nmap -sn tnw87.com) in it. Then, you will see '1 IP address / 1 Host is up'. If you don't see, your domain is errored in something.
3. Treat all hosts as online (-Pn)
Open new terminal and type nmap -Pn domain name (eg. nmap -Pn tnw87.com) in it. Then, you will see '1 IP address / 1 Host is up'. And the services of http, https, http-proxy, https-alt are needed to be in open state. You don't see those conditions, your website is errored in something.
There are still so many features in Nmap. Open new terminal and type nmap in it and press enter. Then, you will see so many features. You can try those yourself.
Using Viber in Ubuntu
1. Click here and download Viber for Ubuntu. (Every file we download in Ubunt is saved in Download Page)
2. Copy or Cut downloaded file and paste in Home Page.
3. Open new terminal and type the following commands.
ls ~/viber.
sudo apt-mark hold libcurl3
sudo dpkg -i --ignore-depends=libcurl4 ~/viber.deb
sudo dpkg -i --ignore-depends=libcurl4 ~/viber.deb
sudo apt-mark unhold libcurl3
/opt/viber/Viber
4. Now you can start use viber in Ubuntu.
Screenshot Software for Ubuntu
Shutter is one of open source screenshot software for Ubuntu. It is not bad to use. In this software, you can use many features to do capture ,and can edit as well.
How to install
Open terminal and type the following command in it.
- sudo apt install shutter
How to open shutter
Open new terminal and type shutter in it and then, the shutter will be opened.
It is the good habit to run the following commands before installing any software in Ubuntu.
- sudo apt-get update
- sudo apt-get upgrade
Installing Ubuntu in Virtual Box
Virtualization
Virtualizatin is installing two or more operating systems in one physical machine. The main effects of using virtualizaton are security and cost saving. Oracle VirtualBox is one of virtualization softwares. It is open source software and totally free. Please click here to download. Install it after downloading.
Ubuntu
Ubuntu is one of open source operating systems. Please click here to download ubuntu ISO file.
Installing Ubuntu in VirtualBox
1. Start VirtualBox
- Open VirtualBox and Click New.
2.Choose Name and Operating System
- Type name in the Name box (for example, T N W)
- Choose operating system in Type box (here we will choose Linux)
- Chose version in Version box (here I will choose Ubuntu-64 bit)
- And then click Next.
3.Select Memory Size (RAM)
- Here I will give 4GB (4096MB) to the virtual machine
- Click Next.
4.Creating Virtual Hard Disk
- Choose Create a virtual hard disk now
- Choose VDI and click Next
- Choose Dynamically allocated and click Next
6. Starting Virtual Machine
- Click start
- Browse the Ubuntu ISO file you've downloaded.
- Click Start again.
- Select Language and click Install Ubuntu
- Click continue.
- Select Erase disk and install Ubuntu because there is noting in Virtual Hard Disk you've created.
- Click Install Now.
- Click continue.
- Choose location and click continue
- Select Keyboard Layout and click continue
- Fill Your Name and Secured Password
- Click Continue
- Now the machine is installing Ubuntu OS and it will take some time to complete.
- Click Reatart Now
- Press Enter
- Now your installation is complete and enter password to login
Checking the security of our Emails
https://haveibeenpwned.com is one of the best website to check the security of our emails. To check email security,
1. Type your email address in the email address box and click pwned?.
2. Then, you will see the result of your email.
How to add Gmail into Microsoft Outlook
Before adding Gmail account into Microsoft Outlook, you need to change some settings in Gmail.
1. As shown in the above picture, click Gmail account and click Manage your Google Account again.
2. As shown in the above picture, click Security and turn off 2-Step Verification if you've turned on it.
3. As shown in the above picture, turn on Less secure app access.
4. As shown in the above picture, click settings and click settings again. Choose Enable POP and click Save Changes.
5. Open Microsoft outlook application and choose Manual setup or additional server types as shown in the above picture. Click Next.
6. Choose POP or IMAP as shown in the above picture. And then, click Next.
7. As shown in the above picture, Fill Your Name, Your Email Address, Incoming Server, Outgoing Server, Username and Password. And then, click More Settings.
8. As shown in the above picture, select My outgoing server (SMTP) requires authentication and Use same setting as my incoming server under Outgoing Server Tab. And then click Advanced.
9. Fill all the fields as shown in the above picture and click Ok.
10. As shown in the above picture, click Test Account Settings. And then you will see it works properly. Click Close and Click Next. You will see the above picture again. Click Close and click Finish. Now you can use your gmail account in Microsoft Outlook.
How to use Gmail securely
Sometimes, we may click the links sent by hackers and type the username and password. The hackers already know your username and password as soon as you type the username and password in the faked sites. To prevent such kind of case, you can use the following methods:
1. Use Your phone to sign in
Even if the hackers know your username and password, they still can't sign in to your account. Every time they sign in, Google will send notification to your phone. As long as you don't allow, they can't sign in.
2. Two Step Verification
Every time the hackers sing in to your account or you sing in to new devices, Google will send you the six digit verification code to your phone. Even if other people know your username and password, they can't log in to your account without knowing the six digit verification code sent to your phone.
How to configure
1. Sign in to your Gmail Account.
2. As shown in the above picture, click the User Account and click Manage your Google Account again.
3. As shown the above picture, click the Security and click again the one you want to configure and follow the instructions.
Remote Desktop Applications
The followings are some of the remote desktop applications I prefer to use.
1. AnyDesk
There are two versions in AnyDesk: free version and licensed version. It can be used in several platforms. If you want to download it, please click here.
2. TeamViewer
TeamViewer also has two versions: free version and licensed version. It can also be used in several platforms. If you want to download it, please click here.
3. Ultraviewer
If you are searching Remote Desktop Application for your Windows Computer, Ultraviewer is one of the best Remote Desktop Application software. If you want to download, please click here.
Checking the website is a scam or legit
Browsing some websites may be dangerous. So, sometimes we want to know that the websites we are browsing are scam or safe. If you want to check the website is scam or legit, please click here and enter the website you want to check in the "Search a website" box and click Search. Then, you will see Trust score.
Testing spam score of our Emails
Sometimes, we may face the problem that every of our sending email directly goes into the spam box of the email receivers. At that time, we should check the spam score of our email addresses. Checking the spam score is one the solutions we should do. The following is the way to do spam score testing of our email addresses.
1. To test spam score, please click here. The following screen will be appeared.
2. As per above picture, copy the link and paste into the email "To" box as per below picture.
3. Send Email. After sending email, click "Then Check Your Score" and you will see the score of your emails as per below picture.
Should we check mails in Spam of public emails such as Google and Yahoo?
Yes, off course. We should check the emails in Spam. Why? When the private email users send mail to the free or public email users such as Google and Yahoo, the unknown emails will be stored in Spam / Junk (that is security policy of public emails). At that time, open the email and click "Report not spam". After doing that, the emails from a private email user you've reported as "Not Spam" will be stored in Inbox. But checking the emails in Spam is the good habit for the public email users. I write this post because some public email users such as Google and Yahoo are missing the important mails from the private email users.
Thank you.
How to add zawgyi one in Websites
If your website is html site, find index.html.
If your website is asp site, find index.asp.
If your website is php site, find index.php.
If your website is blog, find edit html.
Then, paste the following codes between <head>......</head>.
<head>
<link href="https://tnwict.com/assets/mmfont/zawgyi.css" rel='stylesheet' type='text/css'/>
<style>
.zawgyi {
font-family:Zawgyi-One;
}
article,content,h1,h2,h3,h4,h5,body,html,p,code,*,table,td,tr,span,div,a,ul,li,ol,input,textarea{font-family:"Zawgyi-One";!important;}
</style></head>
Now, your website can describe in Myanmar Font (Zawgyi One).
If you want the codes, please click here to download.
Checking DNS (domain name system)
We can use nslookup command to check dns (domain name system). The following is the way to check.
In windows,
1. Press Windows + R keys together. Run Box will be appeared.
2. Type cmd in the run box and click OK. Command Prompt will be appeared.
3. Type nslookup in the command prompt and press enter.
4. Then, type example.com or www.example.com and press enter. If your dns is working, you will see Name and Address as the following picture.
In Linux,
1. Open new terminal and type nslookup and press enter.
2. Then, type example.com or www.example.com and press enter. If your dns is working, you will see Name and Address.
Using the third party software/website to check dns
We can check our dns by using third party website. If you want to check, please click here.
Why should we use business or private emails in business?
There are many public email providers such as google, yahoo, and outlook. We can use those public emails by free of charge. But using public emails is not as secured as private emails. Why? Millions of users are using public emails by free of charge. So, each user can't be administrated on the server. By using private emails, you will get the following benefits:
1. Security
We can also filter the spam mails in Public Emails. But not 100%. We can filter the spam mails in the server by using private emails. And, we can also use private encryption. So, more secured.
2. Email Names
We can't choose the email names what we want by using public email services. For example, we can't get [email protected] or [email protected]. By using private emails, you can get the email names what you want. For example, [email protected] or [email protected].
3. Impression of Customers
Using public emails is not suitable in the businesses. Using private emails is the best habit to get impression of the customers.
How can we get private / business Emails?
1. Google provides Google Suite for private email service.
2. Microsoft provides Office 365 for private email service and applications.
3. Setting up private / own exchange servers. It is not suitable for small business as the cost is high.
4. The best and cheapest way is using Web Mail that is included POP3, IMAP and SMTP .
IT Career
Some of the young people ask me about IT careers. They don't know how to start to enter IT field although they are interested in IT so much. This post is designated for those young people.
Internet Speed Test
We can do internet speed test by using fast.com and speedtest.net. To do internet speed test, open the web browser and just type fast.com or speedtest.net in it and press Enter. Then, you can see the internet speed.
Defencebyte
Defencebyte is one of the best computer security software. There are three main products in defencebyte: Anti Ransomware, Computer Optimizer and Privacy shield. Defencebyte is not a freeware. But we can use it as a trial version for limited duration.
Kaspersky Lab
Kaspersky is one of the most popular antivirus software.
RoboForm Password Manager
RoboForm is one of the best password management software. We can randomly create strong and secured passwords for each site such as Google, Facebook and LinkedIn. We don't need to remember or type passwords again to login the sites. RoboForm will manage it for you.
SpyHunter Malware Removal Tool
SpyHunter is a small and good Malware removal tool. It is also easy to use. It is specialized for Malware and vulnerability detection. We can use it as free version for life time. If you want to download free version, please click here. If you want to purchase it, please click here.
IObit Malware Fighter
IObit Malware Fighter is one of the best anti-malware and antivirus software. It supports full protection against from ransomware. And it can also support full protection against from various kinds of malicious files. There are two versions in IObit Malware Fighter. One is Pro version and another one is Free version. We can use Free version for life time. If you want to download it, please click here.
Microsoft Malicious Software Removal Tool
Malware and virus cause harm to our computers. Sometimes, those can even cause damage of our computers. If you suspect your computer is infected by malware, you can use Microsoft Malicious Software Removal Tool. Please click here to download it.
Bitdefender Antivirus
Bitdefender is one of best antivirus software. It can be used in Windows, Mac and Android. We can also use free version. So, if you are looking for free antivirus software, bitdefender is not bad to use. If you want it, please click here to download.
Avira Antivirus
Avira is one of the best antivirus software. It can be used in Windows, Mac and Android. You can also get free version. If you want to download it, please click here.
AVG Antivirus
If you are searching free antivirus for your PC, AVG is one of the antivirus software you can get free. There are two types of versions in AVG. One is free version and one is ultimate version.
If you want free version, click here and can download it.
If you want ultimate version, click here and can download it.
Avast Antivirus
Avast is one of the best antivirus software. You can also get free version for your windows PC. If you want to download it, please click here.
How to set up default location for downloaded files in Opera Browser
We better set the default location to save download files. For example, D:/Download Files. I've made a video about it.
How to set up default location for downloaded files in Microsoft Edge Browser
We better set the default location to save download files. For example, D:/Download Files. I've made a video about it.
How to set up default location for downloaded files in Mozilla Firefox
Tor Browser
Tor browser is one of the best browsers I've ever used. It can make us the annonymous users on the internet. It is totally free and auto VPN enabled browser. It is a cool browser although some websites do not accept it. If you want to download it, please click here.
How to set up default location for downloaded files in Google Chrome
We better set the default location to save download files. For example, D:/Download Files. I've made a video about it.
Vivaldi Browser
Vivaldi browser is one the best browsers. It is really fast and cool to use. If you want to download it, please click here.
Yandex Browser
Yandex browser is one of the best browsers. It is fast and cool to use. If you want to download it, please click here.
Using Bookmarks Toolbar in Firefox
1. Click this button at the upper right corner of the browser.
2. Click Bookmarks and click Bookmarking Tools again.
3. Click View Bookmarks Toolbar.
4. Type a website name in the browser and press Enter. (eg. www.tnw87.com)
5. Click this button at the upper right corner of the browser. New Bookmark Box will be appeared.
6. In Name, you can give the name you want and In Folder, choose Bookmarks Toolbar. And then, click Done.
Now, you've successfully saved the website in the bookmarks toolbar.
Using Bookmarks Bar in Google Chrome
Why should we use bookmark in browsers?
We can save all the good and useful websites we have browsed in the bookmarks bar. By doing so, you can easily enter the websites in next times without typing any character in the browser. The following is the way to use bookmarks bar in google chrome.
1. Click three dot button at the upper right corner of the browser.
2. Click bookmarks and click Show bookmarks bar again.
3. Type a website name in the browser and press enter. (eg. www.tnw87.com).
4. Click star button at the upper right cornet of the browser.
5. Edit bookmark box will be appeared. In Name, you can give the name you wish and in Folder, choose bookmarks bar. And then, click Done.
6. Now you will see TNW in the bookmarks tool bar. If you want to enter www.tnw87.com in future, you don't need to type any character in the browser. Just click in the Bookmars Bar.
How to change default font in Opera Browser
1. Click opera button at the upper left corner and select settings.
2. Click Customize fonts and choose the fonts you want to change as shown in above picture. (Here I choose Zawgyi-One for Myanmar font)
Opera Browser
Some people may face the problem that internet browser installed in computer can't be used sometimes because of different kinds of reasons. So, we should install more than one browser in our computer.
Opera Browser is one of the best browsers. Facebook, Messenger and WhatsApp are already installed in it. And you can also use Snapshot to capture the screen. If you wnat it, please click here to download.
How to change default font in Google Chrome
I've made a video concerned with how to change default font in Google chrome.
How to change default font in Mozilla Firefox
1. According to the picture, click three line button at the upper right corner and click Settings again.
2. According to above picture, select the font you want to set as default font. If you want to see Zawgyi (Myanmar font) in browser, please select the Zawgyi-one. If you want to see Unicode (Myanmar font), please select pyidaungsu font.
Mozilla Firefox
Mozilla Firefox is one of the most famous and good browsers. You can download it here. (Note: this is not offline installer. So, you need to run and download again after you've downloaded it. You better run it from online directly for the security reason. The offline installer is not as secured as installing at online.)
How to clean up the hard disk in computer
There are many software to clean up hard disk in computer. We can also clean up hard disk in computer without using any third party software. The first way is using cleanmgr. To use cleanmgr,
1. Press Windows key and S key together at the same time.
2. Type cmd in the search box.
3. Click "Run as administrator" and click Yes.
4. Type cleanmgr in the command prompt and press Enter.
5. Select the drive (C or D) you want to clean up and click OK.
6. Select All and click OK. (Note: please do not select Downloaded Program Files if you don't want to delete downloaded files)
7. Click Delete Files. (Wait a second while deleting)
8. Now, you've successfully cleaned up.
The next way is using using Disk Cleanup in the Administrative Tools. To use it,
1. Press Windows key and R key together at the same time.
2. Type control in the run box and click OK.
3. Click System and Security.
4. Click Administrative Tools and click Disk Cleanup again.
5. Select the drive (C or D) you want to clean up and click OK.
6. Select All and click OK. (Note: please do not select Downloaded Program Files if you don't want to delete downloaded files)
7. Click Delete Files. (Wait a second while deleting)
8. Now, you've successfully cleaned up.
How to check the hard disk in computer
There are so many software to check hard disk in windows computer. We can also use chkdsk to check hard disk without using third party software. To check hard disk by using chkdsk,
1. Press windows key and s key together at the same time.
2. Type cmd in the search box.
3. Click "Run as administrator" and click Yes.
4. Type chkdsk in the command prompt and press Enter.
The system will check hard disk. We don't need to "RESTART". After checking, you can see the result in the command prompt.
The next time, we will check the windows partition. In this time, we will need to do "RESTART". To check windows partition,
1. Press windows key and s key together at the same time.
2. Type cmd in the search box.
3. Click "Run as administrator" and click Yes.
4. Type chkdsk /f C: in the command prompt and press Enter. If you want to check
5. Type Y behind checked the next time the system restarts and press Enter.
6. To restart the computer, type shutdown -r -t 0 in the command prompt.
7. The system will check the hard disk while restarting.
* Thank You So Much *
The basic software list should have been installed in our computer
This is the basic software list should have been installed in our computer after new windows installation.
1. Driver software to check the drivers are up to date or not.
2. Antivirus software for security.
3. Zip software to zip or unzip files.
4. Pdf software.
5. Office software.
6. Media players to open video or audio files.
7. Browsers.
8. Viber, Whatsapp, etc,.
9. Myanmar Keyboard and Fonts (Only for Myanmar users).
10. Format factory to change format of video/mp4 files.
11. Cleaning software to clean up the computer.
How to create or delete new partitions / volumes
Using Disk Management
We can create new partitions, delete partitions and change drive names by using disk management in windows. How to use disk management?
1. Press Windows and R Keys together at the same time. Run Box will be appeared
2. Type diskmgmt.msc in the Run Box and click OK
Then, follow the below instructions.
1. Select the drive(C or D) you want to create new partition
2. Press Right Click and click Shrink Volume
3. Enter the amount of space we want to create for new partition
4. Click Shrink and wait a moment
5. The Unallocated space will be appeared and select it
6. Press Right Click and click New Simple Volume
7. Click Next and Next again.
8. Choose Drive Letter(D, E, F) and click Next
9. Choose File System(FAT, NTFS) and give name to the volume / partition in the Volume label
10. Click Next and Finish.
Now, we've successfully created new volume/partition.
How to delete volumes / partitions
1. Right click the partition you want to delete and click Delete.
Some of open source IDE Software
There are so many IDE software we can use for coding. Some can be used free and some can't be. Here are some of IDE software I prefer to use for coding.
1. CodeLite
2. Eclipse
5. PyCharm
How to troubleshoot internet connection problem in windows computer
Sometimes, some people may face the problem related with WiFi internet connection. The problem is that some people can't get internet connection although some can use internet by connecting the same WiFi. If your network administrator does not filter your computer, that may be because of widows error. To fix that kind of error,
1. Check your computer IP address and note it.
2. Manually set up the noted IP address in the computer.
3. When you get the internet connection, fix your computer errors.
4. After fixing the errors, you can select Obtain IP address automatically instead of using IP address manually in the step 2.
Format Factory - Free media file format processing tools
Format Factory is one of the best media file converters. It provides so many functions such as video converter, audio converter, etc,. It is a freeware and easy to use. Please click here to download it.
IObit Uninstaller
IObit Uninstaller is one of the best uninstallers to uninstall the unwanted software. It not only can uninstall the software but also can clean up the registry and other files associated with the software you've uninstalled. When we uninstall the software ourselves, we need to manually clean up the registry and other files associated with the software we've uninstalled. If we don't clean up the registry and other associated files after uninstalling the software, the computer may be getting slow. By using IObit uninstaller, we don't need to manually clean up the registry and associated files. So, we better use IObit uninstaller to uninstall the unwanted software instead of uninstalling ourselves.
How to make a computer secure and run faster
Please follow the below steps to make your computer secure and run faster.
1. Please clean up your computer according to this post.
2. To clean up the registry errors, please use Registry Reviver or CCleaner or Advanced System Care.
3. Install antivirus software to protect the virus.
4. Check computer drivers are up to date or not.
By following the above steps, you can make your computer secure and run faster.
Thank you All.
IObit Screen Recorder
IObit Screen Recorder is one of the best screen recorders. We can record full screen or custom screen as video formats and recording time is unlimited. The webcam also can be used during recording time. It is really cool software and totally free. If you want to download it, please click here.
How to check memory(RAM) problems in Windows Computers
To check memory problems in Windows Computers,
1. Press Windows key and R key together at the same time.
2. Type control in the run box and click Ok.
3. Click System and Security.
4. Click Administrative Tools.
5. Click Windows Memory Diagnostic.
6. There are to options we can choose. But we better choose Restart now and check for problems.
7. And then your computer will restart and check memory errors.
How to download the video files from the websites
We can use internet download manager, Freemake video downloader, etc. to download the videos from the website such as YouTube. I've made a video to explain how to download videos from the website by using Freemake video downloader. You can see it in YouTube.
How to take screenshot in Windows PC
There are many was and software to take screenshot in our computers. Among these ways and software, using lightshot is my favorite way. And it is also a freeware. I've made a video concerned with how to take a screenshot in our computer. You can see it in YouTube.
How to check IP Address, MAC Address and DNS Server in Windows Computer
We need to know IP address, MAC address and DNS Server to troubleshoot internet errors in our computers. And we also need to know those to administrate the network. I've made a video about it. You can see it in YouTube.
How to uninstall the software in Windows Computer
Sometimes we may need to uninstall the software we've installed in our computers. At that we can uninstall by ourselves and we can also use other third party software. I've made a video to explain how to uninstall the software by using iobit uninstaller. You can see it in YouTube.
About Desktop Icons in Windows Computer
Desktop icons are very useful for computer beginners who don't know computer shortcut keys. I've made a video about that. You can see it in YouTube.
How to clean up Windows Computer
1. %temp%
2. prefetch
3. cleanmgr.exe
4. sfc /scannow
5. DISM /Online /Cleanup-Image /RestoreHealth
How to remove user account password in Windows Computer
Sometimes we may need to remove or change password in our windows computer because of different kinds of reasons. I've made a video about that. You can see it in the following video.
How to create user account password in windows
Sometimes we may need to create more than one user account in our windows computer. I've made a video about that. You can see it in YouTube.
How to shutdown your windows computer by command prompt
Sometimes, we can not shutdown our computer by shutdown button because of different kinds of reasons. At that time we should try to shutdown the computer by command prompt. Please follow the following steps to shutdown your windows computer by command prompt.
1. Press windows button and S key at the same time.
2. Type cmd in the search box.
3. Click "Run as Administrator" and Click "Yes".
4. Type shutdown -s -t 0 in the command prompt and press Enter.
Microsoft Office and WPS Office
Word, Excel and PowerPoint are the basic essential applications for a windows user. Those files can be made by using the following software.
1. Microsoft Office
I think every windows user already knows about Microsoft Office. It is the basic essential software we should have installed in our computer for daily use. It provides so many features such as Word, Excel, PowerPoint, Outlook and One Note, etc., .But, it is not a freeware. If we will use it, we need to pay license fee.
2. WPS Office
WPS Office can be used in multiple operating systems. There are three versions in WPS Office:
1. WPS Office Free
2. WPS Office Premium
3. WPS Office Business
If you have not installed any office software in your computer and searching the free office software for Word, Excel and PowerPoint, you should try to use WPS Office Free Version. By using WPS Office, you can also do so many functions such as combining pdf files and converting pdf file to (Word, Excel, PowerPoint) files, etc., . If you want to download it, please click here.
Zip / Unzip software
We need zip software to unzip the zipped folder or to zip the folder. The followings are some of zip software I prefer to use.
1. 7-Zip
It is a totally freeware and one of the best zip software. If you have not installed any zip software in your computer and searching free zip software, you should use 7-Zip. If you want to download it, please click here.
2. WinRAR
It can be used in multiple operating systems. It is one of the best zip software and we can use it as a freeware. If you want to download it, please click here.
3. WinZip
You can use it as 21-day free trial. But, it is not a freeware. You have to pay license fee after 21-day free trial if you will continue to use it. You can uninstall it if you don't to use it anymore. If you want to download it, please click here.
Media Players
The followings are some of the best free media players I prefer to use. If you want to download, please click the links.
1. VLC
2. KMPlayer
3. MPC-HC
Free text editors for windows users
Here are some of the best free text editors I prefer to use. If you want to download, please click the following links.
1. Notepad++
2. ConTEXT
How to check system information in Windows PC
Checking by DirectX Diagnostic Tool
1. Press Windows and R keys together at the same time. Run Box will be appeared.
2. Type dxdiag in the run box and click Ok. DirectX Diagnostic Tool screen will be appeared.
3. You can check the system information of the computer as the following picture.
Another way is typing msinfo32 in the run box and click OK. Then, system information screen will be appeared.
How to disable or enable Startup Applications in Windows Computer
When we start to open computer, it will work very slowly if so many Startup programs are running. So, we need to disable unnessary programs at the startup time. And, some neccessarty programs are not running at the startup time. For example, antivirus software. At that time, we need to enable the programs. The following is the way to enable or disable the programs:
1. Press Windows and R Key together. The Run Box will be appeared.
2. Type control in it and click OK. Control panel screen will be appeared.
3. Click System and Security.
4. Click Administrative Tools.
5. Click System Configuration and the following screen will be appeared.
6. Click Startup Tab.
7. If you want to disable the unnecessary applications, unselect those and click Apply and Ok.
8. If you want to enable the necessary applications, select those and click Apply and Ok.
Please look at the video
Using Computer Management in Windows
To open Computer Management Service Windows
1. Press Windows and R keys together at the same time. Run Box will be appeared.
2. Type compmgmt.msc in the run box and click OK.
Then, Computer Management Windows will be appeared.
There are Task Scheduler, Event Viewer, Shared Folders, Local Users & Groups, Performance, Device Manager and Storage.
Task Scheduler
We can create and manage tasks in our computer.
Event Viewer
We can view all the events occurred in our computers.
Shared Folder
We can check the folders we've shared, session and open files.
Local Users and Groups
We can create the new users and groups. We can check the current users and groups.
Performance
We can check CPU, Memory, Disk and Network. Click the Open Resource Monitor in the middle pane and the following windows will be appeared.
To be fast and good computer, System Board, CPU, Memory and Hard Disk are needed to be in good conditions. Our computer will not work properly if some of these things are not in good conditions. So, We need to check CPU, Memory and Hard Disk.
Device Manager
We can check all drivers are up to date or working properly.
Storage
We can create new partitions, delete partitions and change drive letter by using Disk Management.
Using Component Service in Windows
To use component services in Windows:
1.Press Windows and R keys together at the same time. Run Box will be appeared.
2.Type comexp.msc in the run box and click OK. Component services windows will be appeared.
In Event Viewer, we can check all the events in our computer.
In Services, we can start or stop the services. Some of the services start automatically when we turn on our computers. Running so many services at the computer start up time makes our computer slow. So, we need to disable the services we don't need. Some services do not run automatically when we turn on our computers, for example, anti-virus software. At that time, we need to enable the services we need. The following is the way to enable or disable services in windows computer.
1.Click the services in the left pane.
2.Double-click the services you want to enable or disable in the middle pane.
3.You can choose one of Starup Types: Automatic(Delayed Start), Automatic, Manual, Disabled.
4.Click Start or Stop and then, click Apply and OK.
How to recover hidden files and folders in windows computer
Sometimes, we face the problem that the files or folders in our computers or hard disk or memory sticks are disappeared or hidden. In this kind of case, we can use command prompt to recover those hidden files or folders. The following is the way to recover the hidden files or folders by command prompt in windows OS.
1. Press Window + R keys together. Run Box will be appeared.
2. Type cmd in Run Box.
3. Check your drive is in which drive letter. Step 4 is the way to check drive letter.
4. Press Window + E together. Then you will see your drive is allocated in which drive letter.
5. Lets say your drive is in the drive name E. Type E: in the command prompt and press Enter.
6. Type dir/a and press Enter. (you will see all the files and folders located in your drive).
7. Type attrib -h -s -a -r "hidden file / folder name" and press enter.
8. In this way, you can get back all of your hidden files or folders one by one.
Please look at the following video
How to test network connection in Windows Computer
We can use ping command to test network connection. The following is the way to test connection in windows computer.
1. Press windows and R keys together. Run Box will be appeared.
2. Type cmd in the run box. Command Prompt Box will be appeared.
3. Type ping www.google.com or (www.example.com) in the command prompt and press Enter. Mostly, we use google.com to test internet connection.
Then, you will see the network connection status as shown in the below picture.
How to set up ip address manually in Windows PC
Sometimes, we need to give ip address to computers manually so that we can manage the users in the network.
Why we need to do so?
For example,in some organizations and firms, although some people are allowed to use everything, some people are not allowed to use YouTube and some people are not allowed to use Facebook for bandwidth management.
By giving ip address to computer manually, you can do bandwidth and traffic management easily. In some routers and access points, you can manage ip address for the users from the routers or access point. In this post, i will tell you how to give ip address to computers manually.
1. Press Windows and R keys together at the same time and run box will be appeared.
2. Type ncpa.cpl in the run box and press Enter. The following windows will be appeared.
3. If you use WiFi, right click the Wi-Fi button and select properties.
If you use cable, right click the Ethernet and select properties.
4. Select Internet Protocol Version 4 (TCP / IP 4) and click proterties.
5. Select Use the following IP address option and fill the IP address, Subnet mask, Default gateway and DNS servers and click ok. The below picture is an example
Knowledge about Hard Disks
There are various types of Hard Disks. Some of them are:
IDE : Integrated Device Electronic. Known as PATA as well.
PATA : Parallel advance technology attachment
- Mostly found in Desktop computers. But, don't use so much nowadays.
SATA: Serial Advance Technology Attachment
- Used in Laptops, Desktops and Servers.
SAS: Serial Attached SCSI
SCSI: Small Computer System Interface
- Mostly found in Servers.
- Nowadays most of the computers and servers use ssd.
Cleaning Up Disk in Windows
We can clean up system error memory dump files from hard disk that make computer slow to work. How to clean up?
1. Press Windows and R keys together at the same time. Run box will be appeared
2. Type cleanmgr.exe in the Run Box and click OK
3. Select drive you want to clean up and click OK
4. Select all files or files you want to delete and click OK
5. And then, click Delete Files
Checking Disk
We can use windows command to check disks in computer. How to check?
1. Go to command prompt
2. Press Right Click and click Run As Administrator
3. Type chkdsk in the command prompt and press Enter
Then, system will check the disk.
Please click here for more details.
Using Disk Management
We can create new partitions, delete partitions and change drive names by using disk management in windows. How to use disk management?
1. Press Windows and R Keys together at the same time. Run Box will be appeared
2. Type diskmgmt.msc in the Run Box and click OK
Then, we can manage the disks.
How to create new partitions / volumes
1. Select the drive you want to make partition
2. Press Right Click and click Shrink Volume
3. Enter the amount of space we want to create for new partition
4. Click Shrink and wait a moment
5. The unallocated space will be appeared and select it
6. Press Right Click and click New Simple Volume
7. Click Next and Next again.
8. Choose Drive Letter(D, E, F) and click Next
9. Choose File System(FAT, NTFS) and give name to the volume/partition in the Volume label
10. Click Next and Finish.
Now, we've successfully created new volume/partition.
How to delete volumes / partitions
1. Right click the partition you want to delete and click Delete.
How to create new user account in windows pc
Mostly we need to create user accounts for file sharing. But, in some organizations or farms, two or more users use in the same computer. At the time, we also need to create user accounts for security reasons. In some organizations or farms, the users are not allowed to use admin right. Without admin right, you can't install or uninstall any software and can't change any system setting. So, the users can be managed easily by creating user accounts in windows. The following is how to create user accounts in windows:
1. Press Windows and R keys together at the same time and the run box will be appeared.
2. Type control in the run box and the following screen will be appeared.
3. Click User Accounts and User Accounts again.
4. Click Manage another account and click add a new user in pc settings.
5. As shown in above picture, click Add someone else to this PC and the following box will be appeared.
6. Fill User name and Password and click Next and you've successfully created user account.
7. As shown in above picture, click Change account type if you want to change account type.
8. There are two type of accounts: Standard user and Administrator. Standard user can't install or uninstall any software and can't change any system settings though the administrator account can do all.
How to create bootable usb drive
1. Insert your usb disk into your computer.
2. Press Windows + R keys together.
3. Type cmd in the run box and click Ok.
4. Type diskpart in the command prompt and press enter.
5. Click Yes when the User Access Control Box is appeared.
6. Type list disk in the command prompt.
7. You will see the disks.
8. Type select disk 1 or 2 or something (choose the usb disk number you want to make bootable).
9. Type clean in the command prompt.
10. Type create partition primary.
11. Type select partition 1.
12. Type active.
13. Type format fs = ntfs . (Wait until the format completes)
14. Type assign .
15. Copy the Windows files and past those into the usb drive.
16. Now you can use this usb as a bootable drive .
How to check ip address in windows pc
1. Press windows and R keys together at the same time.
2. The run box will be appeared and type cmd in it and press enter.
3. The command prompt box will be appeared and type ipconfig /all in it and press enter.
4. And then, the following screen will be appeared.
5. You will see the IPv4 Address, Subnet Mask, Default Gateway and DNS servers as shown in the above picture.
6. You need to take care ip address of each pc not to be conflicted in your local network, and subnet mask, default gateway and dns servers are not to be wrong.
7. If something is wrong in one of the above conditions, you will not get internet connection.
8. If you don't get internet connection though all of the above conditions are correct, it may be because of your ISP or something is wrong in router or switch or access point or your pc is not allowed to use internet by network administrator.
(Note: the above picture is just an example, the facts of you and me will not be same)
How to change user account password in Windows PC
Sometimes, we need to change user account password in windows because of different kinds of reasons. The following is the way to change user account password in windows:
1. Press Windows and R keys together at the same time and the run box will be appeared.
2. Type control in the run box and click ok. The control panel screen will be appeared.
3. Click User Accounts and then click User Accounts again. The following screen will be appeared.
4. As show in above picture, click Manage Another Account and the following screen will be appeared.
5. Click the User Account you want to change password and the following screen will be appeared.
6. As shown in above picture, you can change the account name, the password, the account type, and can also delete the account you've created.
How to change screen resolution in Windows 10
Sometimes, we may face the problem that the computer screen is bigger or smaller than normal although all drivers have been installed. That may be because of screen resolution in our computers. The following is the way how to change screen resolution in windows 10 :
1. Right click on the windows screen and click display settings as shown in below picture.
2. Click down arrow head under Display resolution and the following screen will be appeared.
3. Choose the resolution that is compatible with your computer as show in above picture and click Apply.
How to change computer name in Windows PC
According to the requirement of the network administration, we need to change computer name when there are two or more computers are in the same name. The following is the way how to change computer name in windows:
1. Right click this pc or computer and click properties. The following screen will be appeared.
2. As shown in above picture, click Change settings and the following screen will be appeared.
3. As show in above picture, click change and type the name you want to change in the computer name box. And then, click ok.
4. Restart your computer so that the changes will be effected.
Freemake Video Downloader
Freemake Video Downloader is one of the best open source Video Downloader. By using Freemake Video Downloader, you can download Video from round about 10,000 sites such as Youtube, Facebook, Vimeo and Dailymotion.
If you want the offline installer, please click here to download.
How to disable auto update in Windows 10
Some of us may face the problems that the windows is getting updated while we are doing urgent jobs. Or the windows is getting updated while we prepare to go back home at the time when the office is closed and the power is going to be shut down. To stop that kind of problem, we should disable auto update in windows.
To disable auto update in windows by command line
1. Run command prompt as administrator
2. Type net stop wuauserv in the command prompt and press enter
3. Type net stop bits and press enter
4. Type net stop dosvc and press enter
To disable auto update in windows by Task Manager
1. Press Ctrl + Alt + Del together. Task manager box will be appeared.
2. Click service tab and then click open service again at the below left corner of the Windows.
3. Double click windows update and properties box will be appeared.
4. Choose Disabled / Manual in the start type and click apply and ok.
5. Do the same as the steps 3 and 4 in both of Background Intelligent Transfer Service and Delivery Optimization.
Creating Shortcut Button for Shutdown in Windows
Sometimes we want to shut down computer in easy and fast way without finding the shutdown button. For that, the following is the way to create shutdown shortcut button on the windows desktop.
1. Press right click on the desktop.
2. Click New and then click shortcut again.
3. Type shutdown -s -t 0 in the box.
4. Click Next.
5. Click Finish.
Now, you can do shutdown your computer by pressing this shortcut.
English Myanmar Dictionary
This is a good English-Myanmar dictionary. Please click here to download.
Myanmar font and keyboard for Windows
1. Zawgyi
Please click here to download Zawgyi font only.
2. Pyidaungsu (unicode)
Please click here to download Pyidaungsu keyboard and font.
3. Myanmar fonts collection
Please click here to download Myanmar fonts collection.
Please click here to download Pyidaungsu Keyboard Layout
Please look at the following video to install and use Myanmar Keyboard and Fonts
Partition Manager Software
You can manage the partitions in your computer by using this software. This software is totally cool to use. If you want to download it, please click here.
Shweyoe Dictionary
Shweyoe Dictionary (English, Russia, Korea, Japan, Thai to Myanmar). Please click here to download.
Screenshot Software for Windows and Mac
Lightshot is one of open source screenshot software for Windows and Mac. In this software, you can save as jpg, png, etc...,. And you can also edit and make remarks. If you want to download it, please click here.
Myanmar Font for Viber in PC
Please click here to download Myanmar Font for Viber. And then, follow the below instructions:
1. Press Windows and R keys together
2. Type fonts in the run box.
3. Copy and paste Myanmar Font you've downloaded.
4. Then restart your computer.
Cisco Certifications
Cisco certifications are one of the famous certifications in networking field.
This is all bout Cisco Certifications for brothers and sisters who are trying to take Cisco exams. If you want to learn, click here.
Calculating IP Address Version (4)
There are four octet in IPV4. Each octet has 8 bits. So, there are 32 bits in IPV4. IPV4 is based on binary (0, 1) and decimal (0 to 9).
First Octet | Second Octet | Third Octet | Fourth Octet |
---|---|---|---|
8 bits | 8 bits | 8 bits | 8 bits |
2726252423222120 | 2726252423222120 | 2726252423222120 | 2726252423222120 |
255.255.255.255 | 255.255.255.255 | 255.255.255.255 | 255.255.255.255 |
How to become 255.255.255.255 ? As each octet has 8 bit and is based on binary.... 27 = 128, 26 = 64, 25 = 32, 24 = 16, 23 = 8, 22 = 4, 21 = 2, 20 = 1 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255
Decimal | = | Binary | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1st Octet | 2nd Octet | 3rd Octet | 4th Octet | | 1st Octet | 2nd Octet | 3rd Octet | 4th Octet | ||||||||||
192 | . | 168 | . | 1 | . | 0 | | 11000000 | . | 10101000 | . | 00000001 | . | 00000000 |
Let's explore 192.168.1.0/24.... Network Address = 192.168.1.0 Subnet Mask = 255.255.255.0 Usable IP Addresses = 192.168.1.1 to 192.168.1.254 Broadcast Address = 192.168.1.255
Let's explore 192.168.1.0/25.... 1nd Network Address = 192.168.1.0 Subnet Mask = 255.255.255.128 Usable IP Addresses = 192.168.1.1 to 192.168.1.126 Broadcast Address = 192.168.1.127 2nd Network Address = 192.168.1.128 Subnet Mask = 255.255.255.128 Usable IP Addresses = 192.168.1.129 to 192.168.1.254 Broadcast Address = 192.168.1.255
Let's explore 192.168.1.0/26... 1st Network Address = 192.168.1.0 Subnet Mask = 192.168.1.192 Usable IP Addresses = 192.168.1.1 to 192.168.1.62 Broadcast Address = 192.168.1.63 2nd Network Address = 192.168.1.64 Subnet Mask = 192.168.1.192 Usable IP Addresses = 192.168.1.65 to 192.168.1.126 Broadcast Address = 192.168.1.127 3rd Network Address = 192.168.1.128 Subnet Mask = 192.168.1.192 Usable IP Addresses = 192.168.1.129 to 192.168.1.190 Broadcast Address = 192.168.1.191 4th Network Address = 192.168.1.192 Subnet Mask = 192.168.1.192 Usable IP Addresses = 192.168.1.193 to 192.168.1.254 Broadcast Address = 192.168.1.255 (Note: The Subnet Mask is reverse proportional to host range. The larger the subnet mask, the smaller the host range.)
The following table is formula for Ipv4 addresses (Class C). I've made it when I was in Singapore Polytechnic.
Binary | Decimal | Prefix | Subnet Mask | Count of Networks | Usable IP Range |
---|---|---|---|---|---|
- | - | /24 | 255.255.255.0 | 1 | 254 |
27 | 128 | /25 | 255.255.255.128 | 2 | 126 |
26 | 64 | /26 | 255.255.255.192 | 4 | 62 |
25 | 32 | /27 | 255.255.255.224 | 8 | 30 |
24 | 16 | /28 | 255.255.255.240 | 16 | 14 |
23 | 8 | /29 | 255.255.255.248 | 32 | 6 |
22 | 4 | /30 | 255.255.255.252 | 64 | 2 |
About IP Address
The networking devices need IP addresses to communicate with each other on the network. There are two types of IP addresses versions: IP Version 4 (IPv4) and IP Version 6 (IPv6).
IPv4 Address
In IPv4 address, the host can communicate in one of three different ways:
Unicast: The process of sending a packet from one host to an individual hos
Broadcast: The process of sending a packet from one host to all hosts in the network
Multicast: The process of sending a packet form one host to selected group of hosts
In IPv4, the network range is defined by the followings:
Network address: A special network that refers to the network
Subnet Mask The subnet mask is a 32-bit values used with IPv4 address that specifies the network portion of the address to the network device. The subnet mask uses 1s and 0s to indicate which bits of the IPv4 address are network bits and which bits are hosts bits.
Host address: The unicast address assigned to the end device in the network
Broadcast address: A special address used to send data to the all hosts in the network
For Example,
Network Network Address Subnet Mask Host Range Broadcast Address
192.168.1.0/24 192.168.1.0 255.255.255.0 192.168.1.1 to 254 192.168.1.255
192.168.2.0/25 192.168.2.0 255.255.255.128 192.168.2.1 to 126 192.168.2.127
IPv4 Network Classes
Address Classes First Octet Range Prefix and Mask Number of Possible Networks Number of Hosts
A 1 to 127 /8 255.0.0.0 126 16,777,217
B 128 to 191 /16 255.255.0.0 16,382 65,534
C 192 to 223 /24 255.255.255.0 2,097,159 254
IPv4 Public and Private Addresses
Although most IPv4 addresses are public addresses designated for use in networks that are accessible on the Internet, there are blocks of addresses used in network that are not accessible on the Internet. These addresses are called private addresses.
The private address blocks are:
Class A 10.0.0.0/8 (10.0.0.0 to 10.255.255.255)
Class B 172.16.0.0/12 (172.16.0.0 to 172.31.255.255)
Class C 192.168.0.0/16 (192.168.0.0 to 192.168.255.255)
Multicast Addresses 224.0.0.0/4 (224.0.0.0 to 239.255.255.255)
The multicast transmission is designed to conserve the bandwidth of IPv4 network. It reduces the traffic by allowing a host to send a single packet to a selected set of hosts. To reach multiple destination hosts using unicast communication, a source host would need to send an individual packet addressed to each host. With multicast, the source host can send a single packet that can reach thousands of destination hosts.
Experimental Addresses 240.0.0.0/4 (240.0.0.0 to 255.255.255.254)
These addresses are reserved for future use. This suggests that they could be converted to usable addresses. Currently, these addresses are not usable in IPv4 network. However, these addresses are used for research.
Default Route 0.0.0.0/8 (0.0.0.0 to 0.255.255.255).
The default route is “catch all” route to route packets when the specific route is not available.
Loopback Address 127.0.0.0/8 (127.0.0.0 to 127.255.255.255).
The loopback address is special address that hosts use to direct traffic to themselves.
Link-Local Addresses 169.254.0.0/16 (169.254.0.0 to 169.254.255.255)
These link-local addresses can be automatically assigned to the local host by the operating system in environment where no IP configuration is available.
Test-Net Addresses 192.0.2.0/24 (192.0.2.0 to 192.0.2.255)
The test-net-addresses are set aside for teaching and learning purpose.
LAN and WAN
LAN (Local Area Network)
LAN is a computer network that interconnects computers within a limited area such as a residence, school, laboratory, university campus or office building and has its network equipment and interconnects locally managed.
WAN (Wide Area Network)
WAN is the network that is interconnected by two or more LANs. WAN is not only defined by a larger geographic distance, but also generally defined by leased telecommunication circuits.
Network Protocols
Network Protocols are machine languages used to communicate the devices on the network. For devices to communicate on a network, they must follow different protocols that perform the many tasks to be complicated. The protocols define the followings:
- The format of the message, such as how much data to put into each segment
- The way intermediary devices share information about the path to the destination
- The method to handle update messages between intermediary devices
- The process to initiate and terminate communications between hosts
The examples of Network Protocols are as follows:
Hypertext Transfer Protocol (HTTP): HTTP is a common protocol that controls the way that a web server and web client interact.
Transport Protocol: Transmission Control Protocol (TCP) is the transport protocol that manages the individual conversions between a web server and web client. TCP divides the HTTP messages into smaller pieces, called segment, to be sent to the destination client. It also controls the size and rate of messages exchanged between the server and the client.
Internet Protocol (IP): IP takes the formatted segments from TCP, encapsulates them into packets, assign the appropriate addresses, and select the best path to the destination client.
Network Access Protocols: Network access protocols describe two primary functions: data-link management and the physical transmission of data on the media. Data-link management protocols take the packets from IP and format them to be transmitted over the media. The physical media controls how the signals are sent over the media and how they are interpreted by the receiving clients.
OSI and TCP / IP Model
OSI Model
The Open System Interconnection (OSI) Model provides an abstract description of the network communication process. International Organization for Standard (ISO) develops it to provide a road map for non-proprietary protocol development. The OSI model is just a reference model and many of OSI protocols are no longer in use. There are seven layers in OSI Model. Those are as follows:
Layer 7 - Application
Performs services for the application used by the end users.
Layer 6 - Presentation
Provides data format information to the application.
Layer 5 - Session
Manages session between users.
Layer 4 - Transport
Defines data segments and numbers them at the source, transfers the data, and reassembles the data at the destination.
Layer 3 - Network
Creates and addresses packets for end-to-end delivery through intermediary devices in other network.
Layer 2 - Data Link
Creates and addresses frames for host-to-host delivery on the local LANs and between WAN devices.
Layer 1 - Physical
Transmits binary data over media between devices. Physical layer protocols define media specifications.
TCP/IP Model
TCP / IP is an open standard. The rules and implementation of the TCP/IP model were cooperatively developed by members of the industry using Request for Comments (RFC) documents. There are four layers in TCP/IP Model. Those are as follows:
Layer 4 - Application
Represents application data to the user.
Layer 3 - Transport
Supports communication between devices and performs error correction.
Layer 2 - Internet
Finds the best path through the network.
Layer 1 - Network access
Controls hardware devices and media.
Comparison of OSI and TCP / IP Model
7. Application | 4. Application |
6. Presentation |
|
5. Session |
|
4. Transport |
3. Transport |
3. Network | 2. Internet |
2. Data Link | 1. Network Access |
1. Physical |
Sample Network Diagram for Small Office
Access Point
Normally, the access points allow the users to connect the Internet through the Wired Network(Switch, Router, Modem, etc....).
Switches
The switch (layer 2) normally receive the packets, process it and forward data to the destination.
Routers
Normally, the router is used to connect the different networks. But there are so many router functions if detailed.
Modem
The Modem is the common networking device that turns the digital data of an electronic device into modulated electrical signal for transmission over telephone lines and demodulated by another modem at the receiver side to recover the digital data.
Internet
The Internet is the global system of interconnected computer networks that use the Internet Protocol Suite (TCP/IP) to link billions of devices worldwide.
Short Description of Networking Devices
Desktop Computer
A common computer used in a home or offices.
Laptop
A portable computer.
LAN Media
Local-area network media, usually copper cable.
Wireless Media
Depicts local-area network wireless access.
Switch
The most common devices for interconnecting local-area networks
Router
A device that helps direct message between networks
Firewall
A device that provides security of network.
Server
A common computer dedicated to provide application services to end users on a network. Server stores information to share with its clients.
Cloud
A group of networking devices out of local management control, often the Internet itself.
How to configure Frame Relay in Cisco Networking Devices (Eg. 2)
The example of how to configure the Frame Relay in Cisco Networking Devices is shown in the below with the picture together. I hope this example will be benefit for brothers and sisters who are learning Cisco Networking.
Router 1
en
config t
hostname R1
int g0/0
ip address 192.168.1.1 255.255.255.0
no shut
int s0/0/0
description Link From Router1 to Router2
ip address 223.128.1.1 255.255.255.252
encap frame-relay
frame-relay lmi-type cisco
frame-relay interface-dlci 101
no shut
int s0/0/1
encap frame-relay
no shut
exit
int s0/0/1.201 point-to-point
description Link From R1 to R3
ip address 223.128.1.5 255.255.255.252
frame-relay interface-dlci 201
no shut
exit
int s0/0/1.301 point-to-point
description Link From R1 to R4
ip address 223.128.1.9 255.255.255.252
frame-relay interface-dlci 301
no shut
exit
int s0/0/1.401 point-to-point
description Link From R1 to R5
ip address 223.128.1.13 255.255.255.252
frame-relay interface-dlci 401
no shut
exit
int s0/0/1.501 point-to-point
description Link From R1 to R6
ip address 223.128.1.17 255.255.255.252
frame-relay interface-dlci 501
no shut
exit
router rip
version 2
network 192.168.1.0
network 223.128.1.0
network 223.128.1.4
network 223.128.1.8
network 223.128.1.12
network 223.128.1.16
end
copy run start
Router 2
en
config t
hostname R1
int g0/0
ip address 192.168.2.1 255.255.255.0
no shut
int s0/0/0
description Router2 to Router1
ip address 223.128.1.2 255.255.255.252
encap frame-relay
frame-relay lmi-type cisco
frame-relay interface-dlci 102
no shut
exit
router rip
version 2
network 192.168.2.0
network 223.128.1.0
end
copy run start
Router 3
en
config t
hostname R3
int g0/0
description Link From Router3 to Router1
ip address 192.168.3.1 255.255.255.0
no shut
int s0/1/0
description Link From Router3 to Router1
ip address 223.128.1.6 255.255.255.252
encap frame-relay
frame-relay lmi-type cisco
frame-relay interface-dlci 103
no shut
exit
router rip
version 2
network 192.168.3.0
network 223.128.1.4
end
copy run start
Router 4
en
config t
hostname R4
int g0/0
ip address 192.168.4.1 255.255.255.0
no shut
int s0/1/0
description Link From R4 to R1
ip address 223.128.1.10 255.255.255.252
encap frame-relay
frame-relay lmi-type cisco
frame-relay interface-dlci 104
no shut
exit
router rip
version 2
network 192.168.4.0
network 223.128.1.8
end
copy run start
Router 5
en
config t
hostname R5
int g0/0
ip address 192.168.5.1 255.255.255.0
no shut
int s0/0/0
description Link From Router5 to Router1
ip address 223.128.1.14 255.255.255.252
encap frame-relay
frame-relay lmi-type cisco
frame-relay interface-dlci 105
no shut
exit
router rip
version 2
network 192.168.5.0
network 223.128.1.12
end
copy run start
Router 6
en
config t
hostname R6
int g0/0
ip address 192.168.6.1 255.255.255.0
no shut
int s0/1/0
description Link From Router6 to Router1
ip address 223.128.1.18 255.255.255.252
encap frame-relay
frame-relay lmi-type cisco
frame-relay interface-dlci 106
no shut
exit
router rip
version 2
network 192.168.6.0
network 223.128.1.16
end
copy run start
***Thank You***
How to configure Frame Relay in Cisco Networking Devices (Eg.1)
The example of how to configure the Frame Relay in Cisco Networking Devices is shown in the below with the picture together. I hope this example will be benefit for brothers and sisters who are learning Cisco Networking.
Router1
en
config t
hostname Router1
int s0/0/0
encap frame-relay
no shut
exit
int s0/0/0.102 point-to-point
description Link From Router1 to Router2
ip address 223.200.100.5 255.255.255.252
frame-relay interface-dlci 102
no shut
exit
int s0/0/0.103 point-to-point
description Link From Router1 to Router3
ip address 223.200.100.9 255.255.255.252
frame-relay interface-dlci 103
no shut
exit
router rip
version 2
network 223.200.100.4
network 223.200.100.8
end
copy run start
Router2
en
config t
hostname Router2
int s0/0/0
description Link from Router2 to Router1
ip address 223.200.100.6 255.255.255.252
encap frame-relay
frame-relay lmi-type cisco
frame-relay interface-dlci 202
no shut
exit
router rip
version 2
network 223.200.100.4
network 223.200.100.8
end
copy run start
Router3
en
config t
hostname Router3
int s0/0/0
description Link from Router3 to Router1
ip address 223.200.100.10 255.255.255.252
encap frame-relay
frame-relay lmi-type cisco
frame-relay interface-dlci 303
no shut
exit
router rip
version 2
network 223.200.100.4
network 223.200.100.8
end
copy run start
You can see how to configure frame relay in cloud. We will set dlci number in each serial port and link to corresponding routers.
If you want to do testing in Cisco packet tracer, please click here to download packet tracer file.
How to configure EtherChannel in Cisco Switches
EtherChannel is a combination of two or more physical ports into one logical or virtual port in the switches for redundancy or bandwidth requirements.
The example of how to configure the EtherChannel in Cisco Switches is shown in the below with the picture together. I hope this example will be benefit for brothers and sisters who are learning Cisco Networking.
Switch1
Step 1 : Give Name to Switch 1
en
config t
hostname IT
Step 2 : Create VLan and give name to it
vlan 20
name IT
exit
Step 3 : Create Etherchannel
interface range f0/1 - 4
switchport mode access
switchport access vlan 20
channel-group 5 mode auto
end
Step 4 : Activate the connection to the PC
config t
interface f0/5
no shut
end
Step 5 : Save Configuration
copy run start
Switch 2
Step 1 : Give Name to Switch 2
en
config t
hostname HR
Step 2 : Create VLan and give name to it
vlan 20
name IT
exit
Step 3 : Create Etherchannel
interface range f0/1 - 4
switchport mode access
switchport access vlan 20
channel-group 5 mode auto
end
Step 4 : Activate the connection to the PC
config t
interface f0/5
no shut
end
Step 5 : Save Configuration
copy run start
Please click here to download Packet Tracer Configuration file to do testing.
How to configure VLan in Cisco Networking Devices
VLan is virtual local area network. It is mostly used to manage the hosts in the network. The example of how to configure VLan in Cisco Networking Devices is shown in the below with the picture together. I hope this example will be benefit for brothers and sisters who are learning Cisco Networking.
Switch 0
Creating VLan
en
config t
hostname tnw87.com
vlan 10
name IT_Department
vlan 20
name HR_Department
vlan 30
name Engineering_Department
end
Checking VLan (VLan we've created is working or not)
show vlan brief
Define Switch Ports
config t
int f0/1
no shut
switchport mode trunk
exit
int f0/2
no shut
switchport mode access
switchport access vlan 10
exit
int f0/3
no shut
switchport mode access
switchport access vlan 20
exit
int f0/4
no shut
switchport mode access
switchport access vlan 30
end
Save Configuration
copy run start
Router 0
en
config t
hostname tnw87.com
int g0/0
no shut
int g0/0.1
encapsulation dot1Q 10
ip address 192.168.1.1 255.255.255.0
no shut
exit
int g0/0.2
encapsulation dot1Q 20
ip address 192.168.2.1 255.255.255.0
no shut
exit
int g0/0.3
encapsulation dot1Q 30
ip address 192.168.3.1 255.255.255.0
no shut
exit
router rip
version 2
network 192.168.1.0
network 192.168.2.0
network 192.168.3.0
end
copy run start
If you want to do testing VLan configuration in packet tracer, please click here to download VLan.pkt.
How to configure DHCP in Cisco IOS Routers
DHCP is a dynamic host configuration protocol. We don't need to manually set IP address to the hosts in the local network by configuring DHCP in the routers. The router will automatically set by itself. The example of how to configure DHCP in Cisco IOS Router is shown in the below with the picture together. I hope this example will be benefit for brothers and sisters who are learning Cisco Networking.
Router
en
config t
int g0/0
ip address 192.168.1.1 255.255.255.0
no shut
exit
ip dhcp pool Test
network 192.168.1.0 255.255.255.0
default-router 192.168.1.1
dns-server 192.168.1.1
end
copy run start
If you want to see sample configuration in packet tracer, you can download pkt file. Click here to download.
How to configure PPP in Cisco Routers
PPP is Point-to-Point Protocol and it is a Wide Area Network (WAN) Technology. The example of how to configure PPP (PAP) in Cisco IOS Routers is shown in the below with the picture together. I hope this example will be benefit for brothers and sisters who are learning Cisco Networking.
Mandalay Router
en
config t
username Mandalay password Mandalay
hostname Mandalay
int s0/0/0
ip address 223.200.100.1 255.255.255.252
no shut
encap ppp
ppp authentication pap
ppp pap sent-username Naypyidaw password Naypyidaw
exit
int s0/0/1
ip address 223.200.100.9 255.255.255.252
no shut
encap ppp
ppp authentication pap
ppp pap sent-username Yangon password Yangon
exit
router rip
version 2
network 223.200.100.0
end
copy run start
Naypyidaw Router
en
config t
username Naypyidaw password Naypyidaw
hostname Naypyidaw
int s0/0/0
ip address 223.200.100.2 255.255.255.252
no shut
encap ppp
ppp authentication pap
ppp pap sent-username Mandalay password Mandalay
exit
int s0/0/1
ip address 223.200.100.5 255.255.255.252
no shut
encap ppp
ppp auth pap
ppp pap sent-username Yangon password Yangon
exit
router rip
version 2
network 223.200.100.0
network 223.200.100.4
end
copy run start
Yangon Router
en
config t
username Yangon password Yangon
hostname Yagngon
int s0/0/1
ip address 223.200.100.6 255.255.255.252
no shut
encap ppp
ppp auth pap
ppp pap sent-username Naypyidaw password Naypyidaw
exit
int s0/0/0
ip address 223.200.100.10 255.255.255.252
no shut
encap ppp
ppp auth pap
ppp pap sent-username Mandalay password Mandalay
router rip
version 2
network 223.200.100.4
end
copy run start
If you want to do testing of this configuration in Packet Tracer, please click here to download pkt file.
How to configure OSPF in Cisco Router
OSPF is Open Shortest Path First and it is a link state routing protocol. The example of how to configure OSPF in Cisco IOS Routers is shown in the below with the picture together. I hope this example will be benefit for brothers and sisters who are learning Cisco Networking.
Router 1
Activate the connection to PC1
en
config t
int g0/0
ip address 192.168.1.1 255.255.255.0
no shut
Activate the connection to Router2
int s0/0/1
ip address 223.200.100.9 255.255.255.252
clock rate 64000
no shut
Activate the connection to Router 3
int s0/0/0
ip address 223.200.100.1 255.255.255.252
no shut
exit
Configure OSPF
router ospf 10
network 192.168.1.0 0.0.0.255 area 0
network 223.200.100.0 0.0.0.3 area 0
network 223.200.100.8 0.0.0.3 area 0
end
Save the configuration
copy run start
Router 2
Activate the connection to PC2
en
config t
int g0/0
ip address 192.168.2.1 255.255.255.0
no shut
Activate the connection to Router 1
int s0/0/1
ip address 223.200.100.10 255.255.255.252
no shut
Activate the connection to Router 3
int s0/0/0
ip address 223.200.100.6 255.255.255.252
no shut
exit
Configure OSPF
router ospf 10
network 192.168.2.0 0.0.0.255 area 0
network 223.200.100.8 0.0.0.3 area 0
network 223.200.100.4 0.0.0.3 area 0
end
Save the configuration
copy run start
Router 3
Activate the connection to PC3
en
config t
int g0/0
ip address 192.168.3.1 255.255.255.0
no shut
Activate the connection to Router 1
int s0/0/0
ip address 223.200.100.2 255.255.255.252
clock rate 64000
no shut
Activate the connection to Router 2
int s0/0/1
ip address 223.200.100.5 255.255.255.252
clock rate 64000
no shut
exit
Configure OSPF
router ospf 10
network 192.168.3.0 0.0.0.255 area 0
network 223.200.100.0 0.0.0.3 area 0
network 223.200.100.4 0.0.0.3 area 0
end
Save the configuration
copy run start
If you want to do testing in Packet Tracer, please click here to download .pkt file.
How to configure EIGRP in Cisco Routers
EIGRP is Enhanced Interior Gateway Routing Protocol and it is an advanced distance vector routing protocol. The example of how to configure EIGRP in Cisco IOS Routers is shown in the below with the picture together. I hope this example will be benefit for brothers and sisters who are learning Cisco Networking.
Router 1
Activate the connection to PC1
en
config t
int g0/0
ip address 192.168.1.1 255.255.255.0
no shut
Activate the connection to Router2
int s0/0/1
ip address 223.200.100.9 255.255.255.252
clock rate 64000
no shut
Activate the connection to Router 3
int s0/0/0
ip address 223.200.100.1 255.255.255.252
no shut
exit
Configure EIGRP
router eigrp 10
network 192.168.1.0 0.0.0255
network 223.200.100.0 0.0.0.3
network 223.200.100.8 0.0.0.3
end
Save the configuration
copy run start
Router 2
Activate the connection to PC2
en
config t
int g0/0
ip address 192.168.2.1 255.255.255.0
no shut
Activate the connection to Router 1
int s0/0/1
ip address 223.200.100.10 255.255.255.252
no shut
Activate the connection to Router 3
int s0/0/0
ip address 223.200.100.6 255.255.255.252
no shut
exit
Configure EIGRP
router eigrp 10
network 192.168.2.0 0.0.0.255
network 223.200.100.8 0.0.0.3
network 223.200.100.4 0.0.0.3
end
Save the configuration
copy run start
Router 3
Activate the connection to PC3
en
config t
int g0/0
ip address 192.168.3.1 255.255.255.0
no shut
Activate the connection to Router 1
int s0/0/0
ip address 223.200.100.2 255.255.255.252
clock rate 64000
no shut
Activate the connection to Router 2
int s0/0/1
ip address 223.200.100.5 255.255.255.252
clock rate 64000
no shut
exit
Configure EIGRP
router eigrp 10
network 192.168.3.0 0.0.0.255
network 223.200.100.0 0.0.0.3
network 223.200.100.4 0.0.0.3
end
Save the configuration
copy run start
If you want to see sample configuration in packet tracer, please click here to download pkt file.
(Note: you need to give ip address, subnet mask and default gateway to the hosts)
How to configure EIGRP in Cisco Routers
EIGRP is Enhanced Interior Gateway Routing Protocol and it is an advanced distance vector routing protocol. The example of how to configure EIGRP in Cisco IOS Routers is shown in the below with the picture together. I hope this example will be benefit for brothers and sisters who are learning Cisco Networking.
Router 1
Activate the connection to PC1
en
config t
int g0/0
ip address 192.168.1.1 255.255.255.0
no shut
Activate the connection to Router2
int s0/0/1
ip address 223.200.100.9 255.255.255.252
clock rate 64000
no shut
Activate the connection to Router 3
int s0/0/0
ip address 223.200.100.1 255.255.255.252
no shut
exit
Configure EIGRP
router eigrp 10
network 192.168.1.0 0.0.0255
network 223.200.100.0 0.0.0.3
network 223.200.100.8 0.0.0.3
end
Save the configuration
copy run start
Router 2
Activate the connection to PC2
en
config t
int g0/0
ip address 192.168.2.1 255.255.255.0
no shut
Activate the connection to Router 1
int s0/0/1
ip address 223.200.100.10 255.255.255.252
no shut
Activate the connection to Router 3
int s0/0/0
ip address 223.200.100.6 255.255.255.252
no shut
exit
Configure EIGRP
router eigrp 10
network 192.168.2.0 0.0.0.255
network 223.200.100.8 0.0.0.3
network 223.200.100.4 0.0.0.3
end
Save the configuration
copy run start
Router 3
Activate the connection to PC3
en
config t
int g0/0
ip address 192.168.3.1 255.255.255.0
no shut
Activate the connection to Router 1
int s0/0/0
ip address 223.200.100.2 255.255.255.252
clock rate 64000
no shut
Activate the connection to Router 2
int s0/0/1
ip address 223.200.100.5 255.255.255.252
clock rate 64000
no shut
exit
Configure EIGRP
router eigrp 10
network 192.168.3.0 0.0.0.255
network 223.200.100.0 0.0.0.3
network 223.200.100.4 0.0.0.3
end
Save the configuration
copy run start
If you want to see sample configuration in packet tracer, please click here to download pkt file.
(Note: you need to give ip address, subnet mask and default gateway to the hosts)
How to configure RIP in Cisco Routers
RIP (Routing Information Protocol) is the oldest distance vector routing protocol. The maximum number of hop count is 15 and the hop count number 16 is defined as infinite distance. The converged time is slow if compared with other routing protocols such as EIGRP, OSPF and IS-IS. There are two versions in RIP: version 1 and version 2.
RIP V1
RIP v1 uses FLSM (fixed length subnet masking) and does not support VLSM(variable length subnet masking). Using FLSM causes IP wastes.
FLSM Examples,
192.168.1.0 /24
192.168.2.0 /24
RIP V2
RIP V2 supports VLSM (variable length subnet masking). If there are different amount of hosts in an organization, we should use RIP v2.
For example,
HR Department : 20 hosts
Engineering Department: 50 hosts
IT department: 10 hosts
Sales department: 30 hosts
The following is the sample configuration of RIP in Cisco Routers.
Router 1
Activate Connection to Router 2
en
config t
int s0/0/0
ip address 200.100.10.1 255.255.255.252
clock rate 64000
no shut
Activate Connection to Switch 1
int g0/0
ip address 192.168.1.1 255.255.255.0
no shut
Configure RIP V1/V2
router rip
version 2
network 192.168.1.0
network 200.100.10.0
end
Save the Configuration
copy run start
Switch 1
Activate Connection to Router 1
en
config t
int f0/1
no shut
Activate Connection to PC5
int f0/2
no shut
Activate Connection to PC6
int f0/3
no shut
end
Save the Configuration
copy run start
Router 2
Activate Connection to Router 1
en
config t
int s0/0/0
ip address 200.100.10.2 255.255.255.252
clock rate 64000
no shut
Activate Connection to Switch 2
int g0/0
ip address 192.168.2.1 255.255.255.0
no shut
Configure RIP V1/V2
router rip
version 2
network 192.168.2.0
network 200.100.10.0
end
Save the Configuration
copy run start
Switch 2
Activate Connection to Router 2
en
config t
int f0/1
no shut
Activate Connection to PC7
int f0/2
no shut
Activate Connection to PC8
int f0/3
no shut
end
Save the Configuration
copy run start
Pkt File
Please click here to download packet tracer file.
(Note: you need to give ip address, subnet mask and default gateway to the hosts)
Securing Cisco Networking Devices
*** Console Password ***
enable (en)
configure terminal (config t)
line console 0
password console123 (type secured password)
*** Enable Password ***
enable (en)
configure terminal (config t)
enable password enable123 (type secured password)
*** Enable Secret ***
enable (en)
configure terminal (config t)
enable secret secret123 (type secured password)
*** VTY Password ***
enable (en)
configure terminal (config t)
line vty 0 15
password vty123 (type secured password)
*** To go back enable mode ***
end
*** To save configuration ***
copy run start
Email Service (Business or Private)
TNW provides the best email services for your businesses with the followings:
- Reliable security.
- Reasonable price.
- No downtime.
- Fast speed for incoming and outgoing Emails.
- Spam Filters that can block the dangerous Emails sent to steal your data or information.
- You can check the delivery status of your sent mails.
- You can check the spam score of incoming mails.
- Ever support for any problem about Emails.
- You can use Emails in Microsoft Outlook, Computers, Tablets and Mobile Phones.
- Synchronization: We can synchronize all the Emails of one user in Computers, Tablets and Mobile Phones. For example, when a user sends Emails to someone from his mobile phone, those Emails are automatically saved in Microsoft Outlook in his computer. If you don't want synchronization, we can configure not to be synchronized. That is better for outlook database backup file.
Plan | Basic | Professional | Business | Enterprise |
---|---|---|---|---|
Email Accounts | Up to 10 | Up to 20 | Up to 30 | Unlimited |
Storage | Unlimited | Unlimited | Unlimited | Unlimited |
Outlook Mail | Yes | Yes | Yes | Yes |
Mobile Mail | Yes | Yes | Yes | Yes |
Web Mail | Yes | Yes | Yes | Yes |
Spam Filter | Yes | Yes | Yes | Yes |
Speed | Fast | Fast | Fast | Fast |
Security | 100% | 100% | 100% | 100% |
Daily Support | Yes | Yes | Yes | Yes |
Price | ||||
Initial Year | Negotiable | Negotiable | Negotiable | Negotiable |
Duration | Negotiable | Negotiable | Negotiable | Negotiable |
Annual Fee | Negotiable | Negotiable | Negotiable | Negotiable |
Note: You can order the email accounts starting from at least one account. The price is negotiable.
Why should we use private or business emails?
There are many public email providers such as Google, Yahoo, and Hotmail. We can use those public emails by free of charge. But using public emails is not as secured as private emails. Why? Millions of users are using public emails by free of charge. So, each user can't be administrated on the server. By using private emails, you will get the following benefits:
1. Security
We can also filter the spam mails in Public Emails. But not 100%. We can filter the spam mails in the server by using private emails. And, we can also use private encryption. So, more secured.
2. Email Name
We can't choose the email names what we want by using public email services. For example, we can't get [email protected] or [email protected]. By using private emails, you can get the email names what you want. For example, [email protected] or [email protected].
3. Impression of Customers
Using public emails is not suitable in the businesses. Using private emails is the best habit to get impression of the customers.
How can we get private / business Emails?
1. Google provides Google Suite for private email service.
2. Microsoft provides Office 365 for private email service and applications.
3. Setting up private / own exchange servers. It is not suitable for small business as the cost is high.
4. Web Mail.
Point of Sale (POS) System
TNW provides Web based or Cloud based Point of Sale system for your business with the following features.
Android Application Development
I've recently developed an android application (mhk.apk) for the website (www.myathtutkhaung.com).
Windows Application Development
One of my friends requested me to develop windows application for income and expense of an organization. So I've developed this CashInCashout windows application.
Web Development Services
Hosting the website is the best way to advertise your business to the world. So, most of the companies and organizations become to host own website to advertise their business.
T N W provides the best web development services from the personnel websites to the e-commerce websites for your business. The following is flowchart diagram of the website.
Your website will be with the following features:
- Domain ( .com, .net, .info, etc....)
- Reliable and secured hosting
- Unlimited Data Storage
- Attractive Web Design
- Multilingual (Your website will be shown in more than one language. You can choose the languages you want.)
- Responsive site (Desktop View, Mobile View and Tablet View)
- Search Engine Optimization (Your website can be easily found by customers or other people in search engines such as Google and Bing)
- Secured and Fast Business Email Accounts ([email protected])
- You can create the posts by yourselves anytime
- Social media share buttons (You can share your website or posts on Facebook, Linkedin, Twitter, etc,...)
- https for web security (your website will be such as https://www.example.com)
- Reliable security for your website to run 24 hours per day
Plan | Basic | Professional | Business | Enterprise |
---|---|---|---|---|
Domain | Yes | Yes | Yes | Yes |
Storage | Unlimited | Unlimited | Unlimited | Unlimited |
Post / Page | Unlimited | Unlimited | Unlimited | Unlimited |
You can make Posts Yourself | Yes | Yes | Yes | Yes |
SSL Certificate | Yes | Yes | Yes | Yes |
Responsive Site | Yes | Yes | Yes | Yes |
Multilingual | Yes | Yes | Yes | Yes |
SEO | Yes | Yes | Yes | Yes |
Google Analysis | Yes | Yes | Yes | Yes |
Google Business | Yes | Yes | Yes | Yes |
Google Location | Yes | Yes | Yes | Yes |
Share Buttons | Yes | Yes | Yes | Yes |
Chat API | Yes | Yes | Yes | Yes |
Security | 100% | 100% | 100% | 100% |
E-Commerce Site | Add On | Add On | Add On | Yes |
Business Email | ||||
Email Accounts | Up to 10 | Up to 20 | Up to 30 | Unlimited |
Storage | Unlimited | Unlimited | Unlimited | Unlimited |
Outlook Mail | Yes | Yes | Yes | Yes |
Mobile Mail | Yes | Yes | Yes | Yes |
Web Mail | Yes | Yes | Yes | Yes |
Spam Filter | Yes | Yes | Yes | Yes |
Speed | Fast | Fast | Fast | Fast |
Security | 100% | 100% | 100% | 100% |
Daily Support | Yes | Yes | Yes | Yes |
Price | ||||
Initial Development (Negotiable) | Negotiable | Negotiable | Negotiable | Negotiable |
Duration | Negotiable | Negotiable | Negotiable | Negotiable |
Annual Fee (Negotiable) | Negotiable | Negotiable | Negotiable | Negotiable |
Networking Services for Your Businesses
T N W provides the best solutions for your Network by the reasonable price.
Technologies
Firewall
Firewall filters the dangerous traffics from the outside networks and covers the internal users.
VPN
Please click here to read about VPN.
Bandwidth Management
Which users should get more bandwidth according to the job requirements.
Internet Access Management
Some users are not allowed to access some websites, some users are allowed to access all websites, all the users are not allowed to download movies and songs from some websites, etc... within office hours so that all the staffs can do their jobs without any disturbance about using internet.
Access Point Control
For example, if you want to give internet access to the guests, those guests must do "Facebook Check In" to get internet access from your network.
Service for Internet Café and Game Centers
T N W provides the best solutions for Internet Café and Game Center network by the reasonable price.
Home Network
T N W provides the best solutions for your Home Network by the reasonable price.
- Set up new network for home.
- Maintenance of home network.
Computer Repair and Maintenance Service
T N W provides the best computer solutions for homes, offices and industries by the reasonable prices. T N W also provides monthly or yearly contract for maintenance of computers in offices and industries.
Contact Me
Thet Naing Win (B C Sc & S C N)
Email : [email protected]
Phone : +959421065399
+959421065399
Viber : +959421065399
WhatsApp : +959421065399
Service and Guarantee
T N W provides the following services with 100% guarantee.
1. Computer Services
2. Networking Services
3. System Integration Services
4. Web Development Services
5. Business Email Services
Ambitions
1. The main ambition of TNW is to provide the best IT solutions to the customers by the reasonable prices.
2. The second ambition of TNW is to share IT knowledge to brothers and sisters who are learning about IT. So, I would like to invite to those who wanna share IT knowledge.
3. The third ambition of TNW is to provide the valuable knowledge to the customers, blog readers and website visitors.
4. I hope this website will be benefit for those who wanna get the best IT solutions, for those who are learning about IT, for those who wanna share IT Knowledge, for those who wanna get valuable knowledge, and for those who wanna advertise the products.
About Me
I am Thet Naing Win. I've passed matriculation exam with two distinctions (Chemistry & Physics) in July, 2003. And then I went to Computer University in December, 2003. I've finished my studies from Computer University in 2006. I've achieved B.C.Sc (Bachelor of Computer Science) degree in February, 2007. And then, I went to Singapore to work in June, 2007. And I also studied in Singapore Polytechnic while I am working. I've achieved S C N (Specialist Diploma in Computer Networking) from Singapore Polytechnic, Singapore in 2011. In this way, I was in IT field since 2007. I worked in many companies as a both of full-time worker and freelancer. I hope I can provide the best ICT solutions to your businesses. So I've established TNW (Web Service & ICT Solutions) with the purpose to be able to provide those who require the best ICT Solutions for their business.
My Personnel Information is as following:
Date of Birth : 20.03.1987
National ID : 9/MTLA(N) 247939
Passport : ME669369 (Current), MA525447 (New) , 976090 (Old)
B.C.Sc Graduate Registration No. : 8808 (UCSM)
S C N Graduate Registration No. : 1055788 (Singapore Polytechnic)
Contact No: +959421065399
Sincerely, Thet Naing Win
Terms and Conditions
TNW provides the best ICT Solutions for your business by the following terms and conditions.
Computer Service
TNW will give warranty 1 to 3 years for new laptops or desktops set up by TNW. But TNW will not give any warranty for old or used computers. If you want to know details about computer service, please click here.
Networking Service and System Integration
TNW will make contract with you based on the conditions and requirements of your businesses. If you want to know details about networking service, please click here.
Web Service and Business Email Service
TNW provides the best Web Service and Business Email Service for your business by the minimum down time even in the very bad conditions such as Natural Disaster and Epidemic.
If you want to migrate your Website or Email Service from TNW (Web Service & ICT Solutions) to another service provider, you can back up all of your data. You will get back your domain control. But, you will not get any web design and codes developed by TNW (Web Service & ICT Solutions). You better do at least two weeks before expired date whether you extend with TNW or migrate from TNW so that your website or email does not stop working.
If you want to know how TNW provides Web Service for your business, please click here.
If you want to know how TNW provides Business Email Service for your business, please click here.