xtrime

xtrime

пикабушник
пол: мужской
поставил 1821 плюс и 53 минуса
проголосовал за 0 редактирований
3259 рейтинг 486 комментариев 30 постов 0 в "горячем"
13

Агрегатор контента своими руками. Попытка №2.

Агрегатор контента своими руками. Попытка №2. Веб-Разработка, Разработка сайтов, Агрегатор для агрегаторов, Telegram бот, RSS, Smm, Длиннопост

Привет моим верным подписчикам и лиге вэб разработчиков! В данном посте я поведаю о:

- паре забавных случаев, возникших при разработке новой версии моего агрегатора котиков и мемасиков (а так же новостей, видео, пабликов, групп, RSS и Telegram каналов );

- текущем состоянии дел и планах развития.


Около 800 дней назад я опубликовал первую версию агрегатора контента и сделал пост на пикабу. Сервис получился неплохим и мои цели удовлетворял. Я пользовался им каждый день, для просотра мемасиков и котеек. Но, к сожалению, большого интереса у пользователей не вызывал. А в комментариях знающие люди советовали весь функционал перенести на сервер, что бы на клиентских устройствах все работало максимально быстро.


Так как по своей натуре я перфекционист, то идея сделать все "красиво" не давала мне покоя и в 2017 году я наконец сдался и решился переписать все с 0, нанять хорошего дизайнера и выкатить ресурс который заткнет за пояс конкурентов :) Получилось ли у меня или это очередное фиаско, я надеюсь узнать сегодня, в комментариях к этому посту :)


Итак, начнем с пары интересных задач, которые пришлось решить при разработке.


1. Как я добавлял вывод телеграмм каналов.


В последний год появляется все больше популярных телеграм-каналов. Но лично мне не удобно читать их в приложении, хотя я не пробовал :). Я сразу запланировал, что в новой версии агрегатора обязательно должна быть возможность вывести в свою ленту посты из любых публичных телеграм-каналов вместе со всеми другими источниками.


Обилие инструкций по работе с телеграм-ботами воодушевляло и я рассчитывал, что задача не займет много времени. И еще я не понимал, почему никто не сделал аналогичного сервиса :)


Как это всегда бывает в разработке, препятствия возникли на ровном месте: оказалось, что для того, что бы бот мог читать какой-то канал, бота надо туда добавить. Поэтому вариант сразу отпал. И я перешел к чтению мануалов на основной API телеграма.


Через 30 минут изучения документации я был в отчаянии.



Все данные у телеграма шифруются, что бы получить что то от их серверов нужно обладать степенью магистра по криптографии... И, конечно, обычные http запросы - это не для них, только низкоуровневые socket, отдающие чистые байты, только хардкор. Вообщем без сторонней помощи задача была нерешаемая.


Несколько дней поиска привели меня к решению: использовать на сервере opensource php телеграм клиент. Дада! Можно использовать телеграм под php, и там даже есть поддержка звонков! Это чудо называется madelineProto и исходники доступны на гитхабе.


В итоге, через 3 дня настройки и две блокировки моего аккаунта из-за чрезмерного количества попыток авторизации я настроил клиент и решил задачу. Теперь у меня есть свой шлюз из telegram в web! А пользователи могут читать любые публичные телеграмм каналы у меня на сайте без регистрации и смс.


2. Парсинг youtube каналов.


С API youtube'a вообще вышло забавно. Их справка предлагает использовать php плагин от гугла для доступа к API.  От их API мне нужно было не много: список видео на канале с метаданными, название канала и его логотип. У vk или fb такой запрос создается парой строчек кода и разобраться можно за пол часа.


Но у гугла свой путь разработки :)

Я смирился с тем, что плагин для доступа к API весит более 30 мегабайт. Но я еще и не смог настроить его за 3 часа!

В итоге, кликая на все подряд в справке гугла, оказалось, что плагин можно вообще не использовать, а для получения всей информации - воспользоваться стандартным get запросом, как везде. На формирование запроса мне понадобилось ровно 10 строк кода и 15 минут, вместо 30 мегабайтного плагина.

А потом люди удивляются: "а почему андройд притормаживает на 8-миядерных процессорах и требует 4 гигабайта оперативы?" ;)


3. Что сейчас с агрегатором?


Я запустил вторую версию пару недель назад, и уже выловил все критичные баги. Сейчас все работает стабильно и быстро. Сейчас надеюсь получить отклик от армии пикабу (хотя бы от небольшой ее части), узнать чего им не хватает и что нужно поправить.


4. Планы


- Добавить прямые ссылки на отдельные источники

- Расширять список источников: imgur, rutube, reddit, новостные сайты.

- Привлечь ядро активных пользователей, что бы были данные для формирования ленты популярных постов;

- Добавить в ленту вывод видео и гифок, что бы сократить число внешних переходов;

- Е-маил рассылки с лучшими постами за день/неделю (естественно при желании пользователя);

- Сотрудничество с создателями контента для совместного продвижения.



5. Техническая часть.


Для тех кому интересно то под капотом следующий стек технологий:


Backend: самописный, доставшийся мне в наследство на одном из проектов и переписаный мной под свои нужды. Используется шаблонизатор smarty.

БД: Mysql

Fron-end: HTML + Angular JS 1, так же используется Jquery 2 (в 3-й версии scroll события в firefox не работают периодически) для анимаций.


Парсинг осуществляю с помощью библиотеки php-query или через API раз в 5 минут по CRON'у в порядке живой очереди с приоритетом на публичные источники. Т.е. если за 4 минуты сайт не успел пройтись по всем источникам, то скрипт останавливается. А в следующий раз в начале очереди находятся те источники, которые дольше всего не обновлялись. Очереди для публичных и персональных источников разные - по 2 минуты и на те и на другие.


Если вас заинтересовал проект, то буду очень признателен за любые отзывы и комментарии. Ссылка (на пикабу, вроде, разрешено в конце поста давать ссылку): https://i-c-a.su/

Показать полностью
9

Обзор руля Logitech G29 и кресла Playseat Alcantara.

Обзор руля Logitech G29 и кресла Playseat Alcantara. Длиннопост, Обзор, Руль, Gran turismo, Playseat, Сиденье, Игры, Своими руками
Обзор руля Logitech G29 и кресла Playseat Alcantara. Длиннопост, Обзор, Руль, Gran turismo, Playseat, Сиденье, Игры, Своими руками

Бензин дорожает, штрафы все выше. А значит надо готовиться к тому времени, когда ввалиться боком в поворот можно будет только перед телевизором. Вообщем, представляю вашему вниманию обзор данного комплекта:

Обзор руля Logitech G29 и кресла Playseat Alcantara. Длиннопост, Обзор, Руль, Gran turismo, Playseat, Сиденье, Игры, Своими руками

ПРИОБРЕТЕНИЕ.


ПРЕДУПРЕЖДЕНИЕ: я буду указывать реальные названия компаний/магазинов и цены. Это не реклама, просто я считаю нужным рассказать о своих впечатлениях со всеми деталями.


С приобретением руля особых проблем не возникло. Заказывать его из-за рубежа особого смысла не было, предложений в Москве хватает и цена получится почти такой же. А мне даже повезло.


В начале декабря, в очередной раз зайдя на Я.маркет увидел, что минимальная цена на руль прилично упала, до 25 990 рублей. Оказалось, что в юлмарте утром была какая то акция или ошибка, на своем сайте цену они уже увеличили, а в маркете и в контекстной рекламе она осталась ниже минимальной по рынку на пару тысяч.


Я решил, что это знак судьбы и позвонил в отдел заказов с просьбой продать мне этот руль по цене на маркете. К моему удивлению, менеджер, выслушав меня, проверил данные на маркете и сказал, что отправит запрос руководству и перезвонит мне.


Примерно через 15 минут он сообщил, что руководство одобрило для меня индивидуальную скидку и они продадут мне руль по цене на Я.маркете. С такими большими скидками, по его словам, он раньше не сталкивался. Я оформил заказ на сайте, а он вручную добавил к заказу скидку. На следующий день я забрал руль. Вообщем удачно заглянул. Почаще бы случались такие ошибки.


С заказом сиденья Playseat так не повезло. Во первых в России им торгует всего одна фирма. И цена там кусается. Цена за бугром даже с учетом курса ниже на 10 тыс. руб., а если заказывать в computeruniverse, то они не начисляют НДС при доставке в РФ. Но такие большие посылки они не доставляют в другие страны.


Я даже поискал предложения на авито. Но в магазине предупредили, что вещь редкая и дорогая, и есть большой шанс нарваться на подделку. Было всего пара предложений и цена на б/у всего на пару тысяч ниже, чем на новое в computeruniverse. Риск был велик, решил искать посредника для доставки из-за рубежа.


На тот момент у shopotam была акция: бесплатная доставка товаров из германии без ограничения веса. Нужно было только указать им ссылку на товар в одном из крупных немецких магазинов (computeruniverse был в их числе). Пополнить счет на сумму товара, доставки до их склада и их комиссии (10%).Я уже пользовался их mail forwarding’ом в США, так что долго не раздумывал.


Cхема с выкупом специалистами shopotam оказалась гораздо медленней и хуже mail forwarding’а. Ожидаение выкупа длилось оооочень долго.


Выкуп товара за неделю — это если повезет. А если цена в этот момент изменится, то нужно ждать снова: пока пришлют запрос и вы его одобрите, закинете еще денег и тд. Мне не повезло. Цена поменялась, я принял решение сменить магазин на другой, потом computeruniverse дико долго вез посылку на склад shopotam. Вся канитель заняла пару недель. Потом еще пара дней на формирование посылки и ее отправку. И еще пара недель на доставку до Москвы.


В России тоже было не все гладко. Доставкой занимался Shiptor, это агрегатор служб доставки. После выпуска посылки из таможни трекинг перестал обновляться (он не обновился и через 3 месяца). Я с трудом нашел реальную грузовую компанию, которая перевозила товар (оказался ПЭК). Выяснилось, что они ждут от shiptor оплату доставки (300 руб.) и поэтому не везут товар, но вообще он уже неделю лежит у них. Не знаю помогли мои звонки или нет, но через пару дней деньги им поступили и 25 декабря я получил свой Playseat Alcantara.


Вообщем, заказывая бесплатную доставку сразу приготовьтесь ждать пару месяцев. Зато никаких ограничений по массе. Кроме того, при бесплатной доставке магазин точно не вычтет из цены НДС, так что бесплатно не значит дешевле, нужно просчитывать варианты.


Сиденье мне вышло в 27 тыс. руб. при цене в РФ от 35. Всего, благодаря хитрожопости акциям и скидкам удалось сэкономить на комплекте (руль+сиденье) 10 тыс. руб. (-15%).

СБОРКА И УСТАНОВКА.


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


В комплекте поставки playseat есть почти все необходимое: болты, шестигранники, крепления для проводов с велкро-липучками. Не хватает только войлочных или силиконовых подпятников, что бы кресло получше стояло на полу. Но эта проблема решается покупкой таковых за 100 руб в хозмаге.


Результат сборки на фото. На момент съемки не успел аккуратно собрать провода и не приклеил подпятники.

Обзор руля Logitech G29 и кресла Playseat Alcantara. Длиннопост, Обзор, Руль, Gran turismo, Playseat, Сиденье, Игры, Своими руками
Обзор руля Logitech G29 и кресла Playseat Alcantara. Длиннопост, Обзор, Руль, Gran turismo, Playseat, Сиденье, Игры, Своими руками

Само кресло очень удобное, алькантара — черная и приятная ;). После сборки и нескольких переборок для настройки и наклейки подпятников кресло стоит очень уверенно, люфтов нигде, кроме педального блока, нет. А вот педальный блок очень разочаровал.


Основная его беда — хлипкая конструкция, несмотря на толстый металл. Он держится на 4 болтах. 2 осевых, вокруг которых он может вращаться для регулировки наклона и два фиксирующих. Расстояние между болтами небольшое, а центр тяжести и вся нагрузка находятся далеко от них. В итоге образуется рычаг. В добавок к проблемам конструкции, педаль тормоза на Logitech G29 в конце хода усиливает свое сопротивление и для интенсивных торможений нужно прикладывать усилие. При этом педальный блок ходит туда-сюда, что дико раздражает, учитывая стоимость комплекта.


С технической точки зрения американо-китайцам, делавшим Playseat, даже на Автовазе были бы не очень рады: с одной стороны все удобно и красиво, но когда начинаешь пользоваться, то появляются неприятные косяки, которые перечеркивают все остальное.


Внешний вид и комфорт: 5 баллов, качество изготовления: 4 балла, продуманность конструкции: 2 балла.


Единственный способ не впасть в депрессию в такой ситуации — изобразить из себя инженера и решить проблему самому, используя инструкцию из интернета:

Обзор руля Logitech G29 и кресла Playseat Alcantara. Длиннопост, Обзор, Руль, Gran turismo, Playseat, Сиденье, Игры, Своими руками

После посещения ближайшего хозяйственного магазина, помимо войлочных подпятников я прикупил пару самых длинных анкерных болтов длинной более 200 мм и диаметром 6 мм. и гаек М6

Обзор руля Logitech G29 и кресла Playseat Alcantara. Длиннопост, Обзор, Руль, Gran turismo, Playseat, Сиденье, Игры, Своими руками

Хвала стандартизации: резьба болтов и гаек подошла друг к другу.


Задумка была следующая: ввинтить в подставку для педалей болты и упереть их в пол, что бы при нагрузках подставка не люфтила. Удивительно, но задумка сработала.


Я закрепил болты в штатных отверстиях, хорошенько их затянул, а на шляпки приклеил войлочные подпятники. Это полностью решило проблемы с люфтами. Я даже вывернул фиксирующие болты и еще немного увеличил угол педального блока. Кстати резьба на фиксирующих болтах была почти слизана из-за постоянных попыток завернуть их получше и покрепче. Без доработки педальный блок долго бы не протянул…


После этого пользоваться Playseat Alcantara стало сплошным удовольствием.

Обзор руля Logitech G29 и кресла Playseat Alcantara. Длиннопост, Обзор, Руль, Gran turismo, Playseat, Сиденье, Игры, Своими руками
Обзор руля Logitech G29 и кресла Playseat Alcantara. Длиннопост, Обзор, Руль, Gran turismo, Playseat, Сиденье, Игры, Своими руками

ВПЕЧАТЛЕНИЯ ОТ LOGITECH G29


Изначально, начитавшись хвалебных диферамб про Fanatec, хотел купить их руль, но у них слишком мудреная система заказов, ничего нет в наличии, нужно выбирать между кучей вариантов и цены кусаются. Решил не испытывать судьбу и взять распространенный вариант. Насколько я понял, G29 это рестайлинг проверенного G27, адаптированный для работы с PlayStation 4. Покупать G27 сейчас смысла нет, так как он официально не поддерживается на PS4.


С PS3 руль тоже работает, только нужно переключить тумблер в режим совместимости с PS3. В комплекте идет педальный блок со сцеплением, но переключатель в стиле МКПП нужно докупать отдельно. Правда за 3 месяца мне ни разу не захотелось воспользоваться ручкой, так как даже при использовании подрулевых лепестков у меня время круга ухудшается.


Кстати, подрулевые лепестки по началу меня немного напугали. Они срабатывали через раз и очень нечетко. Даже появилась мысль отнести руль в сервис. Но за пару дней они разработались и теперь работают как положенно.


Сам руль очень тугой и четкий, но есть два небольших минуса: в «0» усилие отсутствует и в вывернутых положениях, при работе обратной связи, немного дребезжит. Вообщем периодически очень напоминает древнее ведро с болтами :) В остальном руль шикарен, кожа и строчка хорошего качества, лежит в руках как надо.


ВПЕЧАТЛЕНИЯ ОТ GRAN TURISMO 6


В 5ю и 6ю части играю примерно 5-6 лет по 3-4 часа в неделю на геймпаде. После завершения большей части одиночных заданий на «золото» катаю онлайн заезды, которые обновляются раз в пару недель. В мировом рейтинге занимаю места в районе 3000-6000, но пару раз приближался к 1000. Есть кое-какой опыт.


Даже с джойстиком я всегда удивлялся, как хорошо GT передает ощущения от автомобиля и его поведение, но после того, как прокатился со своим рулем, понял, что с геймпадом я ездить больше не хочу.


Кстати время на круге ухудшилось :) Но зато начали работать мышцы, поменялся стиль прохождения трасс и сложные гонки на мощных авто стали настоящим испытанием.


Минусы:


- Усилие на руле в GT6 зависит от силы сцепления колес с дорогой и первые пару недель это было не привычно. Отсутствие усилия в «0» тоже мешает;

- Дрифт на руле в GT6 практически невозможен. В реальной жизни дрифтить намного проще. Большинство машин срывает в занос очень резко и почти невозможно успеть скорректировать их рулем. Негативный вклад вносит и небольшая задержка между поворотом руля и реакцией игры (несколько десятков миллисекунд).

- отсутствие перегрузок :)


За пару месяцев мне удалось привыкнуть к рулю и особенностям его работы, время на круге улучшилось. А впечатления после победы в гонке на заднеприводных болидах японского класса GT500 по Северной петле, которую я пытался пройти в течении трех часов были очень яркими: усталость, боль мышц плечевой зоны, радость…


Повороты проходить очень приятно, четкость руления и педалей на высоте. Руль отрабатывает даже максимально резкие рывки при корректировке заносов без изменения сопротивления и точности. Усилие руля можно настроить вплоть до очень тяжелого. После привыкания заносы стало легче гасить (но всеравно в жизни гасить их еще проще). Подрулевые лепестки удобнее, чем на гражданских авто. Усилие на тормозе приятное, но под конец оно даже больше, чем на реальном автомобиле.


В итоге, даже после вождения настоящего спортивного авто такой комплект не разочаровывает, а это очень неплохое достижение. Своих денег он явно стоит. Рекомендую данный набор всем любителям автосимуляторов и просто авто-энтузиастам.  


Действительно передает реальные впечатления от вождения, здорово бодрит и тренирует навыки езды по кольцу. А еще он не жрет масло, не развалится через 3 года и в нем просто удобно сидеть и смотреть кино :)


Цена вопроса: 1 комплект трековой резины.


Ссылки:

Ссылка на оригинал (для гугла): http://www.tech-drive.ru/?p=2449

Ссылка на мой второй проект: http://i-c-a.su/

Обзор руля Logitech G29 и кресла Playseat Alcantara. Длиннопост, Обзор, Руль, Gran turismo, Playseat, Сиденье, Игры, Своими руками
Показать полностью 8
Отличная работа, все прочитано!