Pull to refresh
0
Василь Бєляєв @VXPread⁠-⁠only

C#, C++, Lua

Send message

Создание VK чат-бота на базе VkBotCore C#

Reading time3 min
Views9.9K
Данная статья создана для ленивых людей, которые не хотят много кодить и иметь дело со всей «начинкой».

Подготовка группы


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

Для этого заходим в раздел «Сообщества» и нажимаем «Создать сообщество»

image

Теперь настроим его для работы с Callback-API //Подробнее про Callback-API

Переходим в «Управление»>>
Читать дальше →

Корпоративные телефоны каждому из 31 тысячи сотрудников

Reading time8 min
Views27K
У каждого сотрудника Леруа Мерлен есть корпоративный телефон. Там два слота под симки: один — под корпоративную с пакетом в 100 минут и трафиком для корпоративных приложений и 3 Гб на мобильный интернет-трафик, во второй можно втыкать личную. На телефонах — мессенджеры, соцсети, личные звонки и корпоративный EMM с двумя десятками корпоративных же приложений. То есть если надо сказать что-то сотруднику в магазине, то он получит сообщение в Ватсапе. Заболел ребёнок — тоже жена дозвонится в рабочее время.

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

Я с командой провела исследование на 1000 человек про то, можно ли перенести наши основные процессы в мобильность, тогда ещё было не ясно нужен нам терминал или телефон. И если да — какой он должен быть. Будут ли сотрудники использовать свой личный телефон или устройство должно быть предоставлено компанией? Какой личный аппарат сейчас у сотрудника? После этого мы смотрели на мировые практики. В итоге выбор пал в сторону телефона от компании, чтобы не поддерживать зоопарк устройств. Телефон — потому что устройство должно быть у каждого в руках и доступно в любой момент, что нельзя обеспечить с терминалом.
Читать дальше →

Product very first. Выгорание

Reading time4 min
Views29K
image

Когда-то я работал в медицинском Калифорнийском стартапе. Там было 20 человек, но ни одного доктора.

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

Я ушел оттуда, потому что не понимал, как я могу определять, какие анализы рекомендовать в выпадашке, если у меня нет медобразования.

У нас с женой договоренность, перед тем как покупать лекарство, она гуглит его, и если там не написано БАД или гомеопатия, то покупает.

Спасибо Яндекс.Медицина, ты торчишь мне 460 рублей за купленный женой Эргоферон. Я считал Я.Медицину адекватной, извините.
Читать дальше →

Анатомия накопителей: SSD

Reading time6 min
Views57K
image

Часть 1. Анатомия накопителей: жёсткие диски

Твёрдый, как камень


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

Первые шаги на этом пути были сделаны компанией Toshiba, предложившей в 1980 году концепцию флеш-памяти. Четыре года спустя она создала NOR-память, а в 1987 году — NAND-память. Первый коммерческий накопитель с использованием флеш-памяти (solid state drive, или SSD) был выпущен SunDisk (позже переименованной в SanDisk) в 1991 году.
Читать дальше →

Подстава с NVMe на Линуксе

Reading time2 min
Views57K
Доброго времени суток.

Хотел обратить внимание сообщества на характерную особенность Linux при работе с несколькими NVMe SSD в одной системе. Особенно актуально будет для тех кто любит делать из NVMe программные RAID массивы.

Надеюсь, что информация приведенная ниже поможет уберечь ваши данные и избавит от досадных ошибок.
Читать дальше →

Онлайн тестирование — вы серьезно?

Reading time12 min
Views24K


Представьте Ваши ощущения, если Вам будет предложено сдавать экзамен на водительские права каждый раз при смене автомобиля той же категории. Я не буду спорить, что каждый водитель должен знать правила дорожного движения наизусть, однако в реальности такие водители встречаются крайне редко. Подавляющее большинство водителей, управляя автомобилем уже несколько лет, держат в голове только ключевые правила, например, движение на перекрестке. У подавляющего большинства водителей годами не случается ни одного ДТП. А ведь именно безопасность дорожного движения является основным назначением правил дорожного движения.

В итоге пересдача прав случается только со злостными нарушителями дорожного движения. При поступлении на работу водитель обязан просто показать права, он не обязан сдавать экзамен. Так почему же разработчик должен каждый раз доказывать свою профессиональную пригодность? Кто-то скажет, что далеко не у каждого программиста есть сертификаты (аналог водительских прав) и что далеко не каждая технология вообще может быть сертифицирована. Согласен, но только в случае приема на работу выпускников учебных заведений, не имеющих опыта, и только в случае, если диплом непрофильный. В случае, если есть документальные подтверждения предыдущего опыта работы в аналогичной должности, уверен, можно обойтись без тестирования.

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

Cascadeur: Задача о падающей кошке

Reading time3 min
Views26K

Все знают, что кошка всегда приземляется на 4 лапы, как бы ее ни бросили. Этот вопрос давно занимал физиков, и было предложено несколько моделей того, как это кошке удается. Все эти модели достаточно приблизительны и обычно ограничиваются цилиндрами. Однако, команда программы для physics-based анимации Cascadeur попробовала смоделировать переворот кошки на более подробной физической модели.

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

FreeBSD: гораздо лучше GNU/Linux

Reading time11 min
Views146K
Сравню FreeBSD с GNU/Linux системами. Всё это исключительно субъективное мнение! Многое это просто мой опыт. Почти 100% всего времени я провожу за компьютером и исключительно Unix системами, примерно поровну с FreeBSD и GNU/Linux, вот уже 20+ лет.

Большая часть достоинств FreeBSD также относится и к другим популярным свободным BSD системам: NetBSD, OpenBSD, DragonflyBSD. Что-то в этих системах будет получше, многое появилось впервые не в FreeBSD, но перекочевало в неё. FreeBSD многое наследует от NetBSD (различные драйвера и подсистемы), от OpenBSD (сетевые технологии), DragonflyBSD (лучшая масштабируемость на многопроцессорных платформах), от Solaris (DTrace, идея Jail-ов, ZFS), сочетая самое лучшее ото всех.

Если коротко, то FreeBSD это высокое качество, надёжность, удобство и простота работы. GNU/Linux это зоопарк, помойка малосвязанного кода, мало чего доделываемое до конца, отсутствие документации, хаос, базар.
Читать дальше →

Оконные функции с «форточкой» или как пользоваться фреймом

Reading time5 min
Views95K
Всем привет. 26 февраля в OTUS стартовали занятия в новой группе по курсу «MS SQL Server разработчик». В связи с этим я хочу поделиться с вами своей публикацией про оконные функции. Кстати, в ближайшую неделю еще можно записаться в группу ;-).





Оконные функции прочно вошли в нашу практику, но мало кто знает как работают фреймы RANGE и ROWS.

Возможно поэтому они несколько реже встречаются. Цель этой статьи привести примеры использования, чтобы у вас точно не осталось вопросов “Кто есть кто?” и “Как это применять?”. Вопрос “Зачем?” в статье останется не освещенным.

Давайте разберемся что такое фрейм, и как схожего эффекта достичь с помощью ORDER By в предложении OVER().

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

Как конкуренты могут легко заблокировать ваш сайт

Reading time4 min
Views64K
Недавно мы столкнулись с ситуацией, когда ряд антивирусов (Касперский, Quttera, McAfee, Norton Safe Web, Bitdefender и несколько менее известных) начали блокировать наш сайт. Изучение ситуации привело меня к пониманию, что попасть в список блокировки крайне просто, достаточно нескольких жалоб (даже без обоснования). Детальнее проблему я опишу дальше.

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

Читать дальше →

Анатомия накопителей: жёсткие диски

Reading time8 min
Views125K
image

Он магнитный. Он электрический. Он фотонный. Нет, это не новое супергеройское трио из вселенной Marvel. Речь идёт о хранении наших драгоценных цифровых данных. Нам нужно где-то их хранить, надёжно и стабильно, чтобы мы могли иметь к ним доступ и изменять за мгновение ока. Забудьте о Железном человеке и Торе — мы говорим о жёстких дисках!

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

You spin me right round, baby


Механический накопитель на жёстких дисках (hard disk drive, HDD) был стандартом систем хранения для компьютеров по всему миру в течение более 30 лет, но лежащие в его основе технологии намного старше.

Первый коммерческий HDD компания IBM выпустила в 1956 году, его ёмкость составляла аж 3,75 МБ. И в целом, за все эти годы общая структура накопителя не сильно изменилась. В нём по-прежнему есть диски, которые используют для хранения данных намагниченность, и есть устройства для чтения/записи этих данных. Изменился же, и очень сильно, объём данных, который можно на них хранить.

В 1987 году можно было купить HDD на 20 МБ примерно за 350 долларов; сегодня за такие же деньги можно купить 14 ТБ: в 700 000 раз больший объём.

Мы рассмотрим устройство не совсем такого размера, но тоже достойное по современным меркам: 3,5-дюймовый HDD Seagate Barracuda 3 TB, в частности, модель ST3000DM001, печально известную своим высоким процентом сбоев и вызванных этим юридических процессов. Изучаемый нами накопитель уже мёртв, поэтому это будет больше похоже на аутопсию, чем на урок анатомии.

Попытка решить проблему выбора авиабилетов перед отпуском #2

Reading time2 min
Views7.3K
Всем привет! Настали длинные выходные, а это значит, что пришло время поделиться новыми фичами, которые были сделаны с момента предыдущего поста:

  1. Комбинатор сложных маршрутов
  2. Сложные билеты (треугольники)
  3. История цен на билеты

Скриншот одной из новых фичей:

image
Читать дальше →

Мои любимые инструменты разработчика в Chrome

Reading time3 min
Views25K


Доброго времени суток, друзья!

Chrome Developer Tools — очень мощный набор инструментов для разработки веб приложений. С помощью этих инструментов мы можем перемещаться по DOM, осуществлять проверку запросов на сервер, настраивать производительность приложений и др.

Среди множества доступных возможностей, существует несколько по-настоящему интересных. Эти «фичи» помогают делать на один-два клика меньше — разве не для этого мы здесь собрались?
Читать дальше →

Обходим детектирование виртуальной машины программами в VMWare

Reading time3 min
Views146K
Разработчики вирусного ПО и просто разработчики, не желающие, чтобы их программу пытались реверсить, на этапе запуска или установки проводят проверки на виртуальную машину, и в случае её обнаружения отказываются работать, а то и вовсе самоликвидируются. Под катом описан способ, как можно попробовать решить эту проблему.
Читать дальше →

Краткие заметки embed-программиста: дублирование секции в памяти микроконтроллера

Reading time9 min
Views6.5K

Начальные условия


Есть устройство на базе микроконтроллера (для примера будет взят stm32f405rgt6). При включении оно настраивает свою периферию на основе предпочтений пользователя или настроек по-умолчанию. Пользователь может менять настройки во время работы устройства (как правило, только во время интеграции в комплекс) через один из возможных интерфейсов (CLI меню или утилита установки параметров работы, работающая через бинарный протокол). После установки параметров пользователь сохраняет настройки специальной командой (так же через один из возможных интерфейсов).
Читать дальше →

«Коллеги, дышите потише»: почему офисный шум сводит нас с ума — обсуждаем исследования

Reading time5 min
Views40K
Для многих людей опенспейсы — символ корпоративного ада. Противники открытой планировки говорят об ощущении переполненного муравейника, который населяют не люди, а производственные единицы. Разберемся, откуда появляется такое ощущение. И какую роль в этом играет шум.

Читать дальше →

Как работает парктроник и как его обмануть

Reading time3 min
Views51K
imageВ один прекрасный день… Зачем я вру? Не настолько прекрасен был день, когда у меня сдох отечественно-китайский парктроник, установленный еще прежним владельцем. Надо что-то делать, но что? Купить на любой онлайн площадке очередное готовое изделие? Неинтересно. В сети, да и на хабре, есть достаточное количество материалов о реверсе протокола общения блока с индикатором или о создании своего парктроника на Arduino. И можно пойти по одному из этих путей. Но это все не то, чего желала душа. А желала она чего-то более штатного, приближенного по исполнению к автомобильной электронике.
Читать дальше →

Обзор исходного кода Quake 2

Reading time51 min
Views62K
image

Около месяца свободного времени я уделил чтению исходного кода Quake II. Это был удивительный и поучительный опыт, потому что в движок idTech3 внесено большое изменение: Quake 1, Quake World и QuakeGL объединены в одну красивую архитектуру кода. Особенно был интересен способ, которым достигли модульности, несмотря на то, что язык программирования C не обеспечивает полиморфизма.

Quake II во многих отношениях является блестящим образцом программного обеспечения, потому что это был самый популярный (по количеству лицензий) трёхмерный движок всех времён. На его основе было создано более 30 игр. Кроме того, он ознаменовал переход игровой индустрии от программной/8-битной системы цветов к аппаратной/24-битной. Этот переход произошёл примерно в 1997 году.

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

Процесс «подчистки» меня сильно увлёк: в статье теперь более 40 мегабайт видео, скриншотов и иллюстраций. Сейчас я не знаю, стоили ли мои труды того, и нужно ли публиковать в будущем необработанные заметки в ASCII, выскажите своё мнение.

Нет комарам! Обзор антимоскитных «фитобоеприпасов»

Reading time15 min
Views32K
Написав статью про растения отпугивающие клещей я получил большое количество вопросов по поводу других насекомых. И тут уж комары — лидеры. Им этот обзор и посвящается, объединил в одно сообщение все заметки из своего канала с хэштегом #mosquitocide


Скажем НЕТ Комарам!

Нет клещам! Растения против переносчиков болезни Лайма

Reading time3 min
Views46K
Сегодня я написал в своем канале заметку про отпугивание клещей растительными заграждениями. А потом подумал, и решил продублировать на хабр. Пусть она и небольшая по размеру, и не совсем подходит под характерные для меня лонгриды. Но ведь не у всех есть телеграм. И именно сейчас лучшее время для поиска и закупки семян различных растительных репеллентов и «клещегонов». Поэтому сегодня под катом — про биобарьеры против боррелиозного клеща. Из каких растений их лучше сделать!


Защитить дачу от клещей!

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity