ugrás a tartalomhoz

PHP, JS, MySQL - Fejlesztőkörnyezet

mz82 · 2012. Nov. 4. (V), 22.48
Biztos volt már, de nem bánnám ha kicsit helyre tennétek, mert elbizonytalanodtam!
2-3 éve készítek dinamikus weboldalakat és egyszerűbb irodai alkalmazásokat PHP-MySQL-Javascript vonalon. Ez idő alatt készítettem egy saját portálmotort, template-kezelő rendszert és úgy érzem elég jól sikerült magamévá tennem az objektum orientált fejlesztés módszerét. Gyakorlatilag egyedül dolgozom (ez amolyan másodállás, félig hobbi), a design kialakításban van segítségemre egy profi grafikus.

Szóval a kérdésem az lenne, hogy őskövületnek számítok, ha a fejlesztéshez csupán egy Wamp servert és egy Notepad++ -t használok???

A CMS-ektől kiver a víz; Joomla-hoz, Drupal-hoz és Wordpress-hez volt már szerencsém, de mindig könnyebbnek találtam saját alapokból dolgozni.

Esetleg mit ajánlanátok? És miért volna előnyömre?
Könnyebb hibakeresés? Tömörebb, optimalizált kód? Kész osztályok? Csapatmunka? (ugyebár 1 fős csapatról beszélünk)

Ha például szeretnék fejlesztőcsapatba jelentkezni mivel volna célszerű megismerkednem?

Szóval ezekre lennék kiváncsi!
 
1

Környezet

Poetro · 2012. Nov. 4. (V), 22.57
Hát nem árt, ha láttál már, és állítottál már be valamilyen IDE-t, és abban konfiguráltál már be debuggolást (pl. xdebug) Az, hogy milyen IDE-t választasz, rajtad áll; PHP vonalon érdekes lehet a Komodo, PHP Storm, Netbeans, Aptana, Eclipse PDT. Ha csapatban akarsz dolgozni és PHP-ban, akkor nem árt a fenti CMS-ek közül párral részletesebben megismerni, de ezeken kívül Zend, Symfony vagy Yii tanulmányozása is hasznos lehet.

Én már nagyon sok méretű csapatban dolgoztam (2-100+ fő) és egy ismert keretrendszer mindig hasznunkra volt, főleg ha új embert kellett bevezetni, mert tudta, hogyan működnek benne a dolgok.
2

Talán nem gáz

mz82 · 2012. Nov. 4. (V), 23.41
Köszönöm a gyors válaszod!

Az első kérdésre nem reagáltál, ezért úgy veszem, hogy talán nem gáz a helyzet. :-) Alapvetően még maradnék az 1 fős modellnél. Csak nem szeretném, teljesen elzárni magam a lehetőségtől, hogy esetleg továbblépjek. Amilyenek a körülmények... sosem lehet tudni mikor jönne jól egy biztosabb és jobban fizető állás! :-)

Azt hiszem megpróbálkozom a Zend Studio és a Zend Framework megismerésével. A fenti CMS-ektől talán azért is tartok mert az eddigi munkáimban akkor kellett hozzájuk nyúlnom, ha a tulajdonosuk képtelen volt az igényeit megvalósítani bennük. Vagy olyan nyakatekert módon, hogy az már fájt! :-)
3

De, válaszolt :)

Pepita · 2012. Nov. 5. (H), 02.27
A WAMP-ra nem, de a Notepad++-ra ott van ám... (Komodo, stb.)
Ha a WAMP-ot nem valami XAmpp vagy hasonló next-next-happy csomagból "varázsoltad", hanem be is tudod rendesen állítani, akkor nem gond (bár van egy-két eltérés LAMP-hoz képest, de áthidalható). Egy normálisabb szerkesztő viszont kellene, én is tudom javasolni a Komodo-t és Netbeans-t (előbbit használom folyamatosan).

CMS: ha muszáj valami, akkor Drupal, de én is jobban szeretem a saját kódomat...

FW: nehezen győztek meg weblaborosok (vagy saját magam?) a keretrendszerek fontosságáról, de egy ideje osztom azt a véleményt, hogy valami kell. De azt már nem mondom, hogy: "Zend, Symfony vagy Yii". Nekem alapvető szempont, hogy kicsi, gyors, könnyen tanulható és könnyen fejleszthető legyen, ezért nekem a CodeIgniter jön be. Ennek is sok osztályát átírtam, újakat tettem hozzá, és van amit nem használok (mert nem elég jó). Amit így "kaptam", azt folyamatosan fejlesztem (magamnak), és nekem jó.

Azért javaslom, mert még egy ilyen kisebb FW-t is nulláról megírni rengeteg idő és munka, valamint ha egyedül dolgozol, akkor sokkal nagyobb az esély mind hibákra, mind arra, hogy ugyanazt sokkal optimálisabban is meg lehet oldani.

Persze ha tényleges team-ben gondolkodsz, akkor nem jó út a "félig saját" fw, hanem valamelyik (több) nagy kell, legalább Zend (asszem ez a legelterjedtebb).

Azt hiszem, így már megválaszoltam a "Könnyebb hibakeresés? Kész osztályok? Csapatmunka?" kérdéseket is. (3 igen)
Tömörebb, optimalizált kód?
Hát ez nem biztos. Ha van minify-olt is, akkor tömörebb, de ismerkedni jobb a megjegyzésekkel is ellátott, stb. forrás. Optimalizálva pedig valószínűleg annál jobban van, minél több fejlesztői munkaórát rááldoztak (és ugye ez egy olyan rendszer esetében, amit több ezren fejlesztenek "hobbyból", sokkal több, mint amennyit te egyedül rá tudnál áldozni).

Röviden: WAMP lehet, IDE kell, CMS kellhet, FW kell.
4

Hosszú táv.

pp · 2012. Nov. 5. (H), 08.16
Elsőre ami nekem hiányzik a listából az a verzió kezelő(verzió kezelés :)). Ha már saját fw és több helyen is van, akkor honnan tudod, hogy melyik helyen, melyik állapot található?
Ha találsz egy hibát a fw-ben egy projekt során, akkor azt a korábbi telepítésekre nem juttatod ki?
Vagy ez nem szempont? Csak megcsinálod a projektet, aztán továbbállsz?

A CMS-ektől kiver a víz; Joomla-hoz, Drupal-hoz és Wordpress-hez volt már szerencsém, de mindig könnyebbnek találtam saját alapokból dolgozni.


Mindig könnyebb lesz ugyan azt az utat járni, mint új utakat felfedezni, új eszközöket megtanulni. Ez nem a kész rendszerek hibája, hanem az élet ilyen.

Hogy melyik rendszert tanuld meg, szerintem szinte mindegy(itt a szálban elhangzott fw-ker is gondolok, Symfony, Zend, Yii, CodeIgniter). Igazából azt javasolnám minél többet ismerj meg. A tanulásra fordított idő ugyanis sose kidobott, ha másra nem lesz jó tágítja a világképedet és akár meg is erősítheti azt a nézetedet, hogy saját rendszert használj. (bár ez utóbbit én kizártnak tartom)

Ha egyedül dolgozol, nagyon nagy az esély rá, hogy a munkád rabja leszel. Nálunk a codereview során - többek között - kigyomlálunk minden olyan kódot amit más nem, vagy nehezen ért meg. Van úgy, hogy egy működő kódot csak azért írunk át, hogy könnyebb legyen megérteni. Cserébe viszont nyugodtan mehetünk el szabira, hisz nincs olyan projekt amit más ne tudna támogatni.

Természetesen, ha csak hobbi az egész akkor ezekre nem biztos, hogy szükséged lesz.
5

Verzió kezelés

mz82 · 2012. Nov. 5. (H), 08.50
Részben a verzió kezelő miatt feszegetem a témát. Teljesen jogos, hogy arra nem csak csapatmunkában van szükség. Az idegen keretrendszerek kerülése pedig tényleg, amolyan strucc effektus lehet nálam.
Ez nekem egy olyan hobbi, amivel lassan többet keresek, mint a munkámmal. Szóval talán érdemes lenne komolyabban vennem! :-)
6

Ha nem is tanácsokkal, de

deejayy · 2012. Nov. 5. (H), 10.53
Ha nem is tanácsokkal, de tapasztalattal hozzájárulnék a threadhez, ugyanis hasonló "cipőben járok":

Dev. gép a sajátom (Win7x64), erre tettem fel apache-mysql-php-t, mindent nulláról, az adott cégtől letöltve a binárist, összelőve a nekem megfelelő konfiggal.

Teszt gépem egy szerver, linux (Ub10), azon szintén a-m-p saját kezűleg feltéve és konfigolva (bár ott lényegesen egyszerűbb).

IDE: Sublime 2.

Verziókezelés: git, repo tár a teszt szerveren, mindig oda syncelek.

CMS-ek: dettó, mindet helyeztem már üzembe, de amint valami egzotikus igény van és a core-ba kell nyúlni, kockázatosnak érzem a verziókövetés biztosítását.

(pl. osCommerce 2-vel küzdöttem sokat, egy bloatware az egész, vért izzadsz, mire egy funkciót módosítasz, az összes plugin ütközik egymással, stb. WordPress: egyszer feldobtam egy komment-értékelő plugint, de nem a komment mellé akartam az ikonokat, hanem a komment meta adatai közé, kiderült, hogy buzerálhatnám a WP forrást, hagytam is).

Frameworkok: kliens oldalon jQuery. Szerver oldalon saját MVC. Gondolkodtam már a fent említettek kipróbálásán, egyszer régen a Symfonyval játszottam, és annyiban is maradt, ha lesz egy nagyobb szusszanásnyi időm, akkor megnézem ezt a CodeIgnitert, ha már Pepita is rá szavaz :)
7

IDE vagy Editor

Udi · 2012. Nov. 5. (H), 11.25
Sublime 2 mennyire számít IDE-nek? Eddig minden IDE vs. Editor összehasonlító cikkben az Editor térfelén láttam a Sublime-ot. Hol a határ IDE és Editor között?

Ha már itt tartunk, bedobnám az örök IDE vs Editor flamebait-et. Évekkel ezelőtt olvastam egy blogbejegyzést arról, hogy egy jó operációs rendszer fölé már nem kell IDE, de már nem találom a bejegyzést. Nem a Unix as IDE cikksorozat volt, de a mondanivalója hasonló. Van valaki itt a Weblaboron, aki Unix-like rendszeren fejleszt (nem csak tesztszerverként), és IDE-t használ?
8

Idézem a Sublime homepage-én

eddig bírtam szó nélkül · 2012. Nov. 5. (H), 11.30
Idézem a Sublime homepage-én található szöveget: "Sublime Text is a sophisticated text editor "

IDE - nálam ott kezdődik, hogy tartalmaz pl. debuggoláshoz szükséges eszközöket, ha fordítóprogram kell a nyelvhez, akkor a fordító futtatásához, a hibák könnyű megkereséséhez szükséges alkatrészeket stb.

Az editor meg egy szövegszerkesztő, oszt jónapot. ;-)
9

Van

tiku I tikaszvince · 2012. Nov. 5. (H), 11.44
Van valaki itt a Weblaboron, aki Unix-like rendszeren fejleszt (nem csak tesztszerverként), és IDE-t használ?

Ubuntu 12.04/12.10 + csomagból teleptett Apache+PHP+MySQL + PHPStorm. Emellett, editornak szoktam használni a Geany-t is, amit a (szintén csomagból telepíthető) pluginjai segítségével percek alatt IDE-vé lehet varázsolni.

Korábban használtam Netbeanst, Aptanat, ZendStudiot.
10

IDE

Poetro · 2012. Nov. 5. (H), 11.45
IDE
Tehát a Sublime már majdnem teljesen IDE-nek számít, mondjuk debuggolni nem tudom lehet-e benne, de minden mást simán lehet.
Én szoktam MacOS X alatt fejleszteni (ami ugye Unix-like), de ott is ugyan azokat használom mint W7 alatt (mivel eleve cross platform dolgokat választok). Linux alatt is ugyanazt a Komodo-t futtatom. Ráadásul mindenhol könnyebb összehozni egy fejlesztői rendszert mint Windows alatt, egyszerűen egy csomagkezelővel telepítem (főleg, hogy apache és php már eleve telepítve van bennük). OSX alatt:
$ brew install postgresql mysql
vagy Linux alatt:
$ apt-get install apache2-threaded-dev php5-dev mysql-server
11

:-)

eddig bírtam szó nélkül · 2012. Nov. 5. (H), 12.18
Ők editornak híjják...

Egyébként miért mondják sokan az OS/X-re, hogy "unix like"?
Tudtommal az OSX egy echte BSD Unix, ami kapott egy spec. GUI-t. Rosszul tudom?
12

rosszul

Greg · 2012. Nov. 5. (H), 12.36
Ez az alapja: http://en.wikipedia.org/wiki/Darwin_(operating_system)
Es erre kapott egy GUI-t.
En Mac-en fejlesztek es en Sublime-ot hasznalok. Ahogy Poetro irta ez mar majdnem IDE, mert csomagokkal a verziokezelo managelesetol elkezdve a deploy-on at, mindent meg lehet vele oldani.
A fejlesztokornyezet felallitasa gyorsan megy, bar en a beepitett PHP-t mar nem hasznalom, mert elegem lett abbol hogy az OS frissites felulirja. Helyette homebrew-al telepitem a php-t. Ruby-hoz a http://railsinstaller.org/#osx is jo valasztas.
Meg amit en a Mac-en szeretek az a Github for Mac, ami egy jol hasznalhato git GUI. Vannak olyan repo-im amiket nem hosztolok sehol, es igy egy szep feluleten tudom a history-t bongeszni.
15

Like

Poetro · 2012. Nov. 5. (H), 13.10
Mert a Unix is Unix-like? Meg történetesen az is.
16

Ízlés dolga. Szerintem a

eddig bírtam szó nélkül · 2012. Nov. 5. (H), 13.15
Ízlés dolga. Szerintem a "-like", az "olyan, mintha... de nem az". :-)
13

nem majdnem IDE

mz82 · 2012. Nov. 5. (H), 12.52
Egy Ubuntu szervert én is telepítettem és üzemeltetek egy céges Intraneten (Apache, MySql és PostgreSql egy számviteli rendszer miatt), de fejlesztési célra még mindig Windows-t használok.

A Sublime-t ki fogom próbálni. Tudnátok még nem "majdnem IDE"-t ajánlani? Aminek a teljes verzója is ingyenes és a fent már említett funkciókat is tudja (debug, verziókövetés)?
14

Vim?

Poetro · 2012. Nov. 5. (H), 13.10
Vim? Emacs?
17

Sublime vélemény

mz82 · 2012. Nov. 7. (Sze), 12.17
Kipróbáltam a Sublime-ot és nem igazán jöttem rá miért ajánlottátok a Notepad++ ellenében. Gyakorlatilag ugyanolyan kódszerkesztő mint az utóbbi. Viszont a pluginjai roskadásig vannak buggal (legalábbis a Windowsos verzió). Vannak nagyon idegesítő tulajdonságai, amik gondolom kikapcsolhatóak. De én például képtelen vagyok [ karaktert írni benne, ami elég nevetséges.

Arra jó volt, hogy kedvet csinált a Notepad++ sötét skinjeihez és egyenlőre jobbnak is érzem. Telepítettem a Tortoise-t verziókövetés tanulmányozásához, de a megismerése azért hosszabb időt fog igénybe venni.
18

[ karakter?

eddig bírtam szó nélkül · 2012. Nov. 7. (Sze), 12.56
Nem lehet, hogy magyar kiosztású a billentyűzeted? :-)
(valamiért az AltGr-t egyes programok Ctrl-ként kezelik - lusta voltam utánajárni az oknak, inkább hanyagolom az ilyen programokat)
20

sublime [ karakter

mz82 · 2012. Nov. 7. (Sze), 13.13
Tegnap írtam benne pár oldal kódot, szerintem észrevettem volna, ha a billentyűkiosztással lett volna a gond. Én inkább valamelyik szuper intelligens plugin számlájára írom a dolgot. Ha kiosztás gond lenne, akkor nem tudnék $]€& jeleket sem írni. Gondoltam hogy a nyitótag miatt variál, de nem, mert a ( és a { karakterek is működnek. Igazából lényegtelen, mert nem fogom használni.
21

Valószínűleg, akkor valami

Poetro · 2012. Nov. 7. (Sze), 13.18
Valószínűleg, akkor valami ráült a Ctrl+Alt+F gombra.
19

Lehet, mivel a böngészőn és

Poetro · 2012. Nov. 7. (Sze), 13.01
Lehet, mivel a böngészőn és az email kliensen kívül sehol se használok magyar kiosztást, nem tűnt fel. Valamint nem csak Windows alatt használtam eddig Sublime2-t, ezért a bugok se voltak számomra feltűnőek.
22

.

Greg · 2012. Nov. 7. (Sze), 13.22
En Mac-en teljesen megvagyok elegedve vele, de van kollega aki windowsos verzioval szinten tapasztalt bug-okat. Azert ha megismered a feature-jeit, akkor ez szerintem sokkal tobbet tud mint a Notepad++, bar azt mar ezereve nem hasznaltam, es lehet hogy rosszul emlekszem. Verziokezeleshez inkabb DVSC-t probalj ki. Igaz hogy most egyedul dolgozol, de lehet kesobb csapatban fogsz es arra az jobban megfelel. En pl git-et hasznalok.
23

...két hónappal később

mz82 · 2013. Jan. 28. (H), 18.50
A témanyitás óta eltelt szűk 2 hónap és lassan kezdem "belakni" az azóta kialakított új munkakörnyezetem. Gondoltam leírom hova juttotam, illetve milyen kérdéseim merültek fel.

A Notepad++ -t már gyakorlatilag csak rövidebb script-ek, illetve template töredékek szerkesztésére használom.

IDE-nek feltelepítettem a NetBeans-t (7.2.1).

Ezeket érzem részemről jelenleg az IDE használat elsődleges előnyeinek:
- objektumok, funkciók paramétereinek, értékeinek automatikus felajánlása, valamint az egyéb kódkiegészítések és -ellenőrzések miatt gyorsabban haladok és kevesebb az elgépelés miatti hiba

- mivel a Netbeans projektkezelője lehetővé teszi, a localhost és a tárhely közti fájlszinkronizációt a beépített ftp klienssel végzem. Ez nyilvántartja azt is, hogy mely fájlok módosultak az utolsó szinkronizáció óta, így kevesebb keresgélésre van szükség.

- végre megértettem a verziókezelés előnyeit és sikerült összehangolnom a projektjeim github repository-kkal. Egyenlőre úgy tűnik, hogy ésszerű commit használattal a fejlesztés dokumentálása is egyszerűsödik

Néhány kérdésem persze megint van! :-)

1.
Milyen módszerrel érdemes Mysql adatbázisokat szinkronizálni? Itt a fejlesztő, teszt és éles környezetek közti szinkronizációra gondolok.

2.
Netbeans alá milyen hibakezelőt ajánlanátok?

3.
Milyen keretrendszerrel érdemes kezdenem, ha eddig nem használtam egyet sem? És itt most nem kimondottan az egyszerűségre gondolok, hanem arra, hogy melyik számít jelenleg elfogadottnak/keresettnek.
24

Csak az 1-es pontra

deejayy · 2013. Jan. 30. (Sze), 20.42
Csak az 1-es pontra válaszolnék (arra is inkább személyes tapasztalat, mintsem profi megoldást), a másik kettő kívül esik a kompetenciámon :)

Szóval én úgy szoktam syncelni (dev / test / prod), hogy mindegyik rendszerről csinálok SQL dumpot a struktúráról, és diffelem. A diff támpontot ad arra, hogy milyen sql-eket kell írnom (alter table, craete or replace view, stb), hogy a db-k szinkronban legyenek.

A prodról egy teljes sql dumpot betöltök a tesztre, lefuttatom rá az sql-eket, ha minden ok, akkor mehet az élesre, ha nem, akkor goto 10.

A folyamat végén az elvárás, hogy a dumpok diffje 0 soros legyen.
25

Netbeans alá milyen

Poetro · 2013. Jan. 30. (Sze), 22.00
Netbeans alá milyen hibakezelőt ajánlanátok?

Milyen programozási nyelvhez? És mit értesz hibakezelő alatt?
Milyen keretrendszerrel érdemes kezdenem, ha eddig nem használtam egyet sem?

Milyen programozási nyelvhez? És mit akarsz, hogy csináljon a keretrendszer?
26

A git-nél nem igazán értem,

inf · 2013. Jan. 31. (Cs), 10.42
A git-nél nem igazán értem, hogy miért használsz github repo-kat, hacsak nem szeretnéd mindenkivel megosztani a munkád gyümölcsét... A git flow-t érdemes lenne még használnod, ill. végigolvasni a git manualt.

Ftp helyett jobban tennéd, ha ssh-n keresztül frissítenéd az oldalakat. Ezt pl git-tel vagy rsync-el még úgy is megcsinálhatod, hogy csak a módosításokat másolja át. Érdemes lenne még automatikus deploy-t csinálnod, ezt pl jenkins-el meg tudod tenni. Egyelőre ez utóbbit még én is tanulom, de annyira nem bonyolult, mindenesetre az adatbázis szinkronizációt is ehhez kellene kötnöd, és nem kézzel csinálnod...

Én mysql workbench-el teszem szinkronba az adatbázisokat. Sajnos ez nem igazán megy production környezetben, mert ahhoz nincs külső hozzáférés, de talán le lehet hozzá moslni a workbench sql-jét, vagy van valami másik program, ami lehetővé teszi. Ha jól tudom ORM-eknél alapból van ilyesmire támogatás, valószínűleg át fogok térni azok használatára, ha sikerül összekötnöm valahogy őket a workbench-el.

A keretrendszer nagyban függ attól, hogy mi a célod vele. Nekem jelenleg a kis rendszerek jönnek be, amik elég rugalmasak a bővítéshez, most Slim-et használok, ehhez szabadon hozzá lehet csapni külsős session kezelőt, orm-et, template rendszert, vagy bármi ilyesmit. A routing és a hibakezelés van megvalósítva benne leginkább, a többi tőled függ. Ha valami nagyobb szabású dologra van szükséged, akkor symfony2, zend2, yii, ilyesmiket néznék meg. Átpörgettem soknak a kódját régebben, a smyfony2 forrásával voltam egyedül teljesen elégedett. Ettől függetlenül valószínűleg sosem fogom használni, mert nekem nem jönnek be annyira ezek a monumentális, mindent átfogó keretrendszerek.

Tesztelésre ha linux van, akkor phpunit, ha windows, akkor simpletest vagy phpunit emulált linux alatt, ami jó. Javascriptnél én jasmine-t használok.

A netbeans hibakezelő alatt fogalmam sincs, hogy mit értesz. Egyébként phpstorm-ot is megpróbálnám a helyedben. Rosszabb a kód színezése, meg kicsit túl okosított az automatikus kiegészítője, de legalább nem omlik össze napi 10x...