• Классические алгоритмы и структуры данных на JavaScript

      Привет Всем! Я недавно запустил на GitHub проект JavaScript Algorithms and Data Structures, который содержит примеры классических алгоритмов и структур данных написанных на JavaScript с объяснениями, примерами и ссылками для дальнейшего изучения (в частности на соответствующие YouTube видео).

      Основная задача проекта — помочь программистам в изучении и применении алгоритмов и сделать это на JavaScript-е.
      Читать дальше →
    • Автоматизация криптоторговли с Django и Celery

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


      Trade

      Читать дальше →
    • Поднимаем SOCKS прокси для Telegram

      • Tutorial
      Поднять свой socks прокси очень просто — справится даже далекий от Linux и серверного администрирования человек. Достаточно иметь VDS/выделенный сервер за границей.


      Пошаговая инструкция для запуска своего sockd прокси на Centos7
      Читать дальше →
    • Парсинг telegram каналов для агрегатора контента на PHP

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

      Несколько лет назад я начал разрабатывать свой агрегатор контента, что бы упростить свой серфинг в сети. Изначально я парсил только rss, vk и facebook, но в прошлом году решил сделать полный рефакторинг проекта: отказаться от парсинга на клиенте, сделать нормальный back-end, использовать базу данных для хранения данных и расширить список поддерживаемых ресурсов.

      Помимо стандартного набора из rss, fb, vk, twitter, instagram, youtube я добавил поддержку произвольных открытых каналов из telegram.

      image

      Под катом пошаговая инструкция, как парсить любые каналы в telegram без регистрации и смс.
      Читать дальше →
    • Реализация простейшей стратегии инвестирования на базе API MOEX (Московской биржи)

        Введение


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


        Читать дальше →
      • Готовимся к релизу в App Store. Инструкция для новичков и лайфхаки

        • Tutorial


        Подготовили гайд для заказчиков, которые занимаются публикацией приложения самостоятельно. Рассказываем о предрелизных хлопотах: как создать аккаунт разработчика, сколько времени заложить на оформление D-U-N-S number, какие скрины подготовить для стора.
        Читать дальше →
        • +20
        • 14k
        • 4
      • Технические особенности проведения ICO. Начало


          Привет, Хабр! Сегодня мой рассказ пойдёт о техническом опыте проведения ICO на платформе Ethereum перед и во время ICO. Я поучаствовал пока в небольшом количестве проектов, но уже успел собрать некоторый технический бэкграунд. Могу поспорить, технический roadmap по проведению ICO аудитории Хабра будет интересен. Прошу под кат всех заинтересованных.

          Читать дальше →
        • Русскоязычный краудфандинг обзавелся новым сервисом аналогичным американскому Patreon.com

            Здравствуйте, хабражители, хочу представить вам наш новый проект Скайс.

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

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

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

            image
            Читать дальше →
          • MVP – это не черновой вариант! Точно?



              Что такое MVP?


              MVP (minimum viable product — минимально жизнеспособный продукт) – это продукт, который разрабатывается с максимальной экономией денег и ресурсов, как правило, с единственной целью – проверки гипотезы. Гипотеза, как правило, заключается в необходимости и/или полезности этого продукта.


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


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

              Читать дальше →
            • ICO: хайп уйдёт, а мы останемся, или время против токенов



                За последние 2 недели вышло немало материалов (пример или здесь) о том, как плохо всё в ICO-отрасли.

                И хочется, конечно, крикнуть: «а мы вас предупреждали!» — но что толку с эмоций? Давайте лучше посмотрим на цифры: они всегда более объективны.
                Читать дальше →
              • Объясняем современный JavaScript динозавру

                • Перевод


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


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


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


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

                Читать дальше →
              • 10 инструментов, позволяющих парсить информацию с веб-сайтов, включая цены конкурентов + правовая оценка для России

                  image

                  Инструменты web scraping (парсинг) разработаны для извлечения, сбора любой открытой информации с веб-сайтов. Эти ресурсы нужны тогда, когда необходимо быстро получить и сохранить в структурированном виде любые данные из интернета. Парсинг сайтов – это новый метод ввода данных, который не требует повторного ввода или копипастинга.

                  Такого рода программное обеспечение ищет информацию под контролем пользователя или автоматически, выбирая новые или обновленные данные и сохраняя их в таком виде, чтобы у пользователя был к ним быстрый доступ. Например, используя парсинг можно собрать информацию о продуктах и их стоимости на сайте Amazon. Ниже рассмотрим варианты использования веб-инструментов извлечения данных и десятку лучших сервисов, которые помогут собрать информацию, без необходимости написания специальных программных кодов. Инструменты парсинга могут применяться с разными целями и в различных сценариях, рассмотрим наиболее распространенные случаи использования, которые могут вам пригодиться. И дадим правовую оценку парсинга в России.
                  Читать дальше →
                • Чистый код на PHP

                  • Перевод


                  Это принципы разработки ПО, взятые из книги Clean Code Роберта Мартина и адаптированные для PHP. Это руководство не по стилям программирования, а по созданию читабельного, многократно используемого и пригодного для рефакторинга кода на PHP.


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


                  Статья вдохновлена clean-code-javascript.

                  Читать дальше →
                • Cравнение российских операторов предоставляющих облачные услуги

                    Я долго ждал и просил автора исследования 2014 года повторить его. Не дождался, несмотря на регулярные просьбы. Видимо, представляя какой титанический труд предстоит, автор эту идею откладывал.  Но так совпало, что не только мне, но и моей знакомой для ее компании потребовались облачные услуги, и она предложила мне свою помощь по сбору информации. Так родилась шальная идея повторить статью. Возражений у автора предыдущего обзора не было, поэтому мы принялись за дело, взяв за основу его методику подсчета
                    В этот раз в обзор вошли 36 компаний, а совместная работа по сбору и анализу информации затянулась аж на 5 месяцев. Конфигурацию мы взяли, опираясь на предыдущее сравнение  с поправкой на требования компании моей знакомой.

                    Читать дальше →
                  • Советы для тех, кто планирует заняться локализацией своего проекта

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

                      image

                      Будем откровенны: если ваш продукт ориентирован на широкую аудиторию, то английского языка явно недостаточно. Конечно, существуют узкоспециализированные проекты и сервисы вроде нашего, когда знание главного международного языка не прихоть – необходимость, однако ниша подобных разработок крайне узка. И вот, тысячи команд по всему миру рано или поздно упираются в потолок одного-двух языков: один английский, а второй – родной для команды (если она не англоговорящая). Дальше начинаются споры, ссоры, попытки локализации и последующие пляски с бубном.

                      В этой публикации мы собрали ряд популярных советов и рекомендаций как от частных разработчиков, так и от матерых команд уровня Mozilla, в которых более опытные товарищи делятся со своими коллегами опытом локализации проектов.
                      Читать дальше →
                    • Настройка push-нотификаций для своего сервиса

                        В этой публикации мы рассмотрим пример интеграции платформы подписки на push-уведомлений PushAll с сервисом мониторинга сайтов ХостТрекер. Эта информация будет полезна тем, кому необходимо быстро настроить push для своих сервисов, а желания изобретать велосипед нет.


                        Читать дальше →
                      • Защищаем сайт с помощью ZIP-бомб

                        • Перевод

                        Старые методы по-прежнему работают


                        [Обновление] Теперь я в каком-то списке спецслужб, потому что написал статью про некий вид «бомбы», так?

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

                        Когда я в возрасте 13 лет впервые захостил свою маленькую Linux-коробочку с доступом по SSH, я смотрел логи и каждый день видел IP-адреса (в основном, из Китая и России), которые пытались подключиться к моей сладенькой маленькой коробочке (которая на самом деле была старым ноутом ThinkPad T21 со сломанным дисплеем, жужжавшим под кроватью). Я сообщал эти IP их провайдерам.

                        На самом деле если у вас Linux-сервер с открытым SSH, то можете сами посмотреть, сколько попыток подключений происходит ежедневно:

                        grep 'authentication failures' /var/log/auth.log
                        Читать дальше →
                      • Сравнение сервисов автоматизации контекстной рекламы (часть 2)

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

                          Читать дальше →
                        • Инструкция по обходу блокировки Telegram. Как активировать SOCKS 5

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