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

kostaszabos

Members
  • ΜΗΝΥΜΑΤΑ FORUM

    68
  • ΜΕΛΟΣ

  • ΤΕΛ. ΕΠΙΣΚΕΨΗ

Οτιδήποτε δημοσιεύεται από kostaszabos

  1. και γώ γάτα με πέταλα είμαι.. εννοια σου.. έχει αποδειχτεί απο το 1960...
  2. ξεκίνα να μαθαίνεις πώς να κάνεις SQL injections και θα μάθεις γρήγορα καλή SQL
  3. Μπορούν όλες οι iterative μέθοδοι να μετατραπούν σε recursive μεθόδους? Εχω μιά iterative μέθοδο που παίρνει για παράμετρο ένα array από Strings και επιστρέψει ένα άλλο μικρότερο array από String.. τα στοιχεία του input array τσεκάρονται ανά ζεύγη άν πληρούν κάποιες συνθηκες μπορεί αυτο να γίνει πιό απλά με recursive μέθοδο? εγώ νομίζω πώς θα έχουμε infinite loop γιατί δέν υπάρχει base condition.. αλλά και πάλι αν κάθε recursive μπορεί να μετατραπεί σε iterative και το αντίστροφο γιατί έχουμε infinite loop (Halting problem)?
  4. Ρε φίλε ειλικρινά άμα εσύ κατάλαβες ότι το επίπεδο της νοημοσύνης μου είναι να μπαίνω στο insomnia.gr για να ζητήσω βοήθεια για προγραμματιστικές ασκήσεις που μου βάζουν οι εταιρίες που θα με πληρώνουν τί να πώ.. ή ακόμα καλύτερα ότι περιμένω απο διευθύνσεις IP να μου δώσουν σημασία... δεν μπορώ να σχολιάσω συγνώμη
  5. δέν είναι τόσο εύκολο όσο νομίζεις όταν το κάνεις πρώτη φορά..ξεκίνα απο την αρχή.. εγκατέστησε τη βάση. .ξεκίνα το service απο τον notifier.. μπές στο Workbench να κάνεις connection με το local instance.. δές την sample βάση sakila που σου έχει για να παίζεις με queries.. Μετά κατεβάζεις τον οδηγό connector που είναι ένα jar αρχειάκι και σου επιτρέπει να συνδέσεις το Java πρόγραμμα σου με τη βάση.. και αφού έχεις καταλάβει κάποια βασικά πράγματα απο βάσεις και Java μετά πάς και διαβάζεις για JDBC και παίρνεις άμα θές κάποιο έτοιμο κομμάτι κώδικα να κάνεις τα δικά σου.. να ξέρεις πάντως ότι θα βρείς διάφορα λαθάκια μπροστά σου τα οποία θα σε βοηθήσουν πολύ να καταλάβεις πώς δουλεύουν όλα αυτά.. μετά θα πρέπει να μάθεις καλή SQL.. και γενικές αρχές βάσεων δεδομένων.. Αμα ήταν έτσι στο πόδι να τα καταλαβαίναμε και να τα κάναμε στο πίτσ φιτίλι απο tutorials θα είμασταν όλοι προγραμματιστές και θα πέρναμε απο 2 χιλιάρικα ο καθένας..
  6. Λοιπόν έχω φτιάξει 2 εκδόσεις του Web Scraper - και όχι Web Crawler οπως το λένε οι περισσότεροι και είναι τελείως διαφορετικό πράγμα - για να δείξω ότι ξέρω 5 βασικά πράγματα σαν junior.. τα αναβαθμίζω συνέχεια.. μόλις τα στείλω στην εταιρία θα κάτσω να τα τροποποίησω με την άνεση μου με advanced κωδικα.. και θα σας τα ποστάρω εδώ να μου πείτε αν σας αρέσουν... θα πειραματιστώ με το www.insomnia.gr...
  7. Εντάξει το έφτιαξα! Στο δύσκολο πρόγραμμα εγώ θα κάνω τα πιό απλά tasks..
  8. οκ άμα δέν θέλετε μην βοηθάτε.. δέν τις διάλεξα εγώ τις ασκήσεις.. πείτε μου τουλάχιστον πώς θα πάρω τα data μου απο τη βάση μέσω του ResultSet για να τα γράψω σε ένα CSV αρχείο.. παράδειγμα.. try { String sql="SELECT * FROM record;"; ResultSet rs = mydb.querySingleResult(sql); FileWriter fw = new FileWriter(filename); while(rs.next()){ fw.append(rs.getString(1)); fw.append(','); fw.append(rs.getString(2)); fw.append('\n'); } fw.flush(); fw.close(); System.out.println("CSV File is created successfully."); } catch (Exception e) { e.printStackTrace(); } Δέν ξέρω πόσα Email έχει μαζέψει στο πίνακα.. εγώ θέλω ένα λουπάκι για να πάρω 2 στοιχεία και να του πώ βάλε το κόμμα στη μέση.. Δεν θέλω να μπλέξω με metadata και τέτοια γιατί πάει μακρυά η βαλίτσα.. Βασικά ένα απλό προγραμματάκι μου είπα να φτιάξω οι άνθρωποι αλλά εγώ θέλω να δείξω ότι ξέρω 5 πράγματα και τα έχω μπλέξει όλα μέσα..
  9. τυχαία έβαλα ένα λινκ που μου ήρθε στο μυαλό.. fixed τα sql queries επειδή περνάνε ως στρινγκάκια πέρνουν διπλά διαζευτικά ( " " ).. ΟΚ μέχρι εδώ.. Τα μονά διαζευτικά (' ') στα ονόματα βάσης/πίνακα/στήλης γιατί μπαίνουν???
  10. ο κώδικας μου ειναι ένας Email Spider που πάει σε μιά σελίδα και μαζεύει ότι Email βρεί.. Κάτι έχω κάνει λάθος όμως και δέν μου βγάζει τα αποτελέσματα... Βοηθάτε λίγο? package spider; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Spider { public static void main(String[] args) { BufferedReader buffer = null; InputStreamReader in = null; URL url = null; String urlString = "http://https://www.google.com/"; try{ url = new URL(urlString); } catch(MalformedURLException e){ e.printStackTrace(); } try{ in = new InputStreamReader(url.openStream()); } catch(IOException e){ e.printStackTrace(); } buffer = new BufferedReader(in); String link = null; ArrayList<String> links = new ArrayList<String>(); try{ while((link=buffer.readLine())!=null){ harvestEmail(link); buffer.close(); } } catch(IOException e){ e.printStackTrace(); } for(int j=0; j<links.size(); j++){ System.out.println(links.get(j)); } } public static void harvestEmail(String str){ Pattern pattern = Pattern.compile("[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)* @[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})"); Matcher match = pattern.matcher(str); if (match.find()){ System.out.println(str.substring( match.start(), match.end())); } } }
  11. Βρήκα εδω ένα που θέλει να κάνεις ένα κλώνο του twitter.. κλασική ερώτηση για συνέντευξη..
  12. Εγώ δέν το βλέπω έτσι.. Χρήματα σου δίνουν και πρέπει να παράγεις κάποιο έργο.. δέν σε παίρνει ο άλλος για να κάνεις τον μαθητή.. για αυτό και έχουμε φτάσει στο σημείο να έχεις 2-3 χρόνια εργασία και να θεωρείσαι ακόμα junior.. και να ψάχνουν όλοι junior stack developer..
  13. Λοιπόν ανεβάζω όλο τον κώδικά μου εδώ γιατί δέν βγάζω άκρη με τα queries.. Κάτι κάνω λάθος στη σύνταξη.. Εχουμε ένα web crawler που μαζεύει όλες τις σελίδες με δουλειές απο το kariera.gr και τσιμπάει όλα τα Email για να κάνεις αίτηση εργασίας.. package com.webcrawler; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class MyDB { public Connection conn = null; public MyDB() { String username = "root"; String password = "root"; String url = "jdbc:mysql://localhost:3306/mydb" + "?verifyServerCertificate=false" + "&useSSL=false" + "&requireSSL=false"; try { Class.forName("com.mysql.jdbc.Driver"); // set up connection with the database conn = DriverManager.getConnection(url, username, password); if(conn!=null){ System.out.println("Connected to the database"); } } catch (SQLException e) { System.out.println("An error occured. Please check your username/password"); e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public ResultSet querySingle(String sql) throws SQLException { Statement st = conn.createStatement(); return st.executeQuery(sql); } public boolean queryMultiple(String sql) throws SQLException { Statement st = conn.createStatement(); return st.execute(sql); } } package webcrawler; import java.io.IOException; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class WebCrawler { public static MyDB mydb= new MyDB(); public static void crawl(String url) throws IOException, SQLException{ String sql = "SELECT * FROM record(URL) where URL='" + url + "'"; // WRONG!!!! ResultSet rs = mydb.querySingle(sql); if(rs.next()){} else{ sql = "INSERT INTO record(URL) VALUES (?);"; // WRONG!!!!! PreparedStatement pt = mydb.conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); pt.setString(1, url); pt.execute(); Document doc = Jsoup.connect("http://www.example.com/koukouroukou").get(); if(doc.text().contains("@")){ System.out.println(url); } Elements links = doc.select("a[hef]"); for(Element link : links){ if(link.attr("hef").contains("@")){ crawl(link.attr("abs:href")); } } } } public static void main(String[] args) throws IOException, SQLException { mydb.queryMultiple("TRUNCATE Record;"); crawl("http://www.kariera.gr/intl/jobseeker/jobs"); } } Λοιπόν ξεκινάω να κάνω μιά παραλλαγή που να αποθηκεύονται τα links σε ένα αρχείο μέχρι να βρείτε τί κάνω λάθος στα queries...
  14. Το έφτιαξα flienky αυτό.. αλλού έχω τώρα πρόβλημα.. δεν έχω καταλάβει στο preparedStatement που βάζω το sql πώς πρέπει να το γράψω.. Πές ότι έχω μιά βάση db με ένα πίνακα record που έχει τη στήλη με το κλειδί recordID και τη στήλη URL όπου μαζεύω κάτι links.. To query που του βάζω είναι sql = "INSERT INTO record(URL)" + " VALUES" +"(?);"; αλλά είναι λάθος γιατί εγώ θέλω να μαζεύει όλα τα url που του λέω να μαζεύει.. Σε ένα παραδειγμα που βρήκα το έχει sql = "INSERT INTO `db`.`Record` " + "(`URL`) VALUES " + "(?);"; αλλά η έκδοση της mySQL του είναι παλιά και δέν το παίρνει έτσι... Βασικά σε ένα cvs αρχειο θέλω να μαζεύονται τα αποτελέσματα
  15. εμένα το CodeWars μου αρέσει
  16. το finally στo τέλος των try-catch μου έφταιγε.. ΟΚ θα τα κάνω αυτά που λες flienky αλλά πόσο ασφαλή είναι? μήν το στείλω και γίνω ρεζίλι.. localhost είναι ο server.. κανονικά πρέπει να έχω pool? Ενταξει το έφτιαξα..
  17. Συνδέομαι στη βάση μου αλλά παίρνω αυτή την προειδοποίηση Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. και μετά μου πετάει ένα com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException το οποίο δέν ξέρω κάν απο πού μου έρχεται για να του βάλω ένα try-catch Κλείνει η σύνδεση πρίν φύγει το query? Πρέπει να χρησιμοποιήσω και DBCP Apache?
  18. Όταν σου λένε να φτιάξεις κάτι εσύ πρέπει να το κάνεις όσο καλύτερο γίνεται, δηλαδή να είναι απλό στη σχεδίαση και να μήν πιάνει πολύ μνήμη, να έχει όσο το δυνατόν λιγότερες γραμμές κώδικα και να είναι "έξυπνος".. και έχεις και συγκεκριμένο χρόνο που θα το δουλεύεις.. ΟΚ θα χάσεις αρκετή ώρα διαβάζοντας tutorials και eBooks για να κατανοήσεις τί θές να κάνεις και πώς θα το κάνεις αλλά η μαύρη αλήθεια έιναι ότι σαν junior δέν έχεις το know-how και την εμπειρία για να κάνεις τα παραπάνω.. Αναγκαστικά θα καταφύγεις στο "reverse engineering" και θα κοιτάξεις "έξυπνα" παραδείγματα άλλων.. Προφανώς είναι πιό δύσκολο και επίπονο να πάρεις κάτι και να το τροποποιήσεις για να κάνεις τη δουλειά σου από το να το προσπαθήσεις from scratch αλλά στο τέλος ξέρεις ότι θα έχεις κάτι που "δουλεύει".. Στο σπίτι μου αραχτός ξέρω και γώ να πειραματιστώ και να δοκιμάζω διάφορα με την άνεση του χρόνου.. Βασικά πιστεύω ότι είναι περισσότερο θέμα εμπειρίας και άν έχεις ξαναπιαστεί στο παρελθόν με κάτι παρόμοιο..
  19. Ποιές είναι οι πιό συνηθισμένες ασκησούλες (γράψιμο κώδικα) που βάζουν οι εταιρίες σε junior προγραμματιστές? πχ σου λένε φτιάξε μου ένα απλό SPA με οποια τεχνολογία JavaScript θές που να συνδέεται με ένα API και να σου φέρνει κάτι.. και σύ πρέπει να κάνεις στα γρήγορα κάτι σάν και αυτό ή αυτό ή σου λένε φτιάξε μου ψευδο-κώδικα για ένα αλγόριθμο που να κάνει κάτι συγκεκριμένο.. Δηλαδή να μπορούν να γίνουν σχετικά γρήγορα αλλά να μήν είναι της πλάκας..
  20. Εχεις ένα ArrayList από χρώματα και πρέπει να σβήσεις τα αντίθετα άσπρο-μαύρο, μαύρο-ασπρο, κόκκινο-μπλε κ.ο.κ και να πάρεις ένα ArrayList με τα υπόλοιπα που σου περισεύουν για να ζωγραφίσεις.. κατι τέτοιο προσπαθώ να κάνω αλλά με έξυπνο κώδικα.. όχι φλαγκάκια, if loop με λογικούς τελεστές και έτσι.. κάτι με functional programming για να είναι όμορφο.. με JavaScrict γίνεται στο πίτσ φιτίλι βέβαια αλλά εγώ το θέλω σε Java
  21. ΟΚ θα το ψάξω.. Ψευδοκώδικα έγραψα.. δέν είναι ίδιο όπως το έχω στο πρόγραμμά μου.. δηλαδή έχεις το Γιάννη και το Γιαννάκη που είναι το ίδιο πράγμα αλλά πρέπει να τους τσεκάρεις ξεχωριστά στο loop.. Δέν βρίσκω regular expression που να μου τσεκάρει κάθε String ξεχωριστά όπως τρέχει ο counter άν είναι πχ o Γιαννης.. Δηλαδή άμα κάτσω και κάνω Pattern και Matcher για το κάθε String που ψάχνω ξεχωριστά δέν κερδίζω κάτι... την τρέλα μου μέσα..
  22. δεν σε νοιάζουν οι συνθήκες... έχεις σε ένα if loop AND (&&) statements που χωρίζονται απο OR (||) statements.. Αυτό πρέπει να το κάνω με regular expressions οπωσδήποτε γιατί θα μου την πούν.. δέν φαίνεται ωραίο
  23. Ωραία πές μας πώς θα φύγουν μέσα απο το if loop μου οι συνθήκες [ (A&&Β) || (B&&A) || (C&&D) || (D&&C) ] ... Εχει ξαναρωτηθεί η ίδια απορία..
  24. Λοιπόν επανέρχομαι.. Εχω ένα collection με στριγκάκια που θέλω να τους βάλω μιά σχέση ώστε να αλληλοακυρώνονται ανά ζεύγη πχ ασπρο-μαύρο (αντίθετα χρώματα) και να μου μένουν τα υπολοιπα που περισεύουν... Τα ArrayList και bubble sorting αλγόριθμο είναι η καλύτερη επιλογή? πώς θα φτιάξω "τακτοποιημένα" τις σχέσεις των αντιθέτων για να τρέχει το λουπάκι για το κάθε στρινγάκι ξεχωριστά? Δέν ψάχνω μιά οποιαδήποτε λύση.. ψάχνω την καλύτερη!!! Λοιπόν το έχω φτιάξει και μάλιστα σε χρόνο ρεκόρ απλά σας ρωτάω μήπως μου πείτε καμιά ιδέα με καλούδια απο Java 8 για να το κάνω μοντέρνο..
  25. Έστω ότι έχω ένα Collection με αντικείμενα και κάποια από τα αντικείμενα αλληλοεξουδετερώνονται με κάποια σχέση μεταξύ τους.. ένα παράδειγμα είναι το Maps reduction για να βρείς το πιό σύντομο δρόμο.. Παίρνω εγώ τώρα στην αρχή ένα τυχαίο σύνολο και το βάζω στο collection μου και θέλω να να φτιάξω μιά συνάρτηση που να μου δίνει το πιό απλό αποτέλεσμα.. Τί κατηγορία αλγόριθμος είναι ο καλύτερος για τέτοια δουλειά?
  • Δημιουργία νέου...