Jakich zarobków mniej więcej mógłbym zarządać?

Jakich zarobków mniej więcej mógłbym zarządać?
NW
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 10 lat
  • Postów:62
0

Witam!
Otóż jestem w trakcie poszukiwania pracy na stanowisku Programista PHP/ Młodszy Programista PHP. Pracy szukam w Krakowie, moje jedyne doświadczenie to wykonywanie własnych projektów, nie pracowałem nigdzie wcześniej, ponieważ jestem świeżo po szkole. I tutaj pytanie, jakiej kwoty mogę zarządać od firmy z moim doświadczeniem? A w zasadzie jego brakiem. :( dodam, że pracy poszukuję w Krakowie.

JQ
  • Rejestracja:prawie 17 lat
  • Ostatnio:6 dni
  • Lokalizacja:Kraków
  • Postów:367
0

Jaki typ umowy?
Studiujesz?
zależy od firmy i Twojego ogarnięcia, około 3000 netto jak jesteś w miarę kumaty


NW
Chciałbym umowę o pracę. Studia podejmuje w tym roku zaocznie w kierunku związanym z programowaniem.
niezdecydowany
niezdecydowany
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 9 lat
  • Lokalizacja:Bieszczady
0

Kpisz czy o drogę pytasz ? " I tutaj pytanie, jakiej kwoty mogę zarządać od firmy z moim doświadczeniem" - skąd mam wiedziec jakie jest twoje doświadczenie ? bo skąd mam wiedzieć co pisałeś ? hello worldy czy porządne aplikacje. Pokaż konto na Gitcie/czym kolwiek innym - nie masz własnych projektów ? ciesz się za jakąkolwiek stawkę.


"Perhaps surprisingly, concurrent programming isn’t so much about threads or
locks, any more than civil engineering is about rivets and I-beams."
NW
Dlatego napisałem, że w zasadzie to jego brak. Konta na Gitcie na razie nie mam, w chwili wolnego czasu założę, bo w sumie to wygoda.
0

Pokaz kod.

bakeraw2
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 5 lat
  • Postów:400
0

Myślę, że pomiędzy 2500-3000 netto jeśli umiesz coś sensownego napisać.

edytowany 1x, ostatnio: bakeraw2
SF
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 17 godzin
  • Postów:126
0

Jak stoisz ze znajomością OOP, wzorców projektowych (użycie w praktyce), TDD, BDD, jakiegoś znanego frameworka, git/svn, IDE, standardy PSR,bazy danych (sql i noSql), composer, linuxa?

edytowany 2x, ostatnio: sfan
NW
Linux dość dobrze (w każdym razie nie zgubię się w nim), bazy danych póki co tylko MySQL, Git, SVN na poziomie użytkowania ok. Framework póki co żaden, trochę MVC, trochę OOP.
NW
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 10 lat
  • Postów:62
0

Podam linki do prezentacji moich dwóch projektów:
Pierwszy z nich (dość prosty, ale na nim uczyłem się podstaw podstaw):

Drugi (bardziej zaawansowany):

0

To podepnę się tutaj.
Czy 3500 netto na umowę o pracę to będzie ok dla kogoś tylko po stażu + jakiś mniejszych projektach dla małych firm?
Moje umiejętności: oop, podstawowe wzorce(DI, MVC, Singleton, Fabryka), symfony2 w trakcie nauki, codeigniter dobrze, git, obsługa linuxa + zajawka na punkcie OOP.

SF
Wątpie że ktoś po stażu zaproponuje Ci taką stawkę. Codeigniter w ogóle już się nie liczy, chociaż dawniej też się nie liczył ale na początek był w miarę OK. Zerknij na oferty pracy: Symfony2 + Zend 1,2 , czasami Kohana, Cake php. Nikogo nie obchodzi znajomość technologi "w trakcie", tylko realne umiejętności. Na pewno w firmie która zajmuje się profesjonalnym programowaniem i programista PHP nie jest człowiekiem orkiestrą, nie zaproponuje Ci kokosów, bo będzie musiała do Ciebie najpierw dużo dołożyć żebyś się im zwrócił. Uderzaj do agencji lub ogarnij temat.
niezdecydowany
niezdecydowany
zależy też jakie miasto - jak Warszawa, to nie wiem, ale jak coś mniejszego - to chyba na głowę spadła ci cegła.
SF
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 17 godzin
  • Postów:126
0
NoWay napisał(a):

Podam linki do prezentacji moich dwóch projektów:
Pierwszy z nich (dość prosty, ale na nim uczyłem się podstaw podstaw):

Drugi (bardziej zaawansowany):

Pokaż fragmenty kodu tego bardziej zaawansowanego. Np to czym chciałbyś się pochwalić przed przyszłym pracodawcą.

NW
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 10 lat
  • Postów:62
0

Powiedzmy, niech będzie to. Nie ma tutaj w sumie nic zaawansowanego, pierwszy plik odpowiada za wykrywanie kupujących na aukcjach allegro, dodawanie ich do bazy itp. a drugi wysyła klucze do użytkowników, którzy zapłacili za zakupy:

Kopiuj
 
<?php
	require 'config.php';
	
	$response = mysql_query("SELECT * FROM users WHERE a_login!=''");
	if( mysql_num_rows( $response ) > 0 )
	{
		$ver_key = $client->doQuerySysStatus( 3, $country_id, $webapi_key );
		while( $index = mysql_fetch_assoc( $response ) )
		{
			$id = $index['id'];
			$auctions = mysql_query("SELECT * FROM connect WHERE id='$id'");
			if( mysql_num_rows( $auctions ) != 0 )
			{
				try
				{
					$index['a_password'] = base64_decode( $index['a_password'] );
					$user = $client->doLogin( $index['a_login'], $index['a_password'], $country_id, $webapi_key, $ver_key['ver-key'] );
					while( $auction = mysql_fetch_assoc( $auctions ) )
					{
						if( $auction['start'] == 0 )
							$start = '';
						else
							$start = $auction['start'];
							
						$tab = array();
						$tab[0] = $auction['auction'];
						$inf = $client->doGetPostBuyData( $user['session-handle-part'], $tab );
						
						do{
							if( isset( $buyers[99]->{'deal-event-id'} ) )
								$start = $buyers[99]->{'deal-event-id'};
							$buyers = $client->doGetSiteJournalDeals( $user['session-handle-part'], $start );
							for( $b = 0; $b < count( $buyers ); $b++ )
							{
								echo '6, ';
								$price = $auction['price'];
								
								if( $tab[0] == $buyers[$b]->{'deal-item-id'} && $buyers[$b]->{'deal-event-type'} == 1 )
								{
									$buyer_id = $buyers[$b]->{'deal-buyer-id'};
									for( $c = 0; $c < count( $inf[0]->{'users-post-buy-data'} ); $c++ )
									{
										if( $buyer_id == $inf[0]->{'users-post-buy-data'}[$c]->{'user-data'}->{'user-id'} )
										{
											$buyer_name = $inf[0]->{'users-post-buy-data'}[$c]->{'user-data'}->{'user-login'};
											$email = $inf[0]->{'users-post-buy-data'}[$c]->{'user-data'}->{'user-email'};
										}
									}
									$time = $buyers[$b]->{'deal-event-time'};
									$id_act_buy = $buyers[$b]->{'deal-id'};
                                                                        
                                                                        if ($buyers[$b]->{'deal-quantity'} >= 10)
                                                                        {
                                                                            $buy_codes = $buyers[$b]->{'deal-quantity'} + 1;
                                                                            if ($buyers[$b]->{'deal-quantity'} >= 20)
                                                                            {
                                                                                $buy_codes = $buyers[$b]->{'deal-quantity'} + 2;
                                                                            }
                                                                            if ($buyers[$b]->{'deal-quantity'} >= 30)
                                                                            {
                                                                                $buy_codes = $buyers[$b]->{'deal-quantity'} + 3;
                                                                            }
                                                                            if ($buyers[$b]->{'deal-quantity'} >= 40)
                                                                            {
                                                                                $buy_codes = $buyers[$b]->{'deal-quantity'} + 4;
                                                                            }
                                                                            if ($buyers[$b]->{'deal-quantity'} >= 50)
                                                                            {
                                                                                $buy_codes = $buyers[$b]->{'deal-quantity'} + 5;
                                                                            }
                                                                            if ($buyers[$b]->{'deal-quantity'} >= 60)
                                                                            {
                                                                                $buy_codes = $buyers[$b]->{'deal-quantity'} + 6;
                                                                            }
                                                                            if ($buyers[$b]->{'deal-quantity'} >= 70)
                                                                            {
                                                                                $buy_codes = $buyers[$b]->{'deal-quantity'} + 7;
                                                                            }
                                                                            if ($buyers[$b]->{'deal-quantity'} >= 80)
                                                                            {
                                                                                $buy_codes = $buyers[$b]->{'deal-quantity'} + 8;
                                                                            }
                                                                            if ($buyers[$b]->{'deal-quantity'} >= 90)
                                                                            {
                                                                                $buy_codes = $buyers[$b]->{'deal-quantity'} + 9;
                                                                            }
                                                                            if ($buyers[$b]->{'deal-quantity'} >= 100)
                                                                            {
                                                                                $buy_codes = $buyers[$b]->{'deal-quantity'} + 10;
                                                                            }
                                                                        }
                                                                        else
                                                                        {
                                                                           $buy_codes = $buyers[$b]->{'deal-quantity'}; 
                                                                        }
                                                                        
									$database_name = $auction['database_name'];
									mysql_query("INSERT INTO buyers VALUES ( '', '$id', '$buyer_id', '$buyer_name', '$email', '$time', '0', '$id_act_buy', '', '$tab[0]', '$buy_codes', '0', '$database_name', '$price', '0', '0', '0', '0' )");
								}
								if( $auction['auction'] == $buyers[$b]->{'deal-item-id'} && $buyers[$b]->{'deal-event-type'} == 4 )
								{
									$id_transaction = $buyers[$b]->{'deal-transaction-id'};
									$time = $buyers[$b]->{'deal-event-time'};
									$id_act_buy = $buyers[$b]->{'deal-id'};
									mysql_query("UPDATE buyers SET state='1', id_transaction='$id_transaction', date_payment='$time' WHERE id_act_buy='$id_act_buy'");
									$price = $price * $buyers[$b]->{'deal-quantity'};
									$temp = $index['email'];
									mysql_query("UPDATE users SET profit=profit+'$price' WHERE email='$temp'");
								}
							}
						}while( count( $buyers ) == 100 );
						if( isset( $buyers[count( $buyers ) - 1] ) )
						{
							$start = $buyers[count( $buyers ) - 1]->{'deal-event-id'};
							$id_auction = $auction['auction'];
							mysql_query("UPDATE connect SET start='$start' WHERE auction='$id_auction' AND id='$id'");
						}
					}
				}
				catch( Exception $error )
				{
					continue;
				}
			}
		}
	}
	header( 'Location: cron_feedback.php' );
?>
Kopiuj
 
<?php
	require 'config.php';
	
	$response = mysql_query("SELECT * FROM users WHERE a_login!='' AND ( kredyty!='0' || Premium='1' )");
	if( mysql_num_rows( $response ) > 0 )
	{
		while( $index = mysql_fetch_assoc( $response ) )
		{
			$header = "From: ".$index['email']." \nContent-Type: text/html;charset=Windows-1250 \nContent-Transfer-Encoding: 8bit";
			$id = $index['id'];
			$buyers = mysql_query("SELECT * FROM buyers WHERE id='$id' AND state='1'");
			while( $buyer = mysql_fetch_assoc( $buyers ) )
			{
				$name = $buyer['database_name'];
				$limit = $buyer['buy_codes'] - $buyer['sent_codes'];
				$codes = mysql_query("SELECT * FROM klucze WHERE nazwa='$name' AND klucz!='nazwa_tabeli' ORDER BY 'id' ASC LIMIT $limit");
				for( $a = 1; $a <= $limit; $a++ )
				{
					if( $index['kredyty'] == 0 && $index['Premium'] == 0 )
					{
						break;
					}
					
					$code = mysql_fetch_assoc( $codes );
					if( isset( $code['klucz'] ) )
					{
						$code_sent = $code['klucz'];//."\n\nJeśli kod jest nieprawidłowy skorzystaj z reklamacji klikając TUTAJ\nAutomatyczną dostawę zapewnia AlleMater.pl Najszybsza i najtańsza wysyłka kodów!";
						if( mail( $buyer['email'], 'Witaj '.$buyer['buyer_name'].'! Właśnie otrzymałeś zakupiony kod od użytkownika '.$index['a_login'].'!', 'Oto link do naszej autorskiej gry: http://allsoftware.pl/Games/gra.exe oraz klucz:'.$code_sent, $header ) )
						{
							$id_registry = $buyer['id_registry'];
							$time = time();
							$code_sent = $code['klucz'];
							mysql_query("INSERT INTO sent VALUES ( '$id_registry', '$code_sent', '$time' )");
							mysql_query("DELETE FROM klucze WHERE klucz='$code_sent' AND nazwa='$name'");
							mysql_query("UPDATE buyers SET sent_codes=sent_codes+1 WHERE id_registry='$id_registry'");
					
							if( $index['kredyty'] != 0 && $index['Premium'] == 0 )
							{
								$email = $index['email'];
								mysql_query("UPDATE users SET kredyty=kredyty-1 WHERE email='$email'");
								$index['kredyty'] = $index['kredyty'] - 1;
							}
						}
						else
						{
							echo 'Błąd w wysyłaniu maila';
						}
					}
					else
					{
						break;
					}
					if( $a == $limit )
					{
						mysql_query("UPDATE buyers SET state='2' WHERE id_registry='$id_registry'");
					}
				}
			}
		}
	}
?>
twonek
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 2 lata
  • Postów:2500
0
SF
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 17 godzin
  • Postów:126
0

Ok, kod jest strukturalny, zagmatwany podatny na wiele błędów. If ifem pogania, brak transakcji, logika leży.

Kopiuj
                 catch( Exception $error )
                {
                    continue;
                } 

Może wypadałoby zalogować błąd?
Pomijając ułomność API allegro, samą obsługę w/w mechanizmów w twoim kodzie to parę porządnych metod. Idź na studia, zaczep się do jakiegoś projektu open source, bo na razie nie łapiesz się nawet jako Młodszy programista, a tymbardziej Programista PHP. Zrób z 2 - 3 porządne projekty i startuj gdzieś lub aplikuj na bezpłatne praktyki. Dlaczego na bezpłatne? - na dzień dzisiejszy twój kod kompletnie nie nadaje się na produkcję i po prostu będziesz musiał dużo się oduczyć jak i nauczyć żeby zacząć pisać coś co będzie można używać.

NoWay napisał(a):

I tutaj pytanie, jakiej kwoty mogę zarządać od firmy z moim doświadczeniem?

Biorąc pod uwagę twój kod - 0 zł. Na razie nie myśl o sprzedawaniu swoich skillów bo ich po prostu nie ma. I musisz się wziąć do porządnej pracy.

Parę pozycji na początek:

http://helion.pl/ksiazki/php-obiekty-wzorce-narzedzia-wydanie-iii-matt-zandstra,phpob3.htm
http://helion.pl/ksiazki/czysty-kod-podrecznik-dobrego-programisty-robert-c-martin,czykod.htm
http://helion.pl/ksiazki/tdd-sztuka-tworzenia-dobrego-kodu-kent-beck,tddszt.htm

edytowany 2x, ostatnio: sfan
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

@NoWay ten kod to na poważnie? o_O

  • jeden wielki blok kodu
  • podatność na SQL injection w każdym zapytaniu!
  • magic numbers
  • echo zamiast logera
  • z 10 poziomów zagłębienia o_O
  • drabinki ifów

Czy gdybym pokazał ci ten kod (a ty byś go nie znał) to potrafiłbyś w ciągu 10 sekund powiedzieć co on robi? Nie? To znaczy że jest źle napisany.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 1x, ostatnio: Shalom
niezdecydowany
niezdecydowany
Źle do tego podchodzisz, kod jest zabezpieczony przed kopiowaniem - to zasada KBTK - Kto By to Ku!21a Kopiował
Johnny_Bit
  • Rejestracja:około 22 lata
  • Ostatnio:ponad 8 lat
  • Lokalizacja:Kielce
0

Są 3 fajne narzędzia którymi polecam przejechać Ci ten Twój kod. Powiedzą Ci jak bardzo jest zły tak kompletnie obiektywnie i statycznie ;)
Pierwszy to PHP Code Sniffer (https://github.com/squizlabs/PHP_CodeSniffer) - Pokrzyczy za styl kodowania i parę nieudolności
Następny to PHP Mess Detector (http://phpmd.org/) - Pokrzyczy o wszystkie faile. Te których @Shalom nie wymienił bo robił podwójny facepalm też ;)
Kolejny - PHP Copy-Paste Detector (https://github.com/sebastianbergmann/phpcpd) powie Ci jak bardzo się mijasz z zasadą KISS

Tak w ogóle - IDE powinno Ci pokazywać warningi związane z kodem. Włącz je. To bardzo pomoże Ci w przyszłości jeśli zaczniesz pracować ;)


HAKGER - 50% Complete
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)