Стать программистом!

Стать программистом!

Angular2: Шаблон в отдельном файле

Для начала работы с Angular2 и перехода на него нужно решить в общем и целом всего несколько вещей — как формировать шаблоны, как получать данные и роутить контроллеры и как собственно потом это все выложить на сервер. По очереди разберем эти вопросы — и самым первым — вопрос дизайна и адекватности шаблонов, так как чтобы мы потом не делали — если работа выглядит «говняшкой» — то это говняшка.

Продолжить чтение…


Стать программистом!

PHP: Игра зоркий глаз ревьювера

Предлагаю теперь поиграть со мной и найти ошибки/улучшения в следующих примерах. Если ошибки не видно — посмотрите еще раз и напишите мне комментарий

Пример 1

$cache_title = 'lookup_' . $t . '_' . mb_strtolower($q) 
  . '_' . $location_id . '_' . $location . ($this->is_full_search) ? '_full' : '';

Пример 2

if ($new_pass != $new_pass_repeat 
  || in_array($pass, array($new_pass, $new_pass_repeat)) 
  || mb_strlen($new_pass, 'UTF-8') < 4) {

Пример 3

$query = 'SELECT json_agg(p.*) FROM (
  SELECT id, name, url, friendly
  FROM ' . SITES_TABLE . ' as s
  WHERE s.id<>' . (int)$id . ' AND s.url_host=' . $url . '\' 
  AND s.status IN (' . STATUS_SITE_LIST . ')
  ) AS p
LIMIT 25';
$return['url_clones'] = json_decode(DB::query($query), true);

Пример 4

UPDATE content.sites_contacts AS u 
SET (zip,address,phone,map,fax,fio_org,email_org,description_full)=(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL) 
WHERE (
  SELECT sub.match FROM (SELECT (content.sites_contacts.*)=(u.*) AS MATCH FROM content.sites
  LEFT JOIN content.sites_contacts ON content.sites_contacts.id_site=content.sites.id 
  WHERE content.sites.id=17217) AS sub
)

Пример 5

$conditions = $conditions ? $conditions : '';
IF (is_array($conditions)) {
	$conditions = '(' . implode(') AND (', $conditions) . ')';
}

Стать программистом!

Читабельный код — залог успеха

Не важно на каком языке и что Вы пишите — рано или поздно Вам придется любой свой код менять и улучшать. Конечно это при условии что Вы не пишите одноразовые салфетки — тогда да, можно использовать и выкинуть, но выкидывать код клиенту не нужно)

Это примеры нехорошего кода, который нужно искоренять у себя из подкорочки даже.

Продолжить чтение…


Стать программистом!

PHP: Перехват неперехватываемого или как сделать try catch warning: mail

Немного из жизни: есть у нас красивая, отличная конструкция выполнения try catch, ошибки которой должны отправляться в живом режиме на емейл ответственного программиста. Без дополнительных настроек великолепно работает. Но вот иногда — не часто, но иногда — мейл сервер тоже не очень хорошо работает, а функция mail самая бронебойная (кстати как и дефолтные соединения с базой, и еще парочка невероятно простых, нужных и вредных функций) — она дает сообщение о ошибке, но ошибку не генерирует.

Продолжить чтение…

Метки:


Стать программистом!

Facebook: Кнопки социальных сетей без замедления страницы

Иногда бывает: делаешь как лучше, а становиться как хуже. Так происходит с внедрением социальных сетей на сайт — кнопки «лайка» не так просты, как кажется. Но проще чем Вы думаете. На примере кнопки Facebook

Продолжить чтение…