Forum Konstruktor budowlany Strona Główna Konstruktor budowlany
Forum projektantów
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Python
Idź do strony Poprzedni  1, 2, 3, 4  Następny
 
Napisz nowy temat   Odpowiedz do tematu    Forum Konstruktor budowlany Strona Główna -> Programowanie
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
lukaszlab
Doświadczony Forumowicz



Dołączył: 15 Maj 2006
Posty: 231
Przeczytał: 0 tematów

Pomógł: 9 razy
Ostrzeżeń: 0/5
Skąd: Kraków

PostWysłany: Czw 0:29, 11 Cze 2015    Temat postu:

Powyższym nie należy się zrażać - powiedzmy wymaga średnich umiejętności Python i programowania.

W wydaniu konsolowym podstawowe użycie Python (z jednostkami z unum)
Kod:
In [9]: from unum.units import *

In [10]: m
Out[10]: 1 [m]

In [11]: s
Out[11]: 1 [s]

In [12]: N
Out[12]: 1 [N]

In [13]: mm
Out[13]: 1 [mm]

In [14]: a=10*m

In [15]: b=2*m

In [16]: c=a*b

In [17]: c
Out[17]: 20 [m2]

In [18]: c.asUnit(mm**2)
Out[18]: 20000000.0 [mm2]

In [19]: def sigma (N, A):
...: return N/A
File "<ipython-input-19-f00a695cc1af>", line 2
return N/A
^
IndentationError: expected an indented block


In [20]: def sigma (N, A):
...: _______return N/A

In [21]: sila=50*N

In [22]: sigma(sila, c)
Out[22]: 2 [N/m2]

In [23]: stres=sigma(sila, c)

In [24]: stres
Out[24]: 2 [N/m2]

In [25]: #dynamika obiektu

In [26]: stres='teraz jak string'

In [27]: stres
Out[27]: 'teraz jak string'

In [28]: stres=40*Pa

In [29]: stres
Out[29]: 40 [Pa]


______GMBh_____
Regulamin forum punkt III.6 Nie pisz postów jeden pod drugim - edytuj poprzedni.
Tekst kodu wklejaj w bloku Code.
Jaki jest sens Twoich wklejek?
Nie jest to pełny kod programu. Brak kodu wywoływanych funkcji. Jeżeli już chcesz pochwalić się swoim kodem skomentuj go odpowiednio.
W takiej formie jak to robisz temat za chwilę poleci do kosza.

Z regulaminem obiecuje się szczegółowo zapoznać i do niego stosować.

Ot pytonowy otwarty mathcad
[link widoczny dla zalogowanych]
a tu kod dla ciekawskich
[link widoczny dla zalogowanych]
W projekcie jednak od 2011 cisza niestety.

W naszym pythonowym wątku też cisza Wink - a to taki fajny prosty język dla ludu. Jako, że Python jak pisałem wcześniej społecznym językiem jest skupiającym ludzi w grupy to myślę sobie ze jak by się znalazło kilku chętnych zainteresowanych to można by się spotkać. Jak trzeba będzie to coś na kształt wprowadzania do Python mógłbym zrobić. Moja lokalizacja Kraków - już niedługo stolica mając na uwadze wyniki ostatnich wyborów Wink .


Post został pochwalony 0 razy

Ostatnio zmieniony przez lukaszlab dnia Sob 12:49, 12 Mar 2016, w całości zmieniany 5 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
deith
Aktywny Forumowicz



Dołączył: 07 Mar 2011
Posty: 36
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5

PostWysłany: Pią 11:31, 26 Cze 2015    Temat postu:

@GMBh
Korzystasz z jakiegoś obfuscatora do C# czy zakładasz, że zwykła kompilacja wystarcza do ukrycia źródła przed budowlańcami?


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
GMBh
Administrator



Dołączył: 23 Sty 2006
Posty: 604
Przeczytał: 3 tematy

Pomógł: 27 razy
Ostrzeżeń: 0/5
Skąd: Kraków

PostWysłany: Pią 13:56, 26 Cze 2015    Temat postu:

@deith Bez dobrej obfuskacji ani rusz Smile Ale z tym mam trochę problemów...
@lukaszlab
Zapraszam Łukasz do naszego biura. Powspominamy dawne czasy, jak u nas pracowałeś, pokaże Ci nad czym teraz pracuję ....


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
lukaszlab
Doświadczony Forumowicz



Dołączył: 15 Maj 2006
Posty: 231
Przeczytał: 0 tematów

Pomógł: 9 razy
Ostrzeżeń: 0/5
Skąd: Kraków

PostWysłany: Sob 2:03, 27 Cze 2015    Temat postu:

Powoli nabierają tempa pythonowe projekty Struthon i StruPy.
[link widoczny dla zalogowanych] i [link widoczny dla zalogowanych]
Plany są ambitne Smile .. tylko czas ograniczony.

@GMBh dzięki za zaproszenie.
--------------------------------------------
Na jesieni będzie polski PyCon
[link widoczny dla zalogowanych]


Udostępniłem właśnie pierwszą wersję Pythonowego pakietu open source (licencja GPL) StruPy wersja 0.1 do testowania.
[link widoczny dla zalogowanych]
[link widoczny dla zalogowanych]
Jest to biblioteka udostepniająca funkcje i obiekty dla języka Python.
Opis i przykłady użycia będę zamieszczał na stronie.
Niebawem udostępnię pierwszą wersję aplikacji bazującą na tym pakiecie - swego rodzaju kalkulator żelbetu.
[link widoczny dla zalogowanych]
------------------------
w celu użycia StruPy proponuję instalację pakietu Python(xy).
[link widoczny dla zalogowanych]

Obydwa projekty są w początkowej fazie rozwoju wiec proszę o wyrozumiałość.


Post został pochwalony 0 razy

Ostatnio zmieniony przez lukaszlab dnia Czw 11:58, 02 Lip 2015, w całości zmieniany 2 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
lukaszlab
Doświadczony Forumowicz



Dołączył: 15 Maj 2006
Posty: 231
Przeczytał: 0 tematów

Pomógł: 9 razy
Ostrzeżeń: 0/5
Skąd: Kraków

PostWysłany: Pon 0:17, 24 Sie 2015    Temat postu:

Poniżej kilka słów jak podstawić maszynę Python na swoim komputerze.

Aby pisane w Python aplikacje działały należy posiadać samego Pythona oraz wymagane przez aplikacje pakiety (biblioteki). Python razem z pakietami daje bardzo duże możliwości - tworzy się coś na kształt znanego zapewne wszystkim Matlab-a, który też jest interpreterem.

Możliwości instalacji na Windows jest kilka.

1. Instalacja surowego Pythona i potem instalowanie paczek - instalacja jednak dużych pakietów może być kłopotliwa.

2. Instalacja dystrybucji "wszytko na raz" za pomocą Python xy - instaluje się wtedy Python, pakiety (m.in. matplotlib, PyQt, numpy i wiele wiele innych) oraz narzędzia do programowania. Wszystko ładuje się w system - foldery, skróty, ikony itd co nie wszystkim może się podobać.

3. Instalacja WinPython. Tutaj wszystko instaluje się do jednego katalogu (możne to być nawet pendrive) i ingerencja w system jest ograniczona w zasadzie do zera. Po zainstalowaniu i uruchomieniu panelu WinPython można go 'zarejestrować' w systemie aby stał się domyślna aplikacja do uruchamiania skryptów Python - rejestrację można równie łatwo też cofnąć. Czyli w wersji pendrive mamy przenośna maszyna python dla Windows. WinPython jak chodzi o ilość wbudowanych pakietów odpowiada temu co w Pythonxy. Folder instalacyjny na 1.3 GB.

4. Instalacja środowiska Conda. Najlżejsza Conda to Miniconda - po instalacji kilkadziesiąt MB wszystko w jednym folderze. Po instalacji Miniconda instalujemy potrzebne biblioteki za pomocą komend 'conda install nazwapakietu' lub 'pip install nazwapakietu'. Główna zaleta to właśnie możliwość użycia komendy "conda install" która daje dostęp do repozytorium Conda z którego nawet paczki takie jak matplotlib czy PyQt instalują się bez problemu.

Dla osób chcących tylko uruchomić aplikacje pythonowe użycie WinPython lub Miniconda wydaje się najbardziej optymalne.

Dla potencjalnego użytkownika, któremu Python obcym jest, powyższe możne zniechęcać.

Aplikacje Python można jednak 'mrozić' i dystrybuować jako samowystarczalne mające wszytko w sobie, co przyzwyczajonego do widoku pliku *.exe użytkownika z pewnością ucieszy.


Post został pochwalony 0 razy

Ostatnio zmieniony przez lukaszlab dnia Pon 0:22, 24 Sie 2015, w całości zmieniany 3 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
lukaszlab
Doświadczony Forumowicz



Dołączył: 15 Maj 2006
Posty: 231
Przeczytał: 0 tematów

Pomógł: 9 razy
Ostrzeżeń: 0/5
Skąd: Kraków

PostWysłany: Sob 1:02, 05 Wrz 2015    Temat postu:

Walczę z tematem stworzenia bazy profili stalowych.
Na stronie [link widoczny dla zalogowanych] pierwszy screen-shot przeglądarki StruthonSteelSectionBrowser. Umożliwia przeglądnie bazy i wyszukiwanie w bazie profili spełniających kryteria - w kryteriach również podstawowe przybliżone nośności.
Wbudowane w Python moduły XML pozwalają łatwo wczytywać dane z plików XML - w tym formacie spreparowałem też bazę z danymi profili. Modułów XML jest kilka do wybory, użyłem najprostszego ElementTree. Wbudowane w Python struktury danych takie jak słowniki, kolekcje i listy znakomicie ułatwiają przeszukiwanie i operowanie na danych. Interfejs użytkownika standardowo w PyQt4 z użyciem Qt Designer. Niebawem wydanie wersji testowej na PyPi jako nowa aplikacja StruthonSteelSectionBrowser i poszerzenie pakiet Strupy. Tym samym pakiet Strupy udostępni w formie obiektu bazę danych profili dla innych użytkowników Pythona. Przykładowo polecenie 'SectionBase.get_sectionparameters("HE 200 B")' zwróci słownik z parametrami profilu HE 200 B - w jednostkach SI.

Ruszyły zapisy na konferencję PyConPL2015.
[link widoczny dla zalogowanych]
Dla zapisów przed 17.09.2015 jeszcze obowiązuje zniżka.
Planuje wyjazd z krak na 16-18 października gdyby ktoś był zainteresowany wspólnym wyjazdem.


Post został pochwalony 0 razy

Ostatnio zmieniony przez lukaszlab dnia Sob 1:05, 05 Wrz 2015, w całości zmieniany 2 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
soldis
Ekspert



Dołączył: 09 Paź 2015
Posty: 106
Przeczytał: 25 tematów

Pomógł: 8 razy
Ostrzeżeń: 0/5
Skąd: Poznań

PostWysłany: Wto 23:33, 24 Lis 2015    Temat postu:

lukaszlab; Twój projekt wygląda bardzo interesująco. Widzę jednak pewne zagrożenie we, wspominanej już wcześniej, wydajności Python-a (zwłaszcza w kontekście tworzenia bibliotek). Python jest rewelacyjny jako 'integrator', ale przy ciężkich obliczeniach tęsknię za statycznie typowanymi środowiskami. W praktycznym zastosowaniu Twój kod będzie wywoływany dla setek przekrojów i dziesiątek, a nawet setek tysięcy kombinacji (zwłaszcza eurokody). Pobrałem struthon i odpaliłem dla przekroju żelbetowego 'Moment/force resist' - czekałem ok 40s. Dodatkowo, na razie masz relatywnie prosty przypadek przekroju prostokątnego z minimum jedną osią symetrii dla zbrojenia. W ogólnym przypadku należy szukać iteracyjnie równowagi w przekroju z uwzględnieniem nieliniowych charakterystyk stali i betonu. Dla stali podobnie - w ogólnym przypadku bez całkowania ani rusz.

Podsumowując sugeruję, abyś 'wypchnął' część obliczeń od razu do C (google: Extending Python with C or C++). Drastyczny spadek komfortu Smile, ale gwałtowny wzrost wydajności.

Pomysł fajny, trzymam kciuki, będę śledził i służę pomocą. Kodu klepać niestety nie mam już czasu (a żałuję), ale chętnie podzielę się swoimi spostrzeżeniami z projektów które prowadzę/brałem udział (Soldis PROJEKTANT, Brigade/Plus, Optimum for Abaqus/CAE ...).

Krótki komentarz do użyteczności Pythona. Jak zawsze trzeba dobierać narzędzia do zadania. W projektach inżynierskich łatwiej nauczyć 'inżyniera' Python-a, niż 'informatyka' projektowania. Prowadzę już od wielu lat kursy Python-a dla inżynierów i dają radę (kursanci oczywiście Smile ).


Post został pochwalony 0 razy

Ostatnio zmieniony przez soldis dnia Wto 23:35, 24 Lis 2015, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
lukaszlab
Doświadczony Forumowicz



Dołączył: 15 Maj 2006
Posty: 231
Przeczytał: 0 tematów

Pomógł: 9 razy
Ostrzeżeń: 0/5
Skąd: Kraków

PostWysłany: Pią 16:38, 27 Lis 2015    Temat postu:

@soldis
Niewątpliwie w kodzie C da się uzyskać większą szybkość.
Puki co nie dobiłem jeszcze do miejsc gadzie Python nie dawał by rady, są tez metody optymalizacji w samym Pytonie. Najczęściej sam kod jest nieoptymalny - jak we wspomnianym 'Moment/force resist' gdzie faktycznie nie działa to zadawalająco - ale tu wymagana jest optymalizacja kodu. Za aktualizacje ConcreteMonoSection wezmę się niebawem.
Z założenia obiekt RcRecSect ma służyć do obliczeń w małej skali. Pracuje nad elementemi Member i Plate - czyli wymiarowanie belek i płyt/scian. Wtedy w jednym obiekcie będą dane z wielu punktów - to będzie bardziej optymalne.
Wszystkie obliczenia operują na obiektach jednostkowych SI Unum co też nieco zwalnia.
Tak jak piszesz, komfort programowania w Python w porównaniu do C++ jest nieporównywalny a już na pewno dla inżyniera.

Jest już dostępna nowa wersja pakietów i nowy program do obliczeń przekrojów stalowych.

@soldis widzę ze masz niebagatelne doświadczenie, nie trzeba klepać kodu by wesprzeć projekt ewentualne rady z Twojej strony na pewno będą bardzo pomocne. Smile

W kwesti 'Moment/force resist'. W funkcji ui_momentforceresist () linia 298 ConcreteMonoSection.py wywołanie resist_forcetomoment powinno być testowo z ilością punktów 20 a było 120 - zmieniłem paczkę na PyPi. Rysuje się szybciej ale wykres koślawy - co oczywiście nie załatwia sprawy. O problemie piszę w tutorialu [link widoczny dla zalogowanych]


Post został pochwalony 0 razy

Ostatnio zmieniony przez lukaszlab dnia Pią 19:08, 27 Lis 2015, w całości zmieniany 5 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
lukaszlab
Doświadczony Forumowicz



Dołączył: 15 Maj 2006
Posty: 231
Przeczytał: 0 tematów

Pomógł: 9 razy
Ostrzeżeń: 0/5
Skąd: Kraków

PostWysłany: Czw 0:18, 14 Sty 2016    Temat postu:

W sprawie szybkości Python.
Okazało się ze tkwiłem w pewnym błędzie myśląc ze użycie unum do jednostek tylko trochę spowalnia działanie obliczeń i mała wydajności przy dużych obliczeniach to już wina Python . Pierwsze użycie pakietu do profilowania CProfile wyjaśniło wszystko. Każda operacja na takim obiekcie generuje masę wywołań - co przy obliczeniach kilkunastu tyś. pkt. w wymiarowaniu zbrojenia w panelu rozkłada w zasadzie program - 5 min obliczeń. Użycie tej samej funkcji w wersji czystych obiektów zmniejsza ten czas do kilku sekund (!!). Czysty Python śmiga wiec aż miło - a już brałem się za już Cython i pisanie rozszerzeni w C ... ufff Smile. Z unum nie rezygnuje ale kluczowe funkcje mają teraz szybkie nakładki z podmienionym systemem jednostek. Problem szybkości wspomnianej aplikacji ConcretMonoSection w aktualnej wersji został myślę ostatecznie rozwiązany.


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Amancz
Początkujący Forumowicz



Dołączył: 27 Lis 2015
Posty: 5
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Wałbrzych

PostWysłany: Pią 16:55, 19 Lut 2016    Temat postu:

Jak widać zawsze można coś zoptymalizować w działaniu Smile

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
lukaszlab
Doświadczony Forumowicz



Dołączył: 15 Maj 2006
Posty: 231
Przeczytał: 0 tematów

Pomógł: 9 razy
Ostrzeżeń: 0/5
Skąd: Kraków

PostWysłany: Sob 0:02, 12 Mar 2016    Temat postu:

Pakiet StruPy na którym bazuje Struthon ma już spore możliwości.
Pakiet jest w repozytorium PyPi tak jak tysiące innych pakietów tam dostępnych poszerzając bibliotekę niestandardowych pakietów jakie potencjalnie są do dyspozycji piszącego w Python. To olbrzymie repozytorium to właśnie jedna z zalet Python - po prostu używasz komendy 'pip install nazwapakietu' i jest gotowy do użycia. Chcesz zapisywać pliki dxf instalujesz 'pip install dxfwrite'.
Wracają do StruPy. Mając go zainstalowany krótkim skryptem możemy zrobić to co robi ConcretePanel bez instalowania Struthon. Poniżej kod. Obrazuje to możliwość obiektowego programowania jaką daje paczka StruPy ale również inne paczki.

Kod:
#importowanie klas
import strupy.units as u
from strupy.concrete.RcPanel import RcPanel # obiekt panel
from strupy.concrete.RcPanelLoad import RcPanelLoad # obiekt obciażenia panala
from strupy.concrete.RcPanelDataLoader import RcPanelDataLoader # obiekt do wczytujacy danych
from strupy.concrete.RcPanelSolver import RcPanelSolver # obiekt do obliczen panala
from strupy.concrete.RcPanelViewer import RcPanelViewer # obiekt do wysietlania wykresow itp
# tworzenie zmiennych danego typu
panel = RcPanel()
load = RcPanelLoad()
loader = RcPanelDataLoader()
solver = RcPanelSolver()
viewer = RcPanelViewer()
# przyporzadkowanie obiektow dla ktorych viever ma wyswietlac dane
viewer.assignPanelLoadObiect(load)
viewer.assignPanelObiect(panel)
# wczytyjeny dane z pliku RFEM
loader.RFEMxlsloader(panel, load)
# wyswietlmy wczytane dane
viewer.plot_coordinates() # widok 3d wczytanych punktow
panel.set_transf_matrix_for_view('Top') #ustawienie kierunku widoku
viewer.plot_thickness() # ksztalt i grubosc
viewer.plot_ny() # sily nx
viewer.plot_my() # momenty my
# zbroimy panel na obiozenia load
solver.reinforce(panel, load)
# wyswietlmy wyniki
viewer.plot_reinforcement_Any() # zbrojenie po stronie negatyw w kier y
viewer.plot_reinforcement_Anx() # zbrojenie po stronie negatyw w kier x
# wyswietlmy odpowienio mapy zbrojenia
viewer.map_reinforcement_Any()
viewer.map_reinforcement_Anx()
# zapiszmy wyniki do pliku DXF
viewer.savedxf()


W czasie wykonywania skryptu wczytamy plik xls, zobaczymy mapy sił, mapę zbrojenia i na końcu zapiszmy plik DXF.
Wykorzystującemu dany pakiet potrzebna jeszcze jego dokumentacja ... dla StruPy takiej wciąż brak - treść wyprzedza formę, wiec użycie może być utrudnione. Zasadniczo jednak pakiety są dobrze udokumentowane - matplotlib, numpy, sympy itp.


Post został pochwalony 0 razy

Ostatnio zmieniony przez lukaszlab dnia Sob 12:48, 12 Mar 2016, w całości zmieniany 8 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
lukaszlab
Doświadczony Forumowicz



Dołączył: 15 Maj 2006
Posty: 231
Przeczytał: 0 tematów

Pomógł: 9 razy
Ostrzeżeń: 0/5
Skąd: Kraków

PostWysłany: Wto 13:02, 19 Kwi 2016    Temat postu:

Powstaje dokumentacja pakietu StruPy.
Przekierowanie przez [link widoczny dla zalogowanych]
lub bezpośrednio
[link widoczny dla zalogowanych]
W najbliższym czasie nabierze to kształtu.


Post został pochwalony 0 razy

Ostatnio zmieniony przez lukaszlab dnia Wto 13:03, 19 Kwi 2016, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
lukaszlab
Doświadczony Forumowicz



Dołączył: 15 Maj 2006
Posty: 231
Przeczytał: 0 tematów

Pomógł: 9 razy
Ostrzeżeń: 0/5
Skąd: Kraków

PostWysłany: Śro 15:54, 08 Cze 2016    Temat postu:

[link widoczny dla zalogowanych]
Zapraszam do testowania SeePy pozwala tworzyć interaktywne raporty dla skryptów Python. Wraz z pakietem Unum (jednostki SI) może stanowi alternatywę do szablonów obliczeniowych tworzonych powiedzmy w Matchcad.
W miarę możliwości powstawać będzie otwarty katalog szablonów obliczeniowych przydatnych w projektowaniu. Gdyby znalazły się osoby chętne włączyć się w tworzenie takiego katalogu proszę o kontakt. Dzięki SeePy w zasadzie umiejętności programistyczne nie są potrzebne aby móc stworzyć przydatny szablon obliczeniowy - potrzeba jedynie podstawowa wiedza o Python.


Post został pochwalony 0 razy

Ostatnio zmieniony przez lukaszlab dnia Śro 16:17, 08 Cze 2016, w całości zmieniany 3 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
lukaszlab
Doświadczony Forumowicz



Dołączył: 15 Maj 2006
Posty: 231
Przeczytał: 0 tematów

Pomógł: 9 razy
Ostrzeżeń: 0/5
Skąd: Kraków

PostWysłany: Wto 23:04, 14 Cze 2016    Temat postu:

Listy darmowych ebooków na temat Pythona
[link widoczny dla zalogowanych]
[link widoczny dla zalogowanych]

Lista ebooków dla różnych języków programowania (w tym Python):
[link widoczny dla zalogowanych]


Post został pochwalony 1 raz
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
lukaszlab
Doświadczony Forumowicz



Dołączył: 15 Maj 2006
Posty: 231
Przeczytał: 0 tematów

Pomógł: 9 razy
Ostrzeżeń: 0/5
Skąd: Kraków

PostWysłany: Wto 12:51, 05 Lip 2016    Temat postu:

Ruszyła rejestracja na PyConPl 2016
[link widoczny dla zalogowanych]


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Konstruktor budowlany Strona Główna -> Programowanie Wszystkie czasy w strefie EET (Europa)
Idź do strony Poprzedni  1, 2, 3, 4  Następny
Strona 2 z 4

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin