• Проверка б/у макбука перед покупкой — чек-лист

    Статья доработана с учетом ценных комментариев, дополнен список источников.
    Данный чек-лист — компиляция нескольких источников, я его делал для себя, когда в конце 2019 года покупал 13" б/у макбук 2015 года, последний из имевших нормальную клавиатуру и набор портов, перед тем как Apple перешла на клавиатуру-бабочку и usb-с порты.

    Какую модель б/у макбука стоит брать? Вместо введения


    На этот вопрос нет однозначного ответа, поскольку все зависит от ваших задач. Для начала 2020 года и задач «офисной» работы и серфинга я бы сформулировал ответ так — можно брать любой мак от 2014 и более позднего года выпуска, на полноценном процессоре (m5 и m7 брать скорее нежелательно). Macbook pro таким образом предпочтительнее macbook air, поскольку у последних процессор и система охлаждения обычно проигрывает в сравнении.

    Оптимальный выбор, который проработает еще несколько лет без проблем — это модели с четырехядерным процессором (не путать с четырехпоточным!), такие ставили обычно в 15" модели. Оперативки не менее 8 Гб, SSD лучше 256 Гб и больше, хотя на 128 с определенными неудобствами жить тоже можно. Батарея оптимально с менее чем 500 циклами перезарядки.

    Стоимость 13" макбуков 2014-2016 годов колеблется от 40 до 55 тыс. рублей, причем варианты в хорошем состоянии около 40-45 тыс. мне кажутся наиболее выгодными с точки зрения дилеммы «взять б/у или доложить и взять новый».

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

    Моделей с клавиатурой-бабочкой (2016-2019 гг) не то что бы надо избегать, но надо отдавать себе отчет, что они требуют радикально более бережного к себе отношения, чтобы клавиатура проработала дольше. Сейчас полно предложений продажи mac mini — это тоже хороший вариант, особенно если он базируется на нормальном четырехядерном процессоре.
    Читать дальше →
  • Реализация системы GTD на основе новых возможностей Google Keep и Calendar

    • Tutorial
    This article in English: GTD Implementation via New Google Keep and Calendar Features

    За последние годы Google Keep и Calendar значительно расширили свою функциональность, что дает возможность построить более удобную реализацию методологии GTD (Getting Things Done) на их основе. Ранее я уже публиковал материал с реализацией GTD на основе Google Calendar. Представленный теперь материал можно рассматривать как обновленную реализацию GTD на тех же принципах, но с использованием более современных средств.

    В моем материале 2015 года в качестве базового элемента для всех пяти фаз управления рабочим процессом (Control) в системе GTD был выбран один и тот же сервис — Google Calendar. Теперь на различных фазах в качестве базовых элементов будут использоваться два разных сервиса — Calendar и Keep — в соответствии с приспособленностью их функционала для отдельных фаз.

    • Calendar теперь будет использоваться в качестве базы для фазы обзора (Review-Reflect), а также для фазы выполнения (Do-Engage).
    • Keep будет использоваться в качестве базы для фазы сбора (Collect-Capture), фазы обработки (Process-Clarify) и фазы организации (Organize).

    Реализация GTD в Google Calendar (развернут список ближайших действий на неделю):


    Pеализация GTD в Google Keep (категория ближайших действий):
    Читать дальше →
  • Инструменты для разработчиков ПО: открытые фреймворки и библиотеки машинного обучения

      Продолжаем нашу серию материалов, посвященных открытым инструментам для разработчиков. Сегодня рассказываем о фреймворках и библиотеках для МО — Transformers, Accord.NET и MLflow.

      Читать дальше →
      • +17
      • 7.1k
      • 1
    • Как купить иллюзию безопасности в виде детских смарт-часов

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


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


        Я думаю, что не найдётся человека, который не слышал о таком новом гаджете, как детские смарт-часы. Рынок просто заполонили многочисленные варианты устройств, как правило произведённых в Китае. Цены и функциональность этих устройств варьируются, но лучшие из них включают в себя такой широкий набор функций, как телефон, GPS трекер, мессенджер, фотокамеру, шагомер, ну и конечно же часы. По заявлению производителей — этот гаджет создан специально для детей и включает в себя средства безопасности ребенка. Так думал и я, поэтому стал выбирать в интернете подходящий вариант. Как итог я купил часы FixiTime 3 от компании Elari.


        функциональность этих часов была впечатляющая:


        • GPS/LBS/Wi-Fi-трекинг
        • 2 камеры, доступ к камере часов с подключенного смартфона
        • поддержка входящих и исходящих голосовых вызовов, в том числе скрытых
        • голосовой чат
        • шагомер
        • ну и Фиксики внутри, как без них же


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

        Читать дальше →
      • Разработка динамических древовидных диаграмм с использованием SVG и Vue.js

        • Translation
        Материал, перевод которого мы сегодня публикуем, посвящён процессу разработки системы визуализации динамических древовидных диаграмм. Для рисования кубических кривых Безье здесь используется технология SVG (Scalable Vector Graphics, масштабируемая векторная графика). Реактивная работа с данными организована средствами Vue.js.

        Вот демо-версия системы, с которой можно поэкспериментировать.


        Интерактивная древовидная диаграмма
        Читать дальше →
        • +21
        • 6.8k
        • 5
      • Применение машинного обучения и Data Science в промышленности

        • Translation
        Хабр, привет. Перевел пост, который идёт строго (!) в закладки и передаётся коллегам. Он со списком блокнотов и библиотек ML и Data Science для разных отраслей промышленности. Все коды на Python, и размещены на GitHub. Они будут полезны как для расширения кругозора, так и для запуска своего интересного стартапа.

        image

        Отмечу, что если среди читателей есть желающие помочь, и добавить в любую из подотраслей подходящий проект, пожалуйста, свяжитесь со мной. Я их добавлю в список. Итак, давайте начнём изучение списка.
        Читать дальше →
      • Приглашаем на DroidHeads Meetup 8 июня

          image

          8 июня в московском офисе Mail.ru Group состоится встреча всех неравнодушных к мобильной разработке. ​В этот раз мы проведем ее совместно с сообществами MosDroid и CocoaHeads. Соберем представителей обеих платформ, чтобы участники знали, с чем могут столкнуться при разработке приложений «соседней» технологии.

          Формат докладов подразумевает параллельный разбор тем, поэтому интересно будет всем!
          Читать дальше →
        • Unstated-next: минималистичное управление состоянием React-приложения

          • Translation
          • Tutorial
          200 байт для управления состоянием React-компонентов

          • React-хуки: это все, что нужно для управления состоянием.
          • ~200 байт, min+gz.
          • Знакомый API: просто пользуйтесь React, как обычно.
          • Минимальный API: хватит пяти минут, чтобы разобраться.
          • Написан на TypeScript, чтобы обеспечить автоматический вывод типов.

          Главный вопрос: чем этот пакет лучше, чем Redux? Ну...

          Читать дальше →
          • +10
          • 2.5k
          • 9
        • Я у мамы не инженер

            intro

            Я уже сбился со счёта часов, которые я потратил на то, чтобы сделать “небольшую коробочку” и вдруг я поймал себя на мысли, что я очень зауважал инженеров — людей, который умеют и могут проектировать и создавать новые вещи. В голове сразу нахлынули воспоминания об устройствах, который я разбирал в детстве (да и не только). Эти забавные ситуации, когда при откручивании последнего болтика, как чёрт из табакерки, вылетало несколько мелких пружинок и деталек, которые было совершенно невозможно упаковать обратно.

            Однажды я решил сделать небольшое устройство (“Security Access Tuner” из игры Alien: Isolation) — контроллер, экран, пара элементов управления, да упаковать это всё в небольшой корпус, который планировалось напечатать на 3d принтере. Тогда я ещё и подумать не мог, сколько же времени потребуется, чтобы все эти мелочи собрались в одно целое…
            Читать дальше
          • Навигация для Android с использованием Navigation Architecture Component: пошаговое руководство

            • Tutorial
            Попробуем, пользуясь официальным руководством и примерами кода, построить работающую систему навигации для будущего многоэкранного приложения в соответствии со стандартами Navigation Architecture Component. Статья включает следующие разделы:

            Часть 1. Подготовительные работы
            — 1.1. Создание проекта
            — 1.2. Зависимости (Dependencies)
            — 1.3. Страницы: создание фрагментов
            — 1.4. Адреса: файл ресурсов типа «Navigation»
            — 1.5. Фрейм: виджет NavHostFragment

            Часть 2. Элементы навигации
            — 2.1. Навигация с помощью кнопок
            — 2.2. Боковое меню (Drawer)
            — 2.3. Панель инструментов: Toolbar вместо ActionBar
            — 2.4. Нижнее меню (Bottom Navigation)
            — 2.5. Всплывающее меню (Overflow Menu)

            Краткие выводы и ссылка на github
            Читать дальше →
          • Интернет для дачника. Добываем максимальную скорость в сетях 4G. Часть 1. Выбор правильного роутера

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


              Читать дальше →
            • «Умный дом» — переосмысление

                На Хабре уже было несколько публикаций о том, как айтишники строят себе дома и что из этого получается.

                Хочу поделиться своим опытом («тестовый проект»).

                Постройка собственного дома (особенно, если еще и своими силами) — крайне объемный кусок информации, поэтому я свое повествование буду вести больше про ИТ-системы (мы же все-таки сейчас на Хабре, а не на ФХ, хотя там тема тоже есть).
                Читать дальше →
              • UICollectionView всему голова: Изменение представления на лету

                Привет, Хабр! Представляю вашему вниманию перевод статьи "UICollectionView Tutorial: Changing presentation on the fly".

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

                В результате мы получим такой пример:

                Читать дальше →
                • +10
                • 8.4k
                • 2
              • Как провалить внедрение CRM-системы?

                  Одной моей коллеге очень хотелось иметь iPhone 4S. Тогда это был просто верх понта. Получив премию, она отказалась от отпуска и купила его — белый, приятно увесистый, зависть всей коммерческой службы. Через некоторое время она начала жаловаться, что, мол, не понимает, чего все нашли в этих айфонах, звонилка и звонилка, только уронить страшно, ну и фото неплохие. На слова о приложениях, функциях, фотопотоке, обновлениях и прочем она заявила, что отключила доступ к Интернету, потому что это дорого и вообще баловство. Таким образом, она превратила топовый по своим временам смартфон в звонящий кирпич. «Вот глупая какая!»,- смеялись мы, наверняка, примерно так же подумали и некоторые читатели.


                  Читать дальше →
                • Начало дружбы с VkNet

                  • Tutorial
                  Я много дружу с библиотекой VkNet. Но, к сожалению, документация по работе с ней достаточно устарела. Так что я решил поделиться и создать маленький туториал по основам работы с этой библиотекой.
                  Читать дальше →
                • Как правильно работать с исключениями в DDD

                    image

                    В рамках недавно прошедшей конференции DotNext 2018 состоялся BoF по Domain Driven Design. На нем был затронут вопрос работы с исключениями, который вызвал жаркий спор, но не получил развернутой дискуссии, поскольку не являлся основной темой.

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

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

                    Есть разные мнения о том, стоит ли создавать собственные типы исключений или использовать стандартные, поставляемые в .NET.

                    Кто-то делает валидацию на исключениях, а кто-то повсеместно использует монаду Result. Справедливо, что Result позволяет по сигнатуре метода понять, возможно ли не только успешное выполнение. Но не менее справедливо, что в императивных языках (к которым относится C#) повсеместное использование Result приводит к плохо читаемому коду, засыпанному конструкциями языка настолько, что с трудом можно разглядеть исходный сценарий.

                    В данной статье я расскажу о практиках, принятых в нашей команде (если кратко — мы используем все подходы и ни один из них не является догмой).

                    Речь пойдет об enterprise-приложении, построенном на базе ASP.NET MVC+WebAPI. Приложение построено по луковой архитектуре, общается с базой данных и брокером сообщений. Используется структурированное логирование в ELK-стек и настроен мониторинг при помощи Grafana.
                    Читать дальше →
                  • Разработка с использованием паттерна проектирования Model-View-ViewModel на примере Twitter клиента шаг за шагом

                    Введение

                    Статья посвящена работе с MVVM и WPF. В ней описывается процесс разработки twitter client. Процесс разработки разбит на шаги. В конце каждого шага читатель параллельно пишущий приложение должен иметь работающее приложение. Каждый последующий шаг добавляет какую-то функциональность к написанному на предыдущем шаге. Используется thirdparty библиотека TweetSharp. Ссылку на исходный код, а так же оригинал статьи, написанный мной на английском, можно найти тут.
                    Статья рассчитана на новичков в WPF разработке. Но предполагается, что читатель имеет некоторый начальный опыт работы с WPF, в частности освоил data binding.
                    Я не буду писать зачем нужно использовать MVVM – считаю, что об этом хорошо написано в статье “Приложения WPF с шаблоном проектирования модель-представление-модель представления” от Джоша Смита. Если вы не хотите читать эту статью – просто поверьте мне – неверное спроектированное GUI в случае с WPF превращается в большую головную боль.

                    Читать дальше →
                  • Уязвимость в одном из сервисов Альфа-Банка позволяла просматривать выписки по любому клиенту

                      Месяц назад, просматривая мобильное приложение для интернет-банкинга от Альфа-Банка, решил проверить, насколько оно безопасно.



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


                      Читать дальше →
                    • Не все беспроводные наушники одинаково полезны или несколько слов о проблеме кодеков

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


                        Этот пост будет содержать ответы на распространённые вопросы, связанные с качеством передачи звука по bluetooth от смартфона к беспроводным наушникам, а также некоторые рекомендации по выбору беспроводных наушников и смартфонов, использующих кодек APTX. Уверен, что материал будет полезен всем, кто озадачен выбором и использованием беспроводных наушников. Если это ваш случай — добро пожаловать под кат.
                        Читать дальше →
                      • Иллюзия скорости

                        • Translation
                        Много лет я и мои коллеги убеждали разработчиков, что чем быстрее сайт — тем лучше. Статья не о том. Я не собираюсь показывать вам статистику, насколько больше зарабатывают компании, которые оптимизируют сайт для производительности (а это так). Расслабьтесь, возьмите чашечку шоколада — мы вместе совершим путешествие во времени.

                        Настоящее время и воспринимаемое время



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