Обновить
0
@CIVICread⁠-⁠only

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

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

Бруклинский мост. Зачем генерируем C++ на Kotlin

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели7.3K

Нелегко на рынке найти senior разработчика для конкретной сферы. Каждый из них имеет уникальные знания в своем языке и фреймворке, будь это Java, Kotlin, С++, JS или Swift. Каждый накапливал свои знания годами. Но найти senior разработчика, который одинаково хорош и C++ и в Kotlin, утром переписывает openssl, а по вечерам пинает мидлов за неправильное использование корутин, почти нереально.

Для каждого проекта нужны высококлассные специалисты, поддерживающие проект на плаву, развивающие его, предоставляя клиенту новые фичи, а заказчику - большие деньги. Уход каждого специалиста для компании приносит новые убытки, но вот уход ndk специалиста может привести проект к краху. Ладно, не все так драматично. Если у вас все под контролем.

Читать далее

Мониторинг температуры серверной своими руками

Время на прочтение3 мин
Охват и читатели29K
Когда мы в очередной раз узнали об отказе кондиционера в серверной по гневным сообщениям от встроенного мониторинга серверов, было принято волевое решение научить Zabbix мониторить температуру в серверной. Чтобы при повторении подобной ситуации принять меры до того, как серверная превратится в баню.


Читать дальше →

Выброшенные на помойку умные лампочки — ценный источник личной информации

Время на прочтение3 мин
Охват и читатели243K


Современные пользователи различных устройств в большинстве своем — представители культуры потребления. Если что-то ломается, то владелец вещи просто ее выбрасывает, не задумываясь ни о возможности ремонта, ни о том, чтобы почистить девайс, убрав свои личные данные.

На свалку отправляются жесткие диски, полные данных, телефоны с контактными книжками и данными владельцев, а также умные устройства с сохраненными паролями и логинами. Поскольку редкий пользователь использует больше 2-3 логинов и паролей, то такие гаджеты могут стать для взломщиков источником ценной информации.
Читать дальше →

Почему работать в IT не так уж и классно

Время на прочтение8 мин
Охват и читатели123K


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

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

Наконец появилась задача, которую смогут решить только квантовые компьютеры

Время на прочтение6 мин
Охват и читатели46K

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




На ранних этапах изучения квантовых компьютеров специалисты по информатике задали вопрос, ответ на который, по их мнению, должен был открыть какую-то глубокую истину о возможностях этих футуристических машин. 25 лет спустя ответ на него был найден. В работе, опубликованной в мае 2018, специалисты по информатике Рэн Рэз и Авишай Тал предложили убедительное доказательство того, что вычислительные возможности квантовых компьютеров превосходят всё, чего в принципе могут достичь классические компьютеры.
Читать дальше →

Dagger 2 и структура приложения для Android

Время на прочтение11 мин
Охват и читатели81K

Добрый день! Наша команда уже больше года занимается разработкой почтового клиента МойОфис для платформы Android (приложения МойОфис мы разрабатываем для всех популярных платформ).

Сегодня мы хотим рассказать о технологиях, которые мы используем в разработке нашего почтового клиента. А именно, о механизмах Dependency Injection в виде библиотеки Dagger 2. В статье мы опишем основные части библиотеки и расскажем, как их использовать в Android-проекте.
Подробности

Реализация Spring Framework API с нуля. Пошаговое руководство для начинающих. Часть 1

Время на прочтение19 мин
Охват и читатели71K


Spring Framework является одним из самых сложных фремворков для понимания и изучения. Большинство разработчиков изучают его медленно, через практические задачи и гугл. Этот подход не эффективен, так как не даёт полной картины и при этом требует больших затрат.

Я хотел бы предложить вам принципиально новый подход к изучению Спринга. Он заключается в том, что человек проходит через серию специально подготовленных туториалов и самостоятельно реализует функционал спринга. Особенность этого подхода в том, что он, помимо 100%-го понимания изучаемых аспектов Spring даёт ещё большой прирост в Java Core (Annotations, Reflection, Files, Generics).

Статья подарит вам незабываемые ощущения и позволит почувствовать себя разработчиком Pivotal. Шаг за шагом, вы сделаете ваши классы бинами и организуете их жизненный цикл (такой же, как и в реальном спринге). Классы, которые вы будете реализовывать — BeanFactory, Component, Service, BeanPostProcessor, BeanNameAware, BeanFactoryAware, InitializingBean, PostConstruct, PreDestroy, DisposableBean, ApplicationContext, ApplicationListener, ContextClosedEvent.
Читать дальше →

Проектирование пользовательского интерфейса Windows 95

Время на прочтение19 мин
Охват и читатели45K
Три года назад мне попалась интересная научная статья сотрудника Microsoft Кента Салливана о процессе и результатах проектирования нового пользовательского интерфейса для Windows 95. С тех пор веб-страница исчезла — одна из причин, почему я такой цифровой Плюшкин.

Статья описывает некоторые общие проблемы оболочки Менеджера программ в Windows 3.1 и рассматривает варианты разработки отдельной оболочки для «новичков». Я склоняюсь к мнению, что она предположительно создавалась в духе программы At Ease от Apple, довольно популярной во времена System 7. Я хорошо помню, как мы запускали At Ease в начальной школе, так что детишкам не приходилось возиться с жёстким диском в Finder.

Итак, вот что Кент дословно написал в своей статье под названием «Пользовательский интерфейс Windows 95: конкретный пример проектирования функциональности» (The Windows 95 User Interface: A Case Study in Usability Engineering). Публикуем её, чтобы документ никогда не потерялся.
Читать дальше →

Добываем Wi-Fi соседа стандартными средствами MacOS

Время на прочтение5 мин
Охват и читатели419K
Я всегда был фанатом багов и уязвимостей «на поверхности», всегда завидовал чувакам, которые пишут эксплойты для самых защищённых ОС, а сам умел только скрипткиддить (термин из нулевых). Однако мой пост про уязвимости в системах контроля версий набрал более 1000 лайков на Хабре и остаётся топ1 постом за всю историю Хабра, несмотря на то, что был написан 9(!) лет назад.

И сегодня я хотел бы на пальцах показать и рассказать про такую штуку, как вардрайвинг. А точнее, как стандартными средствами MacOS можно добыть пароли от Wi-Fi соседей. Нелёгкая забросила меня на очередную квартиру. Как-то исторически сложилось, что я ленивый. Пару лет назад я уже писал, что моя лень, новая квартира и провод Beeline (бывшая Corbina) помогли мне найти багу у Билайна и иметь бесплатно интернет в их сети. «Сегодня» происходит «подобное», я на новой квартире, нет даже провода, но есть много сетей у соседей.


Заколебавшись расходовать мобильный трафик, я решил, что «соседям надо помогать», и под «соседями» я имел введу себя…
Читать дальше →

Я разработчик с 9 до 17 (и ты можешь стать таким)

Время на прочтение4 мин
Охват и читатели65K
Этот конкретный твит от Сафьи Абдалла сподвиг меня на некоторые размышления:
Пожалуй, непопулярное мнение (и тут немного иронии от меня).

Чтобы быть способным и отличным инженером, вам не нужно писать статьи в блоге, участвовать в проектах open source, выступать с техническими лекциями или делать что-нибудь ещё.

Можете оставить свой код в офисе — и это вполне нормально.
Такая позиция близка и мила моему сердцу, хотя я тоже понимаю иронию. Одна из вещей, которые я говорю потенциальным работодателям с тех пор как меня уволили за отказ оставаться программировать после работы — это то, что я не согласен на овертайм. По крайней мере, не на регулярной основе. Я могу иногда поучаствовать в авралах, когда критически важно срочно накатить конкретное изменение или исправить баг, но за исключением таких случаев я буду появляться, вкалывать — и пойду домой.
Читать дальше →

Пожалуй, самая необычная головоломка на Google Play

Время на прочтение7 мин
Охват и читатели69K
Это немного самонадеянно, но я решил озаглавить этот текст одним из отзывов о своей игре. На это есть две причины: первая — такая характеристика тешит мое самолюбие, признаюсь, чего уж скрывать. Вторая причина — мне бы хотелось, чтобы именно так воспринималась эта головоломка, а точнее целый набор, игроками.


Я недавно подсчитал, что уже 5 лет занимаюсь созданием игр в свободное от основной работы время. За этот период я сделал несколько игр, которые можно назвать успешными, если судить по количеству загрузок. Но по настоящему, я горжусь только последней, она изображена на картинке выше. Нет, это не игра про лутбоксы. Это набор головоломок, основная идея которого в том, чтобы объединить разноплановые головоломки одним сюжетом. Но главное, это должны быть головоломки с подвохом, такие, которые требуют от игрока нешаблонного, креативного мышления. Головоломки с простым, но при этом неожиданным решением. Под катом гифки, история создания и технические детали этой игры.
Читать дальше →

Расчёт сопел современных ракетных двигателей

Время на прочтение10 мин
Охват и читатели71K


Введение


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



По причине высокой эффективности ускорения газового потока, нашли практическое применение сопла Лаваля. Сопло представляет собой канал, суженный в середине. В простейшем случае такое сопло может состоять из пары усечённых конусов, сопряжённых узкими концами:



В ракетном двигателе сопло Лаваля впервые было использовано генералом М. М. Поморцевым в 1915 году. В ноябре 1915 года в Аэродинамический институт обратился генерал М. М. Поморцев с проектом боевой пневматической ракеты.

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

В ракете Поморцева было применено два интересных конструктивных решения: в двигателе имелось сопло Лаваля, а с корпусом был связан кольцевой стабилизатор. Подобные конструкции используются и в настоящее время, но уже с твёрдотопливным двигателем и системой автоматического наведения:



Однако проблемы остались старые, но уже в современном исполнении: ограниченная дальность до 3 км., наведение и удержание цели в условиях хорошей видимости, что для настоящего боя не реально, не защищённость от электромагнитных заградительных помех и, наконец, но не в последнюю очередь, высокая стоимость.
Читать дальше →

Где моя оплата? Как мошенники зарабатывают на фрилансерах

Время на прочтение5 мин
Охват и читатели48K

Где оплата за работу?


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

В один прекрасный день, нам на корпоративную почту приходит письмо, от жительницы Украины (любой другой страны), следующего содержания:

Здравствуйте, в интернете вы набираете на работу копирайтеров. Я откликнулась на предложение от Юлии Якубенко. Сделала заказ, который получила, но не получила по нем ни оплаты ни ответа, хотя я его нашла на сайте в интернете. Как мне это понимать? Ваша фирма со всеми сотрудниками так поступает??? Прошу вас дать ответ на мое сообщение!

Скриншот
image

Разумеется никакую вакансию мы не размещали, тем более на Украинских сайтах фриланса (важный момент, что сайт был не Российский). Слегка удивившись такому письму и немного порассуждав на тему, а не очередной ли это спам и стоит ли на него отвечать, мы все же решили уточнить у девушки более подробную информацию по вакансии и работе в целом.
Читать дальше →

Современная Android разработка на Kotlin. Часть 1

Время на прочтение15 мин
Охват и читатели137K
Данная статья является перевом статьи от Mladen Rakonjac

Очень сложно найти один проект, который охватывал бы всё новое в разработке под Android в Android Studio 3.0, поэтому я решил написать его. В этой статье мы разберём следующее:



  1. Android Studio 3
  2. Язык программирования Kotlin
  3. Варианты сборки
  4. ConstraintLayout
  5. Библиотека привязки данных Data Binding
  6. Архитектура MVVM + паттерн repository (с mapper'ами) + Android Manager Wrappers
  7. RxJava2 и как это помогает нам в архитектуре
  8. Dagger 2.11, что такое внедрение зависимости, почему вы должны использовать это.
  9. Retrofit (Rx Java2)
  10. Room (Rx Java2)

Каким будет наше приложение?


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

Я попытаюсь объяснить как можно больше строк кода. Вы всегда можете посмотреть код, который я опубликовал на GitHub.
Читать дальше →

В Даркнете можно купить ПО для неограниченного снятия налички из банкоматов

Время на прочтение3 мин
Охват и читатели82K
Нет, это вовсе не кулинарное ПО. Здесь говорится о «котлете денег», а не блюде

Банкоматы (ATM) — специализированные аппараты, которые предназначены для проведения разного рода финансовых операций, включая выдачу наличных денег. Как правило, блок управления у них — это модифицированный ПК под управлением ОС Windows. Соответственно, эти компьютеры подвержены воздействию ПО, написанного злоумышленниками для операционной системы от Microsoft.

До поры до времени киберпреступники писали такое ПО для личных нужд или для продажи избранным за огромные деньги. Но теперь ситуация изменилась: программное обеспечение такого рода появилось и в открытом доступе. Вернее, не совсем открытом. «Лаборатория Касперского» обнаружила, что в Даркнете свободно продается malware с названием Cutlet Maker, которое предназначено лишь для одного — заставить банкоматы определенных моделей выдавать наличку в неограниченном количестве.

Bad Rabbit: новая волна атак с использованием вируса-шифровальщика

Время на прочтение2 мин
Охват и читатели30K
image
Несколько российских СМИ и украинских организаций подверглись атаке шифровальщика Bad Rabbit. В частности, хакеры атаковали три российских СМИ, среди которых «Интерфакс» и «Фонтанка».

24 октября началась новая масштабная кибер-атака с использованием вируса-шифровальщика Bad Rabbit. Зловред поразил компьютерные сети Киевского метрополитена, Министерства инфраструктуры, Международного аэропорта “Одесса”. Несколько жертв оказались и в России — в результате атаки пострадали редакции федеральных СМИ, таких как «Интерфакс» и «Фонтанка».

Kill Switch: необходимо создать файл C:\windows\infpub.dat и выставить ему права «только для чтения». В этом случае даже при заражении файлы не будут зашифрованы.
Читать дальше →

Тащим музыку из ВК без публичного music API

Время на прочтение6 мин
Охват и читатели92K

Как все начиналось


Дело было вечером, делать было нечего… Точнее, я просто хотел загрузить аудиокнигу перед парами и тут меня ждал сюрприз. Кэш в кейт мобайле отключили. Как так? Что делать? Конечно же писать свое приложение с кэшем и аудиозаписями. Но для начала нужно понять, как вк превращает ссылки вида audio%user_id%_%track_id% в прямые ссылки на mp3. Что из этого вышло приложения я не написал и как скачать определенный плейлист можно прочитать под катом.
Читать дальше →

От оптимизаций до Machine Learning: интервью с автором Android High Performance Programming

Время на прочтение6 мин
Охват и читатели8K
Почти год назад вышла книга Android High Performance Programming. Книжка классная – но требующая комментариев. Скоро автор прилетит в Россию на конференцию Mobius 2017 Moscow, и с ним можно будет пообщаться вживую. Чтобы скоротать ожидание, давайте пообщаемся с Энрике в формате хабро-интервью.

Java или Kotlin? Как писать быстрый код? Можно ли в мобильном приложении использовать Tensorflow и другое машинное обучение? Срочно жмите кнопку «читать дальше»! ⇩

Итак, в гостях у нас
Enrique López Mañas (Энрике Лопес Маньяс) — независимый IT-консультант и разработчик, обладатель звания Android Google Developer Expert. Занимается мобильными технологиями и программированием более 10 лет, входит в десятку самых активных в Германии участников сообщества Java Open Source. Последнее время «заболел» Big Data и ML-технологиями, о чем мы с ним тоже сейчас кратко поговорим.


Читать дальше →

Как мы Raiffeisen Online создавали…

Время на прочтение13 мин
Охват и читатели31K

Интернет-банк уже давно превратился из роскоши в must have для любого уважающего себя банка. Излишне говорить, что приложение должно не просто быть, а должно быть надёжным, удобным и приятным в использовании. В одной статье не получится рассказать обо всех аспектах нашего интернет-банка Raiffeisen Online, но зато я расскажу о нашем опыте создания новой версии, его архитектуре и трудностях, с которыми столкнулась команда. Возможно, кому-то наш опыт поможет сэкономить время и усилия.
Читать дальше →

Воркшопы на FrontFest — кросс-платформенные приложения на Angular, 3D-игры на Canvas и бекенды на Node.js

Время на прочтение3 мин
Охват и читатели3.6K


Мы уже писали на Хабре о докладах в основных потоках FrontFest — JavaScript, вёрстка, смежные и экспериментальные технологии. Настало время рассказать о форматах. Помимо докладов будут квартирники (такой вид дискуссионных панелей) и воркшопы. Сегодня поговорим о воркшопах, и сразу главное — посещение воркшопов не требует никаких доплат и доступно по обычному билету участника. Да, вот так просто.

На воркшопах вы узнаете о хакерских способах низкоуровневых оптимизаций, приобретете навыки работы с Web Audio API и 3D на Canvas, научитесь делать свои веб-приложения нативными для iOS, Android, Windows и MacOS с помощью Ionic (Angular) и построите production-ready бекенд на Node.js с нуля.
Подробнее
1
23 ...

Информация

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