Sokan dolgozunk Mac-kel a munkánkban. Vannak állások, amik elképzelhetetlenek is enélkül. Az iOS fejlesztés, amit magam is művelek, az egyik ilyen. A hozzám hasonlóaknak szeretném kicsit bemutatni, az évek során milyen eszközöket találtam a munkám megkönnyítésére, hátha tudok nekik újat mondani. Persze lehet, hogy más is talál benne hasznos dolgokat.
Konfig
Én egy MacBook Pro Mid-2009-es gépet nyúzok már lassan négy éve. Ez általában véve még ma is egy erős, használható gépnek mondható, a 2.26-os kétmagos Core2Duo processzor elég jól teljesít, és szinte mindben hozza azt, amire a legtöbbször szükségem van. Persze van két varázs trükk a dologban: a 8 giga RAM és az SSD (Fusion Drive-val).
Mivel én ugyanazt a gépet használom otthon és munkában, van egy nagyon fontos dolog, amit meg kellett tennem évekkel ezelőtt, és azóta is tudom ajánlani mindenkinek: hogy szétváljon a két feladatkör, a munkához létre kell hozni egy új felhasználót. Nálam van egy rendes GK user az otthoni feladatokra és egy GK-Work user a céges munkához.
A külön user előnyei:
- Munka végén egyszerűen átváltasz a másik felhasználóra, nem kell semmiből kilépned, mégsem fog zavarni a sok ablak. Következő nap pontosan ott folytathatod, ahol abbahagytad.
- Ha szükség van rá, otthon is eléred a munkakörnyezetedet
- Az embernek mások a preferenciái a szabadidejében és a munkában. Így külön beállításokat tudsz használni a két időpontban. (Ezekről később.)
- Nem keverednek a céges fájlok a személyes adataiddal
- Az irodai körülményekhez tudod állítani a Desktopd (pl. más monitor beállítás, nekem a Dock is máshol van, stb.)
De persze vannak hátrányai is:
- Nehézkes a fájlok mozgatása userek közt (mindenhez jelszó kell)
- Nehéz elkezdeni, mert gyakorlatilag tiszta lappal indítasz új user létrehozása után; mindent be kell újra konfigolnod
- Ha nem elég erős a géped hozzá, lassíthatnak a háttérbe tett user dolgai (ezen a konfigon ezt már egyáltalán nem érezni).
Természetesen ajánlott bekapcsolni a Fast User Switch
et is, hogy egyszerűen, a menüben kattintva válthassunk a felhasználók közt.
Monitor-mizéria
Mivel otthon és a cégnél is duál-monitorral használom a gépet, gyakran felmerül a probléma, hogy változik a monitor-konfiguráció, ami miatt az OS X ide-oda pakolgatja az ablakaimat. Teljes értékű megoldás nem létezik a problémára, de elárulom, én mit fejlesztettem ki az idők során:
- Ha lehetséges, használd ugyanabban a konfigurációban a két monitorodat! Tehát ugyanakkora felbontásuk legyen, és a gépedhez képest ugyanazon az oldalon helyezkedjenek el! Ha otthon a munka felhasználóra kényszerülnél váltani, akkor így nem fognak elmászni az ablakok.
- Mindkét felhasználónál ugyanaz a monitor legyen az elsődleges! Ezt a menüsáv átdobásával tudod állítani a
Display Preferences
-ben. Ha nem így van, akkor össze-vissza fog működni a dolog, ha véletlenül más monitort lát valamelyik rendszer, vagy átváltasz a felhasználók közt. - Ha menet közben külső monitor nélkül akarod használni a gépet, akkor az épp nem használt felhasználó a háttérben megjegyzi a korábbi beállításokat és nem ugrik szét. Csak arra figyelj, hogy mielőtt lehúzod a külső monitort, hozd be a
Login Screen
-t vagy válts át a másik userre! Ha visszadugtad a monitort, majd visszaváltasz, ugyanott vár majd minden ablak. - Néha mindenképp le kell húzni a külső monitort, ekkor el fognak mászni az ablakok. Ebben segíthet a Breeze, amivel el lehet menteni egyes ablakok helyzetét. Nálam a főbb programok el vannak mentve, így ha nagyon hülye ablakméretre állnak be, csak megnyomom a ⌘⇧0-t (amire én beállítottam) és már a helyén is van az adott app.
- Munkában hasznos tud lenni a Windows 7 window snapping feature-je. Ez arra jó, hogy ha az ablakot egyből teljes vagy fél képernyős méretűvé akarjuk tenni, akkor elég a felső vagy az oldalsó képernyő élekhez dobnunk. Erre Mac-en több program is képes, én a Cinch-et ajánlom.
Szinkron
Az egy jó dolog, hogy a két felhasználómon különböző beállításokat tudok használni. Egyértelmű például, hogy a Safariban más könyvjelzőim lesznek, vagy hogy más email beállításokat használok a Mail-ben. Azonban van néhány terület, ahol célszerű szinkronban maradni a két felhasználó közt.
- Zenék. Elég elindítani az iTunes-t mind a két felhasználón és belépni ugyanabba a
Home Sharing
-be, látni fogják egymás zenéit. Ha a cégnél nincs saját hangszóród az sem baj, mi pl. mindigAirPlay
-en zenélünk (a másik gépen AirServer fut). - Fájlok. A másik user
Public/Drop Box
mappájába másolva a fájlokat a rendszer átadja az ownershipet, így nem kézzel kell szopnod. Amúgy érdemes az írás jogot megadni a másik Dektopjára legalább. - Hasznos az
iCloud
sync, teljesen jól működik egy azon gépen két felhasználó közt is. Így a naptáram, címtáram mindig elérem. - A Transmit tud Dropboxon vagy
iCloud
-on keresztül FTP kapcsolatokat syncelni - Szintén tud syncelni a Wallet (jelszavakat).
Hasznos appok a munkához
Nyilván mindenkinek mások az igényei, és ez fokozottan igaz a más munkát végzőkre, de én, aki web fejlesztőként (frontend/backend) és iOS programozóként tevékenykedek, a következő appokat ajánlom:
- Adium: Kapcsolattartáshoz. Egy IM kliensben egyesíti a Skype-ot kivéve az összes hálózatot (amúgy pont ezért nem szeretem a Skype-ot). A kollegáknak linkeket átdobni mindig jól jön. Tud
Bonjour
chat-et is, amivel nem is hagyja el a beszélgetés a céges hálót. - The Hit List: Az egyik legjobb (és legdrágább…) To Do lista alkalmazás. Hiba listákhoz, gyors jegyzeteléshez kiváló. Ebbe csak magamnak írom fel a dolgokat, amiket nem akarok elfelejteni. Egyszerű időbecslésre is alkalmas.
- Flow: Ez a céges porject menedzsment rendszerünk. Itt kapom a feladatokat, itt látom a napi teendőket. Lehet kommentelni, fájlokat csatolni, kollégáknak átpasszolni a ticketet, stb. Komolyan mondom, az összes ilyen rendszert végignéztem, és ez a leghasználhatóbb. Maga a Flow egy webalkalmazás, ikonról indíthatóvá a Fluid segítségével tettem, amivel tetszőleges weboldalt elmenthetünk így.
- TextMate: Remélem, senkinek sem kell bemutatnom az OS X legnépszerűbb text editorját :) A szokványos feladatokon kívül rendkívül hasznos betűrendbe rakásra, duplikált sorok kiírtására, CSS/HTML/JSON újra formázásra és hasonlókra is. Én főleg egyszerű szövegfájlok szerkesztésére és ilyesmi speciális feladatokra használom.
- Sublime Text 2: Látszólag nem sokaban különbözik a Sublime Text a TextMate-től, mivel főleg az előbbi inspirálta a kifejlesztését, ám mégis szignifikánsan másra érdemes használni: Én Sublime Textre tértem át az utóbbi időben Eclipse-ről. Tehát egy-egy szövegfájl helyett inkább komplett projecteket írok benne, mert ehhez egy csomó okos eszközzel rendelkezik, pl. rettenetesen jó az automatikus kiegészítése. Az Eclipse egy lassú és lomha a SL-hoz képest.
- Cornerstone: a legjobb SVN grafikus felület. Általában ebből nézem a diffeket és a logokat, mert sokkal kényelmesebb, mint a parancssor.
- Transmit: A tökéletes Mac-es FTP kliens. Persze tud még egy csomó más protokollt is, de a Panic-os fiúk tényleg nagyon jó munkát végeztek.
- Dropbox: Szintén mindenki ismeri a legjobb fájl szinkronizációs szolgáltatást. Kijelölsz a vinyódon egy könyvtárat, és mindent, ami abban van, a felhőbe felszinkronizál. Az összes project fájlt ebben tartom, hogyha bármi történik, akkor legyen biztonsági másolat. További előnye, hogy megoszthatóak a könyvtárak. A kollégákkal legtöbbször így küldünk át egymásnak fájlokat. Tud
undelete
-et is, valamint a szerveren korábbi verziókat is tárol, így be vagyunk biztosítva mindenre. Ha az ügyfélnek kell valamit küldeni, akkor aShare Link
opció segít általában. - iStat Menus: ebből is a régi, 3.x-es, mert az új nem tetszik. Fejlesztőknek elengedhetetlenül szükséges, hogy lásssák, mi történik a gépükön. CPU/RAM/Hálózati diagrammok, könnyű elérés a
Disk Utility
-hez és azActivity Monitor
hoz. - ClipMenu: A leghasznosabb multi-clipboard utility. Megjegyzi a korábbi vágólap tartalmaidat, és könnyedén váltogathatsz a korábbiak között. Enélkül gyakorlatilag képtelen lennék már programozni, annyira hasznos. További előnye, hogy snippeteket is tárolhatsz benne, amik bárhol előhívhatóak. Jól navigálható billentyűzetről is.
- Speed Limit: A hálózati sebességek teszteléséhez remek segédlet ez a
Preference pane
, amivel tetszőleges sebességre le lehet butítani a netkapcsolatunkat. - Wallet: A legjobb jelszó nyilvántartó app.
- Base: Egy nagyon jó Cocoa sqlite adatbázis felület. iOS appok debuggolásakor rendkívül hasznos.
- Sequel Pro: Ha már adatbázisok… ez a legjobb MySQL kezelő app Mac-re. Mindent tud, ami csak kellhet.
- ImageOptim: több open source projectből összeszedett faék egyszerűségű app, ami arra szolgál, hogy minél kisebbre nyomja össze a képfájljaidat a felesleges információk kidobálásával. iOS fejlesztésnél és weboldal optimalizáláshoz kifejezetten hasznos.
- Spark Inspector: 3D-ben nézhetjük meg vele a Simulatorban futó iOS alkalmazásaink felépítését. A legtöbb GUI paraméter azonnal, helyben át is írható, a változást egyből meg is jeleníti a Simulator. iOS GUI problémák megoldásához elengedhetetlen segédeszköz.
- TestFlight: Az appjaink béta tesztelését a TestFlight segítségével oldjuk meg. Ha én készen vagyok egy builddel, 2 kattintással fel tudom rakni, és be tudom állítani, ki kapja meg. A tesztelők az emailben lévő gombra nyomnak és már töltődik is le a telefonjukra az új verzió. Mindig pontosan nyomon tudom követni, hogy ki próbálta már ki az appot és ki nem.
- xScope: ha bárminek is tudni akarod a méretét, akkor neked az xScope kell. Van benne vonalzó, automatikus mérőeszköz, default képernyőméret nagyságú keretek és még ezer dolog. Megszámlálhatatlanul sokszor használtam már.
- Unretina: Szintén iOS fejlesztéshez hasznos kis script, ami az
Automator
segítségével leduplikálja, lekicsinyíti, majd átnevezi a@2x
fájlokat.
Számlázás
Aki órabérben dolgozik, annak valahogy nyilván kell tartania, hogy mikor, mennyit és min dolgozott. Én rengeteg különböző programot végigpróbáltam már, és kb. másfél éve ezt a kombinációt használom:
- Idő nyilvántartás Minco-val. Projectenként van egy ticketem, ezeket a rendszer
Reminders
adatbázisával is szinkronizálja. Amikor az adott projectre kell váltanom, akkor a menü sávban kiválasztom a megfelelő projectet és már ketyeg is az óra. Gyakran megesik, hogy elfelejtem időben leállítani, vagy nem váltok project váltáskor. Semmi gond, mert a Minco a rendszer naptárba szinkronizálja a munkaidőket, így elég ott a létrehozott eseményt arrébb húzni. A naptár elég kényelmessé teszi a munkák áttekintését. - Idő exportálás TimeLog-gal: alapvetően ő is el tudná intézni az egész folyamatot, de nekem nem túlzottan jött be az interfésze, így csak egy dologra használom: adott naptár bejegyzéseit képes kiexportálni
Numbers
be. Minden hónap végén kiexportálom a munkaórákat, majd feldolgozom a táblázatotNumbers
-szel.
Remélem, tudtam adni pár hasznos tippet.
Adrian
Köszi hasznos volt!
Ajánlom még a JPEGMini-t.