Friday, November 16, 2012

Онлайн магазин с codeigniter

Създаване на онлайн магазин с codeigniter



Начало

Днес реших малко да поговорим за една php платформа където се оказа доста лесно и бързо да се създават динамични web страници.
имах една поръчка на клиент който поиска онлаин магазин.

И така се захванах за работа като първо помислих какво да ползвам чист php, joomla, или да опитам с codeigniter.
Оказа се че codeigniter е MVC (Model-View-Controller) а аз до сега не бях ползвал MVC модела и затова реших да се опитам.
В началото беше доста объркано в главата ми четях документация за codeigniter гледах малко видео уроци и ето че леко започна да ми се навързват нещата.

Проекта


За самия проект знаех че трябва да има стандартните неща като:
Категории, кошница, промоции, редакция, изтриване и една средно голяма администрация.
Направих си блок схема на всичко и преминах към реализирането на проекта.

codeigniter

codeigniter е лесен за използване всичко което трябва да направите е да го свалите
и просто да пишете има документация бих казал добра където може да видите кое как се прави 
но може да си ползвате и стария начин на работа с php.

codeigniter разделя бизнес логиката ви от презентационата част което дава на вашия бизнес код да бъде разграничен и да имате само имплементация на функционалност, 
а самото View да бъде часта където ще имаме колкото се можем само чист html.

Всеки модел в codeigniter трябва да наследява CI_Modeл.
Имате доста библиотеки така наречените help-ери, които се инициализират още в конструктора един път хването ли ритъма и разберете ли как стават нещата всичко друго е писане на код и желание.

Заключение

Като за заключение може да кажа, че codeigniter ми даде няква свобода и лекота с която да навигирам между MVC модела, но забелязах, 
че има и недостатаци за който няма сега да говоря 
целта тук е да намерим полезното в таз платформа.
Ползвайте я за малки проекти, а защо не и за нещо по голямо.
може да видите крайния резултат който ми отне 5 дена .

Ако имате въпрости относно codeigniter пишете ми 
Поздрави Мехмедов







Sunday, November 11, 2012

DotNetNuke overview

DotNetNuke overview



DotNetNuke, накратко dnn e cms система, с която лесно и бързо създавате web страници, но с разликата, че може да добавяте и ваши custom контроли.

За създаването на една такава dnn web страница ви е нужно:

Visual Studio 2010
MSSQL 2008
IIS
DNN.zip



http://www.dotnetnuke.com/

Информация за инсталация на dnn.
http://www.dotnetnuke.com/Resources/Wiki/Page/Install_DotNetNuke.aspx

Една от хубавите страни на тази платформа е:

  • Среда за разработка .net
  • Имате Debug mode много полезно 
  • Ползват контроли на telerik
Видео уроци 


Мехмедов


Wednesday, October 24, 2012

Награждаване - Cloud Development

Награждаване - Cloud Development

И така  - поредния сертификат от "Телерик"  заслужено си го добавям към моята колекция.


Курса обхвана технологии като .Net, WCF services, NoSql, CouchDB, облачни услуги AppHarbor, Drobbox и др..
Разработихме проект, с който защитихме нашите знания .













Шампионите от курса Разработка на софтуер в cloud среда, които предаваха домашни, положиха тест върху изучавания материал, разработиха и защитиха с отличие практически курсов проект, включващ разработка на cloud приложения с NoSQL база данни, cloud storage, REST услуги в cloud среда и HTML5-базиран front-end, са:
  • CL254 – Г. Ангелов – 103 точки
  • CL511 – С. Стаев – 99 точки
  • CL400 – С. Тодоров – 96 точки
  • CL128 – А. Георгиев – 93 точки
  • CL111 – D. Тодоров – 89 точки
  • CL152 – И. Стоянов – 89 точки
  • CL493 – И. Пенев – 88 точки
  • CL515 – М. Димитров – 84 точки
  • CL399 – Т. Паскалев – 84 точки
  • CL286 – Н. Мехмедов – 82 точки
  • CL036 – Й. Тодоров – 77 точки
  • CL057 – М. Гебов – 74 точки


Поздрави мехмедов

Monday, October 8, 2012

Nurietin Mehmedov CURRICULUM VITAE


Понякога се налага да представиш себе си с няколко думи или пък да кандидатстваш за работа където CV-то е задължително( мотивационно писмо също но за него друг път).
Надявам се да помогна с моето CV на други хора които искат да си оформят тяхното CV



CURRICULUM VITAE

    Personal Information

Name: Nurietin Mehmedov
Position: Delphi (XE), Dot.Net Developer
Date of Birth: 20  January 1974
Marital Status: Single
Mobile Phone: (+359) (889) 25 05 02
Email: jakomena@gmail.com
Skype: jakomen

Education


1989 - 1992:        High School  “CPTU - Transport”, Kazanlak, Bulgaria

1981 - 1989:        Comprehensive Secondary School “Nikola Vapcarov”, Kazanlak, Bulgaria

Certification


     2011 -  2012    Mobile Applications Development “telerik academy”, Sofia, Bulgaria

2012 -  2012    Cloud Development “telerik academy”, Sofia, Bulgaria

2010 – 2011:    High School  “Europe” English  pre intermediate,  Kazanlak, Bulgaria

Employment Career


Jun 2005 – Present: Delphi, Dot.Net Developer for Software Development 
(David-Holding), Bulgaria – http://www.david-holding.com/

Oct 2000 – July 2001  C, C++ Developer for Software Development (SICOM), Bulgaria

Skills


Software project management
Software architectures
Object-oriented programming and modeling
Client-server technologies
Multithreading and thread synchronization
Internet technologies and networking
Web application development
Relational databases, database systems and database design
High-quality programming code construction
Windows network administration and maintenance
Operating systems – Windows,  DOS

 

Programming Languages

     Delphi, C#, Asp.Net, Java, C, C++, PHP 

            Web

                Html5. Jquery, CSS,  javascript

Software Technologies and Platforms

Microsoft .NET Framework and related technologies – C#, ADO.NET, Windows Forms, ASP.NET,  AJAX, Controls Toolkit, XML Web-services
Delphi and related technologies – Visual Component Library (VCL)
Database access – SQL, ADO, ADO.NET, stored procedures
Web sites and client-side scripting – HTML, DHTML, CSS,
JavaScript, Jquery, Mobile, JSON,
Internet protocols – TCP/IP, HTTP, HTTPS, SMTP, POP3, FTP
Socket programming – Winsock, C socket programming
Windows programming – Win32 API, COM, ActiveX, ODBC, ADO

 

Database Servers

Oracle Database (8, 9, 9i, 10g), Microsoft SQL Server (2000, 2008), MySQL (4.0, 5.0),
NoSql – database(CouchDB),InterBase (6.0) / Firebird (1.0), Microsoft Access (2000, 2003)

 

Application Servers

         MS Internet Information Server (5.0, 6.0), Apache (1.3, 2.0)

 

Development Tools

         Java and J2EE related – Eclipse, Eclipse Web Tools, Eclipse , Borland , Microsoft Visual C++
         related – Microsoft Visual Studio (6.0, 2002, 2003, 2005, Borland)

 

Other Skills

Team working skills
Communication skills
Organizational skills


Projects

Инструменти и машини


 Period: now
 Description: online store  
 Technologies: php, Html5, Jquery, Ajax, css 
 Url: http://simo98.com/

PMSystem

 Period: august 2012 – now
 Description: project management system   
 Technologies: Html5, Jquery, Ajax, Json, NoSql – CouchDB, JsonBridje
 Platform –  Widnows, IIS
 Url: http://pmsystem.nh.zonebg.com/          
           
Secret Comunicator

Period: Mart 2012 – now
Description: Cloud Application using NoSql - CouchDB
Technologies: WCF Service, Html5, Jquery, Ajax, Json
Platform –  Microsoft Visual Studio 10.

XGridView  1.0

Period: December 2011 – now
Description: Server Control And Component Development
Technologies: dot.net, html, jquery, css,
Platform –  Microsoft Visual Studio 10.
Url: http://xgridview.apphb.com/


Supplier 1.0

Period: December 2010 – now
Description: Android Mobile business application
Technologies: java se, sqllite database, threading
Platform – Eclipse


Light Mp3 Player 2.2

Period: December 2008 – now
Description: Mp3 Desktop application version 2.2
Technologies: Mp3 encoding win32 API
Platform –   Delphi 7, XE


Auto zone

Period:  January 2011 – now
Description: Web page for auto mobiles version 1.0 Bulgarian Language
Technologies: PHP, java script, HTML, CSS, Jquery, MySql
Application Servers
MS Internet Information Server (5.0, 6.0), Apache (1.3, 2.0)


Research Interests

Object-Oriented Modeling and Software Design
High-Quality Programming Code Construction
Mobile Technologies
Database Development
Data Structures and Algorithms
Business Process Modeling

Languages

Bulgarian – native
English – fluent
Turkish – good

 

Test for ASP.NET developers


Test for ASP.NET developers


Скоро си тествах познанията с един онлайн тест.
Пускам теста с отговорите, защото самият тест е концептуален и е задължително за един developer да е запознат с ООП и База данни.


This test is designed to test your skills in programming, design and SQL.


Programming

What’s the difference between an abstract class and interface? When would you want to use them?




Abstract class can contain abstract methods, abstract property as well as other members (just like normal class).
Interface can only contain abstract methods, properties but we don’t need to put abstract and public keyword. All the methods and properties defined in Interface are by default public and abstract.

What's the difference between overriding and overloading a method?

Overriding - same method names with same arguments and same return types associated in a class and its subclass.
Overloading - same method name with different arguments, may or may not be same return type written in the same class itself.

What's the difference between protected and internal?

Protected:
A protected member is accessible from within the class in which it is declared
Internal:
Internal types or members are accessible only within files in the same assembly.

What's the difference between a static method and a non-static method?

The static methods can by accessed directly from the class, while non-static methods have to be accessed from an instance

Explain what happens when you pass a "ref" or "out" parameter into a method

Ref tells the compiler that the object is initialized before entering the function, while out tells the compiler that the object will be initialized inside the function

What's the difference between a value-type and a reference type?

Value types are stored directly on the stack.
Value types are always accessed directly
Reference types are stored on the run-time heap
A variable of reference type always contains a reference to a value of that type or a null reference

What does the "readonly" keyword in C# mean?

Marking a field as read-only only means that we cannot change the value of that field

What is the difference between a thread and a process?

Process
Each process provides the resources needed to execute a program
A process has a virtual address
Each process is started with a single thread, often called the primary thread, but can create additional threads from any of its threads
Thread
A thread is the entity within a process that can be scheduled for execution
All threads of a process share its virtual address space and system resources
each thread maintains exception handlers

What is an Interface and how is it different from a Class?


Classes as a template to put the properties and functionalities
A class can contain declarations of the following members:
Constructors, Destructors, Constants, Fields, Methods, Properties
An interface contains only the signatures of methods, delegates or events
The implementation of the methods is done in the class that
implements the interface.
A class that implements an interface can explicitly implement members of
that interface. An explicitly implemented member cannot be accessed through a class instance, but only through an instance of the interface

An interface can inherit from one or more base interfaces

What is Reflection?

Reflection helps us to browse methods, properties and function of a given class or assembly on run time and invoke the methods and functions using reflection

How does the generational garbage collector in the .NET CLR manage object lifetime? What is non-deterministic finalization?

No time ???

What is the difference between Finalize() and Dispose()?

Dispose() is called by the user of an object to indicate that he is finished with it, enabling that object to release any unmanaged resources it holds. Finalize() is called by the run-time to allow an object which has not had Dispose() called on it to do the same

What is lambda expression?

Lambda expressions are similar to anonymous methods
they  can contain expressions and statements, and can be used to create delegates or expression tree types
example: customers.Where(c => c.City == "London");

Design

What is object oriented programming and why developers should use it?

OOP gives us
flexibility
polymorphism
encapsulation
inheritance It makes the coding more organized

What is polymorphism?

Polymorphism. It allows you to invoke derived class methods through a base class reference during run-time. This is handy when you need to assign a group of objects to an array and then invoke each of their methods. They won't necessarily have to be the same object type. However, if they're related by inheritance, you can add them to the array as the inherited type. Then if they all share the same method name, that method of each object can be invoked.

Name all design patterns that you know.

 

Describe MVC pattern.

(Model View Controller) A design pattern used in services architectures
The 'Model' is how the underlying data is structured. The 'View' is what is presented to the user or consumer. The 'Controller' is the element that performs the processing.

 

Describe IOC pattern and dependency injection principle.

 

What is TDD and why developers should use it?


SQL

Explain types of JOINs:

INNER JOIN

inner Join : Two tables having the common column values go with inner join

 

LEFT and RIGHT OUTER JOIN

Left outer join: Taking Left side values of the table checking into right side
Right Outer join:Taking Right side values of the table checking left side
Outer join has two sub types left outer join,Right outer join

FULL JOIN

Full join is combined with left outer join ,Right outer join.

 

CROSS JOIN

cross join is an carteasion product ,its like matrix format

What is a key?


A candidate key?

A Candidate Key can be any column or a combination of columns that can qualify as unique key in database. There can be multiple Candidate Keys in one table. Each Candidate Key can qualify as Primary Key

A primary key?

The PRIMARY KEY constraint uniquely identifies each record in a database table.
Primary keys must contain unique values.
A primary key column cannot contain NULL values.

An alternate key?

It is commonplace in SQL databases to declare a single primary key, the most important unique key. However, there could be further unique keys that could serve the same purpose. These should be marked as 'unique' keys. This is done to prevent incorrect data from entering a table (a duplicate entry is not valid in a unique column) and to make the database more complete and useful. These could be called alternate keys

A foreign key?

A FOREIGN KEY in one table points to a PRIMARY KEY in another table

What is an index and how does it help your database?

create indexes in tables
Indexes allow the database application to find data fast without reading the whole table.
CREATE INDEX index_name
ON table_name (column_name)

Поздрави Мехмедов

DevReach 2012 и една презентация на Светлин Наков "Public .Net Clouds"

 DevReach 2012

Привет миналата седмица спечелих от Телерик безплатен билет за DevReach 2012 

Събитието се състоя в кино "Арена" младост - София.
Цели два дена обогатихме developer-ските ни умения 
сега ви представям два видео клипа 
откриване на  DevReach 2012 и една презентация на Светлин Наков "Public .Net Clouds"

Friday, September 28, 2012

dot.net framework 2.0 to 4.0

Отново се захващаме с интересни неща, които трябва да се споделят.


Вчера случайно попаднах на един мой стар проект за управление на малкия и средния бизнес.
"Firm Management" писах го преди 2 г. на dot.net, като тогава ползвах framework  2.0

Днес, след  като реших, да го подкарам и deploy-на на appharbor.com.
Имах, проблем при компилация от страна на appharbor,
като грешката беше : App_Code is not allowed because the application is precompiled


Проблем

Оказа се, че директорията  App_Code в проекта, трябва да се изтрие, но се замислих, къде ще ми бъде добавен бизнес кода.
Понеже, проекта беше създаден, като web site и там си търси,

"App_Code"  директорията.

Как си реших проблема



Взех файла, с бизнес обектите (objects.cs)
създадох си нов проект, "asp.net web application" добавих в него objects.cs и компилирах.
В bin директорията - получих един dll файл, добавих го в другия проект по референция и така директорията "App_Code" стана ненужна.
Всичко се компилира и успях да deploy-на без грешки.

Ето и проекта http://mfirm.apphb.com/
Тук е описан същия проблем на английски  -тук

Поздрави Мехмедов!