Если вам о чём-то говорят фамилии Зив, Хомченко и Рымкевич, иди сюда, дай обниму, бедолага-олимпиадник, то вы наверняка знаете, как важно прорешивать задачи для полноценного, осознанного и глубокого понимания изученного материала. Когда нет или совсем мало реальной практики, задачи дают возможность покрыть практикой все теоретические знания, погрузиться в неожиданные выводы, сложности, баги, препятствия. Более того, даже если практики достаточно, задачи помогают относительно быстро, комплексно и глубоко проработать типичные и нетипичные ситуации, возникающие в разработке (любой другой науке). Это всегда безопасный (никто не взрывает лабораторию и не роняет прод), доступный и удобный способ подробно разобраться в предмете. Определённо, программирования это касается в первую очередь.
Пользователь
Переписываем домашний проект на микросервисы (Java, Spring Boot, Gradle)
Введение
Последние годы стала очень популярна тема микросервисов. Я не попадал на проекты с микросервисами, поэтому мне, естественно, захотелось ближе познакомиться с такой концепцией архитектуры.
Ранее у меня был домашний проект (хотя скорее даже его прототип), который было решено переписать на микросервисы. Проект представлял собой попытку сделать обучающую Java игру. То есть у игрока есть поле, на этом поле он может управлять каким-то юнитом с помощью кода. Пишет код, отправляет на сервер, там он выполняется и возвращает результат, который отображается пользователю.
Всё это было реализовано в виде прототипа — были пользователи, один урок и одна задача для него, возможность отправить код, который компилировался и исполнялся. Кое-какой фронтенд, но в статье о нём речи не будет. Технологии — Spring Boot, Spring Data, Gradle.
В статье будет реализован такой же прототип, но уже на микросервисах. Реализация будет наиболее простым путём (точнее наиболее простым, из известных мне). Реализация будет доступна любому, кто знаком со Spring.
Знакомство с Spring Data MongoDB
Стартовали новенький поток «Разработчик на Spring Framework», «внезапно», этот курс оказался очень востребованным среди, как и новых студентов, так и тех кто уже отучился у нас на «обычной» джаве и энтерпрайзе. Так что, если интересно, то заходите к нам на открытые уроки, ну и, разумеется, делимся интересными материалами по теме.
Перевод статьи Spring Data MongoDB Tutorial
Автор статьи Anand Kumar
Поехали!
В современном мире очень важно создать и запустить приложение как можно скорее. Также приложение должно быть простым в разработке и легко поддерживаться.
Spring — как раз такой фреймворк, который обеспечивает простоту интеграции со множеством других различных фреймворков, что упрощает разработку приложения с использованием Spring. Одной из таких интеграций является интеграция Spring с MongoDB.
1. Вступление
OpenDataScience и Mail.Ru Group проведут открытый курс по машинному обучению
6 сентября 2017 года стартует 2 запуск открытого курса OpenDataScience по анализу данных и машинному обучению. На этот раз будут проводиться и живые лекции, площадкой выступит московский офис Mail.Ru Group.
Если коротко, то курс состоит из серии статей на Хабре (вот первая), воспроизводимых материалов (Jupyter notebooks, вот github-репозиторий курса), домашних заданий, соревнований Kaggle Inclass, тьюториалов и индивидуальных проектов по анализу данных. Здесь можно записаться на курс, а тут — вступить в сообщество OpenDataScience, где будет проходить все общение в течение курса (канал #mlcourse_open в Slack ODS). А если поподробней, то это вам под кат.
Обзор профессии Data Scientist
Data Scientist требует реальных и практических знаний методов статистического анализа данных, навыков построения математических моделей (от нейронных сетей до кластеризации, от факторного до корреляционного анализов), работы с большими массивами данных и уникальной способности находить закономерности. Но это все лирика. Давайте теперь по делу.
Свой веб-сервер на NodeJS, и ни единого фреймворка. Часть 1
Реализация «Onboarding Experience» в вашем приложении
В этой статье хотел бы рассказать о внедрении «Onboarding Experience» в приложение, над которым вы работаете или собираетесь работать.
«Onboarding Experience» — это небольшая презентация внутри приложения, которая показывает о возможностях вашего приложения в виде такого себе слайд-шоу. Такую практику демонстрации функционала приложения применяют многие компании, такие как, например Google.
Пример «Onboarding Experience» в приложении Google Drive:
Также, «Onboarding Experience» называется «App Intro» или «Product Tour». Вы можете называть это как хотите, ведь суть его не меняется.
Почему одного AJAX недостаточно: протокол WAMP
А вот что AJAX не обеспечивает – так это обновления с сервера, которые необходимы для работы приложения в реальном времени. Это могут быть приложения, в которых пользователи одновременно редактируют один документ, или уведомления, рассылаемые миллионам читателей новостей. Необходим ещё один шаблон для рассылки сообщений, в дополнение к запросам AJAX, который бы работал в разных масштабах. Для этого традиционно используется шаблон PubSub («publish and subscribe», «публикация и подписка»).
Какую задачу решил AJAX
До появления AJAX интерактивные взаимодействия со страницей были тяжеловесными. Каждое из них требовало перезагрузки страницы, которая создавалась на сервере. В этой модели основной единицей взаимодействия была страница. Неважно, какой объём информации отправлялся из браузера на сервер – результатом была полностью обновлённая страница. Это была трата как трафика, так и серверных ресурсов. И это было медленно и неудобно для пользователей.
AJAX решил проблему, разбивая всё на части: стало возможным отправить данные, получить конкретный результат и обновить лишь часть страницы, имеющую к этому отношение. От вызова «дай мне новую страницу» мы перешли к конкретным запросам данных. У нас появилась возможность делать вызовы удалённых процедур (RPC).
Как стать программистом или Выучить Java за 1 год
36 млн запросов в час, 10000+ постоянно работающих клиентов, на одном сервере, nginx+mysql
Первое, что я заметил — множество советов как все настроить под большую нагрузку. Читайте их внимательно, обычно в тексте найдете, что речь про «высокую нагрузку» в 15-20 тысяч клиентов в сутки. У нас клиентов примерно миллион, активных, ежедневных.
У нас нет денег и мы все делаем за свой счет, поэтому экономим. Итог — весь миллион клиентов обслуживается на одном сервере, вот на таком — EX-60 на hetzner.
Архитектура Android-приложений… Правильный путь?
Куда писать об ошибках и неточностях, вы знаете.
За последние несколько месяцев, а также после дискуссий на Tuenti с коллегами вроде @pedro_g_s и @flipper83 (кстати говоря, 2 крутых Android-разработчика), я решил, что имеет смысл написать заметку о проектировании Android-приложений.
Цель поста — немного рассказать о подходе к проектированию, который я продвигал в последние несколько месяцев, и также поделиться всем тем, что я узнал во время исследования и реализации этого подхода.
Droidutils — набор решений, которые ускоряют разработку приложений под Android
Запасаемся на зиму
У каждого есть одна-две любимые книги, которые могут понравится другим, поделитесь пожалуйста, заразите. Думаю многим будет интересно поставить в очередь «к прочтению» несколько новых. Давайте устроим «дегустацию» книг в формате: одна книга — один комментарий. Чтобы другие могли добавить в избранное (и оценить, и обсудить) каждую книгу по отдельности.
Эмуляция Денди. Nestopia с поддержкой нового расширения ZNS (Zipped NES)
Сегодня совершенно нет необходимости покупать эту приставку, чтобы вспомнить все и заново пройти Super Mario или Contra. Существует армия эмуляторов на любой вкус и цвет, дампы практически всех игр давно доступны в сети. Каждый уважающий себя эмулятор умеет открывать игры прямо из архивов. Это очень удобно, ведь чаще всего дампы игр распространяются именно в сжатом виде. Только вот есть одна неприятность — связывать напрямую с программой расширение .zip достаточно глупо, а хотелось бы запускать игры из архивов одним кликом. Поэтому я предлагаю для сжатых NES файлов использовать расширение ZNS (Zipped NES).
TOP-10 Flash-игр
Сегодня уже можно :)
1. Robokill. Вы управляете роботом, который перемещается по локациям и убивает противников. В процессе игры Вы зарабатываете деньги и можете усовершенствовать своего робота, покупая ему новое оружие, боеприпасы и т.д. Всего 10 затягивающих миссий.
Оф. сайт (триальная версия): www.rocksolidarcade.com/games/robokill Полная версия: robokill.hotbox.ru
eRepublik
eRepublik — популярная браузерная онлайн игра с элементами социальной сети. Участники имеют возможность учреждать компании и организации, собственные газеты, создавать политические партии, голосовать на выборах, начинать войны и революции, участвуя в них в качестве солдат регулярной армии. Основной элемент игры, политика, раскрыт как нигде ярко: тут вам и выборы президента/парламента/лидеров партий, объединение стран в альянсы и хитрая внешняя политика, налоговое регулирование внутри страны и многое другое. Аналогов данной «игры в политику» сейчас просто-напросто нет.
как способ изучения Английского
Поделюсь теми, на которые подписан я:
Как разобрать Dell Inspiron 1525 и ничего не сломать ;)
Конец уже содержится в начале. Джордж Оруэлл, 1948 год
Это не обычный обзор ноутбука, а скорее обзор некоторых технических возможностей и, главное, некая инструкция по полной безболезненной разборке/сборке.
Во время обзора будем стараться рассматривать его преимущества и недостатки.
Подопытный ноутбук Dell Inspiron 1525
(осторожно, более 30 фото)
Игра Сет
Есть такая потрясающая настольная (не компьютерная!) игра — Сет (The Set). Генетик Марша Фалко (Marsha Falco) изобрела её, делая пометки во время исследования эпилепсии у немецких овчарок. Игра получилась необычной, чрезвычайно увлекательной и мозгозагружающей. Хабралюдям — самое то! Осторожно: может появиться зависимость.
Тихий компьютер своими руками
Информация
- В рейтинге
- Не участвует
- Откуда
- Беларусь
- Зарегистрирован
- Активность