» Материалы за Июль 2019 года

 

Опасности конструкторов

Автор: admin от Сегодня, 19:55, посмотрело: 1

Привет, Хабр! Представляю вашему вниманию перевод статьи "Perils of Constructors" автора Aleksey Kladov.



Один из моих любимых постов из блогов о Rust — Things Rust Shipped Without авторства Graydon Hoare. Для меня отсутствие в языке любой фичи, способной выстрелить в ногу, обычно важнее выразительности. В этом слегка философском эссе я хочу поговорить о моей особенно любимой фиче, отсутствующей в Rust — о конструкторах.



Что такое конструктор?



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




  • Вы устанавливаете инварианты в конструкторе.

  • Каждый метод заботится о сохранении инвариантов.

  • Вместе эти два свойства значат, что можно думать об объектах как об инвариантах, а не как о конкретных внутренних состояниях.



  • Конструктор здесь играет роль индукционной базы, будучи единственным способом создать новый объект.



    К сожалению, в этих рассуждениях есть дыра: сам конструктор наблюдает объект в незаконченном состоянии, что и создает множество проблем.

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

     

    Дайджест интересных материалов для мобильного разработчика #307 (15 — 21 июля)

    Автор: admin от Сегодня, 18:25, посмотрело: 12

    В этом дайджесте рефакторинг, UI, UX и анимации, возвращение триала в App Store, Kotlin как “прорыв года”, хакатоны для развития команды, скрытые игровые механики и заработки FaceApp.



    Дайджест интересных материалов для мобильного разработчика #307 (15 — 21 июля)

    Категория: Apple

     

    Настройка сервера для развертывания Rails приложения при помощи Ansible

    Автор: admin от Вчера, 23:20, посмотрело: 19

    Не так давно мне было необходимо написать несколько ansible playbooks для подготовки сервера к деплою rails приложения. И, на удивление, я не нашел простого пошагового мануала. Копировать чужой плейбук без понимая происходящего я не хотел и в итоге пришлось читать документацию, собирая все самостоятельно. Возможно кому-то я смогу помочь этот процесс ускорить при помощи данной статьи.



    Первым делом стоит понимать, что ansible предоставляет вам удобный интерфейс для выполнения заранее определенного списка действий на удаленном сервере (серверах) через SSH. Тут нет никакой магии, нельзя поставить плагин и получить из коробки zero downtime деплой своего приложения с докером, мониторингом и прочими плюшками. Для того чтобы написать плейбук вы должны знать что именно вы хотите сделать и как это сделать. Поэтому меня не устраивают готовые плейбуки с гитхаба, или статьи вида: “Скопируйте и запустите, — будет работать”.

    Категория: Веб-разработка

     

    Курс «Старт в Data Science»: первый шаг в работе с данными

    Автор: admin от Вчера, 20:25, посмотрело: 13

    Мы запускаем новый курс для новичков — «Старт в Data Science». Всего за 990 рублей вы погрузитесь в Data Science: узнаете о специализациях, выберите профессию и прокачаете навыки в работе с данными. 



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



    Курс «Старт в Data Science» рассчитан на тех, кто хочет получить востребованную и высокооплачиваемую профессию, но не знает, какое направление выбрать, где учиться и как продвигаться в сфере. Кроме того, он подойдет всем, кто в работе соприкасается с Big Data, машинным обучением, аналитикой данных или просто интересуется этой темой.

    Категория: Информационная безопасность

     

    Решение задания с pwnable.kr 05 — passcode. Перезапись таблицы связей процедур через уязвимость форматной строки

    Автор: admin от Вчера, 20:25, посмотрело: 12

    Решение задания с pwnable.kr 05 — passcode. Перезапись таблицы связей процедур через уязвимость форматной строки


    В данной статье разберем: что такое глобальная таблица смещений, таблицей связей процедур и ее перезапись через уязвимость форматной строки. Также решим 5-е задание с сайта pwnable.kr.



    Категория: Информационная безопасность

     

    Вот это поворот: почему Apple изменила требования к разработчикам приложений

    Автор: admin от Вчера, 19:35, посмотрело: 17

    В прошлом месяце Apple опубликовала изменения в гайдлайнах для разработчиков приложений под iOS. Они коснулись, в том числе, приложений для родительского контроля и обеспечения конфиденциальности детей. Причем часть новых рекомендаций идет вразрез с решениями, которые Apple приняла несколькими месяцами ранее. Обсуждаем требования к приложениям в App Store, которые вступят в силу 3 сентября этого года, и разбираемся в причинах — а также возможных долгоиграющих последствиях — этой ситуации.



    Вот это поворот: почему Apple изменила требования к разработчикам приложений

    Категория: Веб-разработка, iOS

     

    CICD для стартапа: какие есть инструменты, и почему ими пользуются не только крупные и известные компании

    Автор: admin от Вчера, 18:00, посмотрело: 16

    Разработчики CICD-инструментов часто указывают в качестве клиентов крупные компании — Microsoft, Oculus, Red Hat, даже Ferrari и NASA. Казалось бы, что такие бренды работают только с дорогими системами, которые не сможет позволить себе условный стартап из пары разработчиков и дизайнера. Но значительная часть инструментов доступна и для небольших команд.



    На что можно обратить внимание — расскажем далее.



    CICD для стартапа: какие есть инструменты, и почему ими пользуются не только крупные и известные компании

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

     

    Новости за неделю: испытания спутниковой сети OneWeb, нейроинтерфейсы Илона Маска и нешпионские электронные устройства

    Автор: admin от Вчера, 09:40, посмотрело: 19

    Новости за неделю: испытания спутниковой сети OneWeb, нейроинтерфейсы Илона Маска и нешпионские электронные устройства


    В этом выпуске читайте:




    • власти США считают криптовалюту от Facebook угрозой стабильности;

    • новый законопроект ставит под угрозу работу Visa и MasterCard в России;

    • Великобритания и дальше будет сотрудничать с Huawei;

    • бытовые электронные устройства не будут считать шпионскими;

    • Илон Маск показал нити-имплантаты для мозга;

    • спутниковая сеть OneWeb показала скорость подключения в 400 Мбит/с;

    Категория: Гаджеты

     

    Самодокументируемый код – это (как правило) чушь

    Автор: admin от Вчера, 00:00, посмотрело: 18

    Всем привет!



    Предваряя сегодняшнюю переводную публикацию, сразу отметим, что этот текст задуман как follow-up недавнему дискуссионному материалу "Прекратите усердствовать с комментариями в коде". Нас настолько впечатлила развернувшаяся там дискуссия и 189 комментариев по состоянию на 19.07.2019, что мы решили дать здесь слово и другому автору с портала Medium (Кристоферу Лейну), который практически по всем принципиальным вопросам полемизирует с тезисами Брайана Норлендера, автора первой статьи. Отметим, что в оригинале данная статья вышла на месяц позже предыдущей (16 мая и 16 июня), но собрала практически вдвое меньше аплодисментов (706 против 1,5K на момент публикации перевода). Посмотрим, что будет на Хабре…



    Самодокументируемый код – это (как правило) чушь


    Снимок взят с сайта rawpixels.com от автора Pexels

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

     

    Laravel Event Projector и концепция порождения событий

    Автор: admin от 19-07-2019, 20:40, посмотрело: 15

    Laravel Event Projector и концепция порождения событий

    Перевод статьи подготовлен для студентов профессионального курса «Framework Laravel»





    Фрек ван дер Хертен (Freek Van der Herten) и команда Spatie долго трудились над Laravel Event Projector, пакетом, позволяющим применять концепцию порождения событий (Event Sourcing) во фреймворке Laravel. И вот наконец доступна первая стабильная версия (v1.0.0)!



    Вы можете установить Event Projector в свой проект при помощи composer и благодаря автоматическому обнаружению пакетов в Laravel приступить к работе сразу же после публикации миграций пакета и конфигурирования!

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

     
    Назад Вперед