Saturday, February 6, 2021

Java Programming සංකල්ප


Java, Spring Boot, Android Studio, Flutter ! මේ හතරම එකද? ඒ ගැනයි මේ ලිපිය . කෙටියෙන් කියනවානම් Java කියන්නේ Object Oriented Programming Language එකක්. අනිත් 3 ම විශේෂ අවශ්‍යතා සඳහා Java Javaුනa මත ගොඩ නැගුනු framework සහ development tools. හුඟක් අය අමාරුවේ වැටෙන තැනක් තමයි framework එකෙන් වැඩ පටන් ගන්න එක. සමාන ලක්ෂණ පෙනුනට Java Python වගේ නෙමෙයි. C වගේත් නෙමෙයි. Java language එක හුඟක් වෙනස්. Java වල අභියෝගය තියෙන්නේ OOP Approach එක හරියට අවබෝධ කරගන්න එක. Python වල print("Hello World") කියලා ලියන එක Java වලින් මෙහෙම ලියන්නේ ඇයි ? public class Main { public static void main(String[] args) { System.out.println("Hello World"); } } ඒක හරියට ඔලුව වටේ අත දාලා නහය අල්ලනවා වගේ කියලා හිතෙනවා නේද? public, class, Main, static, void, main, String, args Statem.out , {} වචන වලින් වෙන්නේ මොකක්ද? ඒවා නැතුව println("Hello World"); විතරක් ලියන්න බැරි ඇයි? ඒ මදිවට compile කරලා ආයේ වෙනම run කරන්න ඕනේ ඇයි ? කෙටිම පිළිතුර Object Oriented Programming එහෙම තමා කියන එක. ඒත් ඒක පැහැදිලි පිලිතුරක් නං නෙමේ. OOP සංකල්ප අවබෝධ කරගන්න අපට තවත් ගැඹුරට Java හදාරන්න වෙනවා. මුලින්ම අපි ඉගෙන ගන්නේ object එකක් කියන මුලික සංකල්පය. සරලව කීවොත් object දත්ත සහ හැසුරුම් කේත එය තුලම ඇතුළත් කර තිබෙනවා. ඒ නිසා එයට බාහිර කේත හා දත්ත නොමැතිව ස්වයංව ක්‍රියා කරන්නට පුළුවන්. ඒකට කියන්නේ Encapsulation කියලා. Object එකක් නිර්මාණය කරන්නේ base class එකකින්. එකම base class එකකින් Object ගණනක් හදන්න පුළුවන්. ඒ object එකිනෙකට සමාන වගේම වෙනස් වෙන්නත් පුළුවන්. ඒ Object අතර සන්නිවේදනය කරන්නත් පුළුවන්. මේ program එක Car කියන base class එක භාවිතා කරලා Car objects දෙකක් නිර්මාණය කරනවා. ඒවා කාර් වර්ග දෙකක්. public final class Car { private final String name; public Car(String brand) { this.name= brand; } public static void main(String[] args) { Car car1 = new Car("Toyota"); Car car2 = new Car("Suzuki"); System.out.println(car1.name); System.out.println(car2.name); } } අපි මෙතනදී බාවිතා කලේ Car base class එකේ Constructor method එක. හැබැයි කාර් මෙහෙයවන්න අපට තවත් functions ඕනේ වෙනවා. start, run, break, honk, stop වගේ methods අපට base class එකටම දාන්න පුළුවන්. එතකොට car1 සහ car2 කියලා අපි නිර්මාණය කරන object දෙකටම ඒ methods automatically ලැබෙනවා. එවිට ඒ කාර් අපට මෙහෙයවන්න පුළුවන්. කාර් object එක තුළම ඒවා හසුරුවන දත්ත සහ ක්‍රමවේද ඇතුලත්. ඒවා ස්වයංපෝෂිතයි. ඒ සංකල්පයට කියන්නේ Inheritance. Java programming කරන්න මේ වගේ OOP සංකල්ප වලින්. Java වල structural programming වලට අමතරව Abstraction, Inheritance, Polymorphism, Encapsulation, Constructor වගේ ප්‍රධාන OOP සංකල්ප සමග overloading, overriding , Static and dynamic binding, Access specifiers techniques ප්‍රායෝගිකව භාවිතා කරන හැටි ඉගෙන ගත්තාම Android, Spring Boot , Flutter කරදරයක් නැතිව කරගන්නත් පුළුවන්. නැත්නං මග හිරවෙනවා. ඒ නිසා ඔබ පළමුව කළ කළ යුත්තේ හරියට Java OOP Programming ඉගෙන ගන්න එකයි. ඒ වෙනුවෙන්ම වූ විශේෂ පාඨමාලාවක් ශිල්ප සයුර nextgen ඔබට හඳුන්වා දෙනවා. ලියාපදිංචිය මෙතනින්. https://forms.gle/AjFzTQ7EU1RcJNeK9 වැඩි විස්තර සඳහා 0777573857 අංකයට පණිවිඩයක් එවන්න නැතිනම් අමතන්න. #shilpasayura #nextgen

Saturday, July 13, 2019

Omega CTF on 27 July at SLIIT : Hacking competition

This is a full-day event combined with 2 sessions as follows.

Session 1: 
The Omega CTF - Capture The Flag Competition

Time: 08.00AM - 04.00PM
Venue: Main Auditorium Lobby - SLIIT Malabe.

Provided by Osanda Malith Jayathissa (IT Security Consultant/Security Researcher - UK)

“Omega CTF” Capture the Flag tournament is a distributed, wide-area security exercise, whose goal is to understand how to approach real-world web application and find vulnerabilities effectively.
This competition provides different types of offensive security problems for the participants to solve within a 6-7 hour time period.

There can be a maximum of THREE members in a team.
Winners are selected based on the activities and levels they have completed and predominantly the way they used.

To Register for the CTF competition (Session 1), please fill the below form on or before July 21, 2019. (Only the team leader)

https://forms.gle/YgS2e1m7FZTwq1wc6

Session 2: S
Based Hacking - Approaching a Real-World Web App
Time: 04.30PM - 06.30PM
Venue: Main Auditorium Lobby - SLIIT Malabe.
Speaker: Osanda Malith Jayathissa (IT Security Consultant/Security Researcher - UK)
To Register for the Scenario Based Hacking session (Session 2), please RSVP through meetup app or meetup.com

Osanda Malith Jayathissa has over 10 years of experience as an independent security researcher. Osanda is a security researcher who is passionate about application security since he was a kid. He is interested in reverse engineering, exploit development and penetration testing. He started his hacking life with a single quote (SQL injection) at the age of 12. He has provided manual penetration testing for clients across many sectors, including Banking, Insurance, Media, Entertainment, Healthcare and Financial in UK. He currently works as an IT Security Consultant for a reputed company in UK.
He got acknowledged by many organizations including Microsoft, Facebook, Apple, AT&T, Oracle, Adobe, Nokia, Twitter, Sony, Ebay, SoundCloud, RedHat, Github, Huawei, Dell, Samsung, Intel, etc.
He currently holds OSCP,OSCE,OSWP,eCPPTX,eWPTX,eCRE,CREST CRT Pen.

Sunday, July 7, 2019

ශිල්පසේනා 2019 : BMICH July 18 -21

Invitation :

ශිල්පසේනා 2019 : July 18-21 BMICH
Sri Lanka's Largest Tech exhibition.


https://m.facebook.com/events/605486606645729

#shilpasena #srilanka


Wednesday, August 22, 2018

A/L Python in one hour - Learn by example



Variables

x=3
y="Nimal"
z=True
r=3
2x=5
_r=45
a$5=3

Operators
= + - / *
%  //
**
5 + 3 * 2
5 + 3 * 2 / 2

#single line comment

"""
multi line
comment
"""

'''
multi
line
comment
'''

Input
name = input("Enter Your Name ")
print (name)

Data Types : number, string, boolean, list, dict
x+y
r+x

Data Type Conversion

nt=input("n tofees ")
p=input("person ")
s=p + " got " + nt + " tofees"
print(s)


x=input()
x=int(input())

nt=int(input("n tofees"))
pt=int(input("pr toffes"))
tc=nt * pt
print (tc)

nt=input("n tofees")
pt=input("pr toffes")
tc=int(nt) * int(pt)
print(tc)

nt=7
p=input("person ")
s=p + " got " + str(nt) + " tofees"
print(s)


Comparison
==
!=
===
>=
<=

IF
x=11
if x < 10:
    print("low")
elif x == 10:
    print ("equal")
else:
    print("high")

While
x = 1
while x < 5:  # condition for loop
    print (x)
    x = x + 1
    print ('I love python')

print ('done')

For
#0 to 9
for i in range (10): 
    print (i)


#range (5,10) is 5 through 9
for c in range (5,10):
    print (c)

for c in range (1,6):
    if c == 3:
        break
    print (c)
 
print ("out")


for letter in 'Python':   
   if letter == 'h':
      continue
   print ('Current Letter :', letter)

for i in range(4):  #to iterate between 10 to 20
    for j in range(4):
        print (i, j, i * j)


Functions

def greeting(name):
    print ("Hello " + name)

greeting("A")
greeting("B")
greeting("C")

def add(a,b ):
   c=a+b
   return c #  return value

d=add(1,3)
print (d)
e=add(d,3)
print(e)
f= add(d,e)
print(f)

Formatting
# %d means integer %s is string
x = 2
y = 7
print ("-old-")
print ('The sum of %d and %d is %d' % (x, y, x + y))
print ('The sum of %d and %d is %d is %s' % (x, y, x + y, "OK"))

print ("-New-")
print ('The sum of {} and {} is {}'.format (x, y, x + y))
print ('The multi of [{}] and *{}* is {}'.format (x, y, x * y))

List
list=[1,2,3,4,5,6]

for x in list:
    print (x)

list=[]
print (list)
for i in range(5):
    list.append(i)

print (list)

stack= []
stack.append(1)
stack.append("Sri Lanka")
stack.append( 4)
stack.append( True)
print(stack)

print(len(stack))

a=stack.pop()
print(a)
print(stack)
stack.pop()
print(stack)

Array & List
Array=(3,2,1)
List=[3,2,1]

print(List, Array)
print(Array[0],List[0])

List[2]=4
print(List)

# Array[2]=4 # error

dict = {'Name': 'Ganesh', 'Age': 17, 'Class': 12}
print(dict)
print (dict['Name'])
print (dict['Age'])


dict['Age'] = 18
dict['Class'] = 13
dict['School'] = "RRCK"

print(dict)

Files
f = open("myfile.txt", "w") #write only
f.write( "Python is cool\n")
f.write( "iPython is very cool")
f.close() #Close file


f = open("myfile.txt", "r")
s = f.read()
print(s)
f.close()

input()

f = open("myfile.txt", "r")
line = f.readline()
print(line)
f.close()

input()

f = open("myfile.txt", "r")
lines = f.readlines()
print(lines)
f.close()

List Addressing
L=[0,1,2,3,4,5,6]
print(L)
print("L[0]" , L[0])
print("L[2:]", L[2:])
print("L[:3]", L[:3])
print("L[2:3]", L[2:3])
print("L[:]", L[:])
print("L[:0]",L[:-1])
print("L[:-2]", L[:-2])


1. Study and Run Codes
2. Explore what happens - do some tinkering
3. Draw Flow Charts

Solve this problem

  1. Once upon a time, there were three little crows - ages 2, 4, and 6. What is the total of their ages?

  1. Each little Crow wanted to build a house. Crow #1 wanted to build a house of straw. Straw costs Rs.4 a bundle. He needs 9 bundles. How much will he spend?
  2. Once upon a time, there were three little crows. They were Lady Crow, Lord Crow, and Sister Crow. Lady Crow was 5 years old. Lord Crow was 4 years old and Sister Crow was 3 years old. What was their total age?
4. Master Crow bought 4 milk toffees at 3 Rupees. Next he bought 3 chocs, each cost 10 Rupees. How much balance he would get when he give 100 Rupee note.

5. Your Grandpa likes you talking with him. If you type in normal case, he responds with "HUH?! SPEAK LOUD KID!" . If you type in capital, he responds with "NO, NOT SINCE 1945!". Every time he responds he forget the year and tell a random year between 1945 to 1960.


When you say "BYE" he says "STAY!". But when you say "BYE" 3 times you can leave.