Jak skończyć własny projekt?

Opublikowano: 21.07.2022 - tagi: Projekt Przemyślenia Praca Nawyk

Każdy, kto choć raz zaczął, tworzyć własny projekt wie, że łatwiej zacząć niż go skończyć.

Zdecydowanie jest więcej nieskończonych projektów niż tych zrealizowanych.

Poniżej w punktach przedstawiam, co może pomóc w ukończeniu projektu.

Określ minimalne wymagania

Z grubsza wiesz, co chcesz stworzyć. Zaczynasz pracę nad aplikacją i w pewnym momencie zauważasz, że ciągle coś do niej dodajesz. Bo wpadłeś na nowy fajny pomysł. Problem jest taki, że dodatkowe rzeczy zajmują więcej czasu. Z czasem przychodzi znużenie projektem i zaczynają się pierwsze kroki do porzucenia projektu.

Istnieje takie pojęcie jak: Minimum Viable Product (MVP). W skrócie chodzi o to, że określasz minimalne wymagania dla swojej aplikacji po implementacji, których możesz powiedzieć, że pierwsza wersja jest skończona. Minimalne, czyli wystarczające do swobodnego korzystania z programu.

Kiedy wypuścisz pierwszą wersję projektu, będziesz mieć czas na przemyślenie istniejących funkcjonalności lub dodanie nowych.

Twoim celem jest stworzenie pierwszej wersji programu.

Planuj

Drugim krokiem jest planowanie. To też jest istotne. Masz już wymagania? Teraz rozplanuj, co ma się znaleźć, w aplikacji. Co ma się tam znaleźć?

Na podstawie gotowych wymagań możesz rozplanować poszczególne etapy prac nad aplikacją. Nie muszisz planować wszystkich szczegółów. Chodzi o to, żeby rozrysować ogólny obraz pracy nad projektem.

Stwórz mapę drogową swojego projektu. Działając w taki sposób, można też śledzić postępy.

Regularność

Masz określone wymagania i zaplanowałeś kolejne kroki. Czas zabrać się do pracy.

Na początku zaczniesz z werwą. Ale nie ma, co się oszukiwać motywacja w końcu spadnie. Powinieneś postawić na dyscyplinę.

Konkretnie to powinieneś stworzyć nawyk pracy nad projektem. Pytanie ile masz czasu? Wystarczy nawet 15 minut dziennie, żeby zacząć rozwijać swój projekt. Określ: jak często zamierzasz pracować w tygodniu i ile czasu chcesz na to poświecić.

Oczywiście im więcej czasu na niego poświęcisz, tym szybciej go skończysz. Z drugiej strony nie ma co się zmuszać


MongoDB: Jak pobrać rekordy z tablicy obiektów?

Opublikowano: 19.07.2022 - tagi: MongoDB Baza danych Zapytanie Szukanie Rekord Tablica Obiekt

Mamy taką kolekcję:

[
	{ 

		title: "Product 1", 
		tags: [
			{ name: "Tag 1", value: "tag1" }
		] 
	},
	{ 

		title: "Product 2", 
		tags: [
			{ name: "Tag 2", value: "tag2" },
			{ name: "Tag 4", value: "tag4" }
		] 
	},
	{ 

		title: "Product 3", 
		tags: [
			{ name: "Tag 1", value: "tag1" },
			{ name: "Tag 3", value: "tag3" }
		] 
	},
	{ 

		title: "Product 4", 
		tags: [
			{ name: "Tag 1", value: "tag1" },
			{ name: "Tag 3", value: "tag3" },
			{ name: "Tag 4", value: "tag4" }
		] 
	},
]

I chcielibyśmy pobrać rekordy na podstawie wartości z tablicy tags. Konkretnie to dla pola: tags.value.

Można to zrobić tak:

db.collection.find({"tags.value": "tag1"})

Takie zapytanie pobierze trzy rekordy.

Na podstawie powyższego zapytania możemy pobrać kilka rekordów na podstawie jednej wartości. Jeśli chcemy pobrać dane dla kilku wartości, możemy skorzystać operatora: $in:

db.collection.find({"tags.value": { $in: ["tag1", "tag3"] } })

Zauważ, że to zapytanie pobierze dane, które mają przynajmniej jedną wartość w podanej tablicy.

Jeśli zależy nam na spełnieniu wszystkich warunków, powinniśmy skorzystać z operatora: $all:

db.collection.find({"tags.value": { $all: ["tag1", "tag3"] } })

Pobierze dwa rekordy, które zawierają zarówno tag1 i tag2.


MongoDB: Jak pobrać rekordy na podstawie ciągu znaków?

Opublikowano: 16.07.2022 - tagi: MongoDB Baza danych Zapytanie Tekst Szukanie Rekord

Mamy taką strukturę kolekcji z danymi:

[
	{ title: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", amount: 10 },
	{ title: "Nunc fringilla posuere mi, lacinia vulputate magna lobortis nec", amount: 7 },
	{ title: "Etiam lacinia urna id felis vulputate ullamcorper", amount: 32 },
	{ title: "Aenean euismod sed lorem quis tempor.", amount: 50 }
]

I chcemy pobrać rekordy z kolekcji na podstawie jakiegoś fragmentu tekstu. Na przykład lorem:

db.collection.find({ title: /lorem/i })

W tym zapytaniu wykorzystujemy tutaj wyrażenie regularne. Dla tego zapytania pobierze dwa rekordy:

[
	{ title: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", amount: 10 },
	{ title: "Aenean euismod sed lorem quis tempor.", amount: 50 }
]

Zauważ, że wykorzystujemy tutaj także flagę i ponieważ nie chcemy brać pod uwagę wielkości liter.


JavaScript: Jak znaleźć klucz w obiekcie na podstawie wartości?

Opublikowano: 14.07.2022 - tagi: JavaScript Obiekt

Mamy obiekt:

const data = {
  KEY_1: 'Value1',
  KEY_2: 'Value2',
  KEY_3: 'Value3',
};

Potrzebujemy wiedzieć jaki klucz ma wartość Value2:

const value = 'Value2';

const key = Object.keys(data).find((item) => value === data[item]);

console.log(key); // KEY_2

To rozwiązanie jest dobre przy założeniu, że wartości kluczy obiektu są unikalne. Nawet jeśli nie są, też zadziała, tylko zwróci pierwszy napotkany klucz.


Dlaczego warto tworzyć własne projekty?

Opublikowano: 12.07.2022 - tagi: Projekt Przemyślenia

Tworzysz coś swojego

Jedną z motywacji przy tworzeniu własnego projektu jest dla mnie stworzenie aplikacji, którą będę później używać. Zwykle taka aplikacja ma mi pomóc w osiągnięciu jakiegoś celu lub w automatyzacji pracy.

Ktoś może zadać pytanie: "Po co tworzyć coś takiego skoro na pewno istnieje 10 aplikacji, które mogę użyć?" I pewnie jest w tym wiele racji.

Tworzenie aplikacji to nie tylko pisanie kodu. Jest to proces, podczas którego zbieramy wymagania co do naszej aplikacji. Wiedząc, jak aplikacja ma działać i wyglądać możemy przejść do pisania kodu. Warto przejść przez coś takiego od początku do końca. Wiele można się z tego nauczyć.

Dodatkowo mając pełną kontrolę nad aplikacją, możemy stworzyć wszystko pod siebie.

Uczysz się nowych rzeczy

Inną ważną rzeczą przy tworzeniu aplikacji jest na odpowiedzenie sobie na pytanie: "Czego mogę się nauczyć, pracując nad własnym projektem?" Nowy framework/biblioteka? Coś z architektury oprogramowania?

W "normalnej" pracy zwykle czas nas goni, żeby wszystko dostarczyć na czas. W pracy nad własnym projektem czasu mamy znacznie więcej, żeby zastanowić się nad różnymi rozwiązaniami. Nie ma takiej presji.

Pochwal się tym

Skoro stworzyłeś aplikację, warto pokazać ją światu. Na przykład na rozmowie o pracę możesz opowiedzieć, z jakimi problemami borykałeś się i jak je rozwiązałeś. Zawsze to lepiej wygląda niż zwykłe CV.