Без рубрики

Highload для самых маленьких

Это скорее не статья, а так заметка, на которую следует ссылаться, если кто-то не думает о том что в проекте может быть записей больше, нежели в тестовой базе данных, а скорость интернета меньше нежели доступ по локальной сети в 100мбит. Исходя из моего опыта разработки (да и не только моего), зачастую, «бутылочным горлышком» вашего приложения является база данных, таким образом перво-наперво включаем slow query log (← это ссылка на гугло-поиск) и смотрим какой запрос у нас самый медленный, и думаем что с ним делать, если не можем вкурить проблему — зовём старших, пусть тоже повтыкают в EXPLAIN(← ссылка на документацию → на хабр) вашего чудо-запроса. (далее…)

Без рубрики

Установка Selenium chromedriver

http://chromedriver.storage.googleapis.com/2.31/chromedriver_linux32.zip http://chromedriver.storage.googleapis.com/2.29/chromedriver_linux32.zip sudo apt-get install unzip wget -N http://chromedriver.storage.googleapis.com/2.10/chromedriver_linux64.zip -P ~/Downloads unzip ~/Downloads/chromedriver_linux64.zip -d ~/Downloads chmod +x ~/Downloads/chromedriver sudo mv -f ~/Downloads/chromedriver /usr/local/share/chromedriver Change the directory to /usr/bin/chromedriver sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver Now run the script and add the following in the environment file. (далее…)

Без рубрики

Dive into Centrifugo

В предыдущей статье о Центрифуге я рассказывал, что сервер был переписан с Python на Go (код Centrifugo на github, описание на opensource.mail.ru). C тех пор прошло несколько месяцев, за это время Центрифуга успела получить версию 1.0.0 и даже уйти немного дальше (последняя версия на момент этого поста — 1.4.2). В этой статье нас ждет быстрый старт работы с Центрифугой, примеры реального использования, размышления о месте и предназначении Центрифуги в реалиях 2016 года, описание некоторых архитектурных особенностей/возможностей реал-тайм-сервера и примеры кода на Go, отвечающие за реализацию главных фич. Welcome aboard! (далее…)

Без рубрики

Основы Android-приложения

Android - основанная на linux платформа для мобильных устройств использующая изменённую виртуальную машину Java построенную для учёта компактности файлов и энергоэффективности Dalvik. Из-за этого используется не Mobile Edition и тем более не Java SE, а свои библиотеки. Приложения соответсвенно пишутся на Java, либо же через обходные пути  — TitaniumAppInventorAdobe AIR. Интересно что из библиотек есть SQLite и OpenGL - не прийдётся изобретать велосипеды. Кроме того в системе есть менеджеры для обмена данными между приложениями, сенсорами и тп. (далее…)

Без рубрики

Погружение в Sphinx. Часть 1

Серия статей о работе с поисковым движке sphinx на примере простого приложения на laravel. Поиск - важная составляющая любого сайта, которой стоит уделить большое внимание. От работы поиска зависит user experience составляющая вашего приложения, то сможет ли пользователь найти нужную ему информацию или просто уйдет, неудовлетворив свой интерес. (далее…)

Без рубрики

Ускоряем Composer

Пакетный менеджер Composer при выполнении команды install или update обращается к файлу composer.json и последовательно обрабатывает указанные в нём пакеты. Если пакетов много, то эта процедура займёт довольно продолжительное время. Проблему могло бы решить распараллеливание процессов. И как раз для решения данной задачи чуть больше года назад был создан плагин Prestissimo. Он позволяет ускорить загрузку пакетов на порядок. (далее…)

Без рубрики

Обучающие видео по программированию от Winderton

Winderton ведёт видеоблог на YouTube на тему программирования, разработки игр и Computer Science. Манера подачи материала у автора весьма специфическая, местами бывают грубости. Однако, в некоторых видео раскрываются довольно глубокие и редкие знания, о которых другие авторы молчат. Это один из немногих видео-блоггеров, которые вносят в IT сообщество дополнительную ценность. Рекомендую к просмотру!

Программирование и Computer Science

Объектно-ориентированное программирование

https://youtu.be/zqxVI_kEdq8 (далее…)

Без рубрики

Гарвардский курс CS50 по computer science на русском

У тех, кто собрался изучать программирование самый популярный вопрос: с чего начать. Ответ на него прост: начинайте с проверенных источников! Попробуйте CS50, вам понравится! CS50 Introduction to Computer Science (си-эс фифти) или «Основы программирования и компьютерных наук» признан одним из лучших в мире университетских курсов, посвящённых основам программирования и информационных технологий. CS50 рассчитан не только на абсолютных новичков или людей с начальными знаниями по программированию. Даже опытные программисты найдут в курсе много нового и интересного. Лекции курса смотрятся как увлекательное телевизионное шоу, а задачи взяты из реальной жизни. Курс подойдёт всем кто хочет изучить основы программирования с нуля: старшеклассникам и студентам даже не-технарям, а также тем кто уже имеет опыт в другой специальности, но мечтает начать программировать. (далее…)

Без рубрики

Полный курс об ООП и шаблонах разработки ПО

Хотите больше узнать о паттернах проектирования? Тогда обратите внимание на полный курс «Шаблоны разработки программного обеспечения» от Сергея Немчинского. В курсе рассмотрены базовые принципы ООП, шаблоны GRASP и GoF, антипаттерны и рефакторинг. Манера подачи материала у автора весьма специфична, однако стоит отдать должное за проделанную работу. Курс будет полезен как начинающим программистам и разработчикам, так и тем, кто уже знаком с объектно-ориентированным программированием и проектированием. Несмотря на то, что курс создан для Java-разработчиков, большая часть материала будет понятна и применима в контексте любых других объектно-ориентированных языков программирования.  Однозначное преимущество этого курса в том, что материал подаётся последовательно — от простого к сложному доступным языком и с примерами. Рекомендую к просмотру! https://youtu.be/S-RjiMAxHio (далее…)