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

Щоб оцінити час на розробку, а для фрілансера відповідно і вартість, потрібно осягнути задачу. Іноді, щоб назвати час, потрібно три дні…

Попереднього разу я намагався описати як я бачу ситуацію оцінки задач зі свого боку. Сьогодні трохи доповнення. Змоделюємо ситуацію:

Ви описали задачу, зробили 90% від об’єму і бачите, що у Вас залишилось ще 90%… Наступного разу Ви звісно перестрахуєтесь, візьмете час з запасом, а також серйозніше підійдете до аналізу. Проте як бути зараз.

php очищаємо текст від табів та нових рядків

Команда php для очистки тексту від зайвих відступів та нових рядків. Вічно забувах, хай тут полежить.

$elementsSubChild = preg_replace('/\t+/', '', $elementsSubChild);

$elementsSubChild = preg_replace('/^\h*\v+/m', '', $elementsSubChild);

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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