Pull to refresh
0
0
Send message

Механическая видеостена с ядерным Ambilight на 2300 зон

Level of difficultyEasy
Reading time8 min
Views51K

Однажды я подбирал себе новый монитор и немного увлёкся — получилось чудище во всю стену из трёх телевизоров с ядерной 2318-зональной подсветкой 40 000 люмен на STM32.

Читaть далее
Total votes 111: ↑108 and ↓3+132
Comments136

Импортозамещаю Netflix себе в дом

Reading time7 min
Views38K

В связи с уникальной сложившейся политической ситуацией в Российской Федерации, меня отключили от моей честно оплаченной подписки на сервис Netflix. Также, с уходом больших кинокомпаний с российского рынка, не остается большой надежды на трансляцию свежего кино и сериалов в отечественных онлайн кинотеатрах. Поэтому я принял волевое решение создать домашний сервер для видеохостинга, а также скачивания и раздачи торрентов на одноплатном компьютере Raspberry Pi, который был куплен по наитию и, как и у тысяч программистов-энтузиастов по всему миру, лежал без дела который год.

Читать далее
Total votes 43: ↑32 and ↓11+38
Comments104

Спящий гигант, или Почему Cardano продолжает и выигрывает

Reading time11 min
Views5.9K

Cardano и Ethereum — блокчейны, у которых схожие возможности и они неизбежно подвергаются сравнению друг с другом. Постепенно расстановка сил меняется, и о  Cardano всё чаще говорят как об «убийце Ethereum». Разбираемся в особенностях технологии Cardano, смотрим, есть ли основания для слухов и рассказываем, почему Cardano может стать мощнее, быстрее и доступнее, чем Ethereum или Bitcoin.

Читать далее
Total votes 13: ↑6 and ↓7+1
Comments10

Стэн Драпкин. Ловушки высокоуровневой криптографии в .NET

Reading time21 min
Views11K
Стэн Драпкин — эксперт по безопасности и комплаенсу, имеющий более чем 16 лет опыта работы с .NET Framework (начиная с .NET 1.0-beta в 2001 году). К сожалению, сам он не пишет статьи на русском языке, поэтому мы договорились с ним выпустить перевод его доклада с DotNext Piter. Этот доклад занял первое место на конференции!

Симметричная криптография, ассиметричная, гибридная, высокоуровневая, низкоуровневая, потоковая и современная эллиптическая криптография. Пятьдесят шесть минут видео про криптографию, и гораздо быстрей — в виде текста.



Под катом — видео, слайды и перевод. Приятного прочтения!
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments8

Идеальный наблюдатель на Swift

Reading time12 min
Views5.6K

В этой статье речь пойдёт о шаблоне проектирования «Наблюдатель» (Observer) и его реализации на Swift. Точнее — о его идеальной реализации.

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments12

Система заметок с нуля. Часть 5: знакомство с объектным хранилищем MinIO и разработка микросервиса на Golang

Reading time4 min
Views8.2K

В первой части мы спроектировали микросервисную архитектуру.

Во второй части разработали RESTful API Service на Golang cо Swagger и авторизацией.

Третья часть была посвящена знакомству с графовой БД Neo4j и работе над микросервисами CategoryService и APIService.

Четвертая часть была посвящена разработке микросервисов.

Мы продолжаем создание системы заметок. На этот раз посмотрим на разработанный File Service, который работает с хранилищем MinIO. Но сначала разберёмся с самим хранилищем и его настройкой.

Читать далее
Total votes 2: ↑0 and ↓2-2
Comments0

Как мы собирали мозаику из разнородных отчётных данных

Reading time6 min
Views1.9K

Привет! Мы уже рассказывали в блоге о том, как работаем с данными на Мосбирже. Но задач, связанных с data, равно как и её разновидностей, настолько много, что одной публикацией точно не обойтись. К примеру, мы – Кирилл Хомутов и Дмитрий Польских – в составе команды ИТ-Финансы обрабатываем данные, которые используются для формирования финансовой отчетности. Сегодня поделимся опытом, как мы научились регулярно получать, агрегировать и «приводить к общему знаменателю» миллионы транзакций из различных ИТ-систем компаний Группы «Московская Биржи».

Не все знают, но Московская биржа – это одна из компаний группы, которая занимается организацией торгов разными классами активов, учетом активов, расчетами. В группу также входят Национальная Товарная Биржа (НТБ), Национальный клиринговый центр (НКЦ), Национальный расчетный депозитарий (НРД) и несколько небольших компаний, которые выполняют узкоспециализированные сервисные функции.

Все участники группы находятся под разным регулированием, по-разному ведут бухгалтерский учёт и сдают разную отчетность. Биржи ведут учёт по стандартам для некредитных финансовых организаций (НФО). НКЦ и НРД ведут учёт уже как банки, закрывая операционный день и т.п.. А сервисные компании ведут учёт по РСБУ в соответствии с требованиями Минфина.

Нам нужно было собрать все эти «разношёрстные» учетные данные и свести в единую модель, чтобы сформировать консолидированную внешнюю отчетность по международным стандартам (МСФО). Добывать информацию приходилось из очень разных источников. Как мы это делали — читайте дальше.

Читать далее
Total votes 2: ↑1 and ↓10
Comments2

Два в одном: фронтенд и мобильная разработка на EPAM Meet Up

Reading time5 min
Views4.5K

Что объединяет фронтендеров и мобильных разработчиков? И те, и другие ругаются на бэкенд!

Если говорить серьёзнее, понятно, что общего много: они работают на клиентской стороне, имеют дело с UI и так далее. Но технологии в вебе и мобильных приложениях различаются, так что технические доклады им нужны разные. А 29 сентября состоится онлайн-митап для тех и других сразу — как это возможно?

Секрет в том, что у митапа будут два параллельных трека (каждый из трёх докладов). Так что фронтендеры смогут узнать полезное на одном, «мобильщики» — на другом. В мобильном треке освещены и iOS, и Kotlin Multiplatform, и Flutter, так что есть интересное для самых разных специалистов. И состав спикеров заметный: например, Виталия Фридмана уже знают многие JS-разработчики, а Александр Денисов отлично известен Flutter-сообществу.

Под катом — подробное описание программы. А тут добавим, что при начале в 19:00 доклады завершатся уже в 21:05, так что полностью выпадать из жизни вечером среды не придётся. Впрочем, можно не только смотреть доклад, но и подключаться к дискуссии после него, и вот сколько времени вы там промучаете спикера вопросами — это больше от вас зависит.

Читать далее
Total votes 9: ↑7 and ↓2+6
Comments0

iOS in-app purchases, часть 6: как реализовать скидки introductory offer, promotional offer, offer code

Reading time12 min
Views5K

Сегодня разбираем, как реализовать скидки на iOS: стартовое предложение, промо-предложение и промокод. Это шестая из серии статей про подключению внутренних покупок в приложениях App Store, в которой мы с командой описываем весь процесс включения in-app purchases. Остальные доступны по ссылкам:

1. iOS in-app purchases, часть 1: Конфигурация и добавление в проект.

2. iOS in-app purchases, часть 2: Инициализация и обработка покупок.

3. iOS in-app purchases, часть 4: Тестирование покупок.

4. iOS in-app purchases, часть 3: Серверная верификация покупок.

5. iOS in-app purchases, часть 5: Обработка ошибок.

6. iOS in-app purchases, часть 6: Скидки для iOS in-apps purchases. — Вы тут.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments0

Опционалы в Swift

Reading time22 min
Views90K

Несмотря на некоторый опыт в мобильной разработке (в том числе с применением Swift), регулярно на почве свифтовых опционалов возникали ситуации, когда я знал что нужно делать, но не совсем внятно представлял, почему именно так. Приходилось отвлекаться и углубляться в документацию — количество "заметок на полях" пополнялось с удручающей периодичностью. В определенный момент они достигли критической массы, и я решил упорядочить их в едином исчерпывающем руководстве. Материал получился довольно объемным, поскольку предпринята попытка раскрыть тему максимально подробно. Статья будет полезна как начинающим Swift-разработчикам, так и матерым профессионалам из мира Objective-C — есть ненулевая вероятность, что и последние найдут для себя что-то новое. А если не найдут, то добавят свое новое в комментарии, и всем будет польза.

Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments4

Как подготовиться к iOS-собеседованию

Reading time12 min
Views25K

Всем привет! Меня зовут Илья, и я провожу собеседования *хлоп-хлоп-хлоп*. Сейчас работаю на позиции Principal iOS Engineer в inDriver, и мой фокус смещен в сторону технических собеседований. До этого руководил мобильной разработкой в в «Альфа-Банке» и был кем-то вроде нанимающего менеджера. Это тот человек, который говорит финальное слово по кандидату и определяет, какую циферку написать в оффере. Помимо «рабочих» собеседований, я иногда собеседую на аутсорсе, а также помогаю разработчикам к ним готовиться. 

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

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments13

Многопоточность (concurrency) в Swift 3. GCD и Dispatch Queues

Reading time28 min
Views331K
Надо сказать, что многопоточность (сoncurrency) в iOS всегда входит в вопросы, задаваемые на интервью разработчикам iOS приложений, а также в число топ ошибок, которые делают программисты при разработке iOS приложений. Поэтому так важно владеть этим инструментом в совершенстве.
Итак, у вас есть приложение, оно работает на main thread (главном потоке), который отвечает за выполнение кода, отображающего ваш пользовательский интерфейс (UI). Как только вы начинаете добавлять к вашему приложению такие «затратные по времени» куски кода, как загрузка данных из сети или обработка изображений на main thread (главном потоке), то работа вашего UI начинает сильно замедляться и даже может привести к полному его «замораживанию».



Как можно изменить архитектуру приложения, чтобы таких проблем не возникало? В этом случае на помощь приходит многопоточность (сoncurrency), которая позволяет одновременно выполнять две или более независимые задачи (tasks): вычисления, загрузку данных из сети или с диска, обработку изображений и т.д.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments14

Дизайн без дизайнера

Reading time12 min
Views8.4K

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

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

Немедленно прочесть
Total votes 7: ↑7 and ↓0+7
Comments14

Создаем ячейки в iOS

Reading time13 min
Views5.5K

Типичный день мобильного разработчика: получил json, распарсил, отрисовал на UI ячейки, PROFIT.

Как элегантно колдовать с ячейками без изобретения велосипеда мы рассказали в одном из эпизодов «Охэхэнных историй», а потом сделали из него статью.

В сегодняшней программе  ячеек в iOS: разберемся какие ячейки бывают, посмотрим на ячейки в дизайн-системе hh.ru и их реализацию в коде и попробуем собрать свою ячейку.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments2

Как мы ускорили разработку и тестирование мобильных приложений

Reading time4 min
Views4.6K

Представим ситуацию: вы разрабатываете экран, до которого в приложении очень сложно добраться. Например, надо авторизоваться, положить товар в корзину, оформить заказ, оплатить его… Таких экранов много, особенно на крупных проектах, а время регулярно тратят все участники команды: при разработке, на code review и тестировании. Это особенно ощутимо на крупных проектах, когда таких труднодоступных экранов много.

Если эта ситуация вам знакома — то вы зашли по адресу! Меня зовут Александр Чаусов, и в статье я расскажу, как мы в Surf увеличили скорость тестирования UI.

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments2

Что если изменить систему единиц времени? Это жестко?

Reading time4 min
Views22K

Официальный сайт движения за изменение системы единиц времени.

Здесь я подробно напишу на русском языке объяснение.

Читать далее
Total votes 55: ↑30 and ↓25+17
Comments422

EPAM Anywhere: как это работает. Субъективный взгляд изнутри

Reading time12 min
Views20K

Привет. Меня зовут Игорь Новицкий, я сотрудничаю с платформой EPAM Anywhere в роли Lead Software Testing Engineer уже полгода. В этой статье поделюсь своими впечатлениями от работы в режиме полной удаленки, расскажу о реальных преимуществах и недостатках платформы. Все, описанное ниже, — исключительно личные впечатления и опыт автора.  

Читать далее
Total votes 15: ↑8 and ↓7+4
Comments30

Какие английские слова IT-лексикона мы неправильно произносим чаще всего

Reading time5 min
Views172K
Пока пара новых статей на технические темы еще в процессе написания, я решил опубликовать небольшой лингвистический материал. Достаточно часто замечаю, что коллеги, у которых английский язык — не родной, неправильно произносят некоторые характерные для IT сферы слова. И дело здесь не в том, насколько аутентично произносятся отдельные звуки, а именно в транскрипции. Регулярно встречал ситуации при общении с носителями, когда неправильно произносимое слово приводило к недопониманиям.

Дальше я приведу несколько наборов слов, сгруппированных по типовым ошибкам. К каждому слову будет приложена транскрипция, приблизительная транскрипция на русском и ссылка на более детальную информацию в словаре. Так как большинство IT компаний все-таки работает с Северной Америкой, то транскрипции будут из US English.
Читать дальше →
Total votes 244: ↑243 and ↓1+307
Comments486

Английские сокращения и названия из сферы IT, которые мы неправильно произносим

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

image
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments47
1

Information

Rating
Does not participate
Registered
Activity