Gdybym 30 lat temu wiedział, że będąc dziś w posiadaniu domeny sex.com (nie zalinkuję domeny:)) byłbym milionerem, zarezerwowałbym ją bez zastanowienia,
mimo że nie planowałbym działalności w tej branży.
Jak stać się lepszym programistą
Jestem właśnie w trakcie (10 styczeń 2017 - dziś ta data jest dla mnie taka "świeża", za kilka miesięcy będzie "o shiet jakie to nieaktualne") czytania jednej z najlepszych
pozycji książkowych dla programistów: jak stać się lepszym programistą. Jest to książka bez listingów kodu źródłowego, przyjemnie się ją czyta przy śniadaniu, przed pracą, w przerwie pracy i czasami po (wieczorem, po całym dniu kodowanie i projektowania
może być trudno). Ok, tak książka pokazuj Ci jak podejść do programowania, jak stać się niejako artystą w tej dziedzinie. Pokazuje jak pośpiech ma katastrofalny skutek w bliskiej
przyszłości rozwoju oprogramowania. Jest tu mowa o ciągłej refaktoryzacji, optymalizacji, itd. Widzę jak ta książka zmienia moje mentalne poczucie obcowania z liniami kodu.
Pozwala mi spojrzeć na swoją aplikację bardziej globalnie - analizując jej architekturę, a nie tylko pojedyńcze modułu czy komponenty. Cóż mogę dodać jeszcze? na razie to tyle,
reszta jak skończę.
[09-02-2017] Przeczytałem już część najbardziej istotną z punktu widzenia "dobrych technik programistycznych". Rozpocząłem ostatni główny rozdział książki,
któy opiera się na kompetencjach miękkich. Jak żyć, aby kochać się uczyć, jak postępować na innych płaszczyznach niż programowanie, aby PROMGRAMOWANIE było
przyjemnością. Muszę powiedzieć, że są to bardzo ciekawe kwestie i oczywiste zarazem, na które nie zwraca się uwagi. Książka naprawdę jedna z lepszych
jakie czytałem w życiu. Sądzę, że po ukończeniu pozycji przygotuję w ramach mojego serwisu dedykowaną książcę stronę!
Odgrzebałem aplikację z 2011 - praca magisterska
W ostatnim czasie przypomniałem sobie o programie, który pisałem do swojej pracy magisterskiej 6 lat temu (mamy 11.01.2017 - środę, czyli po jutrze piątek 13-go!). Był to dość
śmiały jak na tamte czasy projekt, robiący dużo w technologii AJAX. Wygląda to ciekawie nawet w 2017 roku. Poprzesuwajcie suwakami, naciśnijcie "zapisz",
zmiencie moduł. Aha i to okienko jest ruchome - złapcie za nagłówek.
To wszystko tu:
CLOND - praca magisterska - moc AJAX, lub
więcej na kartach: CLOND
Na horyzoncie mix: SHOPER, SUBIEKT GT, Rachmistrz
Powoli dużymi krokami zbliża się do mnie bardzo ciekawy temat, w którego skład wchodzi integracja tych trzech w/w aplikacji.
Jestem jeszcze na etapie analizy przedwdrożeniowej (nie mam jeszcze nawet diagramów UML) i wiem, że jeszcze dużo (ale fascynującej)
pracy przede mną.
BeFrame3.5 => BeFrame5.0 = BF5.0
I nareszcie mój autorski framework CMS beframe w wersji 3.5 doczekał się aktualizacji do stabilnego numerka 5.0, który wnosi kompletną przebudowę silnika i interfejsu.
Zmiany są naprawdę znaczące, poczynając od struktury kodu źródłowego, a kończąc na projektach kompletnie nowych klas, metod i obiektów.
Sama warstwa prezentacji serwisu również doczekała się zmian, mianowicie: kompilowany CSS, RWD, nowe możliwości jQuery. Kompletny opis systemu
i jego logiki znajdziecie na kartach BF5.0.
Dokumentacja BF5.0 znajduje się pod adresem: dokumentacja BF5.0.
Wersja demo: Demo BF5.0.
Panel Administratora: Panel BF5.0 (admin, 1234).
BF5.0 => CMS-BF6.0
Pominąłem na blogu wersję 5.1, która tylko zawierała poprawiony mechanizm proporcjonalnego skalowania zdjęcia wgrywanego przez administratora.
Wersja 6.0 mojego CMS'a to dodanie nazwy "CMS-" przed BF i całkowite przejście na bootstrap'a i wdrożenie dynamicznej biblioteki wizualnej font-awesome. Czyli można powiedzieć, że przejście na wersję 5.0
stanowiło rewolucję w warstwie silnika CMS'a, natomiast wersja 6.0 to rewolucja w warstwie widoku (dotyczy to front i back end'u).
Więcej szczegółów i zrzuty ekranu znajdują się na tej karcie: CMS-BF6.0.
Wersja demo: Demo CMS-BF6.0.
Panel Administratora: Panel CMS-BF6.0 (admin, 1234).
CMS-BF6.0 => CMS-BF7.0
Wersja 7.0 została już zoptymalizowana pod kątem konkretnego projektu - biura nieruchomości (z wyszukiwarką jak w otodom.pl).
Zakres zmian, optymalizacji i zrzuty ekranu znajdują się na tej karcie: CMS-BF7.0.
Wersja demo: Demo CMS-BF7.0.
Panel Administratora: Panel CMS-BF7.0 (admin, 1234).
Nareszcie RWD
W końcu postawiłem na responsywność swojego serwisu (najbardziej motywował mnie alert z GOOGLE WEBMASTER TOOLS = SEARCH CONSOLE)...
Odświeżony i z Bootstrapowany serwis internet.media.pl
W siatce nad wszystkim mogę lepiej zapanować. Paddingi, marginesy, wszystko, wszędzie jest dokładnie rozmieszczone.
Allegro (czerwiec 2018)
Jestem wkurzony tym co robi serwis Allegro programistom próbującym zintegrować własne projekty z ich API. Oto czerwcowa lista zmian:
Porzucenie WebAPI, pozostawienie tylko REST (które de facto jest w kanale BETA)!!
Błedy w formatowaniu JSON'a dla nowych szablonów aukcji.
Dziwnie zachowujący się Sandbox - mam pracować na produkcji?
Powyższe zmiany (trwające) zmusiły mnie do przerwania póki co prac związanych z integracją API Allegro...zobaczymy ile to jeszcze potrwa;/
Księgarnia API
Realizuje od kilku miesiący (czerwiec 2018) projekt polegający na implementacji księgarnii on-line. Nic ciekawego? [Narastające werble].
Zasoby księgarni bazują na API zewnętrznych dostawców: np. ELIBRI. Jest tu bardzo dużo technologii AJAX - filtrowanie rekordów, paginacja, koszyk.
Obecny rozwój w kanale sandbox można śledzić pod adresem: sandbox.internet.media.pl/notoco
Fanpage? myślę...
Od jakiegoś czasu noszę się z zamiarem założenia konta na facebook'u, no i oczywiście fanpage dla strony którą teraz czytacie.
Fanpage? już jest
...ale na razie na spokojnie...
Co dalej? o no jest wersja 5.1
Ruszyłem z pracami nad CMS-BF5.1 i CMS-BF6.0 - w sumie wersja 5.1 może przejść już do stabilnej - w oficjalnej specyfikacji
podaję że poprawiłem w niej kwestie obróbki uploadowanych grafik, bo jednak trzeba położyć większy nacisk na rozdzielczość i kompresję...
A dalej w wersji 6.0!
A w wersji 6.0 nastąpi przebudowa elementu systemu pn. "widget" - będzie można dodawać jeden dany widget
(ze wszystkim: nazwa, url, zdjęcie, itd) do dowolnej liczby stron. Dzięki czemu można będzie typy widgetów ze sobą mieszać.
A to jaki będą miały styl widoku - na każdej stronie może być inaczej narzucane...miód. Dodatkowo każdy typ widgetu będzie miał
swoje kategorie (np. aktualności będą podzielone na regionalne, krajowe, itd.). Te kategorie będzie można dodawać z poziomu Panelu Admina.
Czy ktoś zauważył działania w wyszukiwarce google?
Wpisywał ktoś z Was w google słowo kluczowe "pogoda Warszawa" lub "Alfred Nobel". Wyniki wyszukiwania w postaci zdjęcia, opisu, diagramu, dat...
To wszystko po to aby nie opuszczać domeny google.pl. W niektórych dziedzinach wyniki naszych poszukiwań powinny już nas zaspokoić po zobaczeniu pierwszej strony.
Google doskonale o tym wie! Zatem pytanie, czy wyszukiwarka jest obiektywna, bezstronnicza - i służy tylko dobru internauty? Ocencie sami.
Tak na marginesie serwis pogodowy, który wypracował sobie pierwszą pozycje w wynikach organicznych (przestrzaegł zasad SEO, które definiuje sam Google), po wprowadzeniu przez Google wykresu pogodowego stracił 70%
ruchu. White SEO = kara Google?:)
Projekt "tuning aut"
System, który zaprojektowałem opera się na gromadzeniu kredytów (automatyczne płatności on-line) na koncie użytkownika. Użytkownik za kredyty
może przesłać do administratora plik, który definiuje jego samochód pod kątem rozbudowy. Właściciel obrabia plik i odsyła użytkownikowi pobierając kredyty.
W systemie istnieje również możliwość korespondencji między użytkownikiem a administratorem. Projekt jest w fazie Beta - warstwa silnika [09-02-2017].
Świadomość i branding domeny
Teoria marketingu pod pojeciem branding kryje takie ogólne definicje jak świadomość, znajomość czy zaufanie
do danej marki przez społeczeństwo. Mówiąc w kontekście świadomości domeny
(oczywiście przez pryzmat SEO),
zauważmy że nazwa onet.pl, wp.pl, allegro.pl, nie muszą już walczyć o pozycje w google. Te nazwy są dla polskich internautów tak
oczywiste jakby istniały od zawsze w sieci, a przecież nie są to domeny związane z językiem polskim (typu taniezakupy.pl),
bo takie są łatwiejsze do zapamiętania, a mimo to wszyscy internauci je znają. Jaki był początek domeny allegro.pl?
Ile energii włożyli marketingowcy, stratedzy
SEO
i SEM,
w wypozycjonowanie i branding domeny? Co jest dziś receptą na zaistnienie w sieci i google? Przewidywania są takie,
że krótkie nazwy mają przyszłość, jak fb.com, to.pl, jq.net. Jedno jest pewne przy rozpoczęciu walki, na początek SEM,
równolegle e-mail marketing, portale,
blogi, etc. Po ugruntowaniu domeny w inernecie (analizujmy pagerank), przechodzimy do reklamy w radiu i prasy.
Może akcja ulotkowa, ale to opcjonalnie. Gdy zobaczymy że rynek "chwyta" pomysł, możemy zainwestować w telewizję,
ale cały czas musimy pamiętać o analytic i odpowiednio dozować wszystkie te kanały. Na zawsze musimy zapamiętać,
gdy domena będzie już wypromowana. Teraz dopiero zaczyna się prawdziwa praca i zadania. Serwis musi żyć, rozwijać się, zaskakiwać.
Inaczej po prostu umrze, pamiętcie naszą klasę? Czegoś zabrakło, mówi się że to facebook ją zabił, ale ja myślę że coś jeszcze.
NK.pl przestała zachwycać, stała się zwyczajna, nie było pomysłów. Podobnie gadugadu - słoneczko zachodzi. Spójrzmy na facebook,
co chwilę coś nowego, jakieś wow. Kto wie może w przyszłości pojawi się coś co zabije facebook. Może portal za pośrednictwem którego
prześlemy sobie prezent przy pomocy
drukarki 3D :-).
Stabilna wersja CMS-BF6.0
Wersja 6.0 doczekała się wydania stabilnego. Można jeden widget podpinać do dowolnej liczby stron zdefiniowanych w systemie.
To samo plik, zdjęcie...Dzięki temu system stał się naprawdę elastyczny, a czynności związane z przygotowaniem widgetu nie trzeba
już powtarzać dla każdej ze stron. Dodałem również możliwość włączenia okna popup na każdej ze stron zdefiniowanej w systemie.
Następne prace to kategoryzowanie widgetów, plików i zdjęć już w ramach jednej podstrony...ale to już wersja 6.1.
Konfigurator działający na zasadzie "przeciągnij i upuść"
Kilka lat temu tak zostałem oczarowany i zainspirowany możliwościami technologii jQuery (nie pamiętam ówczesnej wersji), że postanowiłem zbudować aplikację typu "konfigurator"
do łatwego i intuicyjnego projektowania biżuterii. W programie tym, tylko za pomocą myszki, z dostępnych szablonów: np. sznurków i zawieszek można stworzyć model o dowolnej kombinacji - jaki mi się podoba:).
Demo jest w finalnej wersji BETA dlatego nie wszystko może jeszcze do końca poprawnie dzałać.
Więcej szczegółów i zrzuty ekranu znajdują się na tej karcie: Konfigurator "przeciągnij i upuść".
Natomiast wersja demo: Demo
Konfigurator "malarski"
Ciekawy projekt trafił mi się w 2017 roku. Połączenie jQuery i Canvas HTML5 = jCanvas.
Zaprojektowana aplikacja jest RWD i służy do kolorowania drewnianych klocków w różnych kształtach.
Więcej szczegółów i zrzuty ekranu znajdują się na tej karcie: Konfigurator "malarski".
Natomiast wersja demo: Demo
Powrócę jeszcze do swojego projektu CMS-BF
Po drodze rozwoju mojego systemu, wpadł mi jeszcze projekt, do którego wdrożyłem CMS-BF i oznaczyłem go wersją 6.5. Wersja od której wyszedłem do wdrożenia w projekcie, to 6.0.
Wszystkie zmiany tutaj wprowadzone mogę spokojnie oznaczyć jako: "delikatny lift". Same zmiany pochodzą z wersji 7.0, ale tak jak pisałem wcześniej wersja 7.0 dedykowana była
dość złożonemu systemowi dla biura nieruchomości - a do strony wizytówkowej ta wersja się po prostu nie nadawała.
Więcej szczegółów i zrzuty ekranu znajdują się na tej karcie: CMS-BF6.5.
Wersja demo: Demo CMS-BF6.5.
Panel Administratora: Panel CMS-BF6.5 (admin, 1234).
I jeszcze jeden serwis na CMS-BF - MAX DESIGN:)
W serwisie zelowokolorowo.pl musiało być czysto, schludnie, delikatnie. Jednocześnie strona musiała "eksplodować barwami" a to wszystko w RWD. Ciekawe:)
Więcej szczegółów i zrzuty ekranu znajdują się na tej karcie: CMS-BF6.6 (żelowokolorowo.pl).
Wersja demo: Demo CMS-BF6.6 (żelowokolorowo.pl).
Panel Administratora: Panel CMS-BF6.6 (admin, 1234).
Ciekawy CMS-BF w wersji 7.5 i 7.6
To w tych wersjach pojawiły się największe rewolucje od strony front-end. Link zewnętrzny, więcej Bootstrapa. Natomiast od strony panelu administratora
wprowadziłem grupowanie ze względu na przypisane do podstron elementy: "dodatki", "filmy", "zdjęcia", "pliki".
Demo panelu administratora jest dostępne w wersji 8.0, ponieważ 8.0 to tak naprawdę zebranie z wersji 7.5 i 7.6 najlepszych rozwiązań.
Więcej szczegółów i zrzuty ekranu znajdują się na tej karcie: CMS-BF7.5.
Wersja demo: Demo CMS-BF7.5.
Model Bazy danych: Model bazy danych.
Więcej szczegółów i zrzuty ekranu znajdują się na tej karcie: CMS-BF7.6.
Wersja demo: Demo CMS-BF7.6.
Zupełnie nowy stabilny i jeszcze bardziej zoptymalizowany CMS-BF8.0 - imponujący!
CMS-BF w wersji 8.0 jest imponujący, nie boję się użyć tego słowa! To głównie poprawa od strony kodu źródłowego, logicznie wszystko jeszcze lepiej rozmieszczone. Nawet
liftingu doczekały się nazwy zmiennych w kodzie bazowym.
Więcej szczegółów i zrzuty ekranu znajdują się na tej karcie: CMS-BF8.0.
Wersja demo: Demo CMS-BF8.0.
Panel Administratora: Panel CMS-BF8.0 (admin, 1234).
Model funkcjonalny obiektów sekcji: "Przyczepianie".
Efekt paralaksy
Ostatnio dosyć modny, a jednocześnie robiący piorunujące wrażenie, jest efekt podwójnego 2D - efekt paralaksy
Dlaczego podwójne 2D, a nie 3D, albo co gorsze (w logicznym rozumowaniu) 2D^2? Odpowiedź to jQuery i Materialize
Więcej o paralaksie wdrożonej na moim CMS-BF: CMS-BF8.0.
Zobaczcie efekt: Paralaksa CMS-BF8.0.
Nowe oblicze - internet.media.pl
W końcu stało się. Moja wizytówka: Bootstrap, Max RWD, płaski design, świeże barwy, zoom gallery, RWD fancybox.
Planuję równolegle prowadzić fanpage na facebooku.
Dodatkowo wdrożenie Portfolio i łatwego dostępu do Bloga (integracja).
Podrasowana wersja 8.0 na CMS-BF8.5 - dodatkowe funkcje
CMS-BF w wersji 8.5 to projekt stworzony na potrzeby klubu pływackiego z Zielonej Góry - Towarzystwo Pływackie (07-12-2017).
Sam mój CMS został rozbudowany o dedykowane API do portalu swimrankings.net. Ciekawe rozwiązanie jakie również zastosowałem w projekcie to "etykiety" obiektów typu widget.
O co chodzi? A no widget to aktualność, wpis, zawodnik ze zdjęciem, itd. - czyli ten sam obiekt patrząc od warstwy widoku. Funkcjonalność etykiet to po prostu
wyświetlanie tego samego obiektu (w tym przypadku widget) w różnych sekcjach w inny sposób. Na stronie zawodnicy widget wygląda inaczej niż na stronie aktualności (a to przecież w systemie to samo).
Więcej szczegółów i zrzuty ekranu znajduje się na tej karcie: CMS-BF8.5.
Wersja demo: CMS-BF8.5 w akcji.
Panel Administratora: Panel Admina CMS-BF8.5 (admin, 1234).
Piękno designu [?]
Chyba to skrzywienie zawodowe prowokuje mnie, aby poruszyć tę kwestię. Nie mam tu na myśli tematy wyczucia estetyki i gustu piękna,
raczej to sprawa bardzo subiektywna, ciężka do dyskusji. Pragnę powiedzeć coś o wyrobie finalnym, skończonym projekcie
(kiedy to zaprojektowany layout wdrożono, a koncepcje interfejsu przetestowano).
Często przyglądając się oprogramowaniu w wersji stabilej, teoretycznie skończonej, natrafiam na graficzne niedociągnięcia i ułomności
(pewnie już nie było czasu, ważne że program działa). Dlaczego przykładowo wszystkie button'y są zrobione z danym gradientem,
a przycisk "anuluj" w zwykłym płaskim, jednym kolorze (tak ma być?, bo tak mówią zasady projektowania interfejsu? ok, ale dlaczego
tylko jeden przycisk "anuluj" taki "na odwal"). Zawsze, ale to zawsze coś musi być nie skończone. To ramka gdzieś się urywa, to czcionka inna,
to jeden z boxów za duży...zawsze. Inwestorzy posłuchajcie, dlaczego coś co ma Wam przynosić zyski przez długie lata chcecie skończyć na wczoraj,
zainwestowaliście w to mnóstwo gotówki i energii, pozwólcie designerom i developerom podziałać dzień dłużej, a na pewno da to lepszy rezultat.
W ciągu 24h nic się nie stanie, uwierzcie! Nie powielajcie kolejnej prowizorki w internecie, oddajcie serwis z czystym sumieniem w ręce użytkowników,
proszę i nalegam...[znowu słabe]
Google Merchant
W roku 2015 to naprawdę tania reklama a zarazem bardzo skuteczna. Obrazek produktu naprawdę przyciąga wzrok.
Niska cena za kliknięcie jest w tym momencie podyktowana tym że nie ma wielu graczy do skosztowania tortu w danej branży. Więcej znajdziesz
tu: Zakupy w Google.
Matematyczny Ninja
Mając obok siebie Mentora matematyki nie boję się o fakt, że w pewnym momencie zgubię algorytm postępowań w pewnych obliczeniach. Dlaczego?
Ona pokaże mi sposób jak rozwiązać dany problem, obierze kierunek logiki myślenia, a moje zadanie polega tylko na tym aby przekształcić
to rozwiązanie na dany język programowania. Nazywam Ją Matematycznym Ninja (ale to tylko między nami). A wszystko tu:
Matematyczny Ninja/Mentor
Hurtownia danych zintegrowana systemem klasy ERP
Mam przyjemność przedstawić projekt, który realizowany był przy wsparciu ze środków Unii Europejskiej i jest on własnością firmy: "AQUA - Grupa SBS" sp. z o.o.
z Zielonej Góry (prawa na poziomie wielodomenowości i całkowitym przekazaniu praw). Serwis posiada własne API udostępniające dane w formacie JSON. Sam interfejs to klasyczne rozwiązanie.
Szczegóły na karcie: Potężna hurtownia danych zintegrowana z systemem ERP.
Programy lojalnościowe (partnerskie)
Tę grupę systemów nazywam "algebrą programistyczną". Dlaczego? Już na studiach zauważyłem znaczącą różnicę pomiędzy analizą matematyczną,
a algebrą. Analiza była taka subtelna "pole powierzchni pod funkcją", "styczna do funkcji", "granica nieskończona". Algebra natomiast dużo liczb, przenoszenia,
mnóstwo cyfr i znaków. I właśnie kodowanie algorytmów do programów partnerskich jest dla mnie takie "otyłe" - to nie jest określenie w złym świetle to po prostu metodologia.
Wracając, programuję intensywnie, piszę dużo silników, algorytmów, które coś przeliczają, coś budują, tworzą modele, na etapie testów (manulanych - czasem automatyczne się nie sprawdzą) jedna sesja debuggera potrafiła trwać ponad 1h.
Ostatni mój silnik to program lojalnościowy: osoba robi zakupy, za wartość zamówienia osadź osobę w matrycy, położenie w strukturze daje pewne profity dla użytkownika + profity dla osób będących w hierarchii niejako nad użytkownikiem.
Tak pokrótce, zależności jest dużo więcej.
System CRM - praca inżynierska
W 2009 roku w ramach pracy inżynierskiej napisałem dość ciekawy system do zarządzania relacjami z klientami - klasy CRM.
Więcej na kartach: Sytem klasy CRM.
Drupal CMS działający w systemie Multisite
Bardzo ciekawe rozwiązanie Systemu CMS Drupal - Multisite. Agregowanie wielu serwisów na wspólnym kodzie bazowym
Więcej szczegółów i zrzuty ekranu znajdują się na tej karcie: Drupal w strukturze Multisite.
Natomiast wersja do przeklikania: Serwis WWW.
Nowy dział w serwisie - po godzinach, czyli reset umysłu
Nadmiar wolnego czasu w wieku 32 lat, w dobie sieci internet, social media, designu, brzmi jak oxymoron - ale tak, jest coś takiego. Nie wierzycie? Zapraszam!
Karta przedstawiająca wpisy: Po godzinach.
SMSAPI - bardzo ciekawe narzędzie
Ostatnio miałem okazję przetestować system SMSAPI. Program rozsyłki wiadmości SMS (np. z poziomu strony internetowej). Na razie powiem tyle - świetna dokumentacja, prosta integracja, niezawodne działanie.
W przyszłości na pewno pojawi się osobna karta o tym systemie. Strona SMSAPI.