Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM

Autor wpisu: singles, dodany: 23.03.2015 08:30, tagi: internet

Całkiem niedawno puściłem takiego oto tweeta:

Jedna z odpowiedzi sugerowała, że żartuję i robię sobie przysłowiowe jaja. Haczyk w tym, że wcale nie. Pokażę Wam w jaki sposób mam zorganizowane zarządzanie pocztą – a co za tym idzie – jak system TODO oparty na mailu idealnie się w to wpasowuje.

Dla tych z Was, którzy czytali „Getting Things Done” Allena metody te nie będą pewnie nowością. Mi ta książka nie podeszła, ale podświadomych inspiracji nie wykluczam :).

Zasada #1: Rzeczy w skrzynce odbiorczej czekają na akcję.

W pewnym momencie zdałem sobie sprawę, że spora większość maili które otrzymuję wymaga jakiejś akcji:

  • faktura – płacę + drukuję/archiwizuję/wysyłam księgowej
  • pytanie o wykonanie usługi – odpowiadam/przygotowuję ofertę
  • komentarz na GitHubie – odpowiadam (pytania bez odpowiedzi to zło)
  • mail do kumpla z nowym popularnym video – odpowiadam, najczęściej jest to „widziałem” (chyba za dużo czasu spędzam na YT)
  • zaproszenie na Li/FB – akceptuję (znajomi) lub odrzucam (ludzie których nie znam/rekruterzy którzy nawet nie przeczytali profilu)
  • newsletter z pointer.io – dorzucam ciekawe artykuły do Pocketa
  • potwierdzenie nadania przesyłki – zostawiam do czasu aż do mnie dotrze (czasami zamawiam sporo rzeczy i czasami można przypomnieć sobie o jednej po miesiącu)
  • etc.

Nieistotne jest kiedy zajmiecie się danym mailem. Możecie korzystać z zasady „jeśli coś zajmuje mniej niż 5 minut, to zrób to od razu”, możecie zostawiać na potem. Ważny jest fakt, żeby leżał w skrzynce dopóki się nim nie zajmiecie.

Zasada #2: Jeśli coś nie wymaga akcji, wylatuje ze skrzynki odbiorczej.

Oraz jej rozwinięcie: mail na którego odpowiedziałeś i/lub nie wymaga od Ciebie akcji jest od razu archiwizowany/usuwany.

Ja usuwam – kosz najczęściej opróżniany jest po 30 dniach, tak więc jeśli dyskusja będzie się ciągnąć, to i tak będę miał dostęp do tego maila. Jeśli nie, to zakładam że nadawca przy następnym mailu dołączy kontekst.

Zasada #3: Do skrzynki odbiorczej trafiają także maile wychodzące.

Wyobraźcie sobie sytuację, że reklamujecie jakiś produkt wysyłając maila do sprzedawcy. Czasami można zapomnieć o tym, że sprzedawca miał nam odpisać. Jest na to prosty sposób – podczas pisania maila dodajcie siebie do BCC – tym sposobem mail trafi do skrzynki odbiorczej i nie zapomnicie. A dodatkowo dzięki temu, że przy każdym mailu widnieje data wysłania będziecie widzieć jak długo zajęła mu odpowiedź.

Jeśli długo nie dostajecie odpowiedzi, to już Wasza decyzja co zrobić z tym mailem dalej – jeśli odpuszczacie sprawę, to maila kasujecie albo nadajecie mu specjalną etykietę – patrz zasada nr #4.

Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...

Autor wpisu: Pyton, dodany: 20.03.2015 08:05, tagi: php

Witajcie

Dziś na potrzeby pewnego serwisu musiałem zbudować mechanizm generujący slug. Ponieważ nie znalazłem nic co by mi odpowiadało to postanowiłem napisać własną klasę.

Instalacja

Instalacja odbywa się przy użyciu Composera. Jeśli ktoś nie ma to odsyłam do źródła.

Wystarczy dodać do pliku composer.json:

"require": {
        "pyton/easyslug" : "~1.0"
    }

lub bezpośrednio w konsoli: composer require pyton/easyslug ~1.0

Przykłady użycia

Zakładam że macie już dołączony autoloader z Composera. Jeśli nie to znowu odsyłam do źródła

Tworzymy slug:

<?php
use EasySlug\EasySlug;

include 'vendor/autoload.php';

$easySlug = new EasySlug();

$slug = $easySlug->create('Base Slug string.');

// Wyświetla prosty slug
echo $slug->plain() . PHP_EOL;
// Base-Slug-string

// Możliwość formatowania za pomocą wyrażeń sprintf
echo $slug->format('%s.html') . PHP_EOL;
// Base-Slug-string.html

// Zmiana separatora
$easySlug->setReplacement('_');
$slug = $easySlug->create('To jest nasz String z polskimi znakami np: 󟯌ćł');
echo $slug->plain() . PHP_EOL;
// To_jest_nasz_String_z_polskimi_znakami_np_ozZScl

echo $slug->format('%s.html') . PHP_EOL;
// To_jest_nasz_String_z_polskimi_znakami_np_ozZScl.html

Opis

Za pomocą metody create('string') tworzymy slug wewątrz obiektu.

Do wyświetlania slug służą metody: – plain() – Wyświetla wygenerowany slug – format('pattern', array('arg1', 'arg')) – wyświetla string formatowany przy użyciu sprintf. pattern oraz array('arg1', 'arg') jest opcjonalna. Przykłady:


$slug->format('%s');
$slug->format('%s-%d.html', array(12));
$slug->format('%s_%s_%s.html', array('prefix', 'postfix'));

Podsumowanie

EasySlug to prosta paczka która wygeneruje nam podstawowy slug, z możliwością sformatowania go w dowolny sposób.

Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...

Autor wpisu: Piotr Pasich, dodany: 19.03.2015 07:50, tagi: php

ant-man

Contributing the open source is a topic raised time and again on blogs, during conferences, meetups and barcamps. This happens because of several reasons – many programmers want to be involved in extraordinary projects, create useful solutions or leave their marks on a masterpiece of software. I have always wanted to be a part of […]

The post Ant, composer and code quality tools appeared first on Piotr Pasich.

Autor wpisu: zleek, dodany: 18.03.2015 10:50, tagi: php

Most of the current mail clients can display html emails without any problems. But still there are cases when html e-mail is not supported. Therefore I would suggest to send emails which contain both – html and plain text as

Autor wpisu: Michał Janicki, dodany: 15.03.2015 20:47, tagi: css, javascript

Jakiś czas temu wyczytałem, że ok 60% informacji jakie znajduje się w Internecie można spokojnie wyrzucić do śmieci. Trudno się z tym nie zgodzić – znalezienie informacji opisujących rozwiązanie jakiegoś zadania „zgodnie ze sztuką” może przysporzyć czasami sporo problemów.

Ponad rok temu opisywałem wam inicjatywę Josha Lockharta, która ma za zadanie zebranie w jednym miejscu wszystkich najlepszych praktyk i sprawdzonych źródeł wiedzy związanych z PHP. Inicjatywa spodobała mi się do tego stopnia, że umieściłem na blogu baner promujący ten projekt.

Kwestą czasu było pojawienie się podobnych projektów dotyczących innych języków i wychodząc z tego właśnie założenia znalazłem niedawno projekt HTML & CSS The Right Way. Projekt ten prowadzony jest przez Reinora Boulangera, któremu przyświecał bardzo podobny cel co Lokhartowi czyli zgromadzenie sprawdzone źródła i najlepsze praktyki z tworzeniem dotyczących wybranej technologii. W swoim projekcie pan Boulanger nie ogranicza się tylko do opisu zagadnień związanych z HTML i CSS – wspomina także o JS – i właśnie JavaScript będzie dotyczył kolejny projekt z cyklu „The Right Way”.

JavaScript The Right Way jest projektem Williama Oliveira i sporej ilości innych osób (pełna lista na stronie projektu). Jak wiadomo JS już od dawna jest wykorzystywany do zupełnie innych celów niż pierwotnie przewidzieli to jego projektanci – tak więc na stronie projektu znajdziecie także informacje o silnikach używanych do tworzenia gier uruchamianych w przeglądarce a także sporo materiałów dotyczących node.js.

Nie pozostaje więc nic innego tylko czytać i wprowadzać w życie dobre praktyki programowania – to zawsze procentuje. Do przeczytania już wkrótce!

The post Front – End The Right Way appeared first on Michał Janicki.

Autor wpisu: Pyton, dodany: 11.03.2015 16:45, tagi: php

Hej.

Dziś na własne potrzeby musiałem stworzyć funkcję w PHP która z wielowymiarowej tablicy wyciągnie mi wszystkie tablice z wartościami i przeniesie je na zerowy poziom. Brzmi dziwnie ale przykład może wyjaśni. Zapraszam

Funkcja

Najpierw sama funkcja

function array_flatten($array, &$values)
{
    if(empty($values))
        $values = [];

    $nonArrayValues = array();
    foreach ($array as $key => $value)
    {
        if(!is_array($value))
        {
            $nonArrayValues[$key] = $value;
        }
        else
        {
            $values[$key] = array_flatten($value, $values);
        }
    }
    return $nonArrayValues;
}

Przykład użycia

$arrayValues = [
    'val3.1' => 'valsss',
    'val3.2',
    'val3' => [
        'val3.1' => 'valsss',
        'val3.2',
        'val3.3' => [
            'val4.1',
            'val4' => ['vall'],
        ]
    ],
];

$free = array_flatten($arrayValues, $newArrayValues);
echo '<pre>'; print_r($newArrayValues); print_r($free); echo'</pre>';


/*
Array
(
    [val4] => Array
    (
        [0] => vall
    )
    [val3.3] => Array
    (
        [0] => val4.1
    )
    [val3] => Array
    (
        [val3.1] => valsss
        [0] => val3.2
    )
)
Array
(
    [val3.1] => valsss
    [0] => val3.2
)
*\

Wyjaśnienie

Funkcja korzysta z rekurencji do wyciągania tablic z wartościami i umieszcza je w innej tablicy. array_flatten($arrayValues, $newArrayValues) przyjmuje 2 parametry: – Tablica z wartościami – Tablica wynikowa

Dodatkowo sama funkcja zwraca tablicę wartości które mogły się znaleźć bezpośrednio w tablicy danych.

Autor wpisu: zleek, dodany: 10.03.2015 10:48, tagi: sql

In many cases we store some additional data in tables, which are helpful for some management tasks. But sometimes those data are problematic, especially if we would lie to have unique data. Lets think about following case. We have table (user_log_table) in our database where we store all login and logout actions of our users. […]
Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.