• Коллекция Telegram ботов для гиков



      Всем, привет! Мессенджеры демонстрируют наибольший уровень вовлеченности пользователей, по сравнению со всеми остальными приложениями других категорий. В связи с этим наблюдаются измениния в сформировавшейся парадигме пользовательского опыта. Мессенджеры представляют из себя «браузер», а боты «веб-приложения». Они позволяют получать любую необходимую информацию мгновенно. Сегодня я хочу поделиться с вами наиболее полезными из них и показать, как можно прокачать свой Telegram.

      Читать дальше →
    • Современный Торнадо: распределённый хостинг картинок в 30 строк кода

      • Tutorial
      Впервые слышите о tornado? Слышали, но боялись асинхронности? Смотрели на него более полугода назад? Тогда я посвящаю эту статью вам.
      Там будут: gen.coroutines, обработчики, роутинг, шаблоны, motor, gridfs
    • Хостинг картинок за полчаса

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

      imageНасколько просто сейчас сделать такой сервис, как хостинг изображений? В принципе, его и раньше было несложно сделать. Но прогресс не стоит на месте, и за то же самое время теперь можно учесть больше нюансов. Я уже рассказывал о проекте Uploadcare. Это сервис, позволяющий облегчить работу с файлами: загрузку, хранение, обработку и раздачу конечному пользователю. Его и будем использовать в качестве основного блока.

      Пример будет написан на Питоне. Во-первых, потому что Питон я знаю лучше всего, во-вторых библиотека pyuploadcare обновляется в первую очередь. На самом деле, для Uploadcare есть библиотеки под разные языки, и все они в open source. Если в нужном вам модуле отсутствует какая-то функциональность, можно дождаться, когда она появится, или дописать самому.
      Читать дальше →
    • Project Naptha — выделяй, копируй и переводи тексты с любых картинок

        На hh/gt не нашел ни единого упоминания о этом замечательном расширении для Google Chrome. Хочу поделиться им с сообществом, потому как в последнее время оно помогает мне каждодневно экономить минут 10 — уж очень много скриншотов из социальных сетей на разных языках которые с помощью этого плагина переводятся в два клика.

        Встречайте — Project Naptha (Chrome webstore).

        image

        Список возможностей:
        • копировать текст с картинки
        • выделить весь текст
        • гуглить выделенный текст
        • переводить выделенное (бета)
        • проговорить (TTS) выделенное

        Читать дальше →
      • Mimic: вредоносный скрипт, который портит нервы программистам

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

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

          Например, в коде C# обычный символ точки с запятой (;) заменяется на греческий вопросительный знак (;). Подло, зато эффективно.
          Читать дальше →
        • Попытка номер раз создать почти идеальный htaccess

          • Tutorial
              - Google выше ранжирует сайты, которые загружаются быстрее.
              - Если на eBay или Amazone увеличить время загрузки страниц на 9% они теряют 1% прибыли.
              - Сделать свой сайт быстрее, чтобы сэкономить на клиентском трафике и на числе обращений к серверу.


          .htaccess — наш герой


          Профессионалы знают, что такое htaccess.
          Тем кто собираются уйти с народ.ру на php-хостинг только предстоит узнать, что это такое.
          Те кто только что установил свои первые jooml'у или wordpress срочно должны узнать о нашем герое — htaccess

          Зачем нам .htaccess ?


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

          Или другой пример. Скажем ваш ресурс начинает набирать популярность, но переезжать на выделенный сервер ещё рано, а мощностей VPS уже не хватает. Вас очень может выручить htaccess.

          А ещё htaccess может решить некоторые вопросы с безопасностью вашего сайта.

          А ещё…

          Полезные советы по htaccess с разжевыванием для новичков
        • Обзор Lima: персональный облачный сервис с неограниченным объемом

            Облачные сервисы медленно, но верно вытесняют физические накопители из повседневной жизни. Все больше пользователей предпочитают хранить свои файлы удаленно: это позволяет сэкономить на дополнительном оборудовании и получить доступ к данным с любого устройства. С другой стороны, многие не спешат доверить личную информацию третьему лицу, да и выделенного объёма зачастую не хватает. Lima — устройство от молодой команды CGC, призванное примирить оба лагеря и сделать «облака» более осязаемыми.

            Назначение


            Казалось бы, если есть такие популярные сервисы, как Dropbox, Google Диск или iCloud, зачем изобретать велосипед и пытаться конкурировать с гигантами рынка? Однако стартап набрал $1.2 млн при установленном бюджете $69000, привлек $2.5 млн от французского венчурного фонда и собрал почти 20 тысяч предзаказов. Оказалось, покупатели заинтересованы в возможностях, которые предоставляет Lima.



            Основное преимущество устройства заключается в том, что вы храните свои данные не на сервере, а на личном жестком диске, то есть ваш жесткий диск и является сервером.
            Читать дальше →
          • Универсальный метод обхода запрета Yota раздавать интернет с телефона или собираем модуль ядра Android

            Старые методы и их недостатки


            Я думаю, никому уже не интересно читать во второй раз (а может быть и в третий), о том, как Yota определяет, пользуется ли человек телефоном в режиме модема или точки доступа. «Зачем нам ещё одна статья?» — спросите вы.

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

            Именно эти причины мотивировали меня копать дальше в поисках ответа на вечный вопрос «Как же всё-таки нахаляву раздать интернет всему офису?». И найти такой ответ удалось (только для android, у меня нет яблока).
            Читать дальше →
          • Аутентификация в Rails-приложениях с помощью Devise. Часть 1: базовая настройка

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

            Devise — это ruby-гем, предоставляющий возможности для аутентификации в rails-приложениях. Devise работает в связке с гемом Warden, который в свою очередь предоставляет сам механизм для аутентификации в rack-базированных ruby-приложениях. Основные особенности Devise описаны ниже:
            • основан на Rack;
            • является законченным MVC-решением, основанным на Rails;
            • разрешает вход в систему по нескольким моделям одновременно;
            • основан на модульности: использует только то, что вам действительно необходимо.

            Итак, приступим к установке и настройке Devise для вашего rails-приложения. Дальнейший процесс для удобочитаемости будет разбит на отдельные шаги.
            Читать дальше →
          • Keymaster.js: простая микро-библиотека для «горячих клавиш»

              На guthub'е появилась библиотека keymaster.js, с помощью которой можно добавить клавиатурные сокращения (shortkuts) на любую страничку. Конечно, для тех же целей предназначен модуль jQuery Hotkeys, но у keymaster.js есть свои преимущества: эта библиотека не имеет никаких зависимостей, она очень легковесная (всего 60 строчек кода) и лишена известных багов jQuery Hotkeys. В общем, определённо полезная вещь.

              В ближайшее время для keymaster.js добавят ещё селектор INPUT / SELECT / TEXTAREA, это тоже будет полезное дополнение.
              Пример скрипта
            • Ruby on Rails шаг за шагом. #1 Теория

                Ненадолго отставив серию статей о ЯП Ruby в сторону (1, 2, 3, 4, 5, 6, 7, 8, 9, 10), решил презентовать вам новый цикл о фрэймворке Rails. Набравшись некоторого опыта в «обучении» попробую вывести эту серию на уровень качества и продуманности несколько выше, чем прежде.

                Целью первой части уроков по Ruby on Rails будет создание некоторого многопользовательского блога (аля Хабр). Также хочется отметить, что для этой первой части желательно иметь познание о Руби хотя бы на уровне трех-четырех капель. Хочется поскорей приступить к кодингу, но начинать все равно придется с теории.

                Что такое Ruby on Rails (далее RoR)? Самый распространненый ответ – это базирующийся на ЯП Ruby (далее Руби) фрэймворк, который реализует шаблон (далее паттерн) MVC. Выделим два главных пункта из ответа:
                • Это фрэймворк на базе Ruby
                • Он реализует паттерн MVC
                Разберем каждый отдельно.
                Продолжаем
              • Responsive design + Icon fonts = Adaptive icons

                • Tutorial
                Привет, Хабр!

                Сегодня поговорим об отзывчивых значках и парочке лайфхаков со шрифтовыми иконками.



                Предыстория. О трендах

                В последнее время все сильнее набирает обороты тренд «отзывчивого дизайна». Идея, заложенная в эту методологию, в режиме реального времени модифицируется, дополняется и обрастает новыми функциями. Я — не фанат трендов и моды как таковой, не сложилась у меня с ними взаимная любовь. Но в профессиональной сфере все иначе: здесь тренды правят бал, и выбросить их просто так не получается.
                Читать дальше →
              • Как оптимизировать процессы Unicorn в Ruby on Rails приложении

                • Перевод

                Если вы являетесь rails-разработчиком, то вы наверняка слышали про Unicorn, http-сервер, способный одновременно обрабатывать множество запросов.

                Для обеспечения параллельности Unicorn использует создание множества процессов. Т.к. созданные (форкнутые) процессы являются копиями друг друга, это значит, что rails-приложение должно быть потокобезопасным.

                Это здорово, т.к. нам тяжело быть уверенными, что наш код является потокобезопасным. Если мы не можем быть уверены в этом, то ни о параллельных веб-серверах, таких как Puma, ни даже об альтернативных реализациях Ruby, реализующих параллелизм, таких как JRuby и Rubinius, не может быть и речи.

                Поэтому Unicorn предоставляет нашим rails-приложениям параллельность даже если они не потокобезопасны. Однако, это требует определенной платы. Rails-приложения, запускаемые на Unicorn’е требуют гораздо больше памяти. Не обращая никакого внимания на потребление памяти вашим приложением, вы можете в итоге обнаружить, что ваш облачный сервер перегружен.

                В этой статье мы рассмотрим несколько способов использования параллельности Unicorn'а, при этом контролируя количество потребляемой памяти.
                Читать дальше →
              • Создание дизайна Landing Page

                • Tutorial


                Landing Page – (далее по тексту Целевая страница) – одностраничный сайт, построенный таким образом, чтобы обеспечить сбор контактов максимального количества целевых посетителей и максимальную конверсию в контексте его использования.

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

                Так научимся же создавать качественные и красивые целевые страницы. Разобьём урок на 3 части. Содержание, Оформление и Практика.
                Читать дальше →
              • Разбираемся в трендах веб-дизайна

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

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

                Итак, поехали.
                Читать дальше →
              • Что на самом деле происходит, когда пользователь вбивает в браузер адрес google.com

                • Перевод


                Эта статья является попыткой ответа на старый вопрос для собеседований: «Что же случается, когда вы печатаете в адресной строке google.com и нажимаете Enter?» Мы попробуем разобраться в этом максимально подробно, не пропуская ни одной детали.

                Примечание: публикация основана на содержании репозитория What happens when...

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

                Мы перенесли перевод в репозиторий GitHub и отправили Pull Request автору материала — оставляйте свои правки к тексту, и вместе мы сможем значительно улучшить его.
                Читать дальше →
              • Интересностей и полезностей больше не будет



                  Я думаю, что многие из вас хотя бы раз встречали в ленте Хабра одну из моих подборок «Интересностей и полезностей для веб-разработчика». Первый выпуск 15 августа 2013 года появился на фоне банальной идеи поделиться ценными инструментами, которые я уже использую или сохранил в закладках на будущее. Изначально даже не предполагалось, что мое публичное коллекционирование станет серийным, но с тех пор я опубликовал 41 дайджест.

                  Конечно, со временем появились обязанности перед аудиторией, сроки публикации и само написание стало требовать больше времени. Значительно вырос список для мониторинга интересностей и полезностей. Сейчас это несколько тематических сабретитов, GitHub трендинг, HackerNews, ProductHunt и десятки аккаунтов в твиттер Smashing Magazine, CSS Tricks, Codrops, David Walsh Blog, Alist Apart, Poul Irish, Tuts+, SitePoint и тд. Хочу на этом месте выразить благодарность Александру Маслову drakmail, который практически полностью предоставляет информацию для Ruby и Go рубрик, а также помогает с другими.

                  Читать дальше →
                • Опыт рентгеноскопии в домашних условиях

                    image

                    В свое время у меня накопилось достаточное количество прикольных, но тем не менее бесполезных в быту вещей, одной из которых была трубка для рентгеноструктурного анализа «БСВ-25».
                    Читать дальше →
                  • Как я умудрился за 1 день задолжать Amazon 12000$

                      Я руководитель небольшой IT-компании из Зеленограда. Занимаемся интеграцией программ 1С и телефонии. В компании работает чуть менее 20 человек и так получилось, что за всю IT инфраструктуру отвечаю я сам.

                      В принципе, я люблю этим заниматься и знакомиться с различными новыми технологиями. Одной из таких технологий стала виртуализация и, в частности, такой интересный сервис, как Amazon AWS.

                      Часто бывает необходимо быстро развернуть несколько виртуальных машин с белыми IP адресами в лабораторных целях, попользоваться ими пару дней, и прибить без сожаления. В терминологии Amazon этот сервис называется EC2, и позволяет за считанные минуты выполнять такие манипуляции. Это очень удобно и стоит копейки, т.к. оплата происходит по часовому тарифу.
                      Читать дальше →
                    • Как отобразить количество оповещений в названии вкладки браузера

                      • Перевод
                      • Tutorial


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

                      Существует пара наиболее распространенных способов оповещения пользователя. С одной стороны, социальные сети Facebook, Twitter и LinkedIn указывают определенное число, которое соответствует количеству обновлений. С другой стороны, Trello отображает небольшой красный кружок поверх favicon.

                      Trello Facebook and Twitter notifications
                      Оповещения Trello, Facebook и Twitter

                      В этом уроке мы воссоздадим подобные оповещения. Посмотрите демо (англ.), чтобы понять, чем мы будем заниматься.

                      Посмотреть на GitHub
                      Демо (рус.)
                      Читать дальше →