сентябрь
4
, 2019
Я люблю писать на разные темы. Но слишком увлекся: статьи о путешествиях и размышлениях в блоге о веб-разработке лишние.
Поэтому все посторонние темы переезжают на новый сайт ashestakov.ru
Это личный блог. Весь его смысл - научиться писать интересно и на разные темы.
Там я буду писать обо всем, что не влезает в формат технического блога.
Первый пост уже готов - впечатления о поездке в Черногорию.
Дальше будут еще путешествия, хобби, отзывы о книгах и еще несколько тем. Размышления об айти там тоже будут, но немного другого формата.
Если вы подписались на webdevkin.ru только из-за технических статей, то для вас ничего не изменится.
Только вскоре я уберу подальше статьи Курилки из общей выдачи, и они не будут мозолить вам глаза. Останутся только полезные (надеюсь) технические статьи.
Если же вам интересно, как я пишу не только об айти, переходите на ashestakov.ru.
Там нет email-подписки, но уже есть rss-лента.
Или следите за обновлениями в контакте.
Посты на новом сайте будут выходить чаще, чем на webdevkin-е. Все-таки писать без кода гораздо быстрее и легче :-)
Всем удачи.
Читать дальше
август
18
, 2019
Есть в этом что-то прекрасное - ехать к морю. Я задумывал романтику и хотел поехать на мотоцикле, но не удалось.
За 2 недели нужно было побывать в трех удаленных друг от друга точках.
На этой карте Питер - Сочи - Ульяновск. В километрах получается 2300 + 1800 + 1700 = 5800.
Маршрут меня не пугал, но проводить весь отпуск на колесах не хотелось, поэтому поступил как обычный офисный турист.
Утро, такси, Пулково, 4 сотни китайцев в очереди на регистрацию, самолет, сырок с паштетом и 3 с половиной часа полета. Пока все по плану.
Читать дальше
август
16
, 2019
Как и в случае с ребейзом, с форками в гите я разобрался не сразу.
Вроде ничего особенного там нет, это просто копия репозитория, но натыкаешься на какие-то подводные камни и не сразу понимаешь, как их обойти.
Да и вообще, зачем нужны эти форки, тоже осознаешь не сразу. Когда врубаешься, все становится просто, ну это как всегда.
Я не сторонник подхода "чо тут не понимать, тупой штоле" и попробую рассказать человеческими словами, что вообще такое форки, зачем они нужны и как с ними работать.
А вы оцените, как получилось. Синьор git девелоперам статья покажется банальщиной, но тем, кто еще не успел обрести такой титул, будет полезно.
Начнем с примера.
Читать дальше
август
1
, 2019
Продолжаем разбираться с vue.js. Мы на первом же уроке научились считывать и отображать данные из базы, пора разобраться, как ими управлять.
Сегодня мы будем работать с брендами и посмотрим, как их добавлять и удалять. REST API под это давно написан, сегодня исключительно фронтенд и vue.
Почему мы начинаем с брендов, а не с самого интересного, с товаров? Бренды и категории это самые простые сущности нашей админки.
Обе состоят состоят из двух полей, id и название title. Поэтому разобраться с ними проще, чем сразу с товарами.
Давайте сначала сделаем самое простое, а до товаров доберемся уже подготовленными. Сегодня реализуем добавление и удаление брендов, а редактированием займемся чуть позже.
Для категорий код напишем по аналогии, а потом приступим к вещам поинтереснее, к товарам.
Итак, начнем.
Читать дальше
июль
25
, 2019
Этот рассказ был частью большого поста о Сочи. Но я подумал, что тема забавная, и может быть, моя история кому-то поможет преодолеть страхи и тоже научиться плавать.
Или хотя бы просто поржать. Возможно, вы даже не помните, с каких лет плаваете. А возможно, как и я, дожили до тридцатника, не умеете и не любите в этом признаваться.
Ничего страшного. Просто помните, что когда-то каждый из нас не умел ходить и какать ровно в горшок. Итак, вот моя история.
Я всю жизнь не умею плавать. Как-то не сложилось. Вырос в таких местах, где особой воды не было. Была речка, но такая, что ее кошки вброд переходили, а собаки перепрыгивали.
Читать дальше
июль
23
, 2019
На страницах блога мы уже не первый месяц работаем с админками.
Сделали простую админку на файлах и пилим админку интернет-магазина на vue.js.
И все у нас хорошо, кроме того, что наши админки доступны всему интернету. Для тестового магазина в бложике это гордость, а для реального проекта - наоборот.
Это проблема авторизации в веб-приложениях и рано или поздно программисты с ней сталкиваются. Каждый решает это по-разному.
В золотые времена фриланса я уверенно закрывал страницы через body { display: none } и это работало. Сейчас так просто уже не получится, приходится читать гуглы и делать технологии.
Читать дальше
июнь
5
, 2019
Идея отправиться в одиночное мотопутешествие пришла мне в голову в конце 2017-го, еще до покупки мотоцикла.
Я живу в Питере, но родился и вырос в Ульяновской области. Я знал, что рано или поздно рвану на малую родину на своих колесах, это лишь вопрос времени.
1700 километров в одну сторону - таки вызов для первого раза. В 2018-м так далеко ехать я не рисковал и катался только в окрестностях Питера.
В сумме за сезон накатал всего 5 тысяч км и решил, что теперь-то готов. И в 2019-м забил отпуск на вторые майские, чтобы аккурат 9 мая отправиться в путь.
Читать дальше
апрель
30
, 2019
Ребят, нужно ваше мнение.
Я обычно не провожу опросы на тему "какую статью написать", но сегодня другой случай.
На webdevkin-е есть серия статей про фильтры в интернет-магазинах.
Если не читали, то вот демо-страница с фильтрами.
Иногда вы присылаете мне вопросы и пожеления на их доработку. Уже несколько раз была просьба показать, как делать сложные динамические фильтры. Что это значит?
В упомянутой серии уроков фильтры были, так сказать, фиксированные. Категории, бренды, цены и что-то еще.
У каждого товара есть такие характеристики. Но что если у нас большой магазин с кучей товаров разного плана? Например, мы продаем ноутбуки, телефоны и видеокамеры.
У ноутбуков есть параметры: процессор, объем памяти, тип и объем жесткого диска, диагональ экрана. У телефонов форм-фактор, ОС, объем памяти и цвет. У видеокамер что-то свое.
Каждой категории товаров присущи свои наборы фильтров и значений, причем они могут хитро пересекаться.
Например, диагональ экрана есть у ноутбуков и телефонов, но если у ноутбуков это значения 11, 13, 14 и 15 дюймов, то у телефонов скорее 4, 5, 5.5 и так далее.
Читать дальше
апрель
27
, 2019
Жизнь странная штука. Любой набор банальностей и простейших наблюдений способен вылиться в теорию, обсуждаемую десятилетиями.
Например, пирамида Маслоу, которую упоминают везде - от психологии до менеджмента.
Сам Маслоу без сомнения очень грамотный товарищ. Но была у него хитрость: слишком качественно подбирал подопытных для своих наблюдений.
Вы же знаете, на кого он ориентировался? Альберт Эйнштейн, отцы-основатели США и другие образцово-показательные люди.
К сожалению, великие мыслители не обсуждают свои идеи с мудаками вроде меня.
А может, и к счастью, иначе сколько бы стройных теорий разрушилось при общении со скептиками, привыкшими во всем сомневаться и везде искать подвох.
Жить стало бы скучнее: многие профессора не сделали бы себе карьеру, а что такое лайф-коучинг, мы не знали бы и по сей день.
Читать дальше
апрель
23
, 2019
Мы уже поработали и с vuex, и с компонентами vue. А сегодня затронем обе темы и займемся небольшим рефакторингом. Возможно, вы спросите зачем?
Вообще я редко рассуждаю о правильных паттернах и практиках, но сегодня на меня напал легкий перфекционизм.
Я уже немного бомбил на тему, что компоненты товаров и фильтры сделаны не так, как хотелось бы.
Частично потому, что в первых уроках без vuex мои задумки неудобно было исправлять, частично потому что находились и другие интересные темы.
В итоге товары и фильтры получились очень громоздким компонентом.
Кратко вспомним суть претензий: компонент товаров огромный, нужно его разносить, фильтры отдельно, фильтрам не нужно ничего знать о товарах, логику фильтрации нужно выносить во vuex.
В этом уроке мы и займемся причесыванием кода, сделаем приложение чуть более структурированным, а заодно узнаем несколько моментов работы с vue.
По функционалу ничего нового не будет, поэтому если вам не интересны манипуляции над кодом ради какой-то мифической правильности,
просто скачайте исходники и дождитесь следующего урока.
Там точно будет новый функционал и будет на что посмотреть.
Итак, поехали.
Читать дальше