Dlaczego zacząłem uczyć się rysować?

Opublikowano: - tagi:

W 2020 roku postanowiłem, że chcę nauczyć się rysować. Kupiłem sobie szkicowik i dokładnie: 18.05.20202 zacząłem naukę.

Przed podjęciem decyzji moje umiejętności rysowania no cóż... nie były mówiąc łagodnie zbyt dobre. Z perspektywy ponad roku mogę stwierdzić, że jest postęp. Ale nadal nie powiedziałbym o sobie że potrafię rysować. Więc zacząłem naukę rysowania: codziennie poświęcając na to minimum 15 minut.

Oczywiście z upływem czasu mój zapał zmalał. Do czasu, gdy postanowiłem kupić sobię tablet. Kupiłem używanego iPada z Apple Pencil na którego musiałem czekać nie wiadomo ile czasu bo kurierowi nie chciało się przyjechać pod mój adres... Po kilku próbach dodzwonienia się do firmy kurierskiej i wyjaśnianiu pani po drugiej stronie słuchawki, że: "kurier nie przyjechał", "tak, byłem w domu przez cały dzień, w danym dniu" kurier przyjechał i dostarczył mi tablet.

Po zakupie iPada nie oszukiwałem sam siebie, że nagle zacznę lepiej rysować, aż tak naiwny nie byłem. Ale wiedziałem, że rysowanie pójdzie mi szybciej. Ponieważ rysowanie na tablecie jest znacznie łatwiejsze. Kupiłem świetny program Procreate i mogłem zacząć działać. Dodatkowo kupiłem sobie na Udemy kurs rysowania.

Poniżej zamieszczam kilka powodów dla których zachęcam do nauki rysowania:

Kreatywność

Przez to, że rysujesz, pracujesz także nad swoją kreatywnością. Na przykład w programowaniu można rozwiązać dany problem na kilka różnych sposobów - do programisty należy wybrać tej najlepszy. Warto przed rozwiązaniem problemu spojrzeć na ile sposobów dany problem można rozwiązać.

Nauka rysowania krajobraz

Cierpliwość

Nie będę ukrywać, że nie należę do grona osób cierpliwych. Ucząc się rysować często czuję frustrację, że coś mi nie wychodzi. Ale zauważyłem, że jeśli będę wytrwały to w końcu przyjdą tego efekty.

Nauka rysowania usta

Perspektywa

Na rysunek można spojrzeć na dwa sposoby: z bliższej i dalszej perspektywy. Z dalszej ponieważ: zastanawiasz się jaką ideę chcesz przekazać. Z bliższej bo: koncetrujesz się na szczegółach. W taki sam sposób możesz spojrzeć na zadanie/problem przed jakim stoisz.

Zadanie, które masz do wykonania: daleka perspektywa - co chcę osiągnąć? Bliska perspektywa: w jaki sposób mogę to osiągnąć?

Moja próba narysowania ucha:

Nauka rysowania ucho

Zabawa

Rysowanie to po prostu dobra zabawa. Zauważyłem, że sam proces tworzenia daje mi wiele frajdy. Jak już wspomniałem mogę śmiało o sobie powiedzieć, że nie potrafię rysować, ale to nie blokuje mnie przed rysowaniem. Z perspektywy czasu widzę progres i to także daje satysfakcję.

Nauka rysowania włosy

I tak to kilka punktów, które przyszły mi do głowy. W Internecie jest mnóstwo materiałów na temat jak zacząć rysować. Wystarczy zacząć i nie zrażać się na początku.

Na koniec tego wpisu jedna zapowiedź: na dniach, na blogu pojawi się jeden z moich nowych pomysłów. Dodatkowo na blogu pojawi się nowy dział. Oczwiście wszystko ma związek z rysowaniem.


Webstorm: Git skróty klawiszowe

Opublikowano: - tagi:

Oto krótka lista skrótów klawiszowych, które warto znać pracując z Gitem:

Pobranie najnowszych zmian - CTRL + T

Stworzenie commita - CTRL + K

Wysłanie zmian - CTRL + SHIFT + K

Stworzenie commita jako poprawka - ALT + M

Cofnięcie zmian - CTRL + ALT + Z

Lista branchy - CTRL + SHIFT + `


10 rzeczy skąd możesz czerpać energię

Opublikowano: - tagi:

Do działania potrzebna jest energia. Zastanawiałeś się kiedyś jak ją pozyskać?

Oto moja lista skąd czerpię energię:

1 Jedzenie
2 Sport
3 Relaks
4 Medytacja
5 Drugi człowiek
6 Czytanie
7 Muzyka
8 Sukces
9 Posiadanie celu
10 Bycie kreatywnym

A co znajduje się na Twojej liście?

Z tego wpisu poznasz listę rzeczy, które zabierają energię.


Webstorm: Jak eksportować lub importować ustawienia skrótów klawiszowych

Opublikowano: - tagi:

W tym wpisie pisałem jak tworzyć/edytować skróty klawiszowe pod własne preferencje. Dzisiaj opiszę, w jaki sposób eksportować lub importować już stworzone skróty.

Jest to bardzo przydatna funkcja. Nie musimy za każdym razem po instalacji programu czy systemu operacyjnego ustawiać wszystkiego od nowa. Wystarczy jeden plik, a IDE ustawi nam wszystko za nas.

Zacznijmy od eksportu.

Eksport ustawień

Żeby zrobić eksport ustawień wystarczy kliknąć: File -> Manage IDE Settings -> Export Settings...

Webstorm: Eksport ustawień

Jak widać eksport odnosi się do wielu konfiguracji. Możemy wybrać sobie co chcemy eksportować. Na koniec musimy zapisać plik na dysku, w wybranym przez nas miejscu.

Import ustawień

Mając już plik możemy nasze ustawienia zaimportować. Robimy to analogicznie jak z eksportem: File -> Manage IDE Settings -> Import Settings.... Wyskoczy popup z ustawieniami gotowymi do importu:

Webstorm: Import ustawień popup

Możemy sobie wybrać konkrentnie co chcemy zaimportować z tego pliku. Domyślnie wszystkie ustawienia są zaznaczone. Na koniec jeszcze musimy zatwierdzić import:

Webstorm: Import ustawień popup zatwierdzenie

Angular: Material kontrolka Datepicker

Opublikowano: - tagi:

Za pomocą kontrolki Datepicker, w łatwy sposób umożliwisz użytkownikowi obsługę wprowadzania daty.

Konfiguracja modułów

Żeby zacząć używać Datpickera musimy zaimportować jego moduł. Szczegóły, jak to zrobić znajdziesz w tym wpisie.

Dodajemy MatDatepickerModule:

import { NgModule } from '@angular/core';
import { MatInputModule } from '@angular/material/input';
import { MatNativeDateModule } from '@angular/material/core';
import { MatDatepickerModule } from '@angular/material/datepicker';

@NgModule({
  exports: [
    MatInputModule,
    MatDatepickerModule,
    MatNativeDateModule
  ]
})
export class MaterialModule {}

Importujemy trzy moduły: MatInputModule - Datepicker korzysta z pola tekstowego dlatego ten moduł jest nam potrzebny.

MatDatepickerModule - Moduł obsługujący kontrolkę

MatNativeDateModule - W przypadku kontrolki Datepicker musimy dodatkowo zaimportować jeden moduł. Służy on do obsługi daty. Możemy wybrać inny jak na przykład: MatMomentDateModule

Pierwsze użycie

Dodajmy taki kod do szablonu:

<mat-form-field>
  <mat-label>Kiedy masz urodziny?</mat-label>
  <input matInput [matDatepicker]="birthDatepicker">
  <mat-datepicker-toggle matSuffix [for]="birthDatepicker"></mat-datepicker-toggle>
  <mat-datepicker #birthDatepicker></mat-datepicker>
</mat-form-field>

Do zbudowania Datpickera korzystamy z czterech elementów:

Z etykiety - to jest opcjonalne

Z pola tekstowego, w którym będzie wyświetlana data. Przypisujemy do niego identyfikator, którym będziemy się później posługiwać. Ta linijka kodu jest wymagana.

mat-datepicker-toggle to ikonka po wciśnięciu której wyświetli popup z kalendarzem umożliwiający użytkownikowi wybór daty. Dyrektywa: matSuffix sprawi, że ikonka zostanie wyświetlona po prawej stronie. Jeśli chcemy wyświetlić ją po lewej stronie wystaczy ustawić: matPrefix. Ta linijka jest opcjonalna.

I na koniec mat-datpicker to nasz Datepicker przypisujemy do niego unikalny ID wcześniej przez nas zdefiniowany. To oczywiście jest wymagane do działania Datepickera.

Ustawienie formatu daty

Kiedy uruchomisz ten przykład po wyborze daty zauważ, że data jest zapisana w formacie: Miesiąc/Dzień/Rok. Taki format obowiązuje w USA. Załóżmy, że chcemy wyświetlać datę w formacie Dzień.Miesiąc.Rok. Możemy to zrobić globalnie.

Otwórz plik, w którym importujesz moduły z Angular Material i dodaj:

import { MAT_DATE_LOCALE } from '@angular/material/core';
import { NgModule } from '@angular/core';
import { MatInputModule } from '@angular/material/input';
import { MatNativeDateModule } from '@angular/material/core';
import { MatDatepickerModule } from '@angular/material/datepicker';

@NgModule({
  exports: [
    MatInputModule,
    MatDatepickerModule,
    MatNativeDateModule
  ],
 providers: [
    { provide: MAT_DATE_LOCALE, useValue: 'pl-PL' }
  ]
})
export class MaterialModule {}

Zaimportowaliśmy zmienną MAT_DATE_LOCALE oraz w providers ustawiliśmy format wyświetlania daty domyślnie w Polsce.

Wybór zakresu daty

Inna ciekawą funkcjonalnością jest umożliwienie użytkownikowi ustawienia zakresu daty: od - do. Przykład:

<mat-form-field>
	<mat-date-range-input [rangePicker]="rangeDate">
		<input matStartDate placeholder="Od">
		<input matEndDate placeholder="Do">
	</mat-date-range-input>
	<mat-datepicker-toggle matSuffix [for]="rangeDate"></mat-datepicker-toggle>
	<mat-date-range-picker #rangeDate></mat-date-range-picker>
</mat-form-field>

Więcej informacji znajdziesz o tej kontrolce pod tym linkiem