Marcin Barańczak

Programista - tester automatyzujący

Wypowiedzi

  • Marcin Barańczak
    Wpis na grupie Bazy Danych w temacie MySQL problem z update z wykorzystaniem selecta
    11.11.2013, 16:39

    Dziękuję bardzo wszystkim za pomoc.
    Założyłem, że składnia update musi zawierać where i się zaciąłem. Teraz jestem trochę mądrzejszy :)

  • Marcin Barańczak
    Wpis na grupie Bazy Danych w temacie MySQL problem z update z wykorzystaniem selecta
    11.11.2013, 13:11

    Z bazami danych dopiero się zapoznaję. Jestem świadomy tego, że struktura mogłaby być "troszkę" lepsza. Niemniej jest to jedno z zadań ćwiczeniowych, na którym niestety poległem (czytaj: struktura bazy jak i polecenie do wykonania "narzucone odgórnie"). Innymi słowy na razie jestem na etapie nauki chodzenia (lub jak kto woli raczkowania :P). Na naukę biegania (i ewentualnej gimnastyki korekcyjnej :P) przyjdzie jeszcze czas. :)

    Wojciech G.:
    update Plyty set cena=9.99 where data_premiery=(select min(data_premiery) FROM Plyty);
    Próbowałem tego niestety baza odmówiła współpracy wypluwając błąd:

    #1093 - You can't specify target table 'Plyty' for update in FROM clause
    Robert B.:
    Zupełnie nie rozumiem po co wykonywać podzapytanie. Wystarczy "ORDER" i "LIMIT 1" i dzięki tak "magicznej konstrukcji" uda nam się zaktualizować rekord z najstarszą wartością. Na pewno będzie to o wiele szybsze niż podzapytanie z dodatkowo obciążającym "min".
    poszedłem za radą i powstało takie oto coś:

    update Plyty set cena=9.99 where data_premiery=(select data_premiery order by data_premiery limit 1) limit 1;

    co prawda zmienia cenę jednej pozycji (na razie zmieniało wszystkie) niemniej zamiast najstarszej zmienia pierwszą w bazie.

  • Marcin Barańczak
    Wpis na grupie Bazy Danych w temacie MySQL problem z update z wykorzystaniem selecta
    10.11.2013, 21:18

    Moja wina... w jednym z wcześniejszych zadań była zmiana pola z premiera na data premiery.
    Poprawna wersja bazy wygląda następująco:


    create table Plyty
    (
    id int not null,
    tytul varchar(25) not null,
    rezyser varchar(25) not null,
    cena float(4,2) null,
    ilosc int not null,
    data_premiery date null,
    gatunek varchar(20) null
    );


    rozdzielając polecenie do wykonania na dwa człony wszystko działa poprawnie (zmiana ceny po ręcznym podaniu kryteriów oraz wybranie najstarszej pozycji). Niestety po połączeniu w całość powstaje problem. Wszystko co przyszło mi do głowy albo nie działało wcale albo zmieniało cenę we wszystkich rekordach zamiast tylko w najstarszym.

  • Marcin Barańczak
    Wpis na grupie Bazy Danych w temacie MySQL problem z update z wykorzystaniem selecta
    10.11.2013, 19:23

    Witam serdecznie.
    Posiadam następująco utworzoną bazę danych:


    create table Plyty
    (
    id int not null,
    tytul varchar(25) not null,
    rezyser varchar(25) not null,
    cena float(4,2) null,
    ilosc int not null,
    premiera date null,
    gatunek varchar(20) null
    );

    Do bazy wprowadzonych zostało kilka rekordów. Zadaniem było zmienić cenę najstarszej pozycji. Wymyśliłem takie oto coś, co według mnie powinno działać prawidłowo:

    update Plyty set cena=9.99 where data_premiery=(select min(data_premiery));

    niestety zamiast zmienić cenę najstarszej pozycji modyfikowana jest cena wszystkich. Jak można sobie z tym fantem poradzić?

  • Marcin Barańczak
    Wpis na grupie android developers w temacie Trudne początki
    30.07.2013, 16:47

    Dziękuję wszystkim za odpowiedzi :)

  • Marcin Barańczak
    Wpis na grupie android developers w temacie Trudne początki
    26.07.2013, 20:56

    Witam serdecznie.
    Niedawno zostałem poproszony o stworzenie prostej (chociaż to kwestia względna) aplikacji na androida wykorzystującej SQlite. Zasadniczo są z tym 2 problemy. Co prawda w javie dłubię ale ani o androidzie ani o sqlite pojęcia nie mam. Zabrałem się więc do przeglądania internetu w poszukiwaniu niezbędnej wiedzy. Ogólnie co znalazłem to podstawy wymagające znajomości podstaw...
    Gdzie mogę szukać informacji wyjaśniających zagadnienie od samego początku? Ew. czy są jakieś książki godne polecenia wprowadzające w to zagadnienie?

    Z góry dziękuję za wszelakie informacje :)

  • Marcin Barańczak
    Wpis na grupie Java w temacie netbeans 7.3.1 + wtyczka do javy ME
    25.07.2013, 16:37

    Witam serdecznie.
    Mam pewnego rodzaju kłopot z zainstalowaniem wtyczki javy ME do netbeansa. Pliki pobierane są automatycznie poprzez netbeansa(podobnie jak instalacja jest automatyczna bez możliwości jakiejkolwiek ingerencji w nazwę / lokację), instalacja i aktywacja wydaje się, że przebiegają pomyślnie. Niemniej nie są wyszczególnione w "java platform manager". Przy Tworzeniu nowego projektu Javy ME wyskakuje komunikat o braku zainstalowanej kompatybilnej platformy.

    Czy ktoś ma pojęcie jak z tym fantem sobie poradzić?

  • Marcin Barańczak
    Wpis na grupie Java w temacie Pytania egzaminacyjne - mała pomoc
    21.06.2013, 10:34

    Wlodzimierz M.:

    Ew. prowadzący zakłada, ze ktoś, kto pomyli Zint z Zintl

    Muszę za pomoc podziękować:) Przeoczyłem to. Teraz już wiem co to za magia :D.

    Takie zadania można porozwiązywać sobie na 2 semestrze informatyki na WSInfIU (byłe WSInf) w Bydgoszczy (oczywiście w wersji papierowej).

  • Marcin Barańczak
    Wpis na grupie Java w temacie Pytania egzaminacyjne - mała pomoc
    20.06.2013, 11:32

    Dziękuję bardzo za odpowiedź. Właśnie tego potrzebowałem. :)

  • Marcin Barańczak
    Wpis na grupie Java w temacie Pytania egzaminacyjne - mała pomoc
    20.06.2013, 01:22

    Witam serdecznie.
    Właśnie zbliża się mi termin sesji egzaminacyjnej i jestem w trakcie rozwiązywania przykładowych zadań. Niestety natrafiłem na parę przykładów, które przekraczają moje umiejętności i niestety nie jestem w stanie dojść z nimi do ładu. Poniżej one(formatowanie "oryginalne"):


    A_10

    SortedMap<String,Integer> x = new TreeMap<String,Integer>();
    x.put("Kot", 2); x.put("Pies", 2); x.put("Ptak", 1);
    if(x.containsKey("Pies”)){x.put("Pies", x.get("Pies")+3);}
    System.out.println(x.subMap("ALIGATOR","ZABA"));

    --------------------------------------------------------------

    A_11

    class inter{
    public interface Inter{
    int Zint=120;
    public void wyswietl(String kom);
    }
    public interface Inter1 extends Inter{
    int Zint1=50;
    public void wyswietl1(String kom);
    }

    static class klasa1 implements Inter1{
    String kom="";
    public klasa1(String kom){
    this.kom=kom;}
    public void wyswietl1(String kom){this.kom+=kom;}
    public void wyswietl(String kom){this.kom+=kom;}
    public String toString(){return "POCZĄTEK = "+this.kom;}
    }

    static class klasa2 implements Inter1{String kom=""; public klasa2(String kom){this.kom=kom;}
    public void wyswietl1(String kom){this.kom+=kom;}
    public void wyswietl(String kom){this.kom+=kom;}
    public String toString(){if(Zint==120)return " KONIEC ="+this.kom;else return"";}
    }
    public static void main(String args[]){
    Inter1 ob; klasa1 obkl1=new klasa1("A");klasa2 obkl2=new klasa2("B");
    ob=obkl2; ob.wyswietl1("C");ob.wyswietl1("D");
    ob=obkl1;ob.wyswietl("E");ob.wyswietl1("F");
    System.out.println(obkl1+" "+obkl2);
    }
    }


    nie chodzi mi tutaj o wynik ale o informację dla czego jest taki a nie inny. Z góry dziękuję za jakiekolwiek wskazówki :)

  • Marcin Barańczak
    Wpis na grupie Praca IT w temacie rekrutuję: Młodszy Inżynier Wsparcia Technicznego /...
    13.04.2013, 18:38

    Prosiłbym o podanie miejsca pracy :)

  • Marcin Barańczak
    Wpis na grupie Bydgoszcz w temacie Szkoła języka niemieckiego.
    29.08.2012, 16:12

    Witam serdecznie,
    Chciałbym zabrać się za naukę języka niemieckiego. Jest kilka szkół języków obcych. Które są polecane a które odradzane?
    Z góry dziękuję za opinie. :)

  • Marcin Barańczak
    Wpis na grupie Excel VBA w temacie Wyświetlanie wartości z tablicy na danym przycisku

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Excel VBA

  • Marcin Barańczak
    Wpis na grupie Excel VBA w temacie Wyświetlanie wartości z tablicy na danym przycisku

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Excel VBA

  • Marcin Barańczak
    Wpis na grupie Excel VBA w temacie Wyświetlanie wartości z tablicy na danym przycisku

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Excel VBA

  • Marcin Barańczak
    Wpis na grupie Excel VBA w temacie Wyświetlanie wartości z tablicy na danym przycisku

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Excel VBA

  • Marcin Barańczak
    Wpis na grupie Java w temacie sortowanie bąbelkowe-problem
    26.05.2012, 16:53

    Dziękuję bardzo za odpowiedzi.:)

  • Marcin Barańczak
    Wpis na grupie Java w temacie sortowanie bąbelkowe-problem
    24.05.2012, 19:51

    Witam serdecznie.
    Mam zadanie wykonania programu do obliczania czasu sortowania (różnymi metodami). Mam do posortowania kilka typów danych: losowe, częściowo posortowanie, posortowane malejąco i posortowane rosnąco (jest to ten sam zbiór liczb, tylko odpowiednio poformatowany). Sortowanie ma być wykonane rosnąco, więc wg mnie czasy powinny układać się(od najmniejszego): posortowane rosnąco (tylko porównanie, bez przestawień)-> posortowane częściowo ( około 50% już posortowanych) -> losowo (głównie przestawienia + trochę porównań) ->posortowane malejąco (100% przestawień). Przy zbiorze testowym (testuję zakres 10k-20k elementów) wyniki pokazują taki układ: posortowane rosnąco-> posortowane malejąco-> częściowo posortowane-> losowe. Gdzie leży problem?

    poniżej kod programu:


    package javaapplication7;

    import java.util.*;

    class Sortowanie
    {
    private int ilosc;
    final private int MAX;
    final private String[] NAZWY={"Babelkowe","Przez zliczanie","Przez wstawianie",
    "Quick sort","Przez wybieranie","przez wstrząsanie",
    "Przez scalanie"};
    final private String[] TYP={"losowo: ","czesciowo: ","rosnaco: ","malejaco: "};
    private int[][] liczby;
    private long[][] czas;

    public Sortowanie()
    {
    Scanner pobierz=new Scanner(System.in);

    System.out.print("podaj ilosc elementow do sortowania: ");
    ilosc=pobierz.nextInt();
    liczby=new int[TYP.length][ilosc];
    czas=new long[NAZWY.length][TYP.length]; //0-losowo,1-czesciowo,2-rosnaco,3-malejaco
    MAX=10000;

    losowanie();
    babelki();
    zliczanie();
    //odpalenie sortowania przez wstawianie
    //odpalenie sortowania quick sort
    //odpalenie sortowania przez wybieranie
    //odpalenie sortowania przez wstrzasanie
    //odpalenie sortowania przez scalanie
    wypisz_dane();
    }

    void losowanie()
    {
    int i,j,bufor,maks=0;
    Random losuj=new Random();

    //--------------------losowo--------------------

    for(i=0;i<ilosc;i++)
    liczby[0][i]=losuj.nextInt(MAX)+1;

    //--------------------czesciowo--------------------

    System.arraycopy(liczby[0], 0, liczby[1], 0, liczby[0].length);
    for(i=0;i<liczby[1].length-1;i++)
    {
    for(j=0;j<liczby[1].length-i-1;j++)
    if(liczby[1][j]>liczby[1][j+1])
    {
    bufor=liczby[1][j];
    liczby[1][j]=liczby[1][j+1];
    liczby[1][j+1]=bufor;
    }
    i++;
    }

    //--------------------rosnaco/malejaco--------------------

    System.arraycopy(liczby[0], 0, liczby[2], 0, liczby[0].length);
    for(i=0;i<liczby[2].length;i++)
    if(liczby[2][i]>maks) maks=liczby[2][i];
    int[] tab=new int[maks+1];
    j=0;
    for(i=0;i<tab.length;i++)
    tab[i]=0;
    for(i=0;i<liczby[2].length;i++)
    tab[liczby[2][i]]++;
    for(i=0;i<tab.length;i++)
    if(tab[i]>0)
    for(int k=0;k<tab[i];k++)
    {
    liczby[2][j]=i;
    liczby[3][liczby[3].length-j-1]=i; //malejaca
    j++;
    }
    }

    void wypisz_dane()
    {
    for(int i=0;i<2;i++) //NAZWY.length
    {
    System.out.println(NAZWY[i]);
    for(int j=0;j<TYP.length;j++)
    System.out.println(TYP[j]+czas[i][j]);
    System.out.println();
    }
    }

    void babelki()
    {
    int[] tab=new int[ilosc];
    int i,j,bufor;
    long start,stop;

    for(int n=0;n<liczby.length;n++)
    {
    System.arraycopy(liczby[n], 0, tab, 0, liczby[n].length);
    start=System.currentTimeMillis();
    for(i=0;i<tab.length-1;i++)
    for(j=0;j<tab.length-i-1;j++)
    if(tab[j]>tab[j+1])
    {
    bufor=tab[j];
    tab[j]=tab[j+1];
    tab[j+1]=bufor;
    }
    stop=System.currentTimeMillis();
    czas[0][n]=stop-start;
    }
    }

    void zliczanie()
    {
    int maks,i;
    long start,stop;

    for(int n=0;n<liczby.length;n++)
    {
    start=System.currentTimeMillis();
    maks=0;
    for(i=0;i<liczby[n].length;i++)
    if(liczby[n][i]>maks)
    maks=liczby[n][i];
    int[] tab=new int[maks+1];
    for(i=0;i<tab.length;i++)
    tab[i]=0;
    for(i=0;i<liczby[n].length;i++)
    tab[liczby[n][i]]++;
    stop=System.currentTimeMillis();
    czas[1][0]=stop-start;
    }
    }

    void wstawianie()
    {
    int[] tab=new int[ilosc];
    int bufor;


    }
    }


    public class JavaApplication7
    {
    public static void main(String[] args)
    {
    Sortowanie sort=new Sortowanie();
    }
    }


    z góry dziękuję za pomoc :)Marcin Barańczak edytował(a) ten post dnia 24.05.12 o godzinie 20:57

  • Marcin Barańczak
    Wpis na grupie Java w temacie Usuwanie elementu za pomocą iteratora
    30.03.2012, 00:02

    Paweł Włodarski:
    Dopytaj się prowadzącego o co tutaj naprawdę chodzi.

    To biędzie najlepsze wyjście z sytuacji :)
    Paweł Włodarski:
    Ps. i Błagam, nigdy nie nazywaj zmiennych typu Set - "lista" :D

    Wezmę sobie to do serca :)

  • Marcin Barańczak
    Wpis na grupie Java w temacie Usuwanie elementu za pomocą iteratora
    28.03.2012, 06:40

    Dziękuję za informację. :)

    Treść zadania brzmiała: " podany ciąg znaków [jeden dwa trzy cztery pięć sześć pięć pięć] umieść w kontenerze HashSet. Za pomocą Iteratora usuń przedostatni element".

    Z tego co wyczytałem o kontenerze HashSet to wypisuje on elementy bez powtórzeń w sposób "losowy" (a raczej bez gwarancji zachowania poprawnej kolejności). Z jednej strony faktycznie usuwanie przedostatniego elementu jest dość bezsensowne, z drugiej strony jednak przedostatni element jest najtrudniejszy do usunięcia (wg mnie przynajmniej). Z informacji do których się dokopałem iterator przemieszcza się tylko w jedną stronę. Iterator należy najpierw ustawić na odpowiedni element. Ustawienie na zadany element bądź ostatni można zrobić za jednym obiegiem pętli (wstawienie licznika w przypadku dowolnego elementu, bądź gdy polecenie hasNext() zwróci fałsz w przypadku ostatniego). W przypadku przedostatniego trzeba się trochę bardziej napracować i zapewne o to chodziło.

    Dziękuję za informację. :)

Dołącz do GoldenLine

Oferty pracy

Sprawdź aktualne oferty pracy

Aplikuj w łatwy sposób

Aplikuj jednym kliknięciem

Wyślij zaproszenie do