środa, 29 maja 2019

keymap

Skróty klawiszowe przyspieszają pracę - banał, ale zobacz

odrywasz rękę od klawiatury. Klikasz myszką i wracasz na klawiaturę.

Te same keymap, są wielu programach, nawet pisząc to sprawdzam 

ctrl + ← 
przeskakuje o całe słowo
ctrl + shift + ←    
zaznacza mi całe słowo

szybciej niż po literce, prawda?

Testuje teraz phpstorm i zobaczmy co tam mają użytecznego...

alt + ctrl + s    
otwiera setings z podlądem kaymap 

ctrl + w
Zwiększa zaznaczoną sekcje - super


ctrl + shift + w
odwrotność zmniejsza zaznaczoną sekcje

alt + spacja
pokazuje auto dopowiadanie

shift, shift

otwiera mi  shearch Everywhere - wyszukiwanie w projekcie (pliki, zmienne, moduly)

Bardzo ciekawi mnie opcja Refactior

alt + ctrl + shift + t
ale to później sprawdzę, zapiszę by sprawdzić

ctrl+j
pozwala pracować z templatkami kodu - nie pisać całego, ale wstawić i wypełnić pola

alt + insert
generuje plik w projekcie


Dziecko wstało więc koniec na dziś. 
Mam nadzieję że o takich skrótach jak:
ctrl + c , ctrl + v, ctrl + x, ctrl + z,
ctrl + a, ctrl +f, ctrl +b

wspominać nie trzeba.
ctrl +
 to chyba programiści mają jako tik nerwowy

Pozdrawiam





poniedziałek, 27 maja 2019

Raport z Ćwiczeń nad gitem

Dziś ćwiczyłem pracę z Gitem.

Narzędzie:
- używam TortoiseGit

Zadanie.
1)
- Stworzyć repozytorium : https://bitbucket.org/born-kes/composer/src/master/
- Stworzyć instalator Composera w batch,
- plik bat, który pobiera pliki Composera i zapisuje w projekcie (tworzymy środowisko pracy).
- Sprawdzić czy pamiętam jak konfiguruje się composser'a

2)
- Stworzyć kilka wątków/kanałów (Branch) na repozytorium Git'a
- Wprowadzić zmiany, w każdym z wątków inne.
- Połączyć (Marge...) wątki (Branche)

Raport, jakie kroki podjołem:
- stworzyłem repozytorim
- sklonowałem na dysk
- stworzyłem wątki
- przełając się między nimi potworzyłem różne konflikty między wersjami (wątkami)

3) Rozwiązuje problem?
1) ustawiam wątek ( Switch/Checkout... )
 np.master
2) zaktualizować wątek (Pull...)
- są dwa wątki master (localny i serwera repozytorium)
3)  dołączyć (Marge..) do niego poprawki (commit'y)  z innego wątku (Branch)

4) Edytować poprawkę jeśli dotyczy jednego pliku...

5) Wysłać (Push...) na serwer
- bez dołączania już nowych plików z tego co widzę, nie mamy tu wyboru.

6) Hura udało się?


środa, 22 maja 2019

Kupno działki, opieka nad dziećmi i kilka książek i tygodni później, od rozpoczęcia porządkowania wiedzy.

Książki o :
-wzorcach projektowych,
- testowaniu danych,
- Twórcy ofiary i

i efektem jest Class'a testowa,
Ogarnę gita i dodam link do repozytorium.



/**
 * Class ExampleTest
 * $this->assertTrue
 * $this->assertFalse
 * $this->assertEquals ==
 * $this->assertSame ===
 * $this->assertContains('value', $array) ['value']
 * $this->assertArrayHasKey('key', $array) ['key'=>'value']
 * $this->assertInternalType('array', $a); type_of2

$date = new DateTime();
$this->assertInstanceOf('DateTime', $date);
 */


<?php
use PHPUnit\Framework\TestCase;

  
  
class EtestTest extends TestCase
{
    /** @var  \Prophecy\Prophecy\ObjectProphecy */
    private $prophet;
    private $mock;
    private $Basic;
    private $x;

    protected function setup() {
        $this->prophet = new \Prophecy\Prophet;
        /** @var Prophecy\Prophet $x TYPE_NAME */
        $x = $this->x = $this->prophet->prophesize()->willImplement ('Basic\Routing');


        $x->get('b')->willReturn('hello b');
        $x->get('a')->willReturn('hello');
        $this->mock = $x->reveal();

        $this->Basic   = new \Basic\Basic($this->mock);
    }

    protected function tearDown() {
        $this->prophet->checkPredictions();
    }

    public function testBasicRun()
    {
        //$this->x->get('b')->willReturn('hello nowe');

         $this->assertEquals($this->Basic->run(), 'hello b') ;
        return true;
    }

    /**
     * jeśli test poprzedni działa
     * @depends testBasicRun
     */
    public function testNext($a)
    {
        $this->assertTrue($a);

    }

    /**
     * Dane z Provider'a
     * @dataProvider additionProviderOne
     * @dataProvider additionProviderSecond
     */
    public function testAdd($a, $b, $expected)
    {
        $this->assertSame($expected, $a + $b, "{$a}, {$b}, {$expected}");
    }
    /**
     * Dane z Provider'a
     * @dataProvider additionProviderOne
     * @dataProvider additionProviderSecond
     */
    public function testAddSecond()
    {
        list( $a, $b, $expected) = func_get_args();
        $this->assertSame($expected, $a + $b, "{$a}, {$b}, {$expected}");
    }

    public function additionProviderOne()
    {
        return [
            [0, 0, 0],
            [0, 1, 1],
            [1, 0, 1],
         //   [1, 1, 3]
        ];
    }

    public function additionProviderSecond()
{
    return [
        'adding zeros'  => [0, 0, 0],
        'zero plus one' => [0, 1, 1],
        'one plus zero' => [1, 0, 1],
     //   'one plus one'  => [1, 1, 3]
    ];
}

    public function testFailingInclude()
    {
        $this->expectException(Error::class);

        throw @include 'not_existing_file.php';
    }

    public function testExpectFooActualFoo()
    {
        $this->expectOutputString('foo');
        echo 'foo';
    }
}

// cls => czeuszczenie cmd

Notatka: instalacja narzędzi dla programistów

 -------------------------------------------
 Grunt / Glup (alternatywa)

- wykonuje listę tasków (zadań) napisanych w js.
minifikuje kod, łączy pliki, podmienia tagi na tekst, śledzi zmiany w plikach, powtarza testy.

 -------------------------
  front-end
 https://bower.io/

 śledzi pakiety które chcesz mieć w projekcie i ściąga potrzebną wersje, albo aktualizuje.

  -------------------------
  http://yeoman.io/ 

- Tworzy i rozbudowuje szkielet aplikacji - korzysta z gotowych generatorów
(aplikacje/strony mobilne, rozszerzenia firefox'a/chroma, wordpress itp),
 tworzy też procedury dla Grunt'a/Glup'a i zestawy testów jednostkowych.
  -------------------------

 Instalacja w cmd:

Czy masz zainstalowanego nodejs ?

nie:
 - pobierz z https://nodejs.org

tak:
sprawdzamy wersje nodejs & npm
npm --version



Czy masz plik package.json

Nie:
{
 - generate file package.json
npm init

 - zainstaluj grunt globalnie

npm install -g grunt-cli

 - zainstaluj grunt'a i modułów w projekcie

 npm install grunt --save-dev grunt-contrib-connect grunt-contrib-watch --save-dev

 - instal karma :supports test-driven development i moduły
 npm install karma grunt-karma karma-jasmine jasmine-core karma-browser-reporter karma-story-reporter --save-dev

 - instal launcher for browsers to test for karma
 npm install karma-chrome-launcher karma-cli karma-firefox-launcher karma-ie-launcher karma-phantomjs-launcher karma-script-launcher --save-dev
}

Tak:
npm install


 - Tworzymy pliki config
 * gruntfile.js
 * karma.config.js



 zapomniałem o  Composer jest dla php
https://getcomposer.org/

Tu za instalacje odpowiada w CMD
phar i wget
 

wget https://phar.phpunit.de/phpunit-6.5.phar
php phpunit-6.5.phar --version
 
 
ale opisze bardziej innym razem.

plik config phpunit
phpunit.xml

czwartek, 28 marca 2019

Postanowiłem uporządkować trochę moją pracę i zebrać narzędzia które znam i zacząć ich używać .

Jest znany problem ludzi którzy tak są zajęci nauką, że zapominają wdrażać tej wiedzy.
Mimo, że pozornie się rozwijają to stoją w miejscu.

Startujemy.
Źródło https://www.youtube.com/watch?v=vRqvaTasYZc za Romanem 

Dźwięki do puszczania przy pracy ( dźwięki tła / białe dźwięki )
https://www.noisli.com/

wtyczki do przeglądarki:
https://muz.li/ - Źródło inspiracji - przy otwarciu nowej karty pokazuje informacje z różnych portali.

http://raindrop.io - pozwala uporządkować zakładki ( kiedyś chciałem coś takiego napisać bo się gubię w ilości zakładek )

Do robienia notatek
https://evernote.com/intl/pl

https://bear.app/ jest na mac'a :(

Program do grafiki
https://www.sketch.com/get/ (30 dni free )

GIT
dodawanie aliasów dla terminala
editconfig
https://stackoverflow.com/questions/2553786/how-do-i-alias-commands-in-git

Telminal od zsh ?
https://github.com/changs/slimzsh

Dobra bobas wstał i żąda uwagi
Pozdrawiam i zanikam
Łukasz

wtorek, 22 maja 2018

Strona sklepu


Pierwsze podrygi w sieci zaczęliśmy od fan-page na Facebooku PiernikarniaCafe.
Dodatkowo działa też fan-page Matka Polka Piernicząca.

Rozwijamy się i od jakiegoś czasu pracujemy nad stroną - Piernikarnia jest już też w sieci poza portalami społecznościowymi.


Dostawa Prezentów

Dajcie nam trochę czasu na wypełnienie strony treścią i uruchomienie sklepu internetowego.
Wysyłki są już przetestowane, zamówienia przyjmujemy:
- Telefonicznie
- e-mail
- fan-page
- w lokalu

informacje są w zakładce Kontakt na stronie.

Jeśli macie jakieś propozycje na poprawki zapraszamy do pisania.
Konstruktywna krytyka, czy feedback od was, pomoże nam lepiej współpracować w przyszłości.
Może inni podpatrzą u nas wasze rozwiązania które zastosują u siebie?

Pozdrawiam
Łukasz Martyn

czwartek, 18 czerwca 2015

Park Wschód cz.2 - Pisz miejsce dla rodziców z dziećmi

Część 2 wpisu "Park wschód", w którym pisałem o pomyśle na zagospodarowanie przestrzeni miejskiej w Piszu

Kazik śpiewał [link do YouTube]

Siłom możesz mi zabrać wiele,
ale siłą nie możesz mi niczego dać.
[...]

Nie mogę nic zrobić muszę kupić wódkę tatowi.


 Każdy znajdzie wymówkę by nic nie robić, ale czy chcemy by siłą nas uszczęśliwiano?

Działania promocyjne pomysłu:
 W Wilanowie mieszkańcy wzięli sprawy w swoje ręce i poszli wyrwać kawałek przestrzeni dla siebie - bagna ursynowskie obsadzili krzaczkami i wytyczyli ścieżki.
  1. Pojechałem w okolice planowanego Parku i krążyłem po osiedlu szukając kogoś komu powiem o pomyśle o którym właśnie piszę.

    • Sam będę działał powoli
    • Jeśli chcesz nawet tylko pogadać to Jestem osiągalny w Piernikarni Cafe
    • Złotówka wydana przez obywatela jest więcej warta niż 100zł przez urzędnika
    • Chce widzieć, że ludzie chcą by tam coś się działo.
    •  
  2.    Napisałem też do Piskie Forum - mają hasło : "Razem zmienimy Pisz", jutro 19.06.2015 mają zebranie, może poruszą ten temat.

Działania własne:
Zabezpieczam (gromadzę):
  1. Materiały budowlane (żwir, płyty wiórowe, deski, trawę-nasiona )
  2. Zdjęcia lotnicze terenu
  3. Informacje o istniejących ścieżek i zaznaczam na zdjęciach
  4. Informacje jacy ludzie tam spacerują (młodzież, ludzie z psami itp.)
  5. Informacji o roślinach - co tam rośnie naturalne
  6. Informacji o glebach jakie tam występują
  7. Informacje gdzie są hydranty ( dostępna woda )
Działania planowane:

  1. Zrobić foto dokumętacje
  2. Zrobić inwentaryzację terenu
  3. Sprawdzenie planu zagospodarowanie gminy (czy może tam za rok plac budowy nie będzie)
  4. Zdobyć pozwolenie, albo zgłosić projekt
  5. Promocja
 Stan obecny