Как стать автором
Обновить
2
mikledeep @mikledeepread⁠-⁠only

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

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

Лекция 6. Angry Birds — CS50`s Introduction to Game Development с русскими субтитрами

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

Привет! Перевод очередной лекции на этот раз о создании Angry Birds.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Android LiveData на Kotlin с использованием Retrofit и coroutines

Время на прочтение6 мин
Количество просмотров21K
Статья рассказывает об использовании Android Components ViewModel, LifeCycle и LiveData. Эти компоненты позволяют не заботиться о жизненном цикле Activity.

Так же рассмотрен пример применения современного Coroutines в связке с репозитарием на Retrofit

fun main(args: Array<String>): Unit = runBlocking {
    // Wait (suspend) for Result
    val result: Result<User> = api.getUser("username").awaitResult()
    // Check result type
    when (result) {
        //Successful HTTP result
        is Result.Ok -> saveToDb(result.value)
        // Any HTTP error
        is Result.Error -> log("HTTP error with code ${result.error.code()}", result.error)
        // Exception while request invocation
        is Result.Exception -> log("Something broken", e)
    }
}
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии3

Android Go — будущий миллиард устройств и лимит в 50 МБ. Лекция Яндекса

Время на прочтение16 мин
Количество просмотров27K
Новые направления развития уже знакомой платформы — это всегда интересно. С одной стороны, вы расширяете клиентскую базу, с другой — не вкладываетесь в создание софта с нуля, а используете существующие наработки. Но если направление действительно новое, со своей спецификой, то совсем малой кровью обойтись не удастся. На очередной встрече сообщества Mosdroid в нашем офисе разработчик Артур Василов Arturka рассказал об адаптации приложения «Яндекс» под систему Android Go.


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

Всего голосов 28: ↑27 и ↓1+26
Комментарии31

Композиция UIViewController-ов и навигация между ними (и не только)

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


В этой статье я хочу поделиться опытом который мы успешно используем уже несколько лет в наших iOS приложениях, 3 из которых в данный момент находятся в Appstore. Данный подход хорошо зарекомендовал себя и недавно мы сегрегировали его от остального кода и оформили в отдельную библиотеку RouteComposer о которой собственно и пойдет речь.

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

Руководство по фоновой работе в Android. Часть 5: Корутины в Котлине

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

Остров Котлин

Предыдущие тексты этой серии: про AsyncTask, про Loaders, про Executors и EventBus, про RxJava.

Итак, этот час настал. Это статья, ради которой была написана вся серия: объяснение, как новый подход работает «под капотом». Если вы пока не знаете и того, как им пользоваться, вот для начала полезные ссылки:


А освоившись с корутинами, вы можете задаться вопросом, что позволило Kotlin предоставить эту возможность и как она работает. Прошу заметить, что здесь речь пойдёт только о стадии компиляции: про исполнение можно написать отдельную статью.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии5

Load Average в Linux: разгадка тайны

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


Средние значения нагрузки (Load averages) — это критически важная для индустрии метрика. Многие компании тратят миллионы долларов, автоматически масштабируя облачные инстансы на основании этой и ряда других метрик. Но на Linux она окутана некой тайной. Отслеживание средней нагрузки на Linux — это задача, работающая в непрерываемом состоянии сна (uninterruptible sleep state). Почему? Я никогда не встречал объяснений. В этой статье я хочу разгадать эту тайну, и создать референс по средним значениям нагрузки для всех, кто пытается их интерпретировать.

Читать дальше →
Всего голосов 127: ↑125 и ↓2+123
Комментарии25

Учимся программировать под Андроид

Время на прочтение2 мин
Количество просмотров74K
Привет Хабр! Предлагаю вашему вниманию свободный перевод статьи «How To Learn Android Development» от Amit Shekhar.

image

Как изучить разработку приложений под Андроид?

Я видел много вопросов о том, как начать изучать программирование под Андроид и стать успешным разработчиком. Здесь я попытался охватить большинство важных аспектов в Android Development.
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии5

[Археология Live] Стыдный разговор о синглтонах

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

Аудитория: Java Junior, любители холиворов, профессиональные написатели синглтонов



Любые замечания и предложения — очень приветствуются. Это мое первое видео, и не совсем понятно, нужен ли тут вообще такой контент. Считайте это закрытым альфа-тестом, только для посетителей хаба Java :)


Ниже дана полная текстовая расшифровка, кому не хочется тратить время на просмотр.

Читать дальше →
Всего голосов 55: ↑47 и ↓8+39
Комментарии79

Фантастика и фентези за два с половиной года, почти сто хороших книг

Время на прочтение22 мин
Количество просмотров245K
На этот пост меня подтолкнула публикация «Почему я ворую книги, бедные авторы, и как это исправить», а именно — скепсис и возражения на мой комментарий о том, что я не читаю плохие книги. Мне предложили рассказать, как я выбираю книги для чтения и что именно читаю. Ну я и повелся.
Оформить список было сравнительно просто, FBReader любезно хранил на GoogleDrive все скачанные книги с того момента, как там появилась эта услуга. Предлагаю вашему вниманию список прочитанного мной за 2,5 года из жанров фентези и фантастики.
Читать дальше →
Всего голосов 70: ↑66 и ↓4+62
Комментарии553

Что намазать на зубы, чтобы они не выпали

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


Хорошо зафиксированный пациент в анестезии не нуждается

По многочисленным просьбам трудящихся сегодня мы будем заниматься очень важными вопросами:


  • Как правильно мазать зубы пальцем?
  • Хорошо ли растворяются пломбы в кислоте?
  • Почему больно, когда сверлят зубы дрелью без анестезии?
  • Зачем мазать зубы зеленкой?
  • Лечение кариеса на дому
  • Глубокое микрофторирование эмали

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

Читать дальше →
Всего голосов 209: ↑206 и ↓3+203
Комментарии693

22. CS50 на русском: Лекция #22 [Гарвард, Основы программирования, осень 2015 год]

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


Представляем 22-ую (из 24-х) лекцию легендарного Гарвардского курса CS50, который мы переводим и озвучиваем специально для JavaRush.

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

Совсем скоро мы закончим перевод всего курса. Если вы ещё не посмотрели предыдущие лекции – самое время начать знакомиться с ними. Список под катом.
Всего голосов 18: ↑16 и ↓2+14
Комментарии0

Лекции Технопарка. Курс «Алгоритмы и структуры данных» (осень 2016)

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

image


Сегодня представляем вашему вниманию один из свежих курсов Технопарка — «Алгоритмы и структуры данных». Он представляет собой изучение базовых алгоритмов и структур данных, необходимых программистам для качественного решения ежедневных задач. В курсе представлены алгоритмы для работы с массивами, сортировки. Рассказывается об элементарных структурах данных: стек, очередь, списки, куча. Также в программу включены различные деревья поиска и хеш-таблицы. Курс дает представление о том, как оценивать эффективность алгоритмов, все алгоритмы курса оцениваются по времени работы и по количеству используемой дополнительной памяти. Вас ждут шесть лекций:


  • «Введение. Исполнители. Абстракции интерфейсов. Рекурсия»;
  • «Жадные алгоритмы»;
  • «Сортировки»;
  • «Поиск. Списки»;
  • «Деревья»;
  • «Хеш-таблицы».

Четыре лекции курса читает Степан Мацкевич, руководитель группы извлечения онтологической информации в компании ABBYY. Он был ведущим программистом при написании серверной части продукта ABBYY InfoExtractor на основе технологии ABBYY Compreno (анализ текстов и перевода).


Еще две лекции ведет Георгий Иванов, разработчик Поиска Mail.Ru, занимающийся задачами обработки поисковых запросов.

Всего голосов 57: ↑54 и ↓3+51
Комментарии5

«Недавно запустили систему онлайн-продаж для BMW»: T-Systems о роли Java и конференций в своей деятельности

Время на прочтение6 мин
Количество просмотров8.2K
Как со стороны понять, насколько активно IT-компания использует Java? Один из признаков: если компания спонсирует Java-конференцию и отправляет туда спикера, значит, активно. Поэтому в преддверии Joker 2016 мы решили расспросить наших спонсоров о Java и участии в конференции. Первый пост — о T-Systems.



Мы расспросили нескольких сотрудников компании: одних об их личном опыте Java-разработки в T-Systems, других — о компании в целом. Нашими собеседниками стали:

  • Кирилл Чернин — HR бизнес-партнёр
  • Дмитрий Александров — ведущий эксперт-программист (спикер Joker)
  • Вячеслав Круглов — Java-разработчик, team lead (спикер Joker)
  • Мария Зернова — специалист по внутренним коммуникациям


Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии13

Безопасность Android-приложений. Лекция в Яндексе

Время на прочтение10 мин
Количество просмотров32K
Разработчик Дмитрий Лукьяненко, чью лекцию мы публикуем сегодня, не только является специалистом Яндекса, но и умеет проверять на прочность решения разработчиков других компаний. Это позволяет учиться на чужих ошибках — не исключая порой своих, конечно. В докладе Дмитрий поделится примерами Android-уязвимостей, в том числе найденных им собственноручно. Каждый пример сопровождается рекомендациями — как нужно и как не нужно писать приложения под Android.



Меня зовут Дмитрий, я работаю в компании Яндекс в минском офисе, занимаюсь разработкой аккаунт-менеджера. Это библиотека, которая отвечает за авторизацию пользователей. Поэтому мы поговорим о безопасности Android-приложений.
Всего голосов 68: ↑68 и ↓0+68
Комментарии14

Pivoting или проброс портов

Время на прочтение3 мин
Количество просмотров30K
Наткнулся на статью "SSH-туннели — пробрасываем порт" и захотелось ее дополнить.

Итак, какие еще способы тунеллирования есть:

1. Динамический доступ через SSH


Допустим мы имеем SSH доступ в сеть, и хотим получить доступ к другим хостам/портам в этой сети. Способ уже описанный в вышеупомянутой статье предполагает знание хоста: порта куда мы хотим получить доступ. Но что если мы не знаем этого?

Тут может пригодиться динамический доступ через SSH. Для его конфигурации используется опция ssh -D.

ssh -D 127:0.0.1:2222 user@remotehost

После подключения вы получите динамический socks4 прокси-сервер, слушающий на своей машине на порту 2222 и предоставляющий доступ к удаленной сети.

Как воспользоваться этим доступом? Один из вариантов — использовать proxychains.

  • Устанавливаем Proxychains:

    apt-get proxychains
    

  • Конфигурируем proxychains для использования порта 2222 (на нем слушает наш прокси). Для этого редактируем файл /etc/proxychains.conf и меняем текущую конфигурацию в разделе [ProxyList] с socks4 127.0.0.1 9050 на socks4 127.0.0.1 2222
  • Теперь мы можем использовать proxychains с (почти) любой утилитой. Например, можно запустить сканирование всей удаленной сети при помощи nmap:

    proxychains nmap -sT -sV -v -P0 адрес_подсети маска_подсети
    

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

Объясняя необъяснимое. Часть 2

Время на прочтение8 мин
Количество просмотров73K
Регистрация на конференцию PG Day’16 в разгаре, а мы продолжаем публиковать перевод статей Hubert Lubaczewski об explain и его основных компонентах.

В прошлый раз я писал о том, что показывает вывод explain. Теперь я хочу больше поговорить о разных типах «узлов» / операций, которые вы можете встретить в планах explain.

Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии4

Полный перевод Unix-коанов на русский язык

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


Представляю на ваш суд ещё один перевод коанов о Мастере Фу на русский язык. В данный сборник вошли все коаны, на данный момент опубликованные на сайте Эрика Реймонда. Надо сказать, что сам Эрик личность весьма неординарная, но упоминания в данной статье стоящая. Помимо холиваров в списках рассылки всевозможных проектов за его авторством также несколько серьёзных трудов о Unix — в том числе и о сообществе, без которого экосистема современных открытых проектов не была бы возможной (полный список книг). Идея перевести коаны в очередной раз пришла мне в голову во время чтения одного из таких трудов, а именно «The Art of Unix Programming», поскольку многое из скрытого смысла коанов становится ясно только после прочтения очередной главы оттуда.

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

Итак
Всего голосов 126: ↑123 и ↓3+120
Комментарии65

Сбор и анализ логов с Fluentd

Время на прочтение12 мин
Количество просмотров84K
fluentd

Любому системному администратору в своей повседневной деятельности приходится иметь дело со сбором и анализом логов. Собранные логи нужно хранить — они могут понадобиться для самых разных целей: для отладки программ, для разбора инцидентов, в качестве подспорья для службы техподдержки и т.п. Кроме того, необходимо обеспечить возможность поиска по всему массиву данных.
Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии8

Книги для системного администратора. Моя книжная полка

Время на прочтение6 мин
Количество просмотров481K
Книги.
Я считаю, что важнейшим инструментом получения скилов системного администрирования являются именно они — книги.
Нет специальных факультетов, обучающих «админству» — каждый постигает это самостоятельно. Путем проб, ошибок и боли, потере важных данных различных злоключений.
В начале пути сложно определиться, что же нужно прочесть — ведь массив информации столь огромен!
В данном посте я хочу собрать наиболее важные и значимые труды для системных администраторов.
Уклон будет на *nix админство, но, надеюсь тема окажется небезынтересной и для Windows коллег и в комметариях они заполнят мои пробелы.
Пост субьективен и отражает лишь мой собственный опыт — я раскажу о книгах, которые помогли моему становлению.

Читать дальше →
Всего голосов 51: ↑46 и ↓5+41
Комментарии45

Флибуста заблокирована за «451 градус по Фаренгейту»

Время на прочтение2 мин
Количество просмотров97K
– А вы когда-нибудь читаете книги, которые сжигаете?
Он рассмеялся.
– Это карается законом.

В пятницу вечером, через неделю после принятия решения, библиотека Флибуста была заблокирована на территории России за злостное распространение книги «451 градус по Фаренгейту» и еще нескольких произведений Рэя Брэдбери. Интересно, что поводом к блокировке послужил старый советский перевод, который находится в свободном доступе в библиотеке Мошкова «при поддержке Федерального агентства по печати и массовым коммуникациям».

Не вызывает сомнений, что для блокировки библиотеки годился любой предлог. Не зря же столько лет с ней боролись. Но выбор исполнителя оказался знаковым, создав точное и недвусмысленное свидетельство нашего времени. Явно тот случай, когда рукой водило подсознательное.
Читать дальше →
Всего голосов 163: ↑150 и ↓13+137
Комментарии135

Информация

В рейтинге
Не участвует
Откуда
Камышин, Волгоградская обл., Россия
Дата рождения
Зарегистрирован
Активность