Как стать автором
Обновить
21
Карма
0
Рейтинг
Vasyl Liutikov @pingwinator

ios dev

Минимизируем человеческий фактор в Swift

Программирование *Разработка под iOS *Разработка мобильных приложений *Учебный процесс в IT
Туториал
Из песочницы

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

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 1K
Комментарии 0

Использование Makefiles для проектов Swift

Разработка под iOS *Swift *
Перевод

Использование Makefiles для проектов Swift

Make — это программное обеспечение для автоматизации сборки, которое можно использовать для автоматического выполнения различных команд. Если вы хотите что-то запустить, вам нужно указать свои команды (точнее: цели сборки) через Makefiles. В этом кратком туториале я покажу вам некоторые из моих лучших приемов для проектов на Swift. 😉

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

Как настроить Gitlab CI/CD в связке с Fastlane для iOS-проектов на Mac mini

Блог компании Doubletapp Habr Разработка под iOS *
Туториал

Всем привет! Меня зовут Ярослав Фоменко, я iOS-разработчик в компании Даблтап. Мы с моим коллегой по отделу с конца мая работаем над внедрением, улучшением и масштабированием CI/CD на наших проектах. В этой статье мы хотим поделиться гайдом по подготовке проекта в Xcode и настройке раннеров, скриптов и конфигов, а также расскажем, как нам помогает CI/CD.

О том, как и почему мы пришли к решению использовать Mac mini для CI/CD, можно почитать здесь.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.5K
Комментарии 0

Как работает Wine

Блог компании Дата-центр «Миран» Системное программирование *Разработка игр *Разработка под Linux *Софт
Перевод


Wine — это свободное программное обеспечение для запуска Windows-приложений на нескольких POSIX-совместимых операционных системах, включая Linux, macOS и BSD.

Если вы любите Linux, то наверняка когда-то запускали Wine. Возможно, для какой-то «важной» программы Windows, у которой нет аналога под Линуксом, или поиграться. Забавный факт: даже Steam Deck от Valve запускает игры через оболочку на основе Wine (она называется Proton).

За последний год я намучился с отладчиком, который позволяет одновременно дебажить и Wine, и Windows-приложение в нём. Разобраться во кишочках Wine оказалось очень интересно! Я-то раньше много им пользовался, но никогда не понимал механику целиком. Можно взять файл Windows — и просто запустить его в Linux без каких-либо изменений. Если вы хотите знать, как это сделано, добро пожаловать под кат.
Читать дальше →
Всего голосов 232: ↑231 и ↓1 +230
Просмотры 46K
Комментарии 44

Наглядное руководство по SSH-туннелям

Блог компании Флант Настройка Linux *Системное администрирование **nix *
Перевод

Прим. переводчика: автор статьи рассматривает практические сценарии и примеры организации SSH-туннелей. А для лучшего понимания того, как это работает, графически показывает потоки трафика.

Туннели SSH — это зашифрованные TCP-соединения между клиентами и серверами SSH. Трафик входит с одной стороны туннеля и прозрачно выходит с другой. Изначально этот термин относился к туннелям на виртуальных сетевых интерфейсах TUN/TAP, однако сейчас так обычно называют проброс портов SSH.

Читать далее
Всего голосов 75: ↑75 и ↓0 +75
Просмотры 46K
Комментарии 17

Развёртывание Kubernetes-кластера на домашнем сервере

Настройка Linux *Виртуализация *Kubernetes *
Туториал

Дано: домашний сервер под управлением Debian 11 с установленным гипервизором Xen.

Требуется: развернуть Kubernetes-кластер для получения опыта, связанного с настройкой и управлением Kubernetes-кластера, и дальнейшего его использования для разработки и хостинга персональных проектов.

Развёртывание Debian и Xen, а также миграция с Hyper-V на Xen нескольких Windows-виртуальных машин описана в моей статье Миграция домашнего сервера с Hyper-V на Xen Project на Debian. В ней также описана конфигурация моей сети.

В данной статье я исхожу из того, что читатель имеет представление о том, что такое Kubernetes, как он работает, из каких компонентов состоит и знаком с необходимой терминологией. Многие идеи и код я брал из статьи Разворачиваем среду для работы с микросервисами. Часть 1 установка Kubernetes HA на bare metal (Debian), но местами адаптировал под свои нужды и окружение. Задача данной статьи дать читателям готовое решение, требующее минимальных усилий для повторения и, вместе с тем, не требующее дополнительных инструментов (вроде Ansible или Terraform), а также показать новичкам некоторые моменты работы с Linux, Kubernetes и используемыми пакетами. Повествование разбито на несколько шагов, каждый из которых заключается в запуске скрипта и нескольких ручных командах.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 19K
Комментарии 4

Различия между Docker, containerd, CRI-O и runc

Блог компании Домклик DevOps *Kubernetes *
Перевод

Появление Docker привело к взрывному росту популярности контейнеров, но с тех пор появились и другие инструменты. К сожалению, разобраться в них может быть совсем непросто. Но мы попробуем! И если вы считаете себя единственным, кто всего этого пока не понимает, не волнуйтесь... Это не так!

Читать далее
Всего голосов 47: ↑47 и ↓0 +47
Просмотры 42K
Комментарии 4

Как я собрал домашний кластер Kubernetes на базе Raspberry Pi

Блог компании SkillFactory Настройка Linux *DevOps *DIY или Сделай сам Kubernetes *
Туториал
Перевод

Здесь есть поклонники Kubernetes? Я уже довольно давно пользуюсь им как на работе, так и в других местах, где занимаюсь частными проектами, но иногда мне нужно место, где можно быстро и без особых затрат разработать и протестировать новые функции или просто, как говорят, "поиграть с программой", скопировать данные в резервное хранилище, обменяться файлами или сделать что-либо подобное.

Я всё подсчитал и понял, что общая стоимость кластера получается ниже, чем стоимость облачных предложений аналогичной вычислительной мощности с таким же количеством нод. В преддверии старта нашего курса по DevOps, делимся с вами описанием сбора собственного домашнего кластера Kubernetes.

Читать далее
Всего голосов 19: ↑14 и ↓5 +9
Просмотры 26K
Комментарии 10

Практическое руководство по TypeScript для разработчиков

Блог компании Маклауд Разработка веб-сайтов *JavaScript *TypeScript *
Перевод

Представляю вашему вниманию перевод статьи "Working With TypeScript: A Practical Guide for Developers".


Что такое TypeScript?


TypeScript — это популярный статический типизатор (static type checker) или типизированное надмножество (typed superset) для JavaScript, инструмент, разработанный Microsoft и добавляющий систему типов к гибкости и динамическим возможностям JavaScript.


TypeScript развивается как проект с открытым исходным кодом, распространяется под лицензией Apache 2.0, имеет очень активное и высокопрофессиональное сообщество, а также огромное влияние на экосистему JavaScript.


Установка TypeScript


Для того, чтобы начать работу с TypeScript, нужно либо установить специальный интерфейс командной строки (command line interface, CLI), либо воспользоваться официальной онлайн-песочницей или другим похожим инструментом.

Читать дальше →
Всего голосов 37: ↑35 и ↓2 +33
Просмотры 60K
Комментарии 3

Как настроить быстрый персональный VPN в Azure

Виртуализация *Microsoft Azure *DevOps *Облачные сервисы *
Туториал

Всем привет! Я расскажу о том как в течении 10 минут создать личный VPN сервер в нужном регионе.

Очевидно, что для настройки потребуется доступ к Azure. Я сделал такой доступ через Azure Benefit (google 'how to activate azure benefit for msdn subscribers'). В марте-апреле этого года данная штука активировалась для жителей нашей страны, а вот в этом месяце с этим как мне сказали уже есть проблемы. В таком случае - обращайтесь к друзьям с доступом к Azure.

В статье будет максимально простая инструкция с большим количеством картинок.

Читать далее
Всего голосов 9: ↑5 и ↓4 +1
Просмотры 6.9K
Комментарии 18

Что нужно знать про Postman: максимально коротко о Mock Servers, Flow и Visualize

Блог компании Ростелеком Тестирование IT-систем *API *Тестирование веб-сервисов *
✏️ Технотекст 2022

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

В этой статье я решил сделать краткий обзор функциональности Visualize, Mock Servers и Flow.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 15K
Комментарии 4

Простой способ обнаружить retain cycle в UIViewController

Разработка под iOS *Objective C *Отладка *Swift *
Туториал

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

Apple предлагает отличный инструмент для отладки утечек памяти. Часто для этого используется метод print в deinit.

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

Про VPN на выделенном «сервере»

Настройка Linux **nix *

Вроде данная тема довольно сильно заезжена, в интернете 1001 инструкция по настройке своего виртуально сервера за 5$, но я хотел рассказать немного о другом. А именно – об аренде выделенного «сервера» в России.

настроить "малинку"
Всего голосов 31: ↑22 и ↓9 +13
Просмотры 61K
Комментарии 90

OAuth в мобильных приложениях

Блог компании KTS Разработка под iOS *Разработка мобильных приложений *Разработка под Android *Kotlin *

Привет! Меня зовут Максим, я занимаюсь мобильной разработкой в KTS.

Ни один сервис не обходится без логина. Часто в мобильных приложениях требуется интегрировать вход через сторонние соцсети — например, зайти через Google или VK. А при обучении мобильной разработке используются открытые API, где для авторизации используется OAuth.

Поэтому разработчикам мобильных приложений приходится работать с OAuth. В сети по этой теме есть разрозненные материалы. 

Этой статьей я попробую закрыть нюансы OAuth в мобильных приложениях: на какие моменты стоит обратить внимание, какие способы реализации выбрать. А также поделюсь опытом настройки OAuth в Android-приложении с использованием библиотеки AppAuth.

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 15K
Комментарии 0

Многострадальный C++ и системы сборки

Программирование *C++ *

Очередная статья на тему "автор жалуется как ему всё не нравится".В C++ есть вещи, которые меня бесят не только в языке и новых стандартах, но и его компиляторах и системах сборки.

Читать далее
Всего голосов 49: ↑18 и ↓31 -13
Просмотры 12K
Комментарии 138

Анатомия асинхронных фреймворков в С++ и других языках

Блог компании Яндекс Python *C++ *C# *Go *
✏️ Технотекст 2022
Привет! В этой статье я расскажу об устройстве асинхронных движков с корутинами и без них. Для начала сосредоточимся не на конкретном движке, а на том, почему во всех популярных языках программирования появились корутины и чем они так хороши. Это может быть интересно не только C++-разработчикам, но и всем, кто занимается разработкой сетевых приложений или интересуется архитектурой современных фреймворков.

Пройдёмся по разным архитектурам построения серверов — от самой простой синхронной к более интересным, посмотрим на типичную архитектуру корутинового движка, а после окунёмся в дебри C++ и взглянем на самое страшное на примере нашего фреймворка userver.

Пишем синхронный сервер


Представьте, что у вашего сервиса очень маленькая нагрузка — 100 rps, и вам дали задачу написать простой сервер, понятный каждому второму школьнику. У вас получится что-то наподобие следующего:

void naive_accept() {
  for (;;) {
    auto new_socket = accept(listener);

    std::thread thrd([socket = std::move(new_socket)] {
      auto data = socket.receive();
      process(data);
      socket.send(data);
    });

    thrd.detach();
  }
}
Читать дальше →
Всего голосов 69: ↑66 и ↓3 +63
Просмотры 33K
Комментарии 32

Dart, Flutter и кроссплатформа: небольшой разбор на практике

Разработка мобильных приложений *Интерфейсы *Dart *Разработка под Windows *Flutter *

Кто-нибудь пробовал использовать Dart / Flutter как на клиенте на нескольких платформах, так и в качестве сервера? Кто-то, конечно. пробовал, хотя далеко не каждый за этим приходил к Flutter. Я на своём pet-проекте провёл такой эксперимент, и хотел бы поделиться результатами и выводами.

Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 13K
Комментарии 21

Flutter vs Native: почему мы переходим с первого на второй

Блог компании Ozon Tech Разработка под iOS *Разработка мобильных приложений *Разработка под Android *Swift *
✏️ Технотекст 2022

Привет, Хабр! Меня зовут Сергей, я занимаюсь мобильной разработкой 13 лет и недавно стал руководителем разработки мобильного приложения «Пункты выдачи заказов» в Ozon. Невольно став сместителем существующего строя в проекте (фреймворки, технологии, подход), я стал часто слышать вопрос: «Почему вы отказались от Flutter?».

Слышал я этот вопрос прежде всего от разработчиков моей команды и соискателей на наши вакансии, потом во время доклада на эту же тему на конференции Panda Meetup, в конце концов, даже менеджер нашего проекта подошёл с вопросом: «Ну а всё же почему?». Настолько людей захватывает эта тема, что я решил поделиться развёрнутым ответом.

Читать далее
Всего голосов 55: ↑39 и ↓16 +23
Просмотры 30K
Комментарии 112

Память в Swift (куча, стек, ARC)

Блог компании OTUS Разработка под iOS *
Перевод

Для хранения объектов Swift использует две структуры данных: стек и кучу. Управление распределением памяти подразумевает выделение памяти под объект (аллокацию) и ее последующее высвобождение (деаллокацию).

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 13K
Комментарии 8

Знакомимся с программированием на ассемблере x86

Блог компании RUVDS.com Программирование *Assembler *
Туториал
Перевод

Архитектура x86 лежит в сердце процессоров, на которых уже более трех десятилетий работают наши домашние компьютеры и удаленные серверы. Умение читать и писать код на низкоуровневом языке ассемблера – это очень весомый навык. Он позволяет создавать более быстрый код, использовать недоступные в Си возможности машин и выполнять реверс-инжиниринг скомпилированного кода.
Читать дальше →
Всего голосов 51: ↑48 и ↓3 +45
Просмотры 22K
Комментарии 15

Информация

В рейтинге
Не участвует
Откуда
Stuttgart, Baden-Württemberg, Германия
Зарегистрирован
Активность