•  

    Mireczki!

    Chciałem przedstawić wam uplyfile - projekt nad którym pracuję od jakiegoś czasu. Linki na samym dole.

    Jest to kompletna platforma do obsługi plików. Przygotowałem ją dla twórców stron internetowych/aplikacji mobilnych, blogerów - wszystkich, którzy stykają się z uploadem i pobieraniem plików w swoich projektach.

    Dzięki uplyfile możecie:

    Przygotować upload plików dla swoich użytkowników dzięki widgetowi

    Można go dodać na każdą stronę www tak jak dodaje się widget facebooka czy twittera.

    Udostępnić plik za pomocą linku (sic! ( ͡º ͜ʖ͡º) )

    Zostanie pobrany z najbliższego serwera, jednego z kilkudziesięciu na całym świecie (CDN) z pełną prędkością łącza pobierającego.

    Umieścić zdjęcia na stronie www, które uplyfile optymalizuje w locie

    Np. jeśli umieścicie plik jpg, ale uplyfile wykryje, że przeglądarka wspiera format webp który jest lżejszy i po prostu lepszy ( ͡° ͜ʖ ͡°), przekonwetuje zdjęcie na webp. Wszystko to bez waszej ingerencji, automatycznie.

    Edytować zdjęcia w locie

    Najważniejsza funkcja dla mobile #webdev #ios #android to resize np. by zmieścić zdjęcie na ekranie o szerokości 400px dodajemy do linku resize:w400 jak poniżej:
    https://uplycdn.com/docs/bvAbyJOsjafM/resize:w400/girls-smiling

    Dzięki temu zdjęcie ładuje się szybciej bo jest mniejsze.

    Inne operacje:

    aby zrobić avatar z poniższego zdjęcia:
    https://uplycdn.com/docs/bvAbyJOsjafM/girls-smiling

    trzeba dodać avatar do linku, o tak:
    https://uplycdn.com/docs/bvAbyJOsjafM/avatar/girls-smiling

    Aby np. dodać jakiś hipsterski filtr, obrócić, dodać kolor tła, trzeba do linku dodać:
    https://uplycdn.com/docs/bvAbyJOsjafM/enhance,bg_color:blue,rotate:42/girls-smiling

    Dodatkowo jeśli macie zdjęcie w jpg i chcecie je mieć na szybko w png, po prostu zmieniacie z:
    https://uplycdn.com/docs/bvAbyJOsjafM/girls-smiling.jpg
    na
    https://uplycdn.com/docs/bvAbyJOsjafM/girls-smiling.png

    I wiele wiele innych

    Wykrywać co jest na zdjęciach, w którym miejscu i czy czasem nie nsfw

    np. dla https://uplycdn.com/docs/bvAbyJOsjafM/girls-smiling uplyfile mówi:

    Objects:
    woman: https://uplycdn.com/docs/bvAbyJOsjafM/crop:1185:1355:544:121/woman
    woman: https://uplycdn.com/docs/bvAbyJOsjafM/crop:725:1273:1522:203/woman

    Labels:
    "facial expression", "smile", "fun", "girl", "friendship", "leisure", "happiness", "event", "product"

    Explicit content:
    adult: "VERY_UNLIKELY"
    medical: "VERY_UNLIKELY"
    spoof: "UNLIKELY"
    violence: "VERY_UNLIKELY"
    racy: "VERY_UNLIKELY"

    Mireczki potrzebuję pomocy (。◕‿‿◕。)

    I teraz najważniejsze. Potrzebuję twórców stron www, aplikacji mobilnych, blogerów, lub ludzi którzy chcą się pobawić możliwościami platformy. Zapraszam do założenia konta, testowania. Platforma ma na pewno wiele niedociągłości, dlatego liczę na feedback! To dla mnie bardzo ważne! Projekt jest na bardzo wczesnym etapie rozwoju, chciałbym się dowiedzieć co docelowi klienci chcieli by mieć z uplyfile.

    Linki

    https://uplyfile.com - Stronka z opisem platformy, można tam przetestować widget.
    https://dashboard.uplyfile.com/signup?invite_code=mikrorules - link do założenia konta z kodem zapraszającym

    https://docs.uplyfile.com/#/upload_widget - tu także można przetestować widget
    https://docs.uplyfile.com/#/media_operations/images/README - Opis wszystkich 26 możliwych operacji na zdjęciach m.in. resize, crop, avatar, enhance, rotate, face_crop.

    PS do Mireczków spod #100procent , to właśnie o tym projekcie pisałem tutaj: https://www.wykop.pl/wpis/35824147/

    #programowanie #android #ios #uplyfile #100procent #webdev #technologia #software

    źródło: uplycdn.com

    •  

      @Emandero: elo, wrzuć też na IndieHackers forum, tam często dają spoko feedback

      Przetestuje niedługo

    •  

      @Emandero: co z konkurencją? Wydaje mi się, że widziałem podobny projekt i oni byli bardzo rozwinięci technicznie, że będzie trudno konkurować. Wykorzystywali uklady GPU, czy inne układy sprzętowe do swojej pracy.

    •  

      @mdfk: dzięki cumplu ( ͡° ͜ʖ ͡°)

      @Dzakus: zanim zacząłem to robić, znalazłem 6 podobnych rozwiązań. Tj. mix takich rzeczy jak operacje w locie na zdjęciach, na video, konwersje dokumentów, CDN, upload widget, serwowanie staticów itp. Mimo istnienia konkurencji to pomysł jest ciągle innowacyjny, nie wszyscy od razu kapują po co taka platforma czego dowodem jest pierwszy komentarz od @suqmadiq2ama i liczba plusów pod nim ( ͡º ͜ʖ͡º)

      Dla mnie istnienie konkurencji oznacza przede wszystkim 4 rzeczy:
      1.(+) Są ludzie/firmy gotowe za to płacić.
      2. (+) Produkt jest na tyle złożony i ma tyle możliwości, że zawsze jakieś grupie klientów "coś tam" nie będzie pasować i pójdą gdzieś indziej. Otwarte fora, community area tych produktów, wątki na reddicie, na diggu pozwalają się dowiedzieć co ludzi boli w obecnych rozwiązaniach - więc IMO tutaj jestem do przodu bo od razu robię dobrze to, co klientom konkurencji przeszkadza.
      3. (-) przebicie się będzie wymagało wysiłku (life is hard), ale przy okazji:
      4. (+) nie trzeba edukować rynku o co w ogóle w tym chodzi, robi to za mnie zamożniesza konkurencja ;)

      +: mdfk, Dzakus
    •  

      @Emandero: mam wincyj plusów pod memem niż tfoja apka phiiii pffff

    •  

      @Emandero: spróbuj jeszcze ProductHunt, IndieHackers, HackerNews

    •  

      @Emandero: ja aktualnie w pracy walczę z problemem, który twoja aplikacja mogła by rozwiązać.

      Mam stronę napisana w Gatsby - statyczny generator treści, który zakłada, ze strony muszą być mega szybkie, a więc każdy obrazek jest w kilkunastu rozdzielczościach i formatach. Strona jest budowana na CI/CD, gdzie jest instalowany Node.JS, a następnie jest wszystko budowane, a następnie pakowane do obrazu Dockera, który jest wysyłany.
      Teraz jest problem, bo pełne budowanie trwa 1.5h, czyli jak pojawi się literówka w artykule to musimy czekać tyle czasu aby wszystko się przetwarzyło. Publikacja artykułu trwa cały dzień.

      Istnieje pewne rozwiązanie. Przeniesienie obrazków do Contenful, który jednak ma nieakceptowalny cennik w naszej sytuacji - 879$/max.

      Gdybyś zastanowił się nad napisaniem wtyczki, która pozwoli wysłać obrazki do Ciebie(mogę pomóc napisac) to mógłbym pogadać w moim korporacji, aby to wprowadzić.

      Ps. Twoja strona główna nie działa.

    •  

      @Dzakus: tak już mamy backendowcy, z tyłu pięknie, z przodu zapomniałem dodać http -> https, to pewnie to :D Proszę sprawdź wchodząc na https. Oczywiście to naprawie w wolnej chwili, dzięki!

      To dziwne że to tyle trwa, npm install mimo że owiany legendą powolności to aż tak długo nie trwa, więc rozumiem, że w trakcie builda przygotowywane są te obrazki (nie wiem jak działa gatsby)? Jeśli tak i jeśli obrazki się nie zmieniają to takie opcje:

      * Nie serwowałbym obrazków z dockera, są do tego lepsze narzędzia chociażby najprostszy nginx. Chyba, że nie są serwowane z dockera a tylko się w nim budują, po buildzie są gdzieś wysyłane - to spoko.
      * Może by zrobić obraz bazowy dockera w którym wpakujecie wszelkie ciężkie rzeczy jak budowanie bibliotek które się rzadko zmieniają, przygotowanie obrazków które już są itp. Następnie na początku właściwego obrazu w dockerfile'u masz "FROM MojaKorpo/obrazbazowy:1.0.0".

      Powyższe, to wypadku jesli nie macie cache na CI/CD, bo jeśli buduje sie zawsze 1.5h to chyba nie macie.

      Jeśli obrazki się zmieniają (np. nowy artykuł - nowe obrazki) to faktycznie polecam uplyfile - wrzucasz pliki, ustawiasz jakie mają mieć rozmiary i formaty na waszej stronie i reszte robi uplyfile tj. konwersje, resizy, cache, CDN, domain sharding i inne przyspieszacze. Jeśli jesteś zainteresowany, to chętnie napisze taką wtyczkę i chętnie też skorzystam z pomocy (。◕‿‿◕。)

    •  

      @Emandero: To nie to. Po prostu wchodziłem na https://uplycdn.com/ zamiast na https://uplyfile.com/.

      Npm install, krótszy czas, ale potem trwa budowanie, które przetwarza obrazki.
      Mamy cache, który powoduje, że strona buduje się 20 minut, ale gdy cache się wyczyści to trwa to zbyt długo.
      Nie chcemy dzielić wszystkiego na milionów fragmentów, bo to znacznie utrudni deploy. Zwłaszcza, że docker musi zostać, bo mamy parę rzeczy w Expressie do tej strony. Docker musi też zostać, bo w przyszłości myślimy o wprowadzeniu Kubernetesa. Docker nie jest tutaj problemem, bo on się sprawdza. Problem jest rozmiar obrazu, który miał czasem 2GB.

      Gatsby powoduje, ze na każdej podstronie jest załadowany tylko ten kod JS/CSS, który jest na prawdę potrzebny, a więc nie ma co wycinać bibliotek. One muszą być razem z kodem HTML/CSS wysyłane, jako całość. Nie ma co też wycinać podstron, bo celem statycznego generator stron jest zbudowanie podstron CSS.

      Taka wtyczka była delegacją zadań przetwarzania obrazków na zewnętrzny serwer, który potrafiłby lepiej to cachować i obsługiwać, ale to trzeba jeszcze przeanalizować, czy będzie to wykonalne, aby się zintegrować w prosty sposób.

      To teraz trochę jak działa obsługa obrazków w Gatsby.
      Gatsby jest innowacyjny, ponieważ
      * wykorzystuje Reacta z Server Side Renderingiem
      * rozdziela podstrony od źródła danych. (nie ma tak, ze jeden plik *.md to *.html)
      * umożliwia pisanie zapytań od dane w graphql
      * ma abstrakcje na źródło danych - do wszystkich danych pytasz się przez graphql w tym o adresy obrazków w odpowiednim formacie.

      Przykładowy strona na Gatsby jest dostępna:
      https://github.com/gatsbyjs/gatsby-starter-blog
      A przykładowe zapytanie o obrazek:
      https://github.com/gatsbyjs/gatsby-starter-blog/blob/master/src/components/Bio.js#L47-L53
      (Note: zapis ...GatsbyImageSharpFixed to tylko skrót, aby nie wypisywać pól i odnosi się do https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-transformer-sharp/src/fragments.js)

      Twoim celem było by napisanie wtyczki, która jest na warstwie API wywołań kompatybilna z domyślną(https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-transformer-sharp), ale nie delegująca wszystkiego lokalnie, ale do serwera zdalnego. Już Contentfull podobny trick zrobił: https://www.gatsbyjs.org/packages/gatsby-source-contentful/#query-for-assets-in-contenttype-nodes

      Ja jednak nie gwarantuje teraz, że jak to napiszesz to my to wdrożymy. Nie jestem osobą decyzyjną, a tylko programuje.

    •  

      ma abstrakcje na źródło danych - do wszystkich danych pytasz się przez graphql w tym o adresy obrazków w odpowiednim formacie.

      @Dzakus: w takim razie wtyka jest możliwa. W trakcie builda upload zdjęcia do uplyfile (jeśli jeszcze go tam nie ma, sprawdzane po md5). API w stylu fixed(width: 50, height: 50) bedzie przerabiać na link /resize:50:50/. Dobrze rozumiem?

      Ja jednak nie gwarantuje teraz, że jak to napiszesz to my to wdrożymy. Nie jestem osobą decyzyjną, a tylko programuje.

      Wiadomix, business is business. I tak taka wtyka się komuś na pewno przyda. Przenieśmy to na priv.

    •  

      @Emandero: Ładne grafiki i design - kto dziergał?

    •  

      @mdfk: Mua ( ͡° ͜ʖ ͡°) większość, design landingu kupiony

Gorące dyskusje ostatnie 12h

  • odpowiedzi (22)

  • odpowiedzi (20)

  • avatar

    Miraski,
    Jakiś czas temu zaparkowałem na podwórku przy kamienicy w której mieszkam. Nie potrzebowałem auta przez dłuższy czas(dwa tygodnie), więc sobie tam stoi. Po jakimś czasie ktoś nakleił mi karteczkę na okno "te miejsca są zajęte prosze o przeparkowanie". Oznaczone to te miejsca nie są, zarezerwowane tym bardziej. Poniżej zdjęcie karteczki, wraz z moją jeszcze kulturalną odpowiedzią.
    Nie potrzebuję na razie przestawiać auta, więc będzie tam stało. Wiele warte też nie jest, a jak gościu coś mi z nim zrobi, to sprawa trafi na Policję - jak macie podobne doświadczenia z Januszami parkingowymi to chętnie się czegoś dowiem.
    Generalnie już kiedyś (ze 3 lata temu) zaparkowałem na tym miejscu innym samochodem, i po tygodniu jakoś ktoś mi spuścił powietrze w tylnej oponie( ͡° ʖ̯ ͡°)
    Ten adres mailowy naprawdę jest mój - utworzyłem go wczoraj( ͡° ͜ʖ ͡°)
    Podejrzewam tylko, że gościu nic nie wyśle, bo uzna, że wymyśliłem ten adres.

    Jak się sytuacja jakoś rozwinie to wstawię kolejny post z tagiem #parkingowesamowolki

    pokaż spoiler #samochody #parkowanie #policja #janusze
    pokaż całość

    odpowiedzi (59)