Archive for the ‘Coding’ Category

Εγκατάσταση Python Mysql adapter

August 10th, 2011

Εδώ και αρκετό καιρό ακούω πόσο γαμάτη και γρήγορη είναι η python και το django για web development. Ευτυχώς που είναι καλοκαίρι και υπάρχει λίγος χρόνος για διάβασμα οπότε μπορώ να ρίξω και μια ματιά σε άλλες τεχνολογίες πέρα του .NET Framework. Μετά από λίγες μέρες διάβασμα ήθελα να διαπιστώσω τις ικανότητες της python σε συνδυασμό με μια βάση δεδομένων και έτσι χωρίς πολύ σκέψη επέλεξα να χρησιμοποιήσω τη mysql. Το θέμα είναι ότι αντιμετώπισα κάποιες δυσκολίες στην εγκατάσταση/ρύθμιση του python mysql adapter ο οποίος είναι απαραίτητος αν θέλετε να χρησιμοποιήσετε μια βάση δεδομένων με το django. Προκειμένου λοιπόν να βοηθήσω και κάποιους άλλους που θα έχουν το ίδιο πρόβλημα, περιγράφω παρακάτω τα βήματα που ακολούθησα και κατάφερα να δουλεύουν όλα άψογα.

Στο σύστημα μου χρησιμοποίησα σε λειτουργικό OS X 10.5.6 τα εξής :

Python 2.5.1
mySQL  5.5.15
mySQL Python adapter 1.2.3

Βήμα 1
Κατεβάστε τον mysql adapter από τον παραπάνω σύνδεσμο και τοποθετήστε τον στο home folder του OS X.

Βήμα 2
Ανοίξτε ένα terminal window και για να ξεσυμπιέσετε το αρχείο πληκτρολογήστε την εντολή:
>> tar xfz MySQL-python-1.2.1.tar.gz

Βήμα 3
Mπείτε στο φάκελο οπού περιέχει τον python adapter με την εντολή:
>> cd MySQL-python-1.2.3

Βήμα 4
Κάντε edit το αρχείο setup_posix.py και τη γραμμή 26, δηλαδή το
mysql_config.path = “mysql_config”
το αντικαθιστάτε με το εξής
mysql_config.path = “mysql_config_path”

ΠΡΟΣΟΧΗ:
Το mysql_config path διαφέρει ανάλογα με το που έχετε εγκαταστήσει τη βάση σας.
Σε εμένα πχ η εντολή μοιάζει ως εξής
mysql_config.path = “/usr/local/mysql/bin/mysql_config”

Στη συνέχεια αποθηκεύστε τις αλλαγές.

Βήμα 5
Δημιουργήστε συμβολικά links με τις εξής εντολές:
>> sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
>> sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql

Βήμα 6
Τέλος, κάνουμε build και install τον python adapter:
>> python setup.py build
>> sudo python setup.py install

Βήμα 7
Τελικά για να δούμε αν όλα πήγαν κατ’ ευχή δοκιμάζουμε στον intepreter της python να κάνουμε import τον MySQLdb adapter οπότε:
>> python
>>> import MySQLdb

Αν δεν σας βγάλει κανένα λάθος τότε όλα είναι έτοιμα για χρήση της mySQL.

Θα χαρώ να σας βοηθήσω σε οποιαδήποτε απορία!

Posted in Coding | Comments (0)

jQuery Plugins!

June 19th, 2011

Η Javascript είναι ο εφιάλτης όλων των web developers για έναν ανεξήγητο (περίπου) λόγο. Το κακό είναι πως δεν μπορούμε χωρίς αυτή! Παρ’ όλα αυτά υπάρχουν αμέτρητες libraries οι οποίες απλοποιούν τη χρήση της javascript.

Μια από αυτές είναι και η jQuery Library. Η τραγική ειρωνία είναι πως μέσα από μια τόσο μισητή scripting language μπορούν να βγούνε πολύ όμορφα αποτελέσματα. Πλέον δεν υπάρχει λόγος να ενσωματώσει flash script για visualizations κτλπ κάνοντας μια σελίδα βαριά και ασήκωτη.

Ο λόγος που γράφω αυτό το post βέβαια, δεν είναι για να εκθειάσω τα πλεονεκτήματα της jQuery αλλά για να δώσω παραπομπές για κάποια plugins της βιβλιοθήκης αυτής τα οποία μου φάνηκαν πολύ χρήσιμα αλλά και αισθητικά όμορφα!

Οπότε έχουμε και λέμε:

-Θέλετε μια library για tooltips; Η qTip κάνει σίγουρα για αυτό το οποίο θέλετε:

qTip

-Θέλετε μια library για visualizations; H visualize library της Filament Group είναι ό,τι ζητάτε:

Visualize

-Είστε απλά ένας web developer χωρίς γνώσεις σε ui design, μην αγχώνεστε αφού υπάρχουν έτοιμα πανέμορφα jquery user interfaces:

jQuery UI

-Εάν ψάχνετε ένα γρήγορο και αποδοτικό τρόπο για client-side form validation, τότε δείτε το παρακάτω:

jQuery Validation plugin

Tags: , , , ,
Posted in Coding | Comments (0)

Η πικρή ζωή ενός ανυπόμονου Developer

May 29th, 2011

Όλα βαίναν καλώς… Το template είχε σχεδόν σχεδιαστεί, ο προγραμματισμός των κλάσεων είχε ξεκινήσει και εγώ, ένας ενθουσιασμένος και γεμάτος κέφι νέος, έβαλα αμέσως μπρος για το συνδυασμό της αγίας τριάδας του web developing (photoshop, jquery, asp.net). OXI!!! Αυτή είναι η λέξη που θα καθησυχάσει την προγραμματιστική λαιμαργία σας! Ποτέ μα ποτέ, ποτέ ποτέ μην ξεκινήσετε να συνδυάζετε κομμάτια ενός web application που δεν έχουν ολοκληρωθεί!!!! Μια λεπτομέρεια παραφυλάει σε κάθε γωνιά της οθόνης για να βάλει τέλος στο ονειρό σας… Εκείνη η εφαρμογούλα που είχατε σκεφτεί για να σας κάνει ζάμπλουτο…. είναι καλή ιδέα και πρέπει να την ξεκινήσετε αμέσως… αμέσως αλλά ΜΗΝ βιάζεστε…. ναι το παραδέχομαι ήμουν ανυπόμονος και το πληρώνω μέρα με τη μέρα!!!!! Όπως καταλαβαίνετε είχα απλά μια κακή μέρα… :) :) :)

Posted in Coding | Comments (0)

Διάβασμα Connection String από το Web.config αρχείο

May 18th, 2010

Σήμερα θα παρουσιάσουμε έναν πολύ κομψό τρόπο έτσι ώστε να προσφέρετε ασφάλεια αλλά και ευελιξία στην data-driven εφαρμογή σας!

Ουσιαστικά αυτό που θα δούμε είναι μια μέθοδος  μέσω της οποίας  θα μπορούμε να διαβάσουμε το connection string, για τη σύνδεση της βάσης δεδομένων μας, από ένα web.config αρχείο. Ως αποτέλεσμα θα είμαστε “ήσυχοι” όταν έχουμε την εφαρμογή μας online σε debugging mode. Κανείς δεν θα μπορεί να δει τον κωδικό μας καθώς δεν θα υπάρχει πουθενά μέσα στα αρχεία με τον κώδικά μας.

Ακολουθούμε τα εξής βήματα:

1) Προσθέτουμε το παρακάτω τμήμα κώδικα στο web.config αρχείο μας:

<connectionStrings>
  <remove name="LocalSqlServer"/>
  <add name="LocalSqlServer" connectionString="Data Source="SQL SERVER";Initial Catalog="ONOMA ΒΑΣΗΣ";
  Integrated Security=True" providerName="System.Data.SqlClient"/>
 </connectionStrings>

2)Κάνουμε using τις παρακάτω βιβλιοθήκες:

using System.Data.SqlClient;
using System.Configuration;

3)”Τραβάμε” το connection string στο πρόγραμμά μας ως εξής:

string connStr = ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString;

Καλές Δημιουργίες!!!!!!

Tags: ,
Posted in Coding | Comments (0)

Update Twitter via Twitterizer Api

May 15th, 2010

twitter

Σήμερα θα δούμε πως μπορούμε να κάνουμε update το status του twitter account μας μέσω της C#.

Ένα πολύ καλό Twitter Api που μπορούμε να χρησιμοποιήσουμε είναι το Twitterizer.

Αφού λοιπόν κάνουμε add reference το .dll αρχείο στο project μας και προσθέσουμε το statement

using Twitterizer;

στην αρχή του κώδικά μας με μόνο δύο γραμμές μπορούμε να ανανεώσουμε το status του twitter account μας.

Twitter twitter = new Twitter("username", "password");
twitter.Status.Update("Hello World!");

όπου username και password το όνομα χρήστη και ο κωδικός σας στο twitter!

Tags: , , ,
Posted in Coding | Comments (0)

Ajax Control Toolkit – ModalPopUp

May 13th, 2010

Σήμερα θα μιλήσουμε για το modal popup window το οποίο περιέχεται μέσα στο ajax control toolkit.

Αρχικά κατεβάζουμε το ajax control toolkit από εδώ.

Στη συνέχεια αποσυμπιέζουμε το αρχείο του toolkit και τοποθετούμε  το αρχείο AjaxControlToolkit.dll στο bin folder του project μας.
Κάνουμε reference της παραπάνω βιβλιοθήκης στο project μας και συνεχίζουμε βάζοντας τα controls του ajax toolkit στην toolbar του Visual Studio.

Αυτό γίνεται ως εξής:
Κάνουμε δεξί κλικ στην toolbar και επιλέγουμε Add Tab. Στη νέα καρτέλα δίνουμε το όνομα Ajax Control Toolkit.
Συνεχίζουμε κάνοντας δεξί κλικ πάνω στην καρτέλα που μόλις δημιουργήσαμε και πατάμε Choose Items.
Πατάμε το κουμπί browse και βρίσκουμε την βιβλιοθήκη που τοποθετήσαμε στο bin folder.
Πατάμε OK και είμαστε έτοιμοι να χρησιμοποιήσουμε τα πολυπόθητα controls.

Αφού κάνουμε reference της βιβλιοθήκης όπως αναφέρθηκε παραπάνω, τοποθετούμε με drag n drop το ToolkitScriptManager control στην asp.net σελίδα μας ακριβώς κάτω από εκεί που δηλώνουμε τη φόρμα μας.
Προκύπτει δηλαδή κάτι τέτοιο:

<form id="form1" runat="server">
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</asp:ToolkitScriptManager>

Τελικά αυτό που θα κάνουμε είναι να δημιουργήσουμε ένα κρυφό panel μέσα στο οποίο μπορούμε να τοποθετήσουμε ένα login/signup control. Το panel αυτό θα εμφανίζεται αφού πυροδοτηθεί ένα event από κάποιο άλλο control όπως ένα image button ή ακόμη και από ένα Hyperlink.
Παραθέτω τον κώδικα για ένα panel μέσα στο οποίο βρίσκεται ένα login control.

<asp:Panel ID="panelLogin" runat="server" CssClass="panelPopUp" style="display:none;">
            <asp:Hyperlink ID="cancelBtn1" runat="server" ImageUrl="~/images/exit_btn.png">
            </asp:Hyperlink>
            <asp:Login ID="login1" runat="server" CssClass="loginControl">
</asp:Login>
        </asp:Panel>

Και στο τέλος του προγράμματος προσθέτουμε τον modalPopUp extender ο οποίος πυροδοτεί το event:

<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
        PopupControlID="panelLogin" TargetControlID="LoginHyperlink"
        CancelControlID="cancelBtn1" BackgroundCssClass="modalpopup">
    </asp:ModalPopupExtender>

Ουσιαστικά κοιτάζοντας τον extender παρατηρούμε ότι καθορίζουμε το control (LoginHyperlink) το οποίο με το που θα το πατήσουμε θα πυροδοτήσει το panel control (panelLogin).
Όλα τα παραπάνω είναι χρήσιμα για να φτιάξετε ένα πανέμορφο web 2.0 interface στο δυναμικό (και όχι μόνο) site σας.

Tags: , , ,
Posted in Coding | Comments (0)

  • Twitter
  • Facebook
  • LinkedIn