Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kolejny system blogowy - slimNote
Forum PHP.pl > Inne > Oceny
bubx2k
Cześć,
właściwie na własne potrzeby stworzyłem system blogowy, z założenia do wykorzystania przy budowie strony z portfolio. Ale może ktoś jeszcze skorzysta smile.gif
Aplikacja zbudowana na Slim Framework odczytuje posty z plików tekstowych, zatem baza danych jest zbędna. Przetwarza post przez Parsedown (zgodny z Markdown) i wyświetla sformatowany tekst.
W planach tagi i kategorie.

Link do projektu http://slimnote.typedef.pl/

Uwagi mile widziane smile.gif
Forti
Dlaczego pliki tekstowe a nie baza? Porządny hosting kosztuje nawet 7zł miesięcznie, a darmowe praktycznie każdy ma mysql.

Takie rozwiązanie ma więcej wad aniżeli zalet.

1. nikt na większą "strone" tego nie weźmie. A większą mam namyśli 1-2 posty dziennie, oczekując kilkudziesięciu - kilkuset userów dziennie.
memory
Dobrze było by wrzucić na github
Czemu nie sqllite? Gdy wybieram jeden post to najpierw musi pobrać wszystkie i wybrać ten właściwy
Pyton_000
No chyba że autor trzyma każdy post oddzielnie wtedy nie ma problemu smile.gif
bubx2k
Tutaj w grę weszła prostota implementacji. Opierajać się na bazie danych aby było wygodnie musiałbym dodatkowo stworzyć panel administracyjny do dodawania wpisów, co znów wiąże się z bezpieczenstwem etc.
W tym momencie katalog postów równie dobrze może byc zdalnym repozytorium git co daje fajną funkcjonalność, chociażby wersjonowania - nie testowane niestety, to taka wolna myśl na przyszłość.

Cenne uwagi, każdy post to osobny plik, ale i tak odczytywane są wszystkie pliki w celu sortowania, przy podgladzie pojedynczego postu faktycznie jest to zbędne - zmiana do następnego wydania smile.gif
PrinceOfPersia
jakkolwiek byś nie robił nie warto tworzyć własnych formatów (na szczęście nie tworzysz i opierasz się na Markdown). tak samo konfiguracji bloga jeśli nie w bazie to też nie warto trzymać we własnym z dupy wymyślonym formacie tylko lepiej normalnie jak człowiek w JSON, XML czy czymś podobnym.
(kiedyś miałem do czynienia już z poprawianiem kodu, gdzie ktoś zamiast w bazie to sobie nawymyślał własne hipsterskie formaty do wpisów, ciężko to było potem przekonwertować).

Cytat
W tym momencie katalog postów równie dobrze może byc zdalnym repozytorium git co daje fajną funkcjonalność, chociażby wersjonowania - nie testowane niestety, to taka wolna myśl na przyszłość

Fajna myśl, też o tym myślałem (miałem kiedyś swojego CMSa zrobić, ale jakoś motywacji/czasu zabrakło).
Daimos
Cytat(Forti @ 17.01.2015, 08:57:52 ) *
Dlaczego pliki tekstowe a nie baza? Porządny hosting kosztuje nawet 7zł miesięcznie (...)

Forti, dla wszystkiego znajdzie się miejsce w internecie. Na własne potrzeby, taki mini silnik ~cms`a może się przydać, ale wątpię, by ktoś tego używał obcy, bo napisanie tego typu rzeczy zajmuje dosyć mało czasu.
A że takie rozwiązania mają zastosowania, to wiem po sobie, przykładem jest stronka, którą hobbystycznie trzymam od lat (w stopce link)
Jest całkowicie oparta na plikach, żadnej bazy i też jestem wrogiem trzymania rzeczy w plikach, ale jednak... Zaczęło się od tego, że zrobiłem prostą stronkę html gdzie było kilka narzędzi w javascript. Z czasem dodawałem nowe i zaczęła się powtarzalność kodu. Więc rozwijałem to, zaczynając od mini systemu szablonów. Powstał prosty silnik bez bazy. Przydaje się ? Bardzo, bo szybciej było to napisać, niż przenosić wszystko np. na wordpressa, a i wydajnością bije wszystko smile.gif
Tylko właśnie problem w tym, że sam nawet nie mam zamiaru tego udostępniać, bo nikt z tego nie skorzysta.

bubx2k rozwiązanie może Ci się przydać, tak jak mi podobne, ale nie wyjdziesz z tego dalej. Polegniesz przy próbie większego rozwoju przez te pliki, a przerobienie gotowego systemu na bazę danych będzie nierealne. Wyszukiwarka, menu to rzeczy przy których musiałem się nieźle nagimnastykować, żeby w ogóle działały, a to są podstawy i już bez cache się nie obyło. Więc jeśli nie planujesz zupełnie tego rozwijać (pomijam jakieś poszerzenie bbcode, bo tego rozwojem bym nie nazwał), to ok, jest rozwiązanie, działa, szybko i na tym koniec. Indeksy to coś, czego Ci pliki nie dadzą, a pisać swoją bazę danych jest bez sensu wink.gif

Odnośnie samego projektu, ładnie napisane, fajne komentarze, świetna praktyka jak masz czas, ale ja bym pesymistycznie podchodził do tego, czy ktoś z tego będzie miał pożytek prócz Ciebie.
bubx2k
Daimos, i to jest własnie clou całego zamieszania. Silnik jest stworzony na własne potrzeby, dokładnie z takich samych pobudek, o których piszesz. Nie liczę, że ktoś tego będzie używał - fakt, że można samodzielnie i dość szybko stworzyć podobny silnik przeważa szalę - ale jednak nie uważam, że nie warto tego udostępniać.
Czas pokaże, póki co mam pewien zapał, żeby się w to bawić. A i nie ukrywam, jest to dla mnie dobra nauka.
aniolekx
wrzuć projekt na github smile.gif
bubx2k
Dodałem funkcjonalność tagów/kategorii.
Projekt jest na BitBucket Link
Forti
Ja jestem również zdania, że lepiej napisać własny cms niż bawić sie w wordpressy wink.gif dlatego także taki tworze od pewbego czasu. Silnik strony typu one page + galeria + strony "statyczne" + dogrywanie własnych modułów z poziomu panelu admina. Fajne jest o tyle bo człowiek się uczy i wie jakich rozwiązań unikać na przyszłość itp. Kiedyś pewnie także na github to wrzucę wink.gif

Przejże z ciekawości twój kod smile.gif
bubx2k
Dodałem banalnie prosty cache. Każde żądanie GET zapisywane jest w katalogu "cache" w postaci pliku HTML, chyba, że taki plik już istnieje wtedy po prostu ten plik jest odczytywany. W momencie dodawania nowego posta nie był on widoczny, aż do momentu wyczyszczenia katalogu plików tymczasowych.
marcio
Cytat(Forti @ 26.01.2015, 07:48:12 ) *
Ja jestem również zdania, że lepiej napisać własny cms niż bawić sie w wordpressy wink.gif dlatego także taki tworze od pewbego czasu. Silnik strony typu one page + galeria + strony "statyczne" + dogrywanie własnych modułów z poziomu panelu admina. Fajne jest o tyle bo człowiek się uczy i wie jakich rozwiązań unikać na przyszłość itp. Kiedyś pewnie także na github to wrzucę wink.gif

Przejże z ciekawości twój kod smile.gif



Cytat(bubx2k @ 27.01.2015, 06:09:17 ) *
Dodałem banalnie prosty cache. Każde żądanie GET zapisywane jest w katalogu "cache" w postaci pliku HTML, chyba, że taki plik już istnieje wtedy po prostu ten plik jest odczytywany. W momencie dodawania nowego posta nie był on widoczny, aż do momentu wyczyszczenia katalogu plików tymczasowych.


@Forti czy twoj cms wykorzystujesz hobbystycznie czy do projektow?Pytam bo jestem ciekawy jak on wyglada kod slimNote juz przejrzalem tak jak kilku innych rozwiazan mniej lub bardziej znanych i chcialem sie zapytac czy moglbys wytlumaczyc jak to dziala, jakie rozwiazania uzywasz jesli chodzi o komponenty,widget'y i plugin'y rozszerzajace dzialania komponentow i takie tam.
Jesli cie interesuje pisz na pw chetnie pokaze i moj kod ktory po 1.5 roku przerwy zostanie troche poprawiony i zostana dodane rzeczy ktore mialem w mojej liscie todo dawno temu do zrobienia.

Sorry za OT
bubx2k
Chętnie zobaczę i ja wasze rozwiązania smile.gif
Pyton_000
Hehe To teraz zerknij sobie w folder cache wink.gif
Forti
Na pierwotnej "wersji" mojego systemu stoi obecnie jedna strona w uk a druga dopiero za kilka tygodni. Nie wykorzystuje żadnych systemów instalacji itp. Dodatkowych pluginow - to jest moj system który stawiam komuś na zlecenie a nie do pobrania samodzielnego etc.
Pisze chaotycznie..

Czemu nie chcesz skorzystać z frameworka? W kod nie zaglądałem jednak pisząc ze zaimplementowałeś cache tak stwierdzam.


Edit: Masz slim framework. Nie znam. Sam musiałeś cache dla produkcji robic? wink.gif
bubx2k
Cytat(Pyton_000 @ 27.01.2015, 18:51:04 ) *
Hehe To teraz zerknij sobie w folder cache wink.gif


Ciesze się, że zwróciłeś na to uwagę. Ograniczyłem tylko do zapisywania stron ze statusem 200.

Cytat(Forti @ 27.01.2015, 21:01:03 ) *
Na pierwotnej "wersji" mojego systemu stoi obecnie jedna strona w uk a druga dopiero za kilka tygodni. Nie wykorzystuje żadnych systemów instalacji itp. Dodatkowych pluginow - to jest moj system który stawiam komuś na zlecenie a nie do pobrania samodzielnego etc.
Pisze chaotycznie..

Czemu nie chcesz skorzystać z frameworka? W kod nie zaglądałem jednak pisząc ze zaimplementowałeś cache tak stwierdzam.


Edit: Masz slim framework. Nie znam. Sam musiałeś cache dla produkcji robic? wink.gif

Cache jest stworzony jako Middleware dla Slim Framework. Być może są jakieś gotowe rozwiązania.
Sam framework daje możliwość cacheu po stronie klienta, a mi zależało na cache po stronie serwera. Nie ma potrzeby za każdym razem gdy ktoś odwiedzi stronę grzebać w folderze postów.
kubbe
Jakieś szablony dodasz? smile.gif
bubx2k
Cytat(kubbe @ 4.02.2015, 14:26:36 ) *
Jakieś szablony dodasz? smile.gif

Póki co nie planuje, ale nie jest to wykluczone. Na blogu slimNote jest wyjaśniona podstawowa konfiguracja i struktura katalogów. Moim zdaniem stworzenie szablonu dla slimNote nie jest skomplikowane - ale nie jest to opinia obiektywna.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.