Git – triki – autokorekta

Zdarza wam się czasem napisać

git puhs

albo

git commti

w dzikim szale kodowania, kiedy już nie możecie się doczekać, by wreszcie wrzucić swój kod na serwer?

Mnie często i okazuje się, że git oprócz standardowego powiadamiania, które zapewne znacie czyli:

$ git puhs
git: 'puhs' is not a git command. See 'git --help'.

Did you mean this?
push

Posiada również opcję wykonania automatycznie komendy, której się domyślił.

Wystarczy wpisać w konsoli:

git config --global help.autocorrect 30

lub w pliku .gitconfig w folderze użytkownika umieścić następującą sekcję:

[help]
autocorrect = 30

Wówczas jeśli się pomylimy zobaczymy coś takiego:

$ git puhs
WARNING: You called a Git command named 'puhs', which does not exist.
Continuing under the assumption that you meant 'push'
in 3.0 seconds automatically...

Ta magiczna liczba 30 to po prostu parametr, którym określamy po jakim czasie Git ma zareagować i uruchomić komendę, której się domyślił. Oczywiście możemy to parametryzować dowolnie.

Warto jeszcze wiedzieć, że ta magia zadziała tylko, gdy Git będzie miał do wyboru jedną komendę. Te pomyłki, które wymieniłam są dość łatwe do domyślenia się, jednak gdybyśmy wpisali:

git st

Git zachowa się tak samo jak zawsze czyli

git: 'st' is not a git command. See 'git --help'.

Did you mean one of these?
status
reset
stage
stash
svn

Shopping Advisor – pierwszy wpis już po konkursie:)

Może to i koniec konkursu, ale nie koniec aplikacji:)

W związku z tym nowym początkiem postanowiłam, że dalszą pracę nad projektem będę znów prowadzić na Ubuntu. Tak tak, narzekałam, ale jednak obiektywnie muszę przyznać, że samo Android Studio a nawet emulator działają na Ubuntu o niebo szybciej niż na Windows, a mnie nie chce się spędzać życia na patrzeniu w pasek postępu:) Przede mną zatem do rozwiązania ten ważny problem, o którym wspominałam i który spowodował, że przeniosłam się na Windows. Mianowicie – kompletne zawieszanie się systemu. Ponieważ teraz nie ma już żadnego terminu będę mogła na spokojnie poszukać rozwiązania.
Przy okazji, gdyby ktoś miał jakiś pomysł czym może być spowodowane to częste zawieszanie się Ubuntu po kilkugodzinnej pracy z Android Studio, chętnie skorzystam:)

Kolejna rzecz – trzeba też podtrzymać i rozwijać wiedzę na temat Androida i Javy jaką przez te trzy miesiące zdobyłam. Na początek na tapetę wzięłam webinar i artykuł „Use Android Studio Like a Pro!” – jest tam szereg przykładów jak pracę z Android uczynić bardziej efektywną i przyjemną:) Skróty podane są dla środowiska Mac OS, ale bez problemu działają na Windows, gdy zamienimy klawisz Cmd (Command) na Ctrl. Przyznam, że nie wszystkie pokazane rzeczy są dla mnie nowe, więc chyba nieźle mi poszło uczenie się Android Studio ostatnio, ale jest parę tricków, które chętnie wdrożę w swojej pracy. Jedyne czego zawsze się boję, przy nauce skrótów klawiaturowych w AS to, że zaczną mi się mieszać z tymi z Visual Studio;)

Tak więc powolutku, nieco wolniej niż wcześniej, rozwijam aplikację i umiejętności.

Na koniec przypominam jeszcze o głosowaniu, które trwa już tylko do soboty – jeśli więc jeszcze nie oddaliście głosu – zapraszam do głosowania: Ankieta

 

Shopping Advisor – co dalej #dajsiepoznac

Dziś ostatni dzień konkursu Daj się poznać a ja nadal tu jestem! Napisanie „wygrałam, bo dotarłam aż tutaj” jest dość banalne, ale nie mogę się powstrzymać! Wygrałam! 🙂 Bardzo się cieszę, że przez 3 miesiące udało mi się zmobilizować siebie na tyle, by bez względu na wszystko nie porzucać pracy nad aplikacją.

Nie ukrywam, iż na początku drogi obawiałam się kilku rzeczy.

Pierwsze i najważniejsze, co zaprzątało moją głowę, to myśl, że pomysł na aplikację jest głupi i nikt nigdy nie będzie chciał tego używać. No cóż – czy ktoś będzie chciał tego docelowo używać, to się okaże, ale sam pomysł został bardzo dobrze przyjęty i otrzymałam wiele głosów wsparcia za które bardzo dziękuję, gdyż napędzały mnie bardzo pozytywnie do pracy nad Shopping Advisor.

Kolejna rzecz – miałam pisać w Javie (ja, zatwardziały dotnetowiec od dziesięciu lat) a na dodatek miałam jeszcze pokazywać ludziom ten kod. O rany! Myślałam sobie, że jak tylko ktoś to zobaczy to objedzie mnie z góry na dół, że co ja tam nakodziłam. Tak się jednak nie stało. Jednak nie mam złudzeń – pewnie po prostu nikt się w ten kod aż tak bardzo nie zgłębiał, bo idealny na pewno nie jest:)

Ostatnia rzecz – trzy miesiące kodowania, trzy miesiące blogowania dwa razy w tygodniu. Jak, kiedy, o czym pisać i kto to w ogóle będzie chciał czytać? Owszem, bywały ciężkie tygodnie, kiedy to ciężko mi było jakoś zebrać myśli i opisać to nad czym pracuję. Z pracą też bywało różnie – bo nieraz cały tydzień miałam tak bardzo zajęty, że trzeba było nadrobić w weekend. Jednak praca nad własną aplikacją to zawsze duża satysfakcja.  Jak się okazało znaleźli się też czytelnicy:) Więc i było dla kogo pisać z czego bardzo się cieszę.

Co dalej?

Jeśli napiszę to publicznie, to będę musiała się tego trzymać, więc napiszę:) Planuję oczywiście dalszą pracę nad aplikacją, ponieważ bardzo niewiele jej brakuje do tego co chciałam osiągnąć i skoro zaszłam już tak daleko nie wyobrażam sobie jej porzucenia. Czekają mnie na pewno:

  • Dokończenie wizarda
  • Dopisanie brakujących testów do zmian, które ostatnio zrobiłam
  • Stworzenie filmiku, który umożliwi użytkownikom zapoznanie się z możliwościami
  • Stworzenie dwóch wersji językowych – na początek polskiej i angielskiej

To jest taki stan, jaki chciałabym osiągnąć przed wrzuceniem aplikacji do Google Play. Jeśli natomiast chodzi o pisanie bloga w związku z aplikacją, to myślę, że chciałabym ograniczyć się do jednego posta na tydzień lub dwa.

Czego się nauczyłam przez te trzy miesiące?

Oczywiście oprócz wiedzy w zakresie Android Studio i Javy zdobyłam też dość przydatną wiedzę o sobie – że jak chcę to mogę – potrafiłam bez problemu zmienić technologię i czuć się w niej dobrze. Co więcej – okazało się, że moje pomysły nie są takie głupie jak mi się czasem wydaje, że sama z siebie potrafię być skrupulatna, systematyczna i wytrwała. Tą ostatnią cechę ćwiczyłam już kiedyś na troszkę innym projekcie – również z sukcesem.
Kolejna rzecz, która wydarzyła się dzięki konkursowi, to wiele nowych blogów a tym samym osób zwróciło moją uwagę w internecie. Co więcej – społeczność jaka powstała wokół Daj się poznać uświadomiła mi jak wielu jest pasjonatów i jak wielu osobom się „chce”. Nie przestaje mnie to zadziwiać i napawa swego rodzaju dumą, że mam taki a nie inny zawód, gdzie jest tyle ambitnych i interesujących osób z którymi można się spotkać na różnego rodzaju wydarzeniach i konferencjach.

Wielkie podziękowania dla Maćka za zorganizowanie konkursu Daj się poznać, ponieważ była to jedna z najbardziej mobilizujących rzeczy jakie mi się ostatnio przytrafiły. Gdybym nie wzięła udziału, to mój projekt nadal by płakał w szufladzie wołając o moją uwagę:)

Shopping Advisor – podsumowanie trzech miesięcy #dajsiepoznac

Ponieważ koniec konkursu Daj się poznać dobiega końca chciałabym najbliższe dwa wpisy poświęcić trochę na podsumowanie a trochę na opisanie moich planów na przyszłość względem aplikacji, którą tworzyłam. Dziś zajmę się właśnie omówieniem i przypomnieniem, do czego ona służy i jak działa.

Otóż celem aplikacji jest wspomaganie nas w planowaniu zakupów codziennych produktów a także tych, które kupujemy rzadziej. Naszym jedynym zadaniem jest regularne wprowadzanie do niej informacji o tym, które produkty nam się skończyły – masło, mleko, proszek do prania itd. Po jakimś czasie aplikacja jest w stanie coraz lepiej przewidywać jak często kończą nam się poszczególne produkty i na ekranie prognoz, który jest podzielony na trzy sekcje – wszystkie, tydzień i miesiąc pokazuje co powinniśmy kupić w najbliższym tygodniu i najbliższym miesiącu. Obok każdego produktu mamy przewidywaną datę, kiedy nam się skończy.

Na wspomnianym ekranie prognoz możemy dokonywać różnych akcji związanych z wprowadzanymi przez nas produktami:
• nowe produkty, które nam się skończyły możemy dodawać korzystając z przycisku + (plus) umieszczonego na dole ekranu. Przycisk ten wyświetla nam okienko dialogowe, które umożliwia wpisanie nazwy produktu, który chcemy dodać. Pole tekstowe posiada funkcję podpowiadania nazw, które użytkownik już kiedyś wprowadził.

screen2

Od razu również aplikacja pyta użytkownika czy chce dodać kolejny produkt.
anotheritem
• produkty, które już mamy na liście również możemy oznaczyć jako skończone – wybieramy z listy produkt lub produkty (pojawi się nam w menu liczba zaznaczonych elementów – w tym przypadku dwa) poprzez pojedyncze tapnięcie i wybieramy z górnego menu przycisk z ikonką smutnej buźki.

• jeśli produkt kupimy, możemy go oznaczyć jako kupiony wybierając go z listy poprzez pojedyncze tapnięcie i wybranie z górnego menu przycisku z ikonką koszyka. Spowoduje to oczywiście zmianę prognozy dla tego przedmiotu.
markasbought
• ostatnie co możemy zrobić na tym ekranie to zarchiwizować dany produkt – podobnie jak poprzednio, zaznaczamy go i wybieramy z menu przycisk z ikonką archiwizacji. Wówczas znika on z ekranu prognoz, ale nadal przechowujemy dane na jego temat. Jeśli użytkownik korzystając z przycisku + (plus) wpisze znów nazwę tego przedmiotu, zadziała podpowiadanie w polu edycyjnym o którym wspomniałam wcześniej i będzie mógł wybrać z listy z podpowiedziami interesujący go produkt. Podpowiadanie działa oczywiście nie tylko dla produktów zarchiwizowanych, ale dla wszystkich, które kiedykolwiek użytkownik do aplikacji wprowadził.
markasarchived

Jak zacząć?
Dla nowych użytkowników, który jeszcze nie mają żadnych produktów w bazie danych uruchamiany jest przewodnik, który pozwala na wprowadzenie produktów, jakie użytkownik kupił w ciągu ostatniego tygodnia a także ostatniego miesiąca.

7days - Wizard

30days - Wizard

Pozwoli to stworzyć wstępne prognozy, które będą stawały się coraz bardziej dokładne w miarę korzystania z aplikacji i regularnego wprowadzania informacji o produktach, które się skończyły.

W kolejnej notce opiszę moje dalsze plany na rozwój aplikacji a także parę przemyśleń na temat konkursu , czasu jaki na to wszystko poświeciłam i czego się nauczyłam.

Shopping Advisor – nie koniec problemów:( #dajsiepoznac

Kiedy już udało mi się uratować zakładki o czym pisałam w poprzednim wpisie okazało się, że parę rzeczy trzeba było przerobić i niestety idzie to dość mozolnie. Przez to kompletnie straciłam nadzieję na to by aplikację udało się umieścić w Google Play w tym miesiącu – bardzo mi z tego powodu smutno. Na początku maja sytuacja przedstawiała się dość optymistycznie jednak, gdy zaczęłam pracę nad wizardem wszystko się nieco skomplikowało i niestety pokrzyżowało szyki.

Wizard również ma swoje problemy – dość powoli działa. Zapewne jednak będę musiała pewne rzeczy zoptymalizować, więc sporo pracy mnie czeka:) Pojawiło się też oczywiście parę błędów i moja tablica na Trello, o której pisałam tutaj zaczęła puchnąć. Nie mniej – nadal się uczę, ale też wiele rzeczy idzie mi już dużo sprawniej niż na początku.

Pracy niestety nie ułatwia mi też Android Studio, które muszę przyznać, na Windows działa okrutnie powoli w porównaniu z Linuxem. Co prawda zawiesiło mi komputer na amen tylko raz, ale samo zawiesza się dość rzadko – raz na 2-3 dni tak, że muszę zabijać proces. Ostatnio jednak często muszę czyścić pamięć urządzenia i ewentualne uruchamianie od zera emulatora trwa bardzo długo.

Z kolei po którejś aktualizacji SDK trzeba było doinstalować jakiś dodatkowy pakiet, bo aplikacja tajemniczo się nie budowała. No nic, mam świadomość, że brakuje mi obycia i znajomości różnych ułatwień pracy jakie zapewne wypracowali sobie Androidowcy:)