.htaccess — блокуємо IP

У випадку, якщо з боку стороннього ресурсу йдуть запити, які створюють непотрібне навантаження на сервер, цей ресурс, а точніше його IP можна заблокувати.

Таким ресурсом може бути взламаний сайт, або бот “незрозумілої системи”, який обходить Ваші сторінки, але що навряд підніме  сайт в пошукових мережах.

robots.txt — основний синтаксис

Основна місія файлу  — допомагати пошуковим ботам фокусуватись на необхідному і відсіювати системні директорії. Допомога власне полягає в тому, що пошукові боти не витрачають час на численні файли плагінів та ядра системи, які не відносяться до контенту сайту.

Сканер товарів

В житті має бути місце для поезії — раз в рік я макаюсь мордочкою в цікавий проект, цього разу це павук для пошуку та обробки товарів.

Історія коротка — є добрі люди, які возять товари з Ikea, возять в пристойних об’ємах, що дозволяє заробляти навіть при мінімальній націнці. Єдина біда — товарів на сайтах Ikea майже 10 000 — відтак, якщо якийсь з продуктів знімають, а його вибирають на сайті компанії-продавця в Україні, то виходить доволі незручно. Відтак завдання почалось з того, щоб просто перевіряти наявність товарів на основному сайті.

Ну, а далі пішла еволюція: сканування товарів в загальному, переклад на українську, конвертація валюти, додаткові розширення тощо.

В процесі роботи набрався непоганий кейс рішень з базами та curl-запитами — про них детальніше в наступних матеріалах.

Дорожня мапа побудови особистого бренду

Навіть якщо Ви просто фрілансер, який тягає замовлення з upwork, рано чи пізно Ви всерівно задумаєтесь над своїм місцем під сонцем — побудовою бренду.

Потрібно це хоча б для того, аби відсіювати “не своїх” клієнтів і вкладати час на перспективну співпрацю.

Дорожня карта самоосвіти девелопера

Компанії не прагнуть зараховувати Ваш фрілансерський досвід до активної практики. І правильно роблять. Чим ближче від домашнього холодильника працює програміст, тим нижче його ККД та розвиток. Фактично фрілансер програє по всьому:

  • по взаємодії з командою;
  • по скілах;
  • по трудовій дисципліні;
  • точності планування.

Щоправда, якщо трудову дисципліну ще можна надолужити, взаємодію з командою швидко налаштовують, якщо ти не повний соціопат, то з навиками можуть бути серйозні трабли — простий смертний ніколи не прокачає за кілька місяців річний багаж знань та досвіду. Тут потрібно постійно прюцювати.

Console.log() для дебагу фронтенду

Першу свою відладку javascript я робив через alert(). Це був невеликий обхід об’єктів з поверненням їхніх параметрів. З того часу природна лінь автора не стимулювала його до оптимізації, а поза тим, відладка функцією Alert() — це вже давно ознака поганого тону…

Зараз пристойна публіка використовує Console.log() та інструментарій вебмайстра. Що дає використання методу, окрім того, що Ваша відладка не заважатиме користувачам. Назву кілька аспектів, які сам юзаю:

Моніторимо активацію подій через інспектор. Chrome Web Inspector — event listener breakpoints

Фотографи доволі специфічний тип клієнтів — вони готові нашпигувати головну сторінку десятком-другим зображень ширших за 6000 пікселів і переповнюватись праведними наріканнями в бік продуктивності рендерингу.

Перевір казаписів на унікальність MySQL

Простий скрипт перевірки продублюваних записів в базі даних.

SELECT name, count(*)
FROM table_dest
GROUP BY name
HAVING count(*) > 1
ORDER BY count(*);

При скануванні інформації в великих об’ємах важливо, щоб вона не повторювалась — при записі можна також користуватись альтернативним способом перевірки.

$query_insert = "INSERT INTO Products (ProductURL)
SELECT * FROM (SELECT '" .$url ."') AS tmp
WHERE NOT EXISTS (
 SELECT name FROM Products WHERE ProductURL = '" .$url ."'
) LIMIT 1";