Как стать автором
Обновить
0
0
cosmonaft @cosmonaft

Пользователь

Отправить сообщение

Где решать задачи по программированию, чтобы пройти путь from zero to hero

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров102K

Если вам о чём-то говорят фамилии Зив, Хомченко и Рымкевич, иди сюда, дай обниму, бедолага-олимпиадник, то вы наверняка знаете, как важно прорешивать задачи для полноценного, осознанного и глубокого понимания изученного материала. Когда нет или совсем мало реальной практики, задачи дают возможность покрыть практикой все теоретические знания, погрузиться в неожиданные выводы, сложности, баги, препятствия. Более того, даже если практики достаточно, задачи помогают относительно быстро, комплексно и глубоко проработать типичные и нетипичные ситуации, возникающие в разработке (любой другой науке). Это всегда безопасный (никто не взрывает лабораторию и не роняет прод), доступный и удобный способ подробно разобраться в предмете. Определённо, программирования это касается в первую очередь.

Читать далее
Всего голосов 67: ↑66 и ↓1+65
Комментарии25

Переписываем домашний проект на микросервисы (Java, Spring Boot, Gradle)

Время на прочтение13 мин
Количество просмотров73K

Введение


Image


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


Ранее у меня был домашний проект (хотя скорее даже его прототип), который было решено переписать на микросервисы. Проект представлял собой попытку сделать обучающую Java игру. То есть у игрока есть поле, на этом поле он может управлять каким-то юнитом с помощью кода. Пишет код, отправляет на сервер, там он выполняется и возвращает результат, который отображается пользователю.


Всё это было реализовано в виде прототипа — были пользователи, один урок и одна задача для него, возможность отправить код, который компилировался и исполнялся. Кое-какой фронтенд, но в статье о нём речи не будет. Технологии — Spring Boot, Spring Data, Gradle.


В статье будет реализован такой же прототип, но уже на микросервисах. Реализация будет наиболее простым путём (точнее наиболее простым, из известных мне). Реализация будет доступна любому, кто знаком со Spring.

Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии34

Знакомство с Spring Data MongoDB

Время на прочтение8 мин
Количество просмотров21K
Всем доброго дня!

Стартовали новенький поток «Разработчик на Spring Framework», «внезапно», этот курс оказался очень востребованным среди, как и новых студентов, так и тех кто уже отучился у нас на «обычной» джаве и энтерпрайзе. Так что, если интересно, то заходите к нам на открытые уроки, ну и, разумеется, делимся интересными материалами по теме.

Перевод статьи Spring Data MongoDB Tutorial
Автор статьи Anand Kumar


Поехали!

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

Spring — как раз такой фреймворк, который обеспечивает простоту интеграции со множеством других различных фреймворков, что упрощает разработку приложения с использованием Spring. Одной из таких интеграций является интеграция Spring с MongoDB.



1. Вступление
Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии6

OpenDataScience и Mail.Ru Group проведут открытый курс по машинному обучению

Время на прочтение6 мин
Количество просмотров66K

6 сентября 2017 года стартует 2 запуск открытого курса OpenDataScience по анализу данных и машинному обучению. На этот раз будут проводиться и живые лекции, площадкой выступит московский офис Mail.Ru Group.



Если коротко, то курс состоит из серии статей на Хабре (вот первая), воспроизводимых материалов (Jupyter notebooks, вот github-репозиторий курса), домашних заданий, соревнований Kaggle Inclass, тьюториалов и индивидуальных проектов по анализу данных. Здесь можно записаться на курс, а тут — вступить в сообщество OpenDataScience, где будет проходить все общение в течение курса (канал #mlcourse_open в Slack ODS). А если поподробней, то это вам под кат.

Читать дальше →
Всего голосов 46: ↑44 и ↓2+42
Комментарии18

Обзор профессии Data Scientist

Время на прочтение4 мин
Количество просмотров188K
Data Scientist — это эксперт по аналитическим данным, который обладает техническими навыками для решения сложных задач, а также любопытством, которое помогает эти задачи ставить. Они частично математики, частично компьютерные ученые и частично трендспоттеры.

Data Scientist требует реальных и практических знаний методов статистического анализа данных, навыков построения математических моделей (от нейронных сетей до кластеризации, от факторного до корреляционного анализов), работы с большими массивами данных и уникальной способности находить закономерности. Но это все лирика. Давайте теперь по делу.
Читать дальше →
Всего голосов 13: ↑8 и ↓5+3
Комментарии10

Свой веб-сервер на NodeJS, и ни единого фреймворка. Часть 1

Время на прочтение7 мин
Количество просмотров119K
Для многих людей JavaScript ассоциативно связан с обилием разнообразных фреймворков и библиотек. Разумеется, инструменты, которые помогают нам каждый день — это хорошо, но, мне кажется, нужно искать некий баланс между использованием инструментов и прокрастинацией, а также знать, как работают вещи, которыми ты пользуешься. Поэтому, когда я только сел разбираться с NodeJS, мне было особенно интересно написать полноценный веб-сервер, которым я мог бы пользоваться сам.
Читать дальше →
Всего голосов 46: ↑35 и ↓11+24
Комментарии97

Реализация «Onboarding Experience» в вашем приложении

Время на прочтение5 мин
Количество просмотров13K
Привет всем постояльцам хабра!

В этой статье хотел бы рассказать о внедрении «Onboarding Experience» в приложение, над которым вы работаете или собираетесь работать.

«Onboarding Experience» — это небольшая презентация внутри приложения, которая показывает о возможностях вашего приложения в виде такого себе слайд-шоу. Такую практику демонстрации функционала приложения применяют многие компании, такие как, например Google.

Пример «Onboarding Experience» в приложении Google Drive:

image

Также, «Onboarding Experience» называется «App Intro» или «Product Tour». Вы можете называть это как хотите, ведь суть его не меняется.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии7

Почему одного AJAX недостаточно: протокол WAMP

Время на прочтение6 мин
Количество просмотров33K
AJAX-вызовы вывели работу web на новый уровень. Уже не нужно перезагружать страницу в ответ на каждый ввод информации пользователем. Теперь возможно отправлять вызовы на сервер и обновлять страницу на основании полученных ответов. Это ускоряет работу интерактивного интерфейса.

А вот что AJAX не обеспечивает – так это обновления с сервера, которые необходимы для работы приложения в реальном времени. Это могут быть приложения, в которых пользователи одновременно редактируют один документ, или уведомления, рассылаемые миллионам читателей новостей. Необходим ещё один шаблон для рассылки сообщений, в дополнение к запросам AJAX, который бы работал в разных масштабах. Для этого традиционно используется шаблон PubSub («publish and subscribe», «публикация и подписка»).

Какую задачу решил AJAX


До появления AJAX интерактивные взаимодействия со страницей были тяжеловесными. Каждое из них требовало перезагрузки страницы, которая создавалась на сервере. В этой модели основной единицей взаимодействия была страница. Неважно, какой объём информации отправлялся из браузера на сервер – результатом была полностью обновлённая страница. Это была трата как трафика, так и серверных ресурсов. И это было медленно и неудобно для пользователей.

AJAX решил проблему, разбивая всё на части: стало возможным отправить данные, получить конкретный результат и обновить лишь часть страницы, имеющую к этому отношение. От вызова «дай мне новую страницу» мы перешли к конкретным запросам данных. У нас появилась возможность делать вызовы удалённых процедур (RPC).
Читать дальше →
Всего голосов 30: ↑21 и ↓9+12
Комментарии9

Как стать программистом или Выучить Java за 1 год

Время на прочтение7 мин
Количество просмотров465K
Здравствуй, дорогой читатель. Давно хотел написать подобную статью, но либо не хватало времени, либо мешала предательская лень. Но, как бы там ни было, все-таки у меня получилось собраться с мыслями, чтобы написать то, что принесет вам, я надеюсь, какую нибудь пользу. С радостью поделюсь своими знаниями и опытом, в ответ с вас причитается время и внимание. По моему мнению, данная публикация хорошо подойдет для тех, кто готов определиться в своих интересах и хочет связать свою жизнь с IT — тем или иным образом. Итак, поехали!
Читать дальше →
Всего голосов 25: ↑10 и ↓15-5
Комментарии17

36 млн запросов в час, 10000+ постоянно работающих клиентов, на одном сервере, nginx+mysql

Время на прочтение5 мин
Количество просмотров114K
Сложилась ситуация, что участвую в проекте, который работает с достаточно большой нагрузкой. Как уже написал — 36 млн запросов в час. Я много чего прочитал и перепробовал за последний месяц, настраивая сервер; хотелось бы просто сжато и компактно выдать тезисно то, что работает хорошо в такой конфигурации.

Первое, что я заметил — множество советов как все настроить под большую нагрузку. Читайте их внимательно, обычно в тексте найдете, что речь про «высокую нагрузку» в 15-20 тысяч клиентов в сутки. У нас клиентов примерно миллион, активных, ежедневных.

У нас нет денег и мы все делаем за свой счет, поэтому экономим. Итог — весь миллион клиентов обслуживается на одном сервере, вот на таком — EX-60 на hetzner.
Читать дальше →
Всего голосов 111: ↑96 и ↓15+81
Комментарии102

Архитектура Android-приложений… Правильный путь?

Время на прочтение5 мин
Количество просмотров93K
От переводчика: Некоторые термины, которые использует автор, не имеют общепринятого перевода (ну, или я его не знаю:), поэтому я решил оставить большинство на языке оригинала — они всё равно понятны и для тех, кто пишет под android, но не знает английский.
Куда писать об ошибках и неточностях, вы знаете.


За последние несколько месяцев, а также после дискуссий на Tuenti с коллегами вроде @pedro_g_s и @flipper83 (кстати говоря, 2 крутых Android-разработчика), я решил, что имеет смысл написать заметку о проектировании Android-приложений.

Цель поста — немного рассказать о подходе к проектированию, который я продвигал в последние несколько месяцев, и также поделиться всем тем, что я узнал во время исследования и реализации этого подхода.
Удиви меня
Всего голосов 31: ↑30 и ↓1+29
Комментарии9

Droidutils — набор решений, которые ускоряют разработку приложений под Android

Время на прочтение7 мин
Количество просмотров20K
При разработке приложений я заметил, что каждый раз, когда мне приходилось сталкиваться с решением похожих задач (реализовывать работу с http, json, multithreading и т.п.), приходилось делать одну и туже роботу, причем на это уходило много времени. Поначалу это было не критично, но в больших проектах занимало слишком много времени. Чтобы сэкономить свое и ваше время, решил написать универсальное решение для этих задач, которым и хочу поделиться с сообществом.
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии36

Запасаемся на зиму

Время на прочтение1 мин
Количество просмотров22K
Книги — пища для мозгов программиста. А художественные — десерт. Хорошая книга — как вкусное блюдо, которое хочется дочитать растянув удовольствие, испробовать снова и снова. Но есть куча книг, которые мы еще не нюхали и, возможно, никогда не попробуем, потому что нам их не посоветовали несколько человек.

У каждого есть одна-две любимые книги, которые могут понравится другим, поделитесь пожалуйста, заразите. Думаю многим будет интересно поставить в очередь «к прочтению» несколько новых. Давайте устроим «дегустацию» книг в формате: одна книга — один комментарий. Чтобы другие могли добавить в избранное (и оценить, и обсудить) каждую книгу по отдельности.

Читать дальше →
Всего голосов 158: ↑148 и ↓10+138
Комментарии476

Эмуляция Денди. Nestopia с поддержкой нового расширения ZNS (Zipped NES)

Время на прочтение2 мин
Количество просмотров8.2K
Вам ничего не напоминает этот скриншот? Сомневаюсь. Китайские друзья постарались на славу — уверен, что большинство из вас сейчас вспоминает свой первый картридж для Денди. На картридже было несколько простых игр, которые приедались в первый же день. Но вы ведь помните это меню с красивыми видами на каждой странице, приятной музыкой и даже небольшим романтическим сюжетом? Да, черт возьми, вы помните! В Денди играл наверное каждый ребенок в этой стране. Мы часами просиживали за экранами телевизоров, меняли картриджи один за другим и нам было совсем не важно, что это какой-то пиратский клон японской NES, и тем более не интересно, почему в играх на наших картриджах затерты все копирайты. Кто-нибудь тогда вообще понимал что это такое? =)
Сегодня совершенно нет необходимости покупать эту приставку, чтобы вспомнить все и заново пройти Super Mario или Contra. Существует армия эмуляторов на любой вкус и цвет, дампы практически всех игр давно доступны в сети. Каждый уважающий себя эмулятор умеет открывать игры прямо из архивов. Это очень удобно, ведь чаще всего дампы игр распространяются именно в сжатом виде. Только вот есть одна неприятность — связывать напрямую с программой расширение .zip достаточно глупо, а хотелось бы запускать игры из архивов одним кликом. Поэтому я предлагаю для сжатых NES файлов использовать расширение ZNS (Zipped NES).
Читать дальше →
Всего голосов 63: ↑53 и ↓10+43
Комментарии72

TOP-10 Flash-игр

Время на прочтение2 мин
Количество просмотров5.6K

Сегодня уже можно :)



1. Robokill. Вы управляете роботом, который перемещается по локациям и убивает противников. В процессе игры Вы зарабатываете деньги и можете усовершенствовать своего робота, покупая ему новое оружие, боеприпасы и т.д. Всего 10 затягивающих миссий.
Оф. сайт (триальная версия): www.rocksolidarcade.com/games/robokill Полная версия: robokill.hotbox.ru
Читать дальше →
Всего голосов 125: ↑88 и ↓37+51
Комментарии114

eRepublik

Время на прочтение2 мин
Количество просмотров2.6K
Логотип
eRepublik — популярная браузерная онлайн игра с элементами социальной сети. Участники имеют возможность учреждать компании и организации, собственные газеты, создавать политические партии, голосовать на выборах, начинать войны и революции, участвуя в них в качестве солдат регулярной армии. Основной элемент игры, политика, раскрыт как нигде ярко: тут вам и выборы президента/парламента/лидеров партий, объединение стран в альянсы и хитрая внешняя политика, налоговое регулирование внутри страны и многое другое. Аналогов данной «игры в политику» сейчас просто-напросто нет.
Читать дальше →
Всего голосов 106: ↑80 и ↓26+54
Комментарии152

как способ изучения Английского

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

Поделюсь теми, на которые подписан я:

Читать дальше →
Всего голосов 100: ↑91 и ↓9+82
Комментарии108

Как разобрать Dell Inspiron 1525 и ничего не сломать ;)

Время на прочтение6 мин
Количество просмотров71K

Конец уже содержится в начале. Джордж Оруэлл, 1948 год



Это не обычный обзор ноутбука, а скорее обзор некоторых технических возможностей и, главное, некая инструкция по полной безболезненной разборке/сборке.
Во время обзора будем стараться рассматривать его преимущества и недостатки.
Подопытный ноутбук Dell Inspiron 1525

как разобрать ноутбук
(осторожно, более 30 фото)
Приступим...
Всего голосов 62: ↑54 и ↓8+46
Комментарии71

Игра Сет

Время на прочтение2 мин
Количество просмотров5.7K

Есть такая потрясающая настольная (не компьютерная!) игра — Сет (The Set). Генетик Марша Фалко (Marsha Falco) изобрела её, делая пометки во время исследования эпилепсии у немецких овчарок. Игра получилась необычной, чрезвычайно увлекательной и мозгозагружающей. Хабралюдям — самое то! Осторожно: может появиться зависимость.



Читать дальше →
Всего голосов 171: ↑161 и ↓10+151
Комментарии80

Тихий компьютер своими руками

Время на прочтение10 мин
Количество просмотров82K
Компьютер давно уже стал таким же обычным предметом в доме, как и например холодильник. Но почему-то многие пользователи компьютеров, особенно не сильно «продвинутые» считают, что современный компьютер должен шуметь. Он ведь мощный, ему нужен БП на XXX ватт, а шум — это неизбежность. Однако для большинства типичных домашних конфигураций это не так. Их можно сделать как минимум тихими, а то и вовсе практически бесшумными. Далее я расскажу, как добиться этого без значительных финансовых вложений простыми и доступными средствами.
Читать дальше →
Всего голосов 114: ↑105 и ↓9+96
Комментарии142
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Беларусь
Зарегистрирован
Активность