Προς το περιεχόμενο

Migation from Microsoft Solutions to *nix.


ntellos

Προτεινόμενες αναρτήσεις

Καταρχάς να αναφέρω ότi έχω πολλές γνώσεις επάνω στο Linux, οπότε δεν χρειάζομαι manuals, αλλά αντίστοιχα "εργαλεία" με αυτά που ξέρω να χρησιμοποιώ ήδη. Σκοπεύω να στήσω έναν home "server" για development.

 

Τα κόκκινα είναι τα σημαντικότερα και αυτά που με προβληματίζουν περισσότερο, παραθέτω όμως περισσότερα για να ακούσω τις γνώμες σας.

 

1. Programming Language: C# ~> C#

2. IDE: Visual Studio ~> Mono Develop. Υπάρχει κάποιο ωραίο καλούδι σαν τον Resharper;

3. Database Server: Sql Server ~> Dunno. Παλιότερα είχα χρησιμοποιήσει λίγο Mysql, αλλά μπορεί να κάποιος άλλος server να είναι πιο κοντά σε features του Sql server.

4. Database IDE: Ssms ~> Dunno. Το μοναδικό πράγμα που με ενδιαφέρει είναι να μπορώ να έχω features όπως του Sql Prompt (IntelliSense, formatting). 

5. Git Server: Atlassian Stash ~> Atlassian stash. Υπάρχει κάτι ανταγωνίσιμο σε unix για να δω; Το web interface με ενδιαφέρει αρκετά.

6. Deployment Proccess: Teamcity, octopus ~> dunno.

7. Web server: IIS ~> dunno. Apache είχα στήσει παλαιότερα, αλλά έχω ακούσει καλά λόγια και για nginx.

 

 

Ευχαριστώ εκ των προτέρων

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για database μπορείς να δοκιμάσεις PostgreSQL. IDE για τη βάση θα πρότεινα το DataGrip της JetBrains.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

DB -> postgresql

DB IDE -> τσέκαρε και το dbeaver. Δεν ξερω αν θα σε καλύψει

git server -> gitlab

web-server -> apache/nginx/whatever αλλά βασικά μάθε docker

 

deployment process δεν έχω ιδέα τι εννοείς με αυτό και βαριέμαι να googl-άρω :P

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Βλέπω και οι δύο λέτε για postgre. Και ένας irl friend το ίδιο μου λέει. Γιατί όχι mysql ή κάτι άλλο; Υπάρχει κάποιος λόγος;

To https://jenkins.io/ έχω ακούσει ότι είναι πολύ δυνατό. Έχει κανείς γνώμη;

 

Offtopic:

deployment process δεν έχω ιδέα τι εννοείς με αυτό και βαριέμαι να googl-άρω :P

Χονδρικά ένα web ui, όπου πατώντας ένα κουμπί στήνεις ένα application σε ένα άλλο μηχάνημα (devserver, stagingserver, productionserver). Υπάρχουν και πολλά άλλα καλούδια που μπορείς να κάνεις (Continious integration, unit tests), δες μερικά videos στο youtube, θα βοηθήσει πολύ και εσένα και ίσως στην δουλεία σου αν θες να το δείξεις.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλησπέρα.

 

Δεν θα σε καλύψω απόλυτα, στο λέω εκ των προτέρων, κυρίως όσον αφορά τα IDE που ζητάς για τα οποία δεν έχω ιδέα. Αν πάντως θέλεις την άποψή μου, ο vi και τα CLI tools που παρέχονται για όλες τις βάσεις και τους compilers είναι υπέρ αρκετά και πάντα έκανα τη δουλειά μου και με το παραπάνω με αυτά.

 

Τώρα, όσον αφορά τις βάσεις και τον web server που ζητάς, να σου πω από την αρχή ότι δεν υπάρχει κάτι ΙΔΙΟ στο Linux. Θα πρέπει να συμβιβαστείς/αλλάξεις/αναθεωρήσεις κάποια πράγματα ειδικά αν μιλάμε για υπάρχον κώδικα και projects που τρέχουν ήδη. Πιό αναλυτικά:

1. Αν θέλεις έναν standalone database server είτε επιλέξεις MySQL είτε PostgreSQL λίγη διαφορά θα σου κάνει. Προφανώς αυτό αλλάζει πολύ αν έχεις συγκεκριμένες απαιτήσεις για triggers πχ ή έχεις built in functions που θέλεις να περάσεις στη βάση σου. Ειδικά στη δεύτερη περίπτωση πάντα έβρισκα την MySQL πιο "πλήρη" και εύκολη για τέτοιες δουλειές.

2. Για τον web server ο apache είναι πιο "mainstream" (αν και ο nginx αρχίζει να χρησιμοποιείται όλο και περισσότερο) και λίγο πιό βαρύς. Ο nginx από την άλλη έχει λίγο πιο παράξενο configuration αλλά έχει ενσωματωμένες δυνατότητες load balancing και είναι τρομερά αποδοτικός ώς reverse proxy πχ. Και πάλι, εξαρτάται από τις ανάγκες σου, αν δεν χρειάζεσαι κάτι πολύ συγκεκριμένο οποιοσδήποτε από τους δυο θα σου κάνει τη δουλειά μιά χαρα.

3. Για το deployment η πιο εύκολη λύση είναι το capistrano. Με ένα πολύ μικρό configuration μπορείς να κάνεις τη δουλειά σου και με πολύ λίγο κόπο μπορείς να αυτοματοποιήσεις μέχρι και DB migrations που μπορεί να χρειαστείς. Επίσης, υπάρχουν πάρα πολλοί οδηγοί στο internet για το πώς μπορείς να κάνεις τον Jenkins σου έναν πλήρως αυτοματοποιημένο CI server ωστε μετά από successful build να γίνεται αυτόματα και το deploy σου. Το capistrano είναι ένα ruby gem όλο κι όλο οπότε χρησιμοποιόντας κάποια λύση σαν το rvm για την εγκατάσταση του ruby env σου μπορείς εύκολα να το εγκαταστήσεις και να το χρησιμοποιήσεις. Άν για οποιοδήποτε λόγο δεν σου αρέσει αυτή η λύση (κατανοητό φυσικά μιας και είναι ruby και.... δεν χρειάζονται και περισσότεροι λόγοι από αυτόν για να το μισείς) μπορείς να δοκιμάσεις μια λύση βασισμένη στο ansible (python). Επίσης πολύ εύκολο config ειδικά για απλά setup όπως το δικό σου και πάλι μπορείς να το χρησιμοποιήσεις με τον jenkins για να κάνεις το CI σου. Υπάρχουν φυσικά ατελείωτες λύσεις για deployment αλλά μετά αρχίζει και ξεφεύγει το θέμα σε πολυπλοκότητα και κόπο που θα χρειαστεί από εσένα για να το στήσεις όπως το θέλεις (chef, puppet, saltstack που περισσότερο είναι configuration managment frameworks και οχι απλά remote command execution tools).

Όσο για gitlab κτλ δεν έχω να προσθέσω κάτι παραπάνω σε όσα έχουν ήδη γραφτεί.

 

Αυτά και καλή αρχή. 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...