• Всё, о чём должен знать разработчик Телеграм-ботов

      Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.

      Как вообще устроены боты? Как они взаимодействуют с пользователями? Что с их помощью можно реализовать, а что нельзя?

      Подробный гайд о том, как работать с ботами — под катом.

      Читать далее
    • Как оценить уровень владения английским языком



        На Хабре много статей о том, как самостоятельно изучать английский язык. Но вот вопрос, а как оценить свой уровень при самостоятельном изучении? Понятно, что есть IELTS и TOEFL, но эти тесты почти никто не сдает без дополнительной подготовки и эти тесты, как говорят, оценивают не сколько уровень владения языком, а скорее умение проходить эти самые тесты. Да и использовать их для контроля самообучения будет накладно.

        В этой статье я собрал различные тесты, которые проходил сам. При этом я сверяю свою субъективную оценку владения языком с результатами тестов. А также сравниваю результаты между разными тестами.
        Читать дальше →
      • [в закладки] 9 инструментов, повышающих продуктивность веб-разработчика

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



        Автор статьи, перевод которой мы сегодня публикуем, отобрал 9 таких инструментов.
        Читать дальше →
      • Sampler. Консольная утилита для визуализации результата любых shell команд

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


          Sampler


          Наблюдение за изменением состояния в базе данных, мониторинг размера очередей, телеметрия с удаленных серверов, запуск деплой скриптов и получение нотификации по завершению — конфигурируется за минуту простым YAML файлом.


          Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.

          Читать дальше →
        • Как дебажить переменные окружения в Linux

            Часто бывает так, что приходишь на машину и обнаруживаешь какой-то скрипт, запущенный под системным пользователем неделю назад. Кто его запустил? Где искать этот run.php? Или добавляешь запись в /etc/crontab, а скрипт там падает с ошибкой «command not found». Почему? И что делать? 

            У меня есть ответы на эти вопросы.

            Читать дальше →
          • 13 полезных однострочников на JavaScript

            • Translation
            Автор статьи, перевод которой мы сегодня публикуем, говорит, что он программирует на JavaScript уже многие годы. За это время он собрал коллекцию отличных однострочников — фрагментов кода, удивительно мощных, учитывая то, что укладываются они в одну строку. По его словам, большие возможности — это и большая ответственность, поэтому пользоваться этими конструкциями нужно осмотрительно, стремясь к тому, чтобы они не вредили бы читабельности программ.



            Здесь представлено 13 однострочников. Примеры подготовлены с использованием Node.js v11.x. Если вы будете использовать их в другой среде — это может повлиять на их выполнение.
            Читать дальше →
          • Что ты такое, замыкания в JavaScript?

            В этой статье я постараюсь подробно разобрать механизм реализации замыканий в JavaScript. Для этого я буду использовать браузер Chrome.

            Начнем с определения:
            Замыкания  - это функции, ссылающиеся на независимые (свободные) переменные. Другими словами, функция, определённая в замыкании, 'запоминает' окружение, в котором она была создана.
            MDN

            Если вам что-то не понятно в этом определении, это не страшно. Просто читайте дальше.

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

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

            Итак, приступим:


            Рисунок 1
            Читать дальше →
          • Ищем свободное парковочное место с Python

            • Translation
            image

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

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

            image

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

            Поэтому давайте немного развлечёмся и напишем точную систему уведомлений о свободной парковке с помощью Python и глубокого обучения
            Читать дальше →
          • Поиск задач в JIRA (простым языком). Часть 1: Быстрый и базовый поиск

              В последнее время JIRA активно используют организации, не имеющие прямой связи с IT. Специалистам, не знакомым ранее с JIRA, бывает сложно понять структуру JQL-запросов, если не привести примеры.

              Для упрощения восприятия, мы решили собрать всю документацию, локализовать и разместить в одном месте. И начнем мы с «базового» и «быстрого» поиска.


              Читать дальше →
              • +26
              • 26.7k
              • 6
            • 12 приемов работы с JavaScript, которых нет в большинстве туториалов

              • Translation


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

              В этой статье я покажу 12 отличных способов улучшить и ускорить свой JavaScript-код. В большинстве случаев они универсальны.
              Читать дальше →
            • Анализ работы MS SQL Server, для тех кто видит его впервые (часть 2)

                Часть 1

                Продолжаем анализировать что происходит на нашем MS SQL сервере. В этой части посмотрим как получить информацию о работе пользователей: кто и что делает, сколько ресурсов на это расходуется.

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

                Задачи анализа действий пользователей условно поделим на группы и рассмотрим каждую отдельно:
                Читать дальше →
                • +16
                • 61.4k
                • 5
              • Как подступиться к fullstack-разработке сегодня, если ты проспал десять лет



                Привет, Хабр! Несколько месяцев назад у меня остро встал вопрос смены профиля деятельности и я обнаружил, что для претендента на вакансию web-разработчика сейчас недостаточно навыков десятилетней давности (какая неожиданность!). Пришлось срочно актуализировать свои знания. Заодно я решил составить шпаргалку с описанием большинства современных технологий, чтобы в случае чего кидать жаждущим новых знаний линк на эту статью, да и самому не забывать.
                Читать дальше →
              • 10 консольных команд, которые помогут дебажить JavaScript-код like a PRO

                  image

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

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

                  Статья имеет довольно таки тезисный стиль. Более подробное содержание можно найти в приложенном внизу статьи видео с записью лекции по коллекциям Oracle.

                  Коллекции присутствую в том или ином виде в большинстве языков программирования и везде имеют схожую суть в плане использования. А именно – позволяют хранить набор объектов одного типа и проводить над всем набором какие-либо действия, либо в цикле проводить однотипные действия со всеми элементами набора.

                  Таким же образом коллекции используются и в Oracle.

                  Содержание статьи



                  Шокирующие детали про коллекции в Oracle
                  • +15
                  • 201k
                  • 9
                • Недокументированные приемы CSS

                  • Tutorial
                  Всем привет! Зовут меня Дмитрий Григоров. Работаю фронтедером в Райффайзенбанке в команде RBO PRO. Я расскажу и покажу вам, как можно творчески применять данные возможности CSS. В статье мы рассмотрим следующие темы:

                  • Фоны и рамки;
                  • Фигуры;
                  • Визуальные эффекты.

                  Читать дальше →
                • Закон Гей-Люссака, коллоидные растворы и сопромат для идеальных профитролей

                  • Tutorial

                  Дополнение: В конце поста есть обновленные рекомендации.

                  Внесем легкую нотку научного безумия в традиционную кулинарию. Сегодня мы поговорим о некоторых следствиях из уравнения Менделеева-Клайперона и коллапсе газовых пузырей при изменении температуры. А еще затронем особенности молекулярных цепей крахмала и те коллоидные растворы, которые он образует. Просто ковыряться в уравнениях скучно, поэтому совместим приятное с полезным. Создадим идеальный профитроль. Сегодня у нас два основных объекта для изучения — заварное тесто и заварной крем со взбитыми сливками. Естественно, все это безобразие мы будем творить исключительно во славу науки. Ну и заодно разберемся в тех процессах, которые не описываются в кулинарных книгах.

                  В конце концов, зря я что ли потратил 28 яиц и пару недель на эксперименты?
                  Читать дальше →
                • Объясняем современный JavaScript динозавру

                  • Translation


                  Если вы не изучали JavaScript с самого начала, то осваивать его современную версию сложно. Экосистема быстро растёт и меняется, так что трудно разобраться с проблемами, для решения которых придуманы разные инструменты. Я начал программировать в 1998-м, но начал понимать JavaScript только в 2014-м. Помню, как просматривал Browserify и смотрел на его слоган:


                  Browserify позволяет делать require («модули») в браузере, объединяя все ваши зависимости


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


                  Цель статьи — рассказать о контексте, в котором инструменты в JavaScript развивались вплоть до 2017-го. Начнём с самого начала и будем делать сайт, как это делали бы динозавры — безо всяких инструментов, на чистом HTML и JavaScript. Постепенно станем вводить разные инструменты, поочерёдно рассматривая решаемые ими проблемы. Благодаря историческому контексту вы сможете адаптироваться к постоянно меняющемуся ландшафту JavaScript и понять его.

                  Читать дальше →
                • X2CRM — или в поисках идеальной CRM для бизнеса

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

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

                  Мною были рассмотрены разные системы: EspoCRM, SuiteCRM и другие opensource crm, так и коммерческие, такие как Bitrix24.

                  Ключевые факторы при выборе были:
                  • Интеграция с Asterisk
                  • Workflows с дизайнером
                  • Email-маркетинг

                  Читать дальше →
                • Полезные сниппеты для Nginx конфигов



                    Доброго времени суток, уважаемые хабравчане! В Elasticweb мы негласно ратуем за Nginx и, наверное, мы одни из немногих хостингов, которые не поддерживают Apache и .htaccess соответственно. В связи с этим, большое количество обращений в тех. поддержку связано с оказанием помощи в написании конфигурационного файла для Nginx. Поэтому мы решили собрать коллекцию полезных сниппетов и коллекцию готовых Nging конфигов для наиболее популярных CMS/CMF/Фреймворков на PHP.

                    Читать дальше →
                  • Подборка бесплатных инструментов для разработчиков

                    • Translation
                    Сегодня мы представляем вашему вниманию адаптированную подборку инструментов (в том числе облачных) для разработчиков, которые позволяют создавать по-настоящему качественные проекты. Здесь представлены исключительно SaaS, PaaS и IaaS сервисы, предоставляющие бесплатные пакеты для разработчиков инфраструктурного ПО.

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