Как стать автором
Обновить

Все потоки

Сначала показывать
Порог рейтинга

Нельзя просто так взять и написать полезный iOS фреймворк… Или можно?

Блог компании IBS Разработка под iOS *Разработка мобильных приложений *API *Swift *
Кейс

Нельзя просто так взять и написать полезный iOS фреймворк... Или все-таки можно?

Привет, Хабровчане!

Меня зовут Дмитрий Новиков, я – разработчик департамента разработки корпоративных решений в IBS. Мы в компании занимаемся разработкой мобильных приложений на заказ и хотим рассказать, как мы пришли к идее создания собственного iOS фреймворка для решения ряда полезных в мобильной разработке задач, а также что у нас в итоге из этого получилось.

Интересно? Читайте статью под катом!
Рейтинг 0
Просмотры 23
Комментарии 0

Новости

Вы даже представить себе не можете, как трудно споить хомяка

Биология Научно-популярное
Перевод

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

О маленьком.

О запасливом.

О хомяке.

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

Хабр Эксперты: IT-менторство на Хабр Карьере

Блог компании Хабр Карьера Блог компании Хабр Карьера в IT-индустрии Учебный процесс в IT

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

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

Так появился сервис Хабр Эксперты — платформа для менти и менторов в IT, которая, мы надеемся, будет помогать учиться и учить всем, кто этого захочет. Рассказываем, что придумали в первой версии.

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

Яндекс.Директ закроет турбо-страницы в 2023 году: 7 причин почему?

Интернет-маркетинг *Контекстная реклама *
Из песочницы

Турбо-страница — это версия обычной веб-страницы, на которой есть всё самое важное — текст, картинки, видео, — но нет ничего лишнего. Так звучало объявление команды Яндекса о запуске турбо-страниц. Во что это превратилось спустя несколько лет?

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

Как мы взяли и отменили Бережливое производство на проекте (И чем это кончилось)

Блог компании ICL Services IT-компании Управление проектами *Управление сообществом *IT-стандарты *

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

Так я открыла для себя Бережливое производство, заточенное под сервис и IT, с тех пор я углубилась исключительно в это направление.  Я порой работала на 5 проектах одновременно, и в некоторых оно было внедрено, а в других – нет. В каком-то проекте уровень Lean-практик был уже зрелым, в каком-то – все только-только начинало прорастать в людях и процессах, поэтому я могла сравнить и качество сервиса, и уровень вовлеченности команды. Мое мнение становилось все более утвердительным – там, где практики были внедрены, работа всегда делалась лучше, быстрее, качественнее, а общение с командой было эффективнее. Так ли это на самом деле? Хочу выяснить это на примере работы нашей команды поддержки.

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

Шесть причин, почему ваши A/B-тесты не работают

Блог компании Ozon Tech Анализ и проектирование систем *Управление продуктом *Статистика в IT Математика *
Обзор

Всем привет! 

В прошлой статье, посвящённой A/B-тестированию, мы коснулись технических деталей устройства нашей A/B-платформы, которая обеспечивает нам супербыстрое распределение пользователей по вариантам. Теперь пришло время поговорить о методологии и процессе A/B-тестирования, а если точнее, то о проблемах и заблуждениях, которые могут привести к тому, что, проснувшись однажды среди ночи, вы почувствуете нестерпимую боль ниже спины от внезапного осознания очень простого факта —все проведённые вами A/B-тесты невалидны. 

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

У A/B-тестов есть хорошее свойство — они либо работают, либо нет. Сегодня вы узнаете, что нужно учесть, чтобы заставить ваши эксперименты работать и приносить тем самым пользу бизнесу. Мы рассмотрим шесть самых распространённых причин, ведущих к несостоятельности системы принятия решений с помощью A/B-тестирования. 

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

Js, трюки, наблюдения, бенчмарки и как Лиса уничтожает Хром. Я протестировал всё, что вам было лень

Блог компании RUVDS.com Высокая производительность *JavaScript *Клиентская оптимизация *Браузеры
Картинка, конечно, стронгли анрилейтед

Разные трюки я тестировал на Google Chrome 107.0.5304.107 и Mozilla Firefox 107.0 на Windows 10.

Чтобы результаты всегда были железно воспроизводимыми, я отключил все С-State’ы, ядра зафиксировал на 5 ГГц.

У меня 9900К, это Coffee Lake c AVX256, какие оптимизации применит Jit для вашего процессора — я не знаю, результат на вашем компьютере может отличаться от моего, в т.ч. из-за микроархитектуры процессора.

Скорость парсинга кода тоже входит в бенчмарк, поэтому браузер с быстрым парсером будет впереди.
Читать дальше →
Всего голосов 12: ↑10 и ↓2 +8
Просмотры 1.1K
Комментарии 2

Микросервис головного мозга. Рецепты качества

Блог компании Конференции Олега Бунина (Онтико) JavaScript *Облачные сервисы *Микросервисы *

Эта статья подготовлена на основе доклада «Микросервис головного мозга» Михаила Трифонова, Lead frontend Cloud и основателя frontend-сообщества TeamSnack. Мы разберём когда необходимы микрофронты, каким должен быть технологический стек, как нарезать мироксервисы и какие существуют стандарты при построении микросервисной архитектуры.

Эта статья, по сути, продолжение первой части «Микросервис головного мозга. Пилим всё, что движется». В ней Михаил рассказывал, как ему с командой удалось ускорить разработку с помощью микросервисного подхода. Они поэтапно строили микросервисную архитектуру, распилили монолит, UIKIT и создали архитектуру.

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

Микрофронтенды с Module Federation: истории внедрения в готовый проект и создания с нуля

Блог компании Росбанк Разработка веб-сайтов *ReactJS *Микросервисы *
Кейс

Привет, Хабр! Этот пост подготовили два разработчика Росбанка — Максим из команды развития фронт-офисных систем и Никита из команды интернет-банка. Речь пойдет о том, как мы делаем микрофронтенды. Сначала расскажем про опыт интеграции в существующий проект, а потом про внедрение с нуля.

Читать далее
Рейтинг 0
Просмотры 203
Комментарии 1

Combine: часть 1. Погружение в реактивное программирование

Блог компании SimbirSoft Программирование *Разработка под iOS *Разработка мобильных приложений *Swift *

Привет, Хабр! Меня зовут Сергей, я iOS-разработчик в компании SimbirSoft.

Уже наступил 2023 год, а обсуждения на тему выбора инструмента для обработки асинхронных событий не утихают. На сцене привычные колбэки, нотификейшн-центры с «бородатыми» Objective-C-селекторами, разные фреймворки для реактивной разработки, а не так давно Apple представила модный Swift Concurrency.

Combine все больше набирает популярность в продакшене. За счет нативного происхождения у него хороший уровень оптимизации, его легко «склеивать» как с существующими легаси-инструментами, так и с новыми — SwiftUI или async/await.

Пестрый «зоопарк» заставляет задуматься: что выбрать для нового проекта, а что для приложения с многолетней историей?

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

Это первая часть статьи, где мы познакомимся с Combine, сравним его с RxSwift. Материал будет полезен для тех, кто до этого не сталкивался с реактивщиной, а также тем, кто успел поработать с аналогичными инструментами.

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

«Подводные камни» интеллектуальной собственности на программное обеспечение, или Чего опасаться «стартапам»

Программирование *Законодательство в IT Патентование *Софт
Из песочницы

Мало написать "программное обеспечение", - права на него надо ещё уметь защищать!

В российском праве "программное обеспечение" именуется "Программами для ЭВМ".

А термины "Программное обеспечение", "Софт", "Программный продукт" и т.д. - это сленг.

Программы для ЭВМ охраняются наравне с литературными произведениями, и поэтому программы для ЭВМ являются объектами права интеллектуальной собственности (точнее: авторского права).

Статья 1261 Гражданского кодекса РФ гласит, что "Программой для ЭВМ является представленная в объективной форме совокупность данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств в целях получения определенного результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения".

При этом, по общему правилу, словосочетание "совокупность данных и команд" пока понимается именно как последовательность букв и иных символов в программном коде.

И поэтому пока что главным критерием для сравнения программ для ЭВМ является установление фактов идентичности исходных текстов (исходных кодов) этих программ.

Однако, как говорится "Гладко было на бумаге, да забыли про овраги".

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

Ускоряем MySQL: 5+ фишек для оптимизации работы базы данных

Блог компании Нетология Высокая производительность *MySQL *Администрирование баз данных *
Перевод

СУБД чрезвычайно важна для любого проекта, и почти перед каждым админом в какой-то момент встаёт задача её оптимизации. Чтобы сделать запросы быстрее, важно понимать, как работает MySQL в целом.

Описанные в этом посте методы повышают производительность базы данных MySQL. Однако есть и сложности, с которыми можно столкнуться на пути к оптимизации и о которых стоит предупредить сразу.

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

Cold Energy —  генератор вместо кулера на процессоре

Блог компании ИТМО IT-инфраструктура *Компьютерное железо Сетевое оборудование

Аспирант Университета ИТМО Даниил Абрашин разрабатывает систему охлаждения для серверов и персональных компьютеров, которая при помощи термоэлектрических эффектов преобразует излишнее тепло от процессора в электроэнергию. В теории ее можно даже использовать для питания дополнительного оборудования.

В этой статье расскажем о сути проекта.

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

Истории

Пара слов о генераторах в PHP: когда память имеет значение

Блог компании OTUS PHP *
Перевод

Работа с большими наборами данных не является чем-то из ряда вон выходящим для PHP-разработчика. Например, мы можем получать данные из конечной точки API и сохранять их в массив, чтобы позже мы могли перебирать этот массив и манипулировать данными в соответствии с нашими конкретными потребностями. Несмотря на то, что это довольно распространенная практика иногда размер набора данных может увеличиться настолько, что мы сталкиваемся с переполнением памяти.

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

Страдающее ML: как мы автоматизировали проверку данных, чтобы не было мучительно больно

Блог компании Газпромбанк Хранение данных *Машинное обучение *

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

Я разрабатываю ML-модели для розничного бизнеса, провожу A/B-тесты и оцениваю бизнес-эффекты в Газпромбанке. Год назад мы разработали систему, которая показывает, где и насколько данные плохи, а инженерам остаётся только разобраться почему. Раньше они сначала вручную выясняли, что в данных пошло не так, а теперь есть система, которая даёт подсказки. Расскажу об алгоритме, лежащем в основе системы, и о том, что она сейчас собой представляет и как используется в наших бизнес-процессах.

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

Высокопроизводительные вычисления на страже твоего комфорта — как супер-ЭВМ каждый день меняют нашу жизнь?

Блог компании FirstVDS Высокая производительность *Облачные вычисления *Научно-популярное Суперкомпьютеры

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

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

Разработка клиент-серверного приложения с помощью Next.js и TypeScript. Часть 1. Настройка проекта и разработка сервера

Блог компании Timeweb Cloud Разработка веб-сайтов *JavaScript *Node.JS *TypeScript *
Туториал


Привет, друзья!


В этой серии из 2 статей-туториалов мы с вами разработаем клиент-серверное (фуллстек — fullstack) приложение с помощью Next.js и TypeScript.



  1. Наше приложение будет представлять собой блог — относительно полноценную платформу для публикации, редактирования и удаления постов.
  2. Мы реализуем собственный сервис аутентификации на основе JSON Web Tokens и HTTP-куки.
  3. Данные пользователей и постов будут храниться в реляционной базе данных SQLite.

В первом туториале мы подготовим и настроим проект, а также реализуем серверную часть приложения с помощью интерфейса роутов (API Routes), во втором — разработаем клиента и проверим работоспособность приложения.


Обратите внимание: данный туториал рассчитан на разработчиков, которые имеют некоторый опыт работы с React и Node.js.


Для тех, кого интересует только код, вот соответствующий репозиторий.


Интересно? Тогда прошу под кат.

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

Как создать виджет экрана блокировки в iOS?

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

В iOS 16 Apple провела масштабную модернизацию Экран Блокировки. Одной из самых ожидаемых функций, которая появилась вместе с обновлением, - виджеты Экрана Блокировки. Как следует из названия, виджеты Экрана Блокировки — это виджеты, отображающие легко просматриваемый контент, который постоянно виден на экране блокировки iPhone и iPad.

Поскольку и виджеты Главного Экрана, и виджеты Экрана Блокировки работают на WidgetKit, способ создания виджета Экран Блокировки очень похож на то, как мы создаем виджеты Главного Экрана. Поэтому в этой статье я не буду показывать вам, как настроить и создать виджет с нуля, как это было описано в моей предыдущей статье.

Вместо этого я сосредоточусь на том, как обновить код существующих виджетов Главного Экрана для поддержки виджетов Экрана Блокировки.

С учетом всего сказанного, давайте начнем!

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

Как понять, что ты дозрел до своего стартапа в IT, и что делать дальше?

Блог компании Leader-ID Управление проектами *Развитие стартапа Управление продуктом *Бизнес-модели *

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

Под катом интервью с Максимом Гашковым, основателем MTS Startup Garage, CPO направления технологического предпринимательства Академии управления WINbd, про то, какие ошибки совершают разработчики, ныряющие с головой в новое для себя направление — бизнес. Как понять, что твой проект стоящий, и что вообще нужно знать и уметь технарю с хорошей головой, руками и великолепной идеей?

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