Как в новом году забыть про бумажные визитки

Автор: admin от 6-01-2019, 23:05, посмотрело: 45

Как в новом году забыть про бумажные визитки


Аннотация: в статье сделан обзор современных технологий и мобильных приложений под android для обмена контактами.



В поездках, на конференциях и других мероприятиях мы часто встречаем новых людей. Обычно при обмене контактами мы называем свое имя, диктуем номер телефона, email, даем ссылку на профиль в соцсети или просто передаем новому знакомому свою бумажную визитку. На смену этих способов обмена контактами все чаще приходят другие – более быстрые, современные и технологичные. Давайте рассмотрим в этой статье какие варианты приходят на смену традиционным способам обмена контактами. Среди всех возможных вариантов обмена контактами выберем популярное направление – мобильные приложения для смартфонов, т.к. сейчас смартфон все чаще – это непременный атрибут современного человека.

Категория: Android

 

Kotlin Native: следите за файлами

Автор: admin от 6-01-2019, 18:50, посмотрело: 29

Когда вы пишите command line утилиту, последнее, на что вам хочется полагаться, так это на то, что на компьютере где она будет запущена установлен JVM, Ruby или Python. Так же хотелось бы на выходе иметь один бинарный файл, который будет легко запустить. И не возиться слишком много с memory management'ом.



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



У Go относительно простой синтаксис, неплохая стандартная библиотека, есть garbage collection, и на выходе мы получаем один бинарник. Казалось бы, что еще нужно?



Не так давно Kotlin так же стал пробовать себя на схожем поприще в форме Kotlin Native. Предложение звучало многообещающе — GC, единый бинарник, знакомый и удобный синтаксис. Но все ли так хорошо, как хотелось бы?

Категория: Программирование

 

Функциональная обработка ошибок в Kotlin с помощью Arrow

Автор: admin от 6-01-2019, 18:20, посмотрело: 25

Функциональная обработка ошибок в Kotlin с помощью Arrow



Привет, Хабр!



Все любят runtime exceptions. Нет лучшего способа узнать о том, что что-то не было учтено при написании кода. Особенно — если исключения обваливают приложение у миллионов пользователей, и эта новость приходит паническим email'ом с портала аналитики. В субботу утром. Когда ты в загородной поездке.



После подобного всерьез задумываешься о обработке ошибок — и какие же возможности предоставляет нам Kotlin?



Первым на ум приходит try-catch. По мне — отличный вариант, но у него есть две проблемы:




  • Это как-никак лишний код (вынужденная обертка вокруг кода, не лучшим образом сказывается на читаемости).

  • Не всегда (особенно при использовании сторонних библиотек) из блока catch возможно получить информативное сообщение о том, что конкретно вызвало ошибку.



  • Давайте посмотрим во что try-catch превращает код при попытке решения вышеозвученных проблем.

    Категория: Программирование

     

    Реализация горячей перезагрузки С++ кода в Linux

    Автор: admin от 6-01-2019, 18:10, посмотрело: 36

    Реализация горячей перезагрузки С++ кода в Linux



    * Ссылка на библиотеку в конце статьи. В самой статье изложены механизмы, реализованные в библиотеке, со средней детализацией. Реализация для macOS еще не закончена, но она мало чем отличается от реализации для Linux. Здесь в основном рассматривается реализация для Linux.



    Гуляя по гитхабу одним субботним днем, я наткнулся на библиотеку, реализующую обновление c++ кода налету для windows. Сам я слез с windows несколько лет назад, ни капли не пожалел, и сейчас все программирование происходит либо на Linux (дома), либо на macOS (на работе). Немного погуглив, я обнаружил, что подход из библиотеки выше достаточно популярен, и msvc использует ту же технику для функции "Edit and continue" в Visual Studio. Проблема лишь в том, что я не нашел ни одной реализации под не-windows (плохо искал?). На вопрос автору библиотеки выше, будет ли он делать порт под другие платформы, ответ был отрицательный.



    Сразу скажу, что меня интересовал только вариант, в котором не пришлось бы менять существующий код проекта (как, например, в случае с RCCPP или cr, где весь потенциально перезагружаемый код должен быть в отдельной динамически загружаемой библиотеке).



    "Как так?" — подумал я, и принялся раскуривать фимиам.

    Категория: Linux

     

    PVS-Studio и Bug Bounties on Free and Open Source Software

    Автор: admin от 6-01-2019, 18:05, посмотрело: 38

    PVS-Studio и Bug Bounties on Free and Open Source SoftwareЕвропейский союз стартовал в январе очередную большую охоту за ошибками в открытых программных проектах. Суммарный призовой фонд составляет около 850 тысяч евро. А теперь даём подсказу. Одним из способов поиска ошибок в исходном коде программ является использование статических анализаторов кода. Например, можно использовать для этих целей PVS-Studio, тем более что недавно был предложен новый вариант его бесплатного лицензирования для открытых проектов.

    Категория: Open source

     

    Вышел Linux 4.20 — что изменилось в новой версии ядра

    Автор: admin от 6-01-2019, 13:25, посмотрело: 41

    Мы уже рассказывали о нововведениях, которые были сделаны в Linux kernel 4.18. Сегодня поговорим о том, что внедрили в 4.20, и проведем краткий обзор последующего релиза.



    С большой долей вероятности он будет назван «5.0».



    Вышел Linux 4.20 — что изменилось в новой версии ядра

    Категория: Linux

     

    Восстановление данных из пустого места

    Автор: admin от 6-01-2019, 09:45, посмотрело: 38

    Восстановление данных из пустого места



    Привет Хабр. В новогодние каникулы появилась возможность написать об интересном случае (хотя подобных кейсов у нас в DATALABS не мало). А интересен он тем, что из полностью обнулённой USB флешки, мы удачно восстановили данные. Если интересно как? Добро пожаловать под кат…

    Категория: Windows