Miesięczne archiwum: Kwiecień 2017

Mac czy nie Mac…

Witaj!

Odnośnie wczorajszego wpisu… myślę. Co wybrać, w którą stronę podążyć co kupić.
Mój HP  musi odejść – powoli się z tym godzę.
Prawie też wybrałem, prawie Lenovo. Może akurat będzie ok.
Jednak zasiana została w moim umyśle lekka nutka niepewności.
Dlaczego Lenovo a nie MacBook?
Co z tego że Mac ma słabsze oparametowanie, skoro apki pisane na niego działają wydajniej, lepiej, szybciej, mocniej… bardziej!
I jest zagwózdka, jest problem. Koszt podobny, zupełnie dwa różne sprzęty, różne platformy, rożne modele, różne… wszystko różne.
I co teraz? Aż chciałbym zacytować swojego kolegę z wcześniejszej pracy, ale nie wypada… a odnośnie wypadania chciałbym zacytować koleżankę z obecnej pracy, ale… w sumie też nie wypada.

POMOCY!
Mac czy nie Mac (w sensie Lenovo). Pomóżcie. Linki poniżej…

https://www.x-kom.pl/p/333232-ultrabook-14-lenovo-yoga-710-14-i5-7200u-16gb-256-win10-gf940mx-czarny.html

https://www.morele.net/laptop-apple-macbook-air-13-mmgf2ze-a-879532/

Co z tym dalej…

Pozdrawiam,
Romek

PS. Jeszcze obiektyw 35mm do Nikona mi trzeba…

 

Baza danych i smutki życia codziennego… mój HP odchodzi.

Witaj!!

Praca, szkolenie, wyjazd… no i tydzień z głowy. Więcej poza domem niż w domu, czas mija błogo i przyjemnie. Nic się samo jednak nie zrobi.

Dziś baza danych. Zrobiona na prostym schemacie który pokazany był na zdjęciach wcześniejszego postu. Cztery tabele, po kilka pól, klucze obce… i tyle. Bez szaleństwa i wyolbrzymiania.

Plik ze strukturą w SQLu dostępny będzie na GitHubie wraz z całym projektem. Poza tym kod dostępny tu poniżej, pod całością wpisu – można zrobić: zaznacz, kopiuj, wklej… jeśli to komuś na coś potrzebne. Jeśli coś skopałem – dajcie znać, żeby poprawić póki jeszcze chwila czasu jest.

Od jutra dłuuuuugi weekend. Myślę jak ogarnąć zbliżającą się, aż dwutygodniową przerwę. Wyjechać trzeba, laptopa nie zabiorę – zrobił się stacjonarny – padła matryca.  Koszt wymiany 550 zł. Szok i niedowierzanie – mój najulubieńszy HP Pavilion dv6-1140ew zaczyna odchodzić. Koszt wymiany elementu przekracza koszt pozostałej całości. Służył długo – prawie 9 lat. Czas mu chyba na emeryturę i zasłużony odpoczynek. Jednak żal, bo działał dobrze i sprawował się nieźle aż do teraz. Jeszcze myślę – może jednak. Ma 4GB pamięci, dający radę procesor, dedykowaną kartę graficzną i włożony dysk SSD. Chodzi jak na swoje możliwości dobrze. Ciut ciężki, ale to nie przeszkadza. Bateria nadal trzyma prawie 2 godziny!! Muszę to przemyśleć. Jutro go zabiorę z serwisu na przetrzymanie w domu…

A jeśli coś nowego, to co polecicie? Jakieś sprawdzone pomysły i sugestie?
Moja podpowiedź taka tylko, żeby był już z kategorii ultra, miał i5 lub i7 z siódmej generacji, 16GB pamięci i oczywiście dysk SSD. Ktoś coś ma sprawdzonego i nie narzeka bardzo?

Tyle dobrego na dziś.

Kod SQL tworzący strukturę bazy:

--
-- Budowa schematu bazych danych do projektu 'Pierwiastki'
--

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

--
-- Struktura tabeli dla tabeli `charakter_pierwiastka`
--

CREATE TABLE `charakter_pierwiastka` (
  `id` int(11) NOT NULL,
  `nazwa` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Struktura tabeli dla tabeli `konfiguracja_elektronowa`
--

CREATE TABLE `konfiguracja_elektronowa` (
  `id` int(11) NOT NULL,
  `1s` tinyint(4) NOT NULL,
  `2s` tinyint(4) NOT NULL,
  `2p` tinyint(4) NOT NULL,
  `3s` tinyint(4) NOT NULL,
  `3p` tinyint(4) NOT NULL,
  `3d` tinyint(4) NOT NULL,
  `4s` tinyint(4) NOT NULL,
  `4p` tinyint(4) NOT NULL,
  `4d` tinyint(4) NOT NULL,
  `4f` tinyint(4) NOT NULL,
  `5s` tinyint(4) NOT NULL,
  `5p` tinyint(4) NOT NULL,
  `5d` tinyint(4) NOT NULL,
  `5f` tinyint(4) NOT NULL,
  `6s` tinyint(4) NOT NULL,
  `6p` tinyint(4) NOT NULL,
  `6d` tinyint(4) NOT NULL,
  `7s` tinyint(4) NOT NULL,
  `fk_pierwiastek_id` int(11) NOT NULL COMMENT 'FK'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Struktura tabeli dla tabeli `pierwiastek`
--

CREATE TABLE `pierwiastek` (
  `id` int(11) NOT NULL,
  `elektroujemnosc` float NOT NULL,
  `energia` int(11) NOT NULL,
  `opis` text NOT NULL,
  `fk_charakter_pierwiastka_id` int(11) NOT NULL COMMENT 'FK'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Struktura tabeli dla tabeli `statystyka`
--

CREATE TABLE `statystyka` (
  `id` int(11) NOT NULL,
  `klik` bigint(20) NOT NULL,
  `wydruk` bigint(20) NOT NULL,
  `fk_pierwiastek_id` int(11) NOT NULL COMMENT 'FK'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


--
-- Ustawienie Primary Key dla pól ID i dodanie kluczy
--
ALTER TABLE `charakter_pierwiastka`
  ADD PRIMARY KEY (`id`);

ALTER TABLE `konfiguracja_elektronowa`
  ADD PRIMARY KEY (`id`),
  ADD KEY `konfiguracja_elektronowa_pierwiastek` (`fk_pierwiastek_id`);

ALTER TABLE `pierwiastek`
  ADD PRIMARY KEY (`id`),
  ADD KEY `pierwiastek_charakter_pierwiastka` (`fk_charakter_pierwiastka_id`);

ALTER TABLE `statystyka`
  ADD PRIMARY KEY (`id`),
  ADD KEY `statystyka_pierwiastek` (`fk_pierwiastek_id`);


--
-- Auto Increment dla wartości ID w tabelach
--
ALTER TABLE `charakter_pierwiastka`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

ALTER TABLE `konfiguracja_elektronowa`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

ALTER TABLE `pierwiastek`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

ALTER TABLE `statystyka`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

--
-- Ustawienie kluczy obcych
--
ALTER TABLE `konfiguracja_elektronowa`
  ADD CONSTRAINT `konfiguracja_elektronowa_pierwiastek` FOREIGN KEY (`fk_pierwiastek_id`) REFERENCES `pierwiastek` (`id`);

ALTER TABLE `pierwiastek`
  ADD CONSTRAINT `pierwiastek_charakter_pierwiastka` FOREIGN KEY (`fk_charakter_pierwiastka_id`) REFERENCES `charakter_pierwiastka` (`id`);

ALTER TABLE `statystyka`
  ADD CONSTRAINT `statystyka_pierwiastek` FOREIGN KEY (`fk_pierwiastek_id`) REFERENCES `pierwiastek` (`id`);

Pozdrowienia,
Romek

Narysowane…

Witam!

Nie komentujcie zbytnio, nie pastwcie się nad tym wpisem, nie piszcie że jest bez sensu i bez większej wartości… musiałem to narysować na kartce i ogarnąć po swojemu lekko co się skąd bierze. Może i jest nieczytelnie dla większości – ważne że ja wiem o co w tym chodzi i potrafię się rozczytać i ogarnąć co się skąd bierze.

No więc sześć brzydkich fotek z brzydkimi zapiskami…

Mały pomysł na bazę, krótki opis co skąd gdy coś kliknę albo najadę i jak ma wyglądać… to tyle. Biorę się dalej.

Pozdrawiam,
Romek

Wszystkiego najlepszego!

Zdrowych, spokojnych Świąt Wielkiej Nocy!
Odpocznijcie i dajcie sobie chwile wolnego, aby wrócić z pełnią sił na dalsze dni pracy.

Pozdrawiam  i życzę wszystkiego co najlepsze!
Romek

PS. Miał być wpis o projektowaniu, ale Mama powiedziała że są święta i wszystko może poczekać – dzięki Mamo – masz 100% racji! Trzeba odpocząć 🙂

 

Quo Vadis Romanie?

Miało być super, ekstra i fantastycznie. Miało pójść jak tak jak chcę – wszystko się udać zrealizować i na końcu odtrąbić sukces. 10 tygodni, dwa posty w każdym, szybki i dość prosty projekt z którym powinien poradzić sobie bez problemu, ale

Nie wszystko przychodzi łatwo i przyjemnie. Trzeba  przyjąć trudy i przeciwności, braki warsztatowe, problemy codzienne i ZŁE PLANOWANIE! A właściwie jego brak. Co się stało i co jest źle?

Problem pojawił się już „parę chwil” temu. Rzucanie pomysłów na bieżąco podczas nawet prostego projektu nie jest dobrym rozwiązaniem. Wymyślanie czegoś podczas tworzenia nie mając wcześniej pełniejszego zarysu tego co chce się osiągnąć jest co najmniej kiepskim pomysłem. Tak, właśnie to zauważyłem. Niby określiłem na początku co chcę zrobić, jaką technologię wykorzystać, jednak to by było na tyle. Nie posiadam planu realizacji przedsięwzięcia. Nie określiłem sobie etapów projektu, jakichś deadlinów, nie rozrysowałem zależności, nie zrobiłem wizualizacji tego jak to może wyglądać i działam przez to trochę po omacku. TAK, JEST TO ZŁE!

W życiu codziennym wygląda to inaczej. Rozpisuje sobie plan dnia, używam kalendarza, ustalam cele krótko i długoterminowe. Cały projekt też do mojego harmonogramu dodałem – jednak jako całość. Zrobiłem przy tym wielki błąd i nie zaplanowałem go szczegółowo. Przyznaję się – zawaliłem.

Cóż więc pozostało? Połowa czasu projektowego, 6 tygodni. Mało czasu, projekt leży. Trzeba się przeorganizować, zaplanować i spróbować projekt ukończyć.

A więc… 3, 2, 1, start na nowo! Biorę do ręki zeszyt, kartki, ołówek i kredki, rysuje i obmyślam. Tak łatwo się nie poddam. Dam radę! Będę musiał nad projektem popracować bardziej wytrwale i planowo. Nie, nie wycofam się, będę walczył do końca – mojego lub jego!

Pozdrowienia,
Romek

Ósmy bit – powrót do przeszłości.

Witaj!

Jest weekend, podobno trzeba wyluzować. Ale tak do końca się nie da, czas goni wszystkich, urlop nie nadszedł… więc trzeba coś zrobić – się robi, ale w tle.

A co na bieżąco? Kilka dni temu dołączyłem do #DSP17 na Slacku.
Pogadanki są różne, od zwykłej serii codziennej w stylu „Cześć, dzień dobry, witam dziś”, przez tematy wpisów na blogi, własne projekty, pokazywanie co kto zrobił, przekomarzanie się który framework JS jest szybszy i dlaczego właśnie ten którego „ja używam” a ten wasz jest całkowicie „be ” i do niczego się nie nadaje bo już przecież nikt tego pewnie nawet nie używa, kończywszy na tym w co kto gra. Bo jakby inaczej, każdy potrzebuje chwilę oderwania się od swojego kodu, konsoli, bazy czy co tam jeszcze ma. Każdy musi odpalić swoją ulubioną gierkę i chwile „pociupać” – pomordować, pokopać kwadraty, polatać, pobiegać czy podnieść podatki w swoim mieście.
Ostatnio na topie i sporym elementem wspomnień na #DSP17 jak zauważyłem jest „The Legend of Zelda”. Sporo ludzi emuluje na swoim sprzęcie konsolę co by móc odpalić w/w i pobiegać parę chwil Linkiem – czyli głównym bohaterem legendy. Emuluję i ja… ale nie Nintendo czy Wii. Nie grywam w „Zelde”, nie szaleje na jej punkcie. Wręcz przeciwnie. Jedynie grę kojarzę z jakiegoś filmiku czy wpisu na portalu w dziale gry. Bardziej interesującą w tym wypadku rzeczą jest to, że pierwsza część byłą wydana w 1986 r. w Japonii i rok później w USA i Europie.

Co ja robiłem w tym czasie?

Ja wtedy jak na mój wiek, w pełni zadowolenia i ładnie wyprostowany wchodziłem na stojąco pod stół, a to tylko po to by za kolejny rok, na naszym wspólnym (moim i moich braci) Atari 130XE, napisać pierwsze programy w Basciu. Były one proste, nieskomplikowane, zwykle mające około 5-10 krótkich linijek, których zdaniem było zmienianie koloru wyświetlanego na ekranie telewizora (TAK! Wtedy komputer podłączało się do telewizora), narysowanie jakiejś linii lub dwóch lub wyświetlenie napisu „Romek” czy innego „Hello world”. Nie zawierały one na początku pętli, ifów itp zaawansowanych poleceń tylko coś co było proste dla 4-ro letniego dziecka. Wtedy nie było smartfonów, tabletów i innych tego typu udogodnień. Obecnie dzieci w tym wieku śmigają na tego typu urządzeniach, ale za to my mogliśmy jeść piach bo nie był rakotwórczy, mogliśmy się sami bawić na podwórku i strzelać do siebie kijami które zastępowały karabiny, a najlepszą bazą była ta zrobiona na zdobytym terenie przy innym bloku.
Programy wyglądały mniej więcej tak:

10 GRAPHICS 24
15 COLOR 1
20 PLOT 10,10
30 DRAWTO 10,20
35 COLOR 2
40 POSITION 50,50
50 ? #6;"A"  - tej linijki nie kojarzę :P
100 GOTO 100

Były przepisywane literka po literce z książki (później powoli rozumiane i wytłumaczone), która była dołączona do całego zestawu komputerowego, czyli komputera właściwego, magnetofonu, kabli zasilających i antenowych oraz najważniejszego składnika – joysticka!!
I tym oto sposobem znaleźliśmy się w miejscu najważniejszym. GRY! Gry na Atari! Te w które ja grałem, które lubiłem i… w które nadal grywam – tak w 2017 roku. Teraz na szczęście nie muszę już ładować gry z kasety czekając 120 min na to czy się wgra czy nie bo mrugnąłem albo za głośno oddycham. Uruchamiam emulator i pięć sekund później mogę pograć w moje ulubione gry ze świetną grafiką nie 3D. Gry które zajmują parę minut rozrywki, i po których spokojnie mogę wrócić do pracy. Gry w które również trzeba pograć w całą dobę albo i dłużej – bo nie ma czegoś takiego jak „save” i że jak nas zabije to sobie mykniemy jeszcze raz bo mamy zapisane. Tam nie ma przebacz. Giniesz i… koniec. Umarł w butach. Amen w pacierzu. Zacznij jeszcze raz albo spadówa.

Co w tych grach jest takiego ciekawego?,

Największą zaleta tych gier jest ich tzw. grywalność. Tak wiem, Wiedźmin też ma grywalność, też jest świetny, ma wspaniałą grafikę, jest mega marketingowy, dobrze sprzedany i jest co najważniejsze NASZ POLSKI! Ale nasze polskie są też np Robbo, Misja, Fred czy Lasermania. Świetne gry napisane przez LK Avalon i jednego z wg mnie najlepszych w tamtym czasie programistów Janusza Pelca – tworzył świetne gry i muzykę na maszynach 8-bitowych.

Nie mówię, że Wiedźmin jest zły – jest świetna grą, mamy się z czym pokazać. Ale te małe gierki z dawnych lat też mają klimat, duszę i są warte pogrania – nie tylko nasze polskie.

Jakie są moje ulubione gry z tamtego czasu?

Na pewno nie jest to cała lista, ale to w co lubię czasami zagrać przez parę chwil (moje gry z dawnych lat):

  • Robbo
  • Fred
  • Misja
  • Lasermania
  • Zybex
  • Zorro
  • Jet Boot Jack
  • Feud
  • Outlaw
  • Gauntlet
  • Satans
  • Trix
  • River Ride
  • Mr. Robot (nie, nie ten o którym myślisz ale prawie)

Co do Comodore – nie wypowiem się – nie miałem.

A co nowego?

Oczywiście gram nie tylko w gry z mojego ośmiobitowca, który gdzieś leży w domu u rodziców na dnie szafy i czeka na swoje powtórne życie (tak działa, sprawdzałem).
Grywam w gry nowe, z dobrą fabułą, piękną grafiką, realistycznymi kolizjami, prawie inteligentną sztuczną inteligencją itd. Gram w gry które zabierają setki godzin życia, które odłączają od świata rzeczywistego na długi czas. Zdecydowanie wole gry strategiczne jednak nie w rzucie 3D (chyba nie ogarniam tego efektu i się gubię). W strzelanki jestem średni – zwykle daje pofragować innym moim kosztem, ale zabawa i tak jest dobra. W LoLa idzie mi tak jak wszystkim – zależy czy trafię na team lamerski czy wypaśny – standardzik. Lubie sobie pobudować coś w SimCity, pojeździć pociągami TTD, pokopać w Terrari, czy pozbierać coś w Don’t Starve… ale nie o tym miało być, taka tylko mała dygresja.

Zachęta…

Zagrajcie czasami w coś co jest stare, albo chociaż przełożone ze starego na nowe. Spróbujcie złapać dystans przy Tetrisie czy którym z Arkanoidów. Włączcie emulator dawnej maszyny i zobaczcie od czego to się zaczęło, zagrajcie w Ponga, pierwszą grę. Spróbujcie i wy… a może macie jakieś swoje ulubione 8-bitowe gierki?

Pozdrawiam,
Romek

Co z tym jQuery…?

Coś się zmienia – i to samo, prawie że tu i teraz.

Dodałem do mojego projektu jQuery, powoli doczytuje co się skąd może brać, co w jaki sposób działa, jak się coś zmienia i podmienia – i to wręcz na żywo.
Najbardziej podoba mi się to, że to wszystko działa! Aktualnie na ten moment dynamicznie pobieram sobie z kodu HTML z pojedynczych divów  wartościowość (liczbę atomową) danego pierwiastka i wrzucam go do mojego dużego diva z podglądem.
Aby tego dokonać dodałem dla każdego diva z pierwiastkiem specjalne pole atrybutu, które zaczyna się od przedrostka „data-*” i dzięki niemu mogę wstawić tam odpowiednią wartość, którą później pobieram przy pomocy jQuery do zmiennej i podmieniam w odpowiednich miejscach. Do tego dostałem małą podpowiedź odnośnie styli CSS, aby wszystkie małe divy oskryptować jednym wpisem i dodać do niego drugi (po spacji) który będzie zawierał szczegóły dotyczące tylko tego jednego stylu (w tym wypadku koloru) – dzięki Grzegorz.

Wygląda to tak. Div z HTMLa z pojedynczym pierwiastkiem (przykład Wodoru):

<div class="cell niemetal" data-liczba-atomowa="1"><br>H<br><span class="nazwa" id="nazwa">Wodór</span></div

Duży div:

<div class="cell_big" id="big_cell">
   <div id="liczba_atomowa" class="liczba_atomowa">1</div>
   <h1>H</h1>
   <h2 id="nazwa_pierwiastka" class="nazwa_big">Wodór</h2>
   <div class="masa_atomowa"><span class="nazwa">Masa atomowa</span><br><span id="masa_atomowa">1,00794</span></div>
</div>

I wspaniałe jQuery, które jak to się mówi robi robotę… póki co tylko troszkę, ale od czegoś muszę zacząć:

$('div.cell').on({
    'mouseover' : function() {
        var $la = $(this).data('liczba-atomowa');
        $('#liczba_atomowa').html($la);
        $('#wartosciowosc').html($la);
    }
});

Uruchamia się on po najechaniu na dowolny div który jest klasy „cell” (czyli te małe prostokąty z pierwiastkami), pobiera z niego wartość jaka została przypisana polu „data-liczba-atomowa” przypisując ją do zmiennej $la i nastepnie wstawia tą zmienną jako kod HTML (można np jeszcze to wstawiać jako tekst) do znaczników o identyfikatorach odpowiednio #liczba_atomowa oraz #wartosciowosc. I ot cała filozofia – póki co, są to rzeczy proste.

Kolejnym krokiem jest przygotowanie małej bazy danych i pobieranie z niej pozostałych informacji w sposób dynamiczny tak, aby bez odświeżania strony i klikania wszystko się zmieniało wraz z ruchem kursora po tablicy pierwiastków.
Chciałbym jeszcze uporządkować ciut kod HTML i CSS, pododawać w odpowiednie miejsca identyfikatory, zmienić wszystko na jeden styl językowy (angielski/polski), żeby to miało ręce i nogi na właściwych miejscach.

Podgląd oczywiście na http://pierwiastki.romansroda.com/.

Pozdrawiam,
Romek

Różne źródła wiedzy. #2

Witajcie!

Weekend minął szybko, ciągle poza domem więc do przodu coś się ruszyło, ale marnie. W najbliższym tygodniu podejmuję próbę ogarnięcia JavaScriptu i jQuery w moim projekcie i zrobienia zamierzonych efektów.

Pierwszym źródłem w którym coś podpatrzę będzie oczywiście dokumentacja – rzecz praktycznie oczywista.
Zainteresowała mnie też polska strona www.kursjs.pl na której po wstępnym przejrzeniu materiału, wydaje mi się, że będzie odpowiednia na start.
Korzystam także od samego początku z KhanAcademy. Jest to przyjemne źródło z kursami. Zacząłem co prawda od tych podstawowych dotyczących HTMLa i CSS, ale wcześniej korzystałem tam z wykładów z fizyki, mikro- i makroekonomii. Wszystko było wytłumaczone sensownie i jasno. Mam nadzieję, że JS pójdzie równie przyjemnie.

Programować programuję, i składnia w porównaniu do innych języków dużo się nie różni – przynajmniej ta podstawowa, więc tyle już praktycznie za mną. Zobaczymy co będzie dalej.

Na półce u siebie znalazłem też dwie książki dotyczące jQuery i JS.
Pierwsza to „jQuery. Poradnik programisty.” autorstwa Włodzimierza Gajdy, a druga to „Szybki kurs JavaScript. Wprowadzenie do języka w 24 godziny„.
Co prawda 24 godzin na raz na to nie mam, ale chyba czas nastał aby je otworzyć i przeczytać. Kiedyś na tą półkę trafiły, więc czas po nie sięgnąć.
Obydwie zostały wydane przez wydawnictwo Helion. Osobiście większość książek i tak kupuję poprzez inną księgarnię – bo taniej, ale jak ktoś lubi akurat tutaj linki powyżej.

Tyle na dzisiaj, czas jeszcze rozpakować torbę po podróży, poczytać i zebrać siły na jutrzejszy dzień – oby przynoszący więcej rozwiązań do projektu.

Pozdrawiam,
Romek