#asciihack Wroclaw

86 views
Skip to first unread message

Mateusz Glapinski

unread,
Mar 18, 2013, 1:03:06 PM3/18/13
to wrocl...@googlegroups.com
Cześć,

w najbliższą sobotę będzie miał miejsce ciekawy event dla koderów. W imieniu Piotrka Nędzyńskiego przekazuję zaproszenie na to wydarzenie:

Pamiętacie Rogue, Space invaders, ADOM? Stare dzieje, ale z pewnością u wielu budzą nadal sentyment. W najbliższą sobotę zapraszamy na hackathon kodzenia old-school'owych gier z grafiką ASCII. W Krakowie taka formuła świetnie się sprawdziła - powstało 16 gier w niecałe 5 godzin. Wszystkie technologie mile widziane. Programiści Javy mogą korzystać np z https://github.com/trystan/AsciiPanel.

Szczegóły: http://getbaselab.github.com/posts/2013-03-08-asciihack-wroclaw/

Sebastian Chojnacki

unread,
Mar 30, 2013, 8:03:24 AM3/30/13
to wrocl...@googlegroups.com
Witam,
Mam problem z czasem utworzenia pliku (czy te� z operacjami kt�re s� wykonywane po jego wczytaniu). Opisz� kr�tko o co chodzi:

1. U�ytkownik wczytuje plik xls (np. 15 000 wierszy)
2. Odczytuj� po kolei ka�dy wiersz i na podstawie danych w wierszu wyszukuj� dane w bazie i przez 2 us�ugi sieciowe.
3. Wyszukane dane sďż˝ dodatkowo obrabiane
4. Obrobione dane sďż˝ dodawane do listy
5. Z listy tworzony jest plik wynikowy (xls)

Problemem jest czas wyszukiwania i obrabiania. Aplikacja po wi�cej ni� 30 minutach si� wysypuje. Czy jest jaki� spos�b, aby inaczej zrealizowa� to zadanie? Dodam �e dla jednego wiersza z wczytanego pliku mo�e zaistnie� nawet 10 wierszy w pliku wynikowym (przy wczytaniu 15 000 wierszy otrzymujemy 150 000 wierszy) np. u�ytkownik z wczytanego wiersza b�dzie mia� 10 kont w banku. My�la�em o zrobieniu joba kt�ry generowa� by plik w nocy ale to raczej odpada.

--
Pozdrawiam serdecznie,
Chojnacki Sebastian

Kamil Paśko

unread,
Mar 30, 2013, 8:54:00 AM3/30/13
to wrocl...@googlegroups.com
Sprawdź czasy jednostkowe każdej operacji (każde zapytanie SQL, każdy transfer przez "usługę sieciową", każdą "obróbkę danych"). Będziesz
wiedział która operacja * 15 000 tworzy Ci wąskie gardło.


W dniu 30 marca 2013 13:03 użytkownik Sebastian Chojnacki <chojna...@gmail.com> napisał:
Witam,
Mam problem z czasem utworzenia pliku (czy też z operacjami które są wykonywane po jego wczytaniu). Opiszę krótko o co chodzi:

1. Użytkownik wczytuje plik xls (np. 15 000 wierszy)
2. Odczytuję po kolei każdy wiersz i na podstawie danych w wierszu wyszukuję dane w bazie i przez 2 usługi sieciowe.
3. Wyszukane dane są dodatkowo obrabiane
4. Obrobione dane są dodawane do listy

5. Z listy tworzony jest plik wynikowy (xls)

Problemem jest czas wyszukiwania i obrabiania. Aplikacja po więcej niż 30 minutach się wysypuje. Czy jest jakiś sposób, aby inaczej zrealizować to zadanie? Dodam że dla jednego wiersza z wczytanego pliku może zaistnieć nawet 10 wierszy w pliku wynikowym (przy wczytaniu 15 000 wierszy otrzymujemy 150 000 wierszy) np. użytkownik z wczytanego wiersza będzie miał 10 kont w banku. Myślałem o zrobieniu joba który generował by plik w nocy ale to raczej odpada.


--
Pozdrawiam serdecznie,
Chojnacki Sebastian

--
Otrzymujesz tę wiadomość, ponieważ subskrybujesz grupę dyskusyjną Google o nazwie „wroclaw-jug”.
 
Aby anulować subskrypcję tej grupy i przestać otrzymywać z niej wiadomości, wyślij e-maila do wroclaw-jug...@googlegroups.com.
Więcej opcji znajdziesz na https://groups.google.com/groups/opt_out
 
 

Sebastian Chojnacki

unread,
Mar 30, 2013, 10:34:54 AM3/30/13
to wrocl...@googlegroups.com
Odpowied� brzmi us�uga sieciowa. Wszystko co si� dzieje po wczytaniu pliku jest tak optymalne jak si� tylko da. Sprawdzali�my to krok po kroku w 3 osoby. Czyta�em o bibliotece spring batch. Mo�na w niej w tym samym czasie uruchomi� kilka job�w. A co gdybym rozdzieli� pliczek pomi�dzy te joby, a na koniec scali� wyniki? Nie wiem mo�e pisz� g�upoty, ale ju� kombinuj� w ka�d� stron�. Nie znam tej biblioteki, ale mo�e kto� z was zna i napisze mi czy tak si� da.

W dniu 2013-03-30 13:54, Kamil Pa�ko pisze:
Sprawd� czasy jednostkowe ka�dej operacji (ka�de zapytanie SQL, ka�dy transfer przez "us�ug� sieciow�", ka�d� "obr�bk� danych"). B�dziesz
wiedzia� kt�ra operacja * 15 000 tworzy Ci w�skie gard�o.


W dniu 30 marca 2013 13:03 u�ytkownik Sebastian Chojnacki <chojna...@gmail.com> napisa�:
Witam,

Mam problem z czasem utworzenia pliku (czy te� z operacjami kt�re s� wykonywane po jego wczytaniu). Opisz� kr�tko o co chodzi:

1. U�ytkownik wczytuje plik xls (np. 15 000 wierszy)
2. Odczytuj� po kolei ka�dy wiersz i na podstawie danych w wierszu wyszukuj� dane w bazie i przez 2 us�ugi sieciowe.
3. Wyszukane dane sďż˝ dodatkowo obrabiane
4. Obrobione dane sďż˝ dodawane do listy

5. Z listy tworzony jest plik wynikowy (xls)

Problemem jest czas wyszukiwania i obrabiania. Aplikacja po wi�cej ni� 30 minutach si� wysypuje. Czy jest jaki� spos�b, aby inaczej zrealizowa� to zadanie? Dodam �e dla jednego wiersza z wczytanego pliku mo�e zaistnie� nawet 10 wierszy w pliku wynikowym (przy wczytaniu 15 000 wierszy otrzymujemy 150 000 wierszy) np. u�ytkownik z wczytanego wiersza b�dzie mia� 10 kont w banku. My�la�em o zrobieniu joba kt�ry generowa� by plik w nocy ale to raczej odpada.


--
Pozdrawiam serdecznie,
Chojnacki Sebastian
--
Otrzymujesz tďż˝ wiadomo��, poniewaďż˝ subskrybujesz grupďż˝ dyskusyjnďż˝ Google o nazwie „wroclaw-jug”.
ďż˝
Aby anulowa� subskrypcj� tej grupy i przesta� otrzymywa� z niej wiadomo�ci, wy�lij e-maila do wroclaw-jug...@googlegroups.com.
Wi�cej opcji znajdziesz na https://groups.google.com/groups/opt_out
ďż˝
ďż˝

--
Otrzymujesz tďż˝ wiadomo��, poniewaďż˝ subskrybujesz grupďż˝ dyskusyjnďż˝ Google o nazwie „wroclaw-jug”.
ďż˝
Aby anulowa� subskrypcj� tej grupy i przesta� otrzymywa� z niej wiadomo�ci, wy�lij e-maila do wroclaw-jug...@googlegroups.com.
Wi�cej opcji znajdziesz na https://groups.google.com/groups/opt_out
ďż˝
ďż˝

Paweł

unread,
Mar 30, 2013, 1:47:33 PM3/30/13
to wrocl...@googlegroups.com
Timeout jak rozumiem jest gdzieś na jakimś webie dla użytkownika ? Mógłbyś zrobić tak ,że ładujesz ten plik do jakiegoś bufowa (w szczególnym przypadku po stronie serwera zapisujesz go poprostu na dysku) , a na webie lub w jakimś UI dajesz info userowi, że trwa przetwarzanie danych czy coś w ten deseń.
Potem uruchamiasz zadanie (może być to jak określiłeś "job" , albo odpalony zwykły wątek, ktory wykonuje pracę - odpytanie tych serwisów ,przetworzenie odpowiedzi, etc). Gdy przetwarzanie się zakończy zwracasz do web'a lub UI informacje o zakończonym zadaniu i że plik wynikowy jest dostępny. Jest sobie taka biblioteka DWR  , która umożliwia wywołanie komunikatu (w tym wykonanie akcji) ze strony serwera do weba. Samo przetwarzanie możesz równiez podzielić na kilka wątków - np. rekordy od 1 do 100 robi jeden wątek, od 101 do 200 drugi, itd. 

Pewnie można też do tego celu wykorzystać specyfikację Java Servlet 3 i asynchonriczne przetwarzania requestów.

-- 
Paweł Jankowski



Wiadomość napisana przez Sebastian Chojnacki <chojna...@gmail.com> w dniu 30 mar 2013, o godz. 15:34:

Odpowiedź brzmi usługa sieciowa. Wszystko co się dzieje po wczytaniu pliku jest tak optymalne jak się tylko da. Sprawdzaliśmy to krok po kroku w 3 osoby. Czytałem o bibliotece spring batch. Można w niej w tym samym czasie uruchomić kilka jobów. A co gdybym rozdzielił pliczek pomiędzy te joby, a na koniec scalił wyniki? Nie wiem może piszę głupoty, ale już kombinuję w każdą stronę. Nie znam tej biblioteki, ale może ktoś z was zna i napisze mi czy tak się da.

W dniu 2013-03-30 13:54, Kamil Paśko pisze:
Sprawdź czasy jednostkowe każdej operacji (każde zapytanie SQL, każdy transfer przez "usługę sieciową", każdą "obróbkę danych"). Będziesz
wiedział która operacja * 15 000 tworzy Ci wąskie gardło.
W dniu 30 marca 2013 13:03 użytkownik Sebastian Chojnacki <chojna...@gmail.com> napisał:
Witam,

Mam problem z czasem utworzenia pliku (czy też z operacjami które są wykonywane po jego wczytaniu). Opiszę krótko o co chodzi:

1. Użytkownik wczytuje plik xls (np. 15 000 wierszy)
2. Odczytuję po kolei każdy wiersz i na podstawie danych w wierszu wyszukuję dane w bazie i przez 2 usługi sieciowe.
3. Wyszukane dane są dodatkowo obrabiane
4. Obrobione dane są dodawane do listy

5. Z listy tworzony jest plik wynikowy (xls)

Problemem jest czas wyszukiwania i obrabiania. Aplikacja po więcej niż 30 minutach się wysypuje. Czy jest jakiś sposób, aby inaczej zrealizować to zadanie? Dodam że dla jednego wiersza z wczytanego pliku może zaistnieć nawet 10 wierszy w pliku wynikowym (przy wczytaniu 15 000 wierszy otrzymujemy 150 000 wierszy) np. użytkownik z wczytanego wiersza będzie miał 10 kont w banku. Myślałem o zrobieniu joba który generował by plik w nocy ale to raczej odpada.


--
Pozdrawiam serdecznie,
Chojnacki Sebastian
--
Otrzymujesz tę wiadomość, ponieważ subskrybujesz grupę dyskusyjną Google o nazwie „wroclaw-jug”.
 
Aby anulować subskrypcję tej grupy i przestać otrzymywać z niej wiadomości, wyślij e-maila do wroclaw-jug...@googlegroups.com.
Więcej opcji znajdziesz na https://groups.google.com/groups/opt_out
 
 

--
Otrzymujesz tę wiadomość, ponieważ subskrybujesz grupę dyskusyjną Google o nazwie „wroclaw-jug”.
 
Aby anulować subskrypcję tej grupy i przestać otrzymywać z niej wiadomości, wyślij e-maila do wroclaw-jug...@googlegroups.com.
Więcej opcji znajdziesz na https://groups.google.com/groups/opt_out
 
 


--
Pozdrawiam serdecznie,
Chojnacki Sebastian

--
Otrzymujesz tę wiadomość, ponieważ subskrybujesz grupę dyskusyjną Google o nazwie „wroclaw-jug”.
 
Aby anulować subskrypcję tej grupy i przestać otrzymywać z niej wiadomości, wyślij e-maila do wroclaw-jug...@googlegroups.com.
Więcej opcji znajdziesz na https://groups.google.com/groups/opt_out
 
 

Sebastian Chojnacki

unread,
Mar 30, 2013, 2:06:57 PM3/30/13
to wrocl...@googlegroups.com
Dok�adnie Timeout jest na webie dla u�ytkownika. My�l�, �e to co napisa�e� to dobre rozwi�zanie. Dzi�ki za rad�.

W dniu 2013-03-30 18:47, Paweďż˝ pisze:
Timeout jak rozumiem jest gdzie� na jakim� webie dla u�ytkownika ? M�g�by� zrobi� tak ,�e �adujesz ten plik do jakiego� bufowa (w szczeg�lnym przypadku po stronie serwera zapisujesz go poprostu na dysku) , a na webie lub w jakim� UI dajesz info userowi, �e trwa przetwarzanie danych czy co� w ten dese�.
Potem uruchamiasz zadanie (mo�e by� to jak okre�li�e� "job" , albo odpalony zwyk�y w�tek, ktory wykonuje prac� - odpytanie tych serwis�w ,przetworzenie odpowiedzi, etc). Gdy przetwarzanie si� zako�czy zwracasz do web'a lub UI informacje o zako�czonym zadaniu i �e plik wynikowy jest dost�pny. Jest sobie taka biblioteka DWR �, kt�ra umo�liwia wywo�anie komunikatu (w tym wykonanie akcji) ze strony serwera do weba. Samo przetwarzanie mo�esz r�wniez podzieli� na kilka w�tk�w - np. rekordy od 1 do 100 robi jeden w�tek, od 101 do 200 drugi, itd.�

Pewnie mo�na te� do tego celu wykorzysta� specyfikacj� Java Servlet 3 i asynchonriczne przetwarzania request�w.

--ďż˝
Paweďż˝ Jankowski



Wiadomo�� napisana przez Sebastian Chojnacki <chojna...@gmail.com> w dniu 30 mar 2013, o godz. 15:34:

Odpowied� brzmi us�uga sieciowa. Wszystko co si� dzieje po wczytaniu pliku jest tak optymalne jak si� tylko da. Sprawdzali�my to krok po kroku w 3 osoby. Czyta�em o bibliotece spring batch. Mo�na w niej w tym samym czasie uruchomi� kilka job�w. A co gdybym rozdzieli� pliczek pomi�dzy te joby, a na koniec scali� wyniki? Nie wiem mo�e pisz� g�upoty, ale ju� kombinuj� w ka�d� stron�. Nie znam tej biblioteki, ale mo�e kto� z was zna i napisze mi czy tak si� da.

W dniu 2013-03-30 13:54, Kamil Pa�ko pisze:
Sprawd� czasy jednostkowe ka�dej operacji (ka�de zapytanie SQL, ka�dy transfer przez "us�ug� sieciow�", ka�d� "obr�bk� danych"). B�dziesz
wiedzia� kt�ra operacja * 15 000 tworzy Ci w�skie gard�o.
W dniu 30 marca 2013 13:03 u�ytkownik Sebastian Chojnacki <chojna...@gmail.com> napisa�:
Witam,

Mam problem z czasem utworzenia pliku (czy te� z operacjami kt�re s� wykonywane po jego wczytaniu). Opisz� kr�tko o co chodzi:

1. U�ytkownik wczytuje plik xls (np. 15 000 wierszy)
2. Odczytuj� po kolei ka�dy wiersz i na podstawie danych w wierszu wyszukuj� dane w bazie i przez 2 us�ugi sieciowe.
3. Wyszukane dane sďż˝ dodatkowo obrabiane
4. Obrobione dane sďż˝ dodawane do listy

5. Z listy tworzony jest plik wynikowy (xls)

Problemem jest czas wyszukiwania i obrabiania. Aplikacja po wi�cej ni� 30 minutach si� wysypuje. Czy jest jaki� spos�b, aby inaczej zrealizowa� to zadanie? Dodam �e dla jednego wiersza z wczytanego pliku mo�e zaistnie� nawet 10 wierszy w pliku wynikowym (przy wczytaniu 15 000 wierszy otrzymujemy 150 000 wierszy) np. u�ytkownik z wczytanego wiersza b�dzie mia� 10 kont w banku. My�la�em o zrobieniu joba kt�ry generowa� by plik w nocy ale to raczej odpada.


--
Pozdrawiam serdecznie,
Chojnacki Sebastian
--
Otrzymujesz tďż˝ wiadomo��, poniewaďż˝ subskrybujesz grupďż˝ dyskusyjnďż˝ Google o nazwie „wroclaw-jug”.
ďż˝
Aby anulowa� subskrypcj� tej grupy i przesta� otrzymywa� z niej wiadomo�ci, wy�lij e-maila do wroclaw-jug...@googlegroups.com.
Wi�cej opcji znajdziesz na https://groups.google.com/groups/opt_out
ďż˝
ďż˝
--
Otrzymujesz tďż˝ wiadomo��, poniewaďż˝ subskrybujesz grupďż˝ dyskusyjnďż˝ Google o nazwie „wroclaw-jug”.
ďż˝
Aby anulowa� subskrypcj� tej grupy i przesta� otrzymywa� z niej wiadomo�ci, wy�lij e-maila do wroclaw-jug...@googlegroups.com.
Wi�cej opcji znajdziesz na https://groups.google.com/groups/opt_out
ďż˝
ďż˝


--
Pozdrawiam serdecznie,
Chojnacki Sebastian

--
Otrzymujesz tďż˝ wiadomo��, poniewaďż˝ subskrybujesz grupďż˝ dyskusyjnďż˝ Google o nazwie „wroclaw-jug”.
ďż˝
Aby anulowa� subskrypcj� tej grupy i przesta� otrzymywa� z niej wiadomo�ci, wy�lij e-maila do wroclaw-jug...@googlegroups.com.
Wi�cej opcji znajdziesz na https://groups.google.com/groups/opt_out
ďż˝
ďż˝
--
Otrzymujesz tďż˝ wiadomo��, poniewaďż˝ subskrybujesz grupďż˝ dyskusyjnďż˝ Google o nazwie „wroclaw-jug”.
ďż˝
Aby anulowa� subskrypcj� tej grupy i przesta� otrzymywa� z niej wiadomo�ci, wy�lij e-maila do wroclaw-jug...@googlegroups.com.
Wi�cej opcji znajdziesz na https://groups.google.com/groups/opt_out
ďż˝
ďż˝

Sławek

unread,
Apr 2, 2013, 8:50:15 AM4/2/13
to wrocl...@googlegroups.com
On 30.03.2013 19:06, Sebastian Chojnacki wrote:
> Dok�adnie Timeout jest na webie dla u�ytkownika. My�l�, �e to co napisa�e� to
> dobre rozwi�zanie. Dzi�ki za rad�.
>

Przy przetwarzaniu r�wnoleg�ym - Akka Twoim przyjacielem:

http://doc.akka.io/docs/akka/2.1.2/

"Any system with the need for high-throughput and low latency is a good
candidate for using Akka."


Pozdrawiam
--
S�awek
Reply all
Reply to author
Forward
0 new messages