TC KIMLIK CHECKSUM

56
ETM 555 1 #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { long long tcKimlikNoNumber ; long long d[10] ; long long tmp1 = 0 ; long long tmp = 0 ; long long odd_sum = 0 ; long long even_sum = 0 ; long long total = 0 ; long long chkDigit1 = 0 ; long long chkDigit2 = 0 ; int i ; TC KIMLIK CHECKSUM

description

TC KIMLIK CHECKSUM. #include #include int main(int argc, char *argv[]) { long long tcKimlikNoNumber ; long long d[10] ; long long tmp1 = 0 ; long long tmp = 0 ; long long odd_sum = 0 ; long long even_sum = 0 ; long long total = 0 ; - PowerPoint PPT Presentation

Transcript of TC KIMLIK CHECKSUM

ETM 555 1

#include <stdio.h>#include <stdlib.h>

int main(int argc, char *argv[]){ long long tcKimlikNoNumber ; long long d[10] ; long long tmp1 = 0 ; long long tmp = 0 ; long long odd_sum = 0 ; long long even_sum = 0 ; long long total = 0 ; long long chkDigit1 = 0 ; long long chkDigit2 = 0 ; int i ;

TC KIMLIK CHECKSUM

ETM 555 2

for(tcKimlikNoNumber = 19000000000 ; tcKimlikNoNumber < 20000000000 ; tcKimlikNoNumber++) { tmp =tcKimlikNoNumber / 100 ; tmp1 = tcKimlikNoNumber / 100 ; for (i = 9; i > 0; i--) { d[i] = tmp1 % 10 ; tmp1 = tmp1 / 10 ; } odd_sum = d[9] + d[7]+ d[5]+ d[3]+ d[1]; even_sum = d[8] + d[6] + d[4] + d[2]; total = odd_sum * 3 + even_sum; chkDigit1 = (10 - (total % 10)) % 10; odd_sum = chkDigit1 + d[8] + d[6] + d[4] + d[2]; even_sum = d[9] + d[7] + d[5] + d[3] + d[1]; total = odd_sum * 3 + even_sum; chkDigit2 = (10 - (total % 10)) % 10; tmp = tmp * 100 + chkDigit1 * 10 + chkDigit2; if (tmp != tcKimlikNoNumber) { /* printf("Gecersiz TC Kimlik Numarasi: %lld\n",tcKimlikNoNumber) ; */ ; } else { printf("Gecerli TC Kimlik Numarasi: %lld\n",tcKimlikNoNumber) ; } }

return(0) ; }

ETM 555 3

HTML

• Hypertext Markup Language

• Identifies the elements of a page so that a browser such as MS Internet Explorer or Netscape can render that page on the computer screen

• Static page description

• WYSIWYG web page authoring tools

- MS Frontpage

- Dreamweaver

- Home Site

ETM 555 4

HTML Example Source

<HTML>

<HEAD>

<TITLE> Hello </TITLE>

</HEAD>

<BODY>

<P> Hello world </P>

</BODY>

</HTML>

ETM 555 5

HTML Form Example

<HTML><HEAD>

<TITLE> Hello </TITLE>

</HEAD>

<BODY>

<FORM METHOD="GET" ACTION="http://localhost/cgi-bin/ex.cgi >

<INPUT TYPE="text" NAME="word">

<INPUT TYPE="submit" VALUE="Submit word">

</FORM>

</BODY>

</HTML>

ETM 555 6

GET and POST METHODS

• GET method passes form input as part of the URL to the server side program:

http://www.yahoo.com/cgi-bin/process.cgi?firstname=ali&last=veli

• POST method passes input to the standard input of the server side program:

firstname=ali

last=veli

ETM 555 7

HTML5

• HTML5 is the next generation of HTML

• HTML5 will be the new standard for HTML, XHTML, and the HTML DOM.

• The previous version of HTML came in 1999. The web has changed a lot since then.

• HTML5 is still a work in progress. However, most modern browsers have some HTML5 support.

• Examples:

– http://html5demos.com/

ETM 555 8

HTML5• Some of the most interesting new features in HTML5:

– The canvas element for drawing

– The video and audio elements for media playback

– Better support for local offline storage

– New content specific elements, like article, footer, header, nav, section

– New form controls, like calendar, date, time, email, url, search

ETM 555 9

JAVASCRIPT

• Scripting language

• Browser contains Javascript interpreter which processes the commands in the script

• Processed by client

ETM 555 10

Javascript Example Source

<HTML>

<HEAD>

<TITLE> Hello </TITLE>

<SCRIPT LANGUAGE= "Javascript" >

function sayhello()

{

document.writeln("<p> Hello world </p>") ;

}

</SCRIPT>

</HEAD>

<BODY ONLOAD= "sayhello()" > </BODY>

</HTML>

ETM 555 11

CSS (Cascading Style Sheets)

• Allow you to specify the style of your page elements (spacing, margins etc) separately from the structure of your documents (section headers, body, text, links etc)

• “Separation of Structure from Content” allows greater manageability and makes changing the style of the document easier.

ETM 555 12

CSS Example Source

<HTML>

<HEAD> <TITLE> Hello </TITLE> </HEAD>

<BODY>

<P STYLE= “font-size: 20 pt” > Hello world </P>

</BODY></HTML>

• inline style (w/o CSS)

ETM 555 13

CSS Example Source

<HTML>

<HEAD>

<TITLE> Hello </TITLE>

<STYLE TYPE = “text/css”>

P {font-size: 20 pt }

</STYLE>

</HEAD>

<BODY>

<P > Hello world </P>

</BODY></HTML>

• css style sheet

ETM 555 14

CSS Example Source

<HTML>

<HEAD>

<TITLE> Hello </TITLE>

<LINK REL = “stylesheet” TYPE=“text/css” HREF = “styles.css”

</HEAD>

<BODY>

<P > Hello world </P>

</BODY></HTML>

• importing the css file:

ETM 555 15

XML-Extensible Markup Language

• HTML markup is for displaying information

• XML markup is for describing data of virtually any type

• XML enables creation of new markup languages to markup anything imaginable (such as mathematical formulas, records etc)

• In XML, new tags can be created

• Data is structured in a hierarchical manner

ETM 555 16

XML example

<? xml version = “1.0”>

<person>

<firstname> Ali </firstname>

<lastname> Veli </lastname>

<married> yes </married>

<wife>

<firstname> Ayse </firstname>

<lastname> Mehmet </lastname>

</wife>

</person>

ETM 555 17

XML Document Model

• A “document model” is used to enforce structure within a document

• Two types of document models for XML:

– DTD – Document Type Definition

– XML Schema

• Document models are not required in XML

ETM 555 18

Validating Parsers

• A validating parser will check an XML document’s structure against a DTD or XML Schema

• Documents that conform to a document model are “valid”

• Validating parsers will report an error if the document does not conform to it’s document model, even if it is well-formed

ETM 555 19

DTD Example: XML File

• 1 <?xml version=”1.0” standalone=”yes”?>

• 2 <emails>

• 3 <message num=”a1” to=”joe&#64;acmeshipping.com”

• 4 from=”brenda&#64;xyzcompany.com” date=”02/09/01”>

• 5 <subject title=”Order 10011”/>

• 6 <body>

• 7 Joe,

• 8 Please let me know if order number 10011 has shipped.

• 9 Thanks,

• 10 Brenda

• 11 </body>

• 12 <reply status="yes"/>

• 13 </message>

• 14 </emails>

ETM 555 20

DTD Example: Internal DTD1 <!DOCTYPE emails [ 2 <!ELEMENT emails (message+)>3 <!ELEMENT message (subject?, body, reply*)>4 <!ATTLIST message5 num ID #REQUIRED6 to CDATA #REQUIRED7 from CDATA #FIXED

“brenda&#64;xyzcompany.com”8 date CDATA #REQUIRED>9 <!ELEMENT subject EMPTY>10 <!ATTLIST subject11 title CDATA #IMPLIED>12 <!ELEMENT body ANY>13 <!ELEMENT reply EMPTY>14 <!ATTLIST reply15 status (yes | no) "no">16 ]>

ETM 555 21

XML Schema

• XML Schema specification released by the W3C in May 2001, and contains two parts:

– Part I - structure

– Part II - data types

• Developed as an alternative to DTD’s and is much more powerful

• Features:

– Pattern matching

– Rich set of data types

– Attribute grouping

– Supports XML namespaces

– Follows XML syntax

ETM 555 22

XML Schema Example

1 <?xml version=”1.0”?>2 <message3 xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"4 xsi:noNamespaceSchemaLocation = "message_schema.xsd">5 <to>Joe Poller</to>6 <from>Brenda Lane</from>7 <date_sent/>8 <subject>Order 10011</subject>9 <body>10 Joe, 11 Please let me know if order number

10011 has shipped. 12 Thanks, 13 Brenda14 </body>15 </message>

ETM 555 23

XML Schema Example

1 <?xml version=”1.0”?>2 <xsd:schema xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>3 <xsd:element name=”message”>4 <xsd:complexType>5 <xsd:sequence>6 <xsd:element name=”to” type=”xsd:string”

minOccurs-“1”

maxOccurs=”unbounded”/>7 <xsd:element name=”from” type=”xsd:string”

minOccurs=”1”/>8 <xsd:element name=”date_sent”

type=”xsd:date”/>9 <xsd:element name=”subject”

type=”xsd:string”/>10 <xsd:element name=”body”

type=”xsd:string”/>12 </xsd:sequence>12 </xsd:complexType>13 </xsd:element>14 </xsd:schema>

ETM 555 24

ASP/PHP

• Javascript is client side scripting language

• ASP/PHP are server side scripting languages

• ASP/PHP process pages on the server and return the results in the form of HTML source to the client (browser)

• ASP is Microsoft product

ETM 555 25

PHP Example 1

<html> <body><?php $db = mysql_connect("localhost", "root"); mysql_select_db("mydb",$db); $result = mysql_query("SELECT * FROM employees",$db); printf(“<p>First Name: %s</p>\n", mysql_result($result,0,"first")); printf(“<p>Last Name: %s</p>\n", mysql_result($result,0,"last")); printf(“<p>Address: %s</p>\n", mysql_result($result,0,"address")); printf(“<p>Position: %s</p>\n", mysql_result($result,0,"position")); ?> </body> </html>

ETM 555 26

PHP Example 2 <html> <body> <?php if ($submit) { // process form $db = mysql_connect("localhost", "root"); mysql_select_db("mydb",$db); $sql = "INSERT INTO employees (first,last,address,position) VALUES ('$first','$last','$address','$position')"; $result = mysql_query($sql); echo "Thank you! Information entered.\n"; } else{ // display form ?> <form method="post" action="<?php echo $PHP_SELF?>"> First name:<input type="Text" name="first"><br> Last name:<input type="Text" name="last"><br> Address:<input type="Text" name="address"><br> Position:<input type="Text" name="position"><br> <input type="Submit" name="submit" value="Enter information"> </form> <?php } // end if ?> </body> </html>

ETM 555 27

PHP-MYSQL PROGRAMMING

MYSQL Commands

CREATE TABLE tablename ( columnname typ modifiers,

columnname typ modifiers,

…..)

SELECT fieldname1, fieldname2,.. FROM tablename WHERE criteria

SELECT fieldname1, fieldname2,.. FROM tablename ORDER BY fieldname ASC

DSC

ETM 555 28

PHP-MYSQL PROGRAMMING

INSERT INTO tablename (fieldname1, fieldname2,…) VALUES

(‘value1’, ‘value2’, … )

UPDATE tablename SET fieldname1=‘value1’, fieldname2=‘value2’ WHERE criteria

DELETE FROM tablename WHERE criteria

ETM 555 29

CGI

• Common Gateway Interface

• Protocol to enable running programs on the web server

•These programs produce HTML output which is sent to the client (browser)

•Programs can be written in any language (most popular is PERL)

ETM 555 30

PERL

• Practical Extraction and Report Language

• Became popular with CGI programs

• High level – rich and easy to use pattern matching, text processing operators

• Lots of free PERL modules (packages) are available that make programming easy:

-networking modules

-Html/XMP parser, CGI modules

• Extremely useful for developing automated pograms that surf the Internet

ETM 555 31

Automated Web Page Downloader#!/usr/local/bin/perl

use LWP::UserAgent ;

use HTML::TokeParser ;

$options{"agent"} = "Mozilla/4.6 [en] (X11; I; SunOS 5.7 sun4u)";

my $agent = new LWP::UserAgent(%options);

my $request = new HTTP::Request('GET' => $ARGV[0] ) ;

my $response = $agent->request($request) ;

if ( $response->is_success() ) {

print($response->content()) ;

} else {

print("Error: " . $reponse->status_line() . "\n" ) ;

die ;

}

ETM 555 32

CGI Life Cycle

• Server receives a request for a CGI program

• Server creates a new process to run the CGI program

• Server passes information to the program:

– via environment variables and standard input.

ETM 555 33

CGI – Based Web Server

Request for CGI1

Request for CGI2

Request for CGI1

Child process for CGI1

Child process for CGI2

Child process for CGI1

Main Process

ETM 555 34

Problems with CGI

• Expensive to create a process for each request:– requires time and significant server resources, – limits the # of requests a server can handle concurrently

• Stateless: No history remembered– A big problem for web-based development– Solutions: cookies– Still expensive

ETM 555 35

Problems with CGI

• Once the CGI program starts:

– It cannot interact with the web server

– It takes advantage of the server's abilities once it begins execution

• Reasons: the program is running in a separate process.

• Example, a CGI script cannot write to the server's log file.

ETM 555 36

Ways to Improve CGI Performance

• FastCGI

• mod_perl

• Other solutions

ETM 555 37

FastCGI

• Developed by a company “Open Market”

• FastCGI creates a single persistent process for each FastCGI program

• It eliminates the need to create a new process for each request.

• See: http://www.fastcgi.com/

ETM 555 38

FastCGI

• No need to start multiple processes for different requests for the same fastcgi program

• Still needs one process for each cgi program.

• It does nothing to help the FastCGI program to interact more closely with the server.

– Not implemented by some of the more popular servers, i.e., Microsoft's Internet Information Server.

• Not very portable

ETM 555 39

FastCGI – Based Web Server

Request for CGI1

Request for CGI2

Request for CGI1

Single Child process for CGI1

Single Child process for CGI2

Main Process

ETM 555 40

Mod_perl

• Used in the Apache web server

• mod_perl is a module that embeds a copy of the Perl interpreter into the Apache httpd executable

• Providing complete access to Perl functionality within Apache

• CGI scripts are precompiled by the server and executed without forking,

• Thus running much more quickly and efficiently.

• http://perl.apache.org/

ETM 555 41

Server Extension APIs

• Proprietary server extension APIsfor example:

– Netscape provides an internal API called NSAPI

– Microsoft provides ISAPI

– Exist within the main process of a web server

ETM 555 42

Server Extension APIs Advantages

• Using one of these APIs, one can write server extensions that enhance or change the base functionality of the server

• Allowing the server to handle tasks that were once assigned to external CGI programs.

• Use linked C or C++ code

– Thus can run extremely fast; and

– make full use of the server's resources.

ETM 555 43

Web Server with Server Extension API

Request for ServerExtension1

Request for ServerExtension2

Request for ServerExtension1

ServerExtension1

ServerExtension2

Main Process

ETM 555 44

Server Extension APIsDisadvantages

• Difficult to develop and maintain

• Pose significant security and reliability hazards

– a crashed server extension can bring down the entire server.

• Proprietary server extensions are tied to the server API on a particular OS

– Not very portable

ETM 555 45

JAVA

• Introduced by SUN Microsystems

• Object oriented programming language

• Java compiler creates bytecodes that are interpreted by java bytecode interpreter

• Portable bytecode

• Java can be used to create dynamic content on web pages

• Java applets: are programs that can be embedded in HTML documents. Browser (i.e. client) executes the applets.

ETM 555 46

JAVA Servlets

• A servlet is a server-side version of an applet

• Servlets are executed on the server under the control of web server

• Servlets are called from HTML just as with applets

• Servlet receive a request and returns a response to the client in the form of an HTML source

• Often used as alternative to CGI programs

• Some advantages:

- CGI programs start, execute and stop providing no way to save information whereas servlet continue to run (hence capable of saving information)

- Large set of APIs

- Can be faster than CGI

ETM 555 47

Java Servlet Based Web Server

Request for Servlet1

Request for Servlet2

Request for Servlet1

Servlet1

Servlet2

Main Process

thread

thread

thread

JVM

ETM 555 48

AJAX Technologies(Asynchronous Javascript and XML)

• Ajax programming uses combination of :

– XHTML/HTML and CSS for formatting.

– DOM accessed with a client-side scripting language such as JavaScript to dynamically display and interact with the information presented.

– XMLHttpRequest object is used to exchange data asynchronously with the web server without leaving the current page

– XML is used for transferring data between the server and client, (any other format can also be used).

• Example: Gmail uses ajax technologies

ETM 555 49

JQUERY

• jQuery is a library of JavaScript Functions.

• jQuery greatly simplifies JavaScript programming

• jQuery is easy to learn

• jQuery is a lightweight "write less, do more" JavaScript library

• http://jquery.com/

ETM 555 50

JQUERY

• The jQuery library contains the following features: HTML element selections HTML element manipulation CSS manipulation HTML event functions JavaScript Effects and animations HTML DOM traversal and modification AJAX Utilities

ETM 555 51

Web Services Technologies

• XML-RPC

• SOAP

• WSDL

• UDDI

ETM 555 52

WSDL( Web Services Description Language )

• WSDL is a document written in XML which describes a web service. It specifies the location of the service and the operations (or methods) the service provides.

ETM 555 53

XML-RPC

• XML-RPC uses a simple XML application to express function calls (requests) and returned values (responses) between clients and servers.

• The heart of an XML-RPC message is the way data is encoded into XML.

ETM 555 54

SOAP ( Simple Object Access Protocol )

SOAP :

• XML based protocol to let applications exchange information over HTTP

• Protocol for accessing a Web Service.

• A communication protocol

• For communication between applications

• Provides a format for sending messages

• Designed to communicate via Internet

• Platform independent

• Language independent

• Simple and extensible

ETM 555 55

WSDL( Web Services Description Language )

• WSDL is a document written in XML which describes a web service. It specifies the location of the service and the operations (or methods) the service provides.

ETM 555 56

UDDI( Universal Description, Discovery and Integration )

• UDDI is a directory service where businesses can register and search for web services.

UDDI communicates via SOAP

Web service interfaces in UDDI is described by WSDL