• Визуализация больших графов для самых маленьких



      Что делать, если вам нужно нарисовать граф, но попавшиеся под руку инструменты рисуют какой-то комок волос или вовсе пожирают всю оперативную память и вешают систему? За последние пару лет работы с большими графами (сотни миллионов вершин и рёбер) я испробовал много инструментов и подходов, и почти не находил достойных обзоров. Поэтому теперь пишу такой обзор сам.
      Читать дальше →
    • Галерея лучших блокнотов по ML и Data Science

        Привет, читатель.

        Представляю пост который идёт строго (!) в закладки и передаётся коллегам. Он с подборкой примечательных файлов формата Jupyter Notebook по Machine Learning, Data Science и другим сферам, связанным с анализом данных. Эти блокноты Jupyter, будут наиболее полезны специалистам по анализу данных — как обучающимся новичкам, так и практикующим профи.

        image

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

        Вводные курсы в Jupyter Notebook


        Читать дальше →
        • +27
        • 24.8k
        • 7
      • ТОП-9 YouTube-каналов для изучения английского языка

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

        // "Enjoy the Content" — from author with Love 
        
        Читать дальше →
      • Открываем доступ к видеозаписям HighLoad++ за последние пять лет

          image

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

          Более терабайта записей и 500 видеороликов! Это всё, под катом только реклама :)

          Перейти в канал YouTube!

          Читать дальше →
        • Книги для тимлидов и руководителей проектов

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

            В отечественном IT я часто наблюдаю следующую картину: тимлидом часто становился лучший (?) разработчик из команды (aka 23-летний сеньор). А чтобы стать руководителем проекта (project manager) иногда достаточно просто знать английский и «павэрпойнт» на уровне пользователя. Это реалии отечественного аутсорсинга и с этим нужно как-то жить.

            В итоге часто получается как-то так:
            Потому что на десять сеньоров по статистике девять тупят.
            Читать дальше →
          • Лекции Технотрека. Проектирование СУБД (осень 2016)

              image


              Продолжаем публикацию наших образовательных материалов. Этот курс посвящен изучению основ языка SQL с учетом особенностей объектно-реляционной базы данных PostgreSQL. Программа предусматривает комплексный подход к изучению стандартизованного языка SQL на платформе PostgreSQL, включая некоторые минимальные возможности администрирования пользователей, ролей, схем, базовых таблиц и других объектов базы данных. Мы рассмотрим основы работы с базой данных PostgreSQL и некоторые особенности SQL применительно к ней. Более подробно — под катом.

              Читать дальше →
              • +37
              • 28.2k
              • 8
            • Где искать работу: чаты в Telegram, группы в FB и другие ресурсы

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

                image

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

                Подкасты – это звуковые аудиофайлы в стиле радиопередач в интернете Как правило, подкасты имеют определенную тематику и периодичность издания. Каждый человек, у которого есть смартфон, может прослушивать подкасты. Для прослушивания подкастов у владельцев Apple есть родное приложение, называется «podcasts». Android пользователи могут использовать приложение «Podcast Addict».
                Читать дальше →
              • C++ без new и delete

                • Tutorial
                Привет, хабравчане!

                Меня зовут Михаил Матросов, я технический менеджер в компании Align Technology. Сегодня я поработаю капитаном и немного расскажу об основах современного С++.

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

                Мне бы хотелось поговорить об этих основах и начну я со своей любимой темы. Будем говорить об операторах new и delete. А точнее, об их отсутствии. Я расскажу, как писать надёжный и современный код на С++ без использования операторов new и delete.

                Казалось бы, тема стара как мир, Саттер и Майерс в своё время всё разложили по полочкам. Именно поэтому я не буду вдаваться в ненужные подробности, отправляя читателей к первоисточникам. Моя цель собрать информацию по вопросу в одном месте, дать соответствующие ссылки и сформулировать ёмкие рекомендации.

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


                Изображение взято с сайта behappy.me
                Читать дальше →
              • Большой опрос по алгоритмам

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

                  Сможете ли вы реализовать, пусть и не production ready, этот алгоритм, почти не подсматривая в спецификацию:

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

                  Only registered users can participate in poll. Log in, please.

                  Сортировка

                  • 91.6%Bubble sort2086
                  • 38.0%Selection sort866
                  • 45.9%Insertion sort1045
                  • 10.7%Shell sort244
                  • 47.0%Merge sort1069
                  • 55.4%Quick sort1261
                  • 7.1%3-way partition quick sort162
                  • 23.1%Heap sort526

                  Поиск

                  • 95.8%Binary search1827
                  • 63.4%Binary search tree (вставка, поиск, удаление)1208
                  • 18.6%Balanced binary search tree (red-black, 2-3 tree, etc.)355
                  • 10.9%Maximum subarray problem208

                  Графы

                  • 69.3%DFS798
                  • 67.1%BFS773
                  • 36.2%A*417
                  • 6.2%IDA72
                  • 65.3%Dijkstra's algorithm752

                  Прочее

                  • 47.0%Решить задачу методом динамического программирования737
                  • 12.8%Disjoint set201
                  • 18.8%Hierarchical clustering, k-mean clustering, etc.295
                  • 21.7%Я могу реализовать бОльшую часть из перечисленного в этом посте340
                  • 55.7%Я могу реализовать лишь некоторые из перечисленных алгоритмов (или ни одного)873

                  Приходилось ли вам по работе (оправданно!) реализовывать какой-либо из стандартных алгоритмов собственными силами (т.е. библиотечный не подошел или не существовал)

                  • 35.3%Да844
                  • 64.7%Нет1549
                • Круглендарь 2016 — плакат-ежедневник

                    image

                    Друзья, готов круглый календарь 2016!

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

                    К концу года плакат становится исторической вещью и отправляется в архив.

                    Круглый календарь к концу года

                    1. Скачайте *.pdf с сайта kruglendar.ru.
                    2. Распечатайте и повесьте на стенку, рядом — фломастер.
                    3. Подпишите какое-нибудь событие, например, появление круглендаря.

                    Как и раньше, круглендари бесплатные, исходный код — на гитхабе.
                    Процесс
                  • Повышаем производительность поиска с помощью партиционирования индекса в Apache Solr



                      Полнотекстовый поиск используется в Wrike почти повсеместно. Поиск в шапке страницы дает возможность быстрого доступа к последним задачам с сортировкой по дате обновления, с совпадением по названию. Такой вариант поиска представлен в разделах «Моя работа» и «Панель задач».
                      Поиск в списке задач работает по всем полям: название, описание, имена файлов вложений, авторы, комментарии, дата изменения. Максимальный приоритет у задач, активность по которым связана с текущим пользователем, с фразовым совпадением в названии, описании или в комментариях.
                      Упрощенный вариант поиска по названиям используется:
                      • при расстановке зависимостей для диаграммы Ганта (предшествующая и последующая задачи),
                      • при добавлении ссылок на задачи по названиям (меншенинг),
                      • при добавлении подзадач.

                      В этих разделах используется instant search с неявным wildcard: пользователь последовательно вводит u, up, upd, update, а поисковые запросы принимают вид: u*, up*, upd*, update*.
                      Кроме того, wildcards можно использовать во всех вариантах поиска.
                      Таким образом, часто приходят “тяжелые” поисковые запросы, вызывающие многократное чтение индекса, повышенную нагрузку по CPU/IO на серверах и, как следствие, общие задержки в обработке запросов в “часы-пик”.
                      В данной статье мы поделимся своим способом решения проблемы производительности.
                      Речь пойдет об ускорении поиска при работе с поисковым сервером Apache Solr через партиционирование коллекций. Описанный способ был нами опробован на версиях 4.9.0 и 4.10.2.

                      Читать дальше →
                      • +9
                      • 16.5k
                      • 3
                    • Анонс онлайн-курсов Технопарка, Техносферы и Технотрека на Stepic



                        Приятная новость для всех, у кого нет возможности обучаться в Технопарке, Техносфере или Технотреке: теперь курсы этих проектов доступны в виде онлайн-курсов на платформе Stepic! На сегодняшний день доступна запись по пяти дисциплинам:


                        Со временем количество курсов будет увеличено.

                        Зачем мы это делаем? Вполне очевидно: далеко не каждый желающий может стать слушателем наших проектов, ведь участие могут принять лишь учащиеся из трех московских вузов. А благодаря онлайн-обучению столь полезные для начинающих IT-специалистов знания смогут получить и многие другие талантливые студенты. В рамках онлайн-курсов учащиеся смогут смотреть интересный им контент и выполнить практические задания на проверку усвоенного материала. Кроме того, у них будет возможность общаться друг с другом, обсуждать задачи и задавать вопросы онлайн. По итогам успешного прохождения курса будет выдаваться сертификат. А теперь подробнее о доступных дисциплинах.
                        Читать дальше →
                      • Тематическая картография: общие вопросы

                        • Tutorial


                        Хочу поделиться с вами переводом руководства по тематической картографии от ребят из axismaps.

                        Рекомендую к прочтению информационным дизайнерам, журналистам (данных), аналитикам, начинающим картографам, а также всем, кто хочет научиться читать тематические карты и отличать хорошую карту от плохой, вводящей читателя в заблуждение. Всех заинтересовавшихся приглашаю под кат.
                        Читать дальше →
                        • +21
                        • 21.2k
                        • 6
                      • Возможности PostgreSQL, которых нет в MySQL, и наоборот



                        Многие боятся переходить с «мускуля» на «посгрес» из-за того, что лишь смутно понимают, что это даст. Некоторых останавливает мысль, что наверно Postgres — это слишком сложная база и требует обучения. А также, что возможно чего-то придется лишиться в связи с переходом. Попробую немного прояснить ситуацию.
                        Читать дальше →
                      • Как работает реляционная БД

                        • Translation
                        • Tutorial
                        Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.

                        На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
                        Читать дальше →
                      • Визуализация статических и динамических сетей на R, часть 4

                        • Translation
                        • Tutorial
                        В первой части:
                        • визуализация сетей: зачем? каким образом?
                        • параметры визуализации
                        • best practices — эстетика и производительность
                        • форматы данных и подготовка
                        • описание наборов данных, которые используются в примерах
                        • начало работы с igraph

                        Во второй части: цвета и шрифты в графиках R.

                        В третьей части: параметры графов, вершин и ребер.

                        В этой части: размещения сети.
                        Читать дальше →
                      • Как создавать интерактивные карты

                        • Tutorial


                        Недавно была опубликована интерактивная карта, отображающая демографические изменения в Европе с 2001 по 2011 год — период, для которого доступна максимально подробная статистика от каждого муниципального образования. С помощью цветовой шкалы обозначается степень убыли или прироста населения буквально в каждой точке Европы (за исключением России и стран СНГ) и Турции.

                        Один из разработчиков команды Airbnb принимал участие в работе над созданием этой демографической карты. Хотите узнать, как самостоятельно создать подобный проект? Тогда добро пожаловать под кат.
                        Читать дальше →
                        • +21
                        • 21.3k
                        • 2
                      • Новая бесплатная библиотека для аналитики данных Intel® DAAL


                          Сегодня вышел в свет первый официальный релиз новой библиотеки Intel для аналитики данных — Intel Data Analytics Acceleration Library. Библиотека доступна как в составе пакетов Parallel Studio XE, так и как независимый продукт с коммерческой и бесплатной (community) лицензией. Что это за зверь и зачем она нужна? Давайте разбираться.
                          Читать дальше →
                        • Riak и Riak Search Yokozuna: Первое знакомство



                          В статье в ознакомительных целях рассматривается процесс создания простого хранилища простых текстовых документов на базе Riak версии 2.1.1 и организация поиска по ним с помощью Riak Search (Yokozuna). В качестве клиентской библиотеки используется официальный клиент для Erlang.

                          Для начала представим, что у нас есть огромное количество таких документов:
                          • title — заголовок;
                          • body — содержимое;
                          • tags — тэги;
                          • created_at — время создания;
                          • smiles — количество смайликов (плюсиков, лайков, как хотите)

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