Топ-7 книг про высокотехнологичный бизнес в Китае |
Один и тот же язык программирования одинаков в любой стране. Нет отличий Python в Китае от Python в Великобритании. Другое дело - модели ведения высокотехнологичного бизнеса. Они могут сильно различаться. Про особенности Кремниевой долины знает внушительная часть людей, за что нужно сказать спасибо многочисленным книгам, фильмам, подкастам и, конечно же, сериалам. При этом довольно затруднительно отыскать хоть сколько-нибудь информативную литературу про развитие китайских технологических компаний. Поэтому сегодня в блоге ЛАНИТ мы предлагаем подборку книг, которые помогут разобраться в особенностях ведения бизнеса, основанного на инновационных технологиях, в Поднебесной. Список состоит из самых популярных и самых свежих изданий, вышедших за последние несколько лет в разных странах мира.
Читать далееhttps://habr.com/ru/post/687378/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687378
Метки: Блог компании ГК ЛАНИТ Исследования и прогнозы в IT Читальный зал IT-компании ланит китай huawei alibaba xiaomi |
Open Source: IT-фетиш 21 века |
В последние лет 5 часто встречаются в сети красиво изложенные мысли на тему открытых исходников различных приложений. Суть в следующем: «Если код закрыт, то пользоваться приложением нельзя или нежелательно». Ведь если нельзя заглянуть под капот, нет никаких гарантий, что там не спрятан какой-нибудь червяк.
Чаще всего подобные мысли исходят от активных комментаторов в социальных сетях. Люди посерьёзнее крайне сдержанно подходят к данному вопросу, в основном мысли этой публики сводятся к «Закрытый код означает полный контроль над разработкой и эксплуатацией решений», со всеми атрибутами: это значительно усложняет создание любого вредоносного ПО, не даёт возможности угнать и модифицировать наработки (содержать даже небольшой штат кодеров – удовольствие не из дешёвых, чтобы потом дарить плоды труда кому бы то ни было).
И ведь и те, и другие говорят верно. Но дьявол кроется в деталях – об этом и поговорим.
Читать далееhttps://habr.com/ru/post/687870/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687870
Метки: информационная безопасность open source криптовалюты криптография безопасность |
«Сами мы не местные», или Как мы провели миграцию с Oracle на PostgreSQL |
Недавно мы написали о том, насколько экономически разумно «переезжать» с Oracle на PostgreSQL. В этом материале хотели бы поделиться практическим опытом, как осуществить миграцию небольшой СУБД, и какие подводные камни вас могут ожидать при этом.
Читать далееhttps://habr.com/ru/post/687774/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687774
Метки: Блог компании Инфосистемы Джет oracle postgresql Администрирование баз данных миграция |
Разработка Angular-приложений и построение их архитектуры |
Привет! Меня зовут Самат, я frontend-специалист компании SimbirSoft.
Моё первое знакомство с Angular началось с погружения в документацию, которая помогла мне лучше понять, как устроен этот фреймворк. Наверняка, этого было бы достаточно, чтобы подключиться к проекту или заняться его разработкой с нуля.
Но если после подключения разработчик заходит в уже выстроенную систему, и его задачи редко связаны с архитектурой, то в разработке с нуля ситуация обстоит иначе, даже если на первый взгляд кажется, что вопросов не возникнет. Они появятся позже, когда окажется, что нельзя легко и просто внести важную фичу или безопасно изменить часть приложения, так как она тесно связана с другой частью. А компоненты приложения, которые мы сами же и писали, покажутся незнакомыми и сложными.
Цель этой статьи – познакомиться с темой построения архитектуры Angular-приложений. Я расскажу о том, как разработать приложения таким образом, чтобы специалист любого уровня при наличии знаний Angular мог легко разобраться в коде и структуре приложения. И как избежать проблем масштабирования.
Читать далееhttps://habr.com/ru/post/687712/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687712
Метки: Блог компании SimbirSoft Разработка веб-сайтов JavaScript angular архитектура architecture software architecture frontend |
[Перевод] Как получить элементы HTML с несколькими классами с помощью JavaScript |
В этой статье мы рассмотрим, как создать элементы HTML с несколькими классами с помощью JavaScript.
Читать далееhttps://habr.com/ru/post/687920/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687920
Метки: Блог компании Россельхозбанк Разработка веб-сайтов javascript html ReactJS rshbdigital рсхб рсхб-интех react react.js |
Храним отметки высот в XYZ tiles |
Цифровые модели поверхности и рельефа (ЦМП/ЦМР) – являются важной и неотъемлемой составляющей геоинформационных систем (ГИС). Они являются источником высотной информации и решают задачу определения высоты Z в указанной точке с координатами XY на местности. ЦМП и ЦМР могут быть как регулярными, так и нерегулярными (чаще всего их делят по формату хранения высотных отметок (растровые и векторные). Растровые ЦМП/ЦМР чаще всего поставляются в виде геопривязанного растра с типом пиксельных значений позволяющих хранить дробные отрицательные числа (32-bit float). Повсеместная реализация и внедрение информационных сервисов (прежде всего онлайн), делает необходимым отображение пользователям высотной информации в интерактивном режиме (определение Z при перемещении курсора XY) и ставит перед разработчиком задачу донесения этой информации. Если в случае с векторными данными, мы можем отобразить высотный пикет в координатах XY и показать записанный ему атрибут Z, то с растровыми (регулярными) моделями высот такое не выйдет, иначе мы должны хранить атрибут на каждый пиксель нашего растра (так никто не делает) или быть готовыми его рассчитать и вернуть пользователю с сервера. В принципе, эта задача решена показом на растровых тайлах высотных отметок или горизонталей в виде рисунка, но такой способ отображения высот не интерактивен и несет лишнюю нагрузку на картографическую составляющую тайлов.
Читать далееhttps://habr.com/ru/post/687748/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687748
Метки: Геоинформационные сервисы геоинформатика геоинформационные geodata png рельеф высота над уровнем моря |
PowerShell, HTML Agility Pack: получение значения атрибута HTML-элемента |
Рассмотрено два способа получения значения атрибута HTML-элемента на HTML-странице в скрипте на языке PowerShell с помощью методов объектов из библиотеки HTML Agility Pack.
Показан прямой доступ к значениям атрибутов с помощью выражения вида $node.Attributes
. Далее большая часть статьи посвящена методам GetAttributeValue
из библиотеки HTML Agility Pack. Освежаю в памяти, что такое «полиморфизм» и как он реализован в библиотеке для данного метода. Также будет немного затронуто понятие «обобщенного метода» («generic method») в языке C#.
https://habr.com/ru/post/687744/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687744
Метки: .net c# powershell Программирование html agility pack html полиморфизм обобщенные функции null преобразование типов |
[Перевод] Миграция монолитов в микросервисы на практике |
На тему миграции с монолита на микросервисную архитектуру были написаны замечательные статьи, например, эта, возможно, относится к лучшим примерам. Преимущества и недостатки этих архитектур должны быть достаточно очевидны. Однако я хочу поговорить о другом: о стратегии. Мы создаем монолиты, потому что с ними легче начинать работу. Микросервисы обычно возникают в силу необходимости, когда наша система уже находится в продакшне.
Однако при принятии решения о необходимости миграции возникает множество вопросов: как вы определяете границы услуги? Как вы проверяете свойства самовосстановления архитектуры микросервиса?
Это особенно сложно с учетом распределенности сервисной сетки. Нам нужно иметь представление обо всем приложении, поскольку его фрагменты разделены. Наша цель — сохранить преимущества, которые мы имели в унаследованном монолите, избежав при этом сильной связанности, которая является его неотъемлемой частью. В данной статье я расскажу о некоторых практических подходах, которые вы можете использовать при выполнении этой миграции.
Читать далееhttps://habr.com/ru/post/687742/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687742
Метки: Блог компании OTUS микросервисы микросервисная архитектура паттерны аутентификации паттерны авторизации тестирование |
Пилим-режем: как создать новый интерфейс без гвоздей и бревен |
Привет! Меня зовут Женя, я UX-дизайнер в компании ISPsystem, создаю UI/UX-платформы BILLmanager. Работаю в этом направлении 4 года, а начинала свой путь с game-ux в Starfall Online. Затем сменила направление геймдева на финтех и работала в биллинговом стартапе. Именно в тот период карьеры я услышала о BILLmanager, а в ноябре 2021 года попала в его команду — как раз в тот момент, когда продукт готовили к переходу на новую тему интерфейса.
BILLmanager — зрелый продукт с большой историей. За годы своего существования он претерпел несколько изменений дизайна. Мы совершенствуем наши продукты, чтобы ими было удобно и приятно пользоваться, а также развиваем UX, учитывая фидбек от пользователей. Я участвовала в создании новой версии BILLmanager 6, о возможностях которой мы уже рассказывали.
В этой статье я хочу поделиться трудностями и вызовами, преодоленными командой UX/UI при обновлении BILLmanager 6.
Читать далееhttps://habr.com/ru/post/687736/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687736
Метки: Блог компании ISPsystem интерфейсы Дизайн Учебный процесс в IT ispsystem design system ui/ux |
Фича-команды — профит или балласт? |
В этот раз я расскажу о фича-командах, что это такое, почему мы решили перестать быть сервисными командами и стали продуктовыми и что у нас из этого вышло.
Так как мы являемся mobile first-компанией, то примерно в сентябре-октябре 2021г. мы приняли решение изменить структуру и разделить две наши сервисные команды на продуктовые, в каждой из которых были бы свои разработчики, менеджеры и QA. Но где же взять людей для тестирования отдельных участков приложения...
фича-что?https://habr.com/ru/post/687740/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687740
Метки: Блог компании СберЗдоровье Тестирование мобильных приложений управление процессами в it тестирование ручное тестирование фича-команды |
[Перевод] Подтесты в Python |
Недавно я сделал опрометчивый твит, в котором намекнул на то, что у меня имеется глубоко продуманное мнение по одному важному вопросу. Я написал, что пакет pytest-subtests достоин того, чтобы им пользовалось бы больше программистов. Я даже дошёл до того, что, говоря о подтестах (subtests), сказал, что они были единственным, что мне по-настоящему нравилось в unittest
до появления их поддержки в pytest
. И, как на грех, Брайан Оккен предложил мне поучаствовать в подкасте Test and Code, чтобы подробнее обсудить подтесты. Я могу лишь догадываться о том, что он это сделал, дабы преподнести мне урок, показать мне, что я не должен, накачавшись продуктами Splenda и травяным чаем, выдавать скороспелые мнения о тестировании кода.Но, тем не менее, когда Брайан взглянет на меня со своей хитрой улыбкой и скажет: «Итак, ты готов поговорить о подтестах?», я планировал ответить: «Да, я готов — сделал обширные заметки и набрал справочных материалов». А когда мы вместе будем стоять на сцене, получая Дневную премию «Эмми» за лучший подкаст о тестировании, я шепну ему: «Я раскрыл твою хитрость, и хотя я тебя обыграл, ты реально показал мне — что такое скромность», а по его щеке скатится одинокая слеза.
Или, что скорее всего так и есть, ему просто хотелось пригласить кого-то, с кем можно поговорить об этом конкретном аспекте Python-тестирования, а я оказался одним из тех немногих, встретившихся ему, кто высказывал по этому поводу своё мнение. В любом случае, этот пост будет играть роль моих заметок по механизму подтестов из unittest, который появился в Python 3.4. Здесь же пойдёт речь о сильных и слабых сторонах подтестов, о сценариях их использования. Этот материал можно считать дополнением к подкасту Test and Code Episode 111.
Читать далееhttps://habr.com/ru/post/685890/?utm_source=habrahabr&utm_medium=rss&utm_campaign=685890
Метки: Блог компании Wunder Fund Python Программирование Тестирование веб-сервисов разработка |
Как снимать логи с устройств на Android и iOS: разбираемся с инструментами |
Краткая инструкция по чтению и разбору логов мобильных устройств на Android и iOS, а также необходимые инструменты для Windows и MacOS.
Статья подготовлена red_mad_robot и «Альфа-Банком» на основе доклада Senior QA red_mad_robot Ольги Никитиной «Инструменты для снятия логов с Android / iOS устройств. Чтение и разбор» на митапе «QАчественное общение» при поддержке red_mad_robot.
Читать далееhttps://habr.com/ru/post/687184/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687184
Метки: Блог компании red_mad_robot Блог компании Альфа-Банк Тестирование мобильных приложений ios android логи logs red_mad_robot альфа-банк |
Макетная плата SPI NOR Flash |
Большинство современных CPU позволяют производить начальную загрузку с разных источников (media booting), одним из которых может быть SPI NOR Flash. Микросхемы энергонезависимой памяти NOR Flash с последовательным интерфейсом SPI используются на материнских платах для хранения образов BIOS, BMC, а так же данных различного назначения. Если же речь идет о популярных платах, постороенных на различных SoCs, таких как Raspberry Pi, Orange Pi и так далее, то на них SPI-интерфейс может быть выведен на контактые площадки для того, чтобы пользователь мог самостоятельно подключить ту или иную микросхему в качестве внешнего носителя.
https://habr.com/ru/post/687616/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687616
Метки: Программирование микроконтроллеров Разработка под Linux Схемотехника spi nor flash W25Q256JV CH341A ch341a программатор |
Обзор электронной книги Onyx Boox Darwin 9 |
Не прошло и года после того, как Onyx Boox презентовала электронную книгу Darwin 8, и вот компания представила новую модель в той же линейке – Darwin 9. Новинка во многом продолжает традиции своих предшественников, но не обошлось без обновлений.
Читать далееhttps://habr.com/ru/post/687720/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687720
Метки: Читальный зал Гаджеты Носимая электроника электронная книга ридер ридер электронных книг onyx boox darwin |
Клонируем сами, своими руками |
https://habr.com/ru/post/686812/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686812
Синтаксический сахар в Redux: Type to reducer и Redux toolkit для самых маленьких |
Сегодня рассказ пойдет о двух удобных способах сократить рутину в Redux, которые мы используем в разных частях собственного проекта. Речь пойдет о малоизвестной библиотеке Type to reducer и довольно функциональном Redux toolkit. Почему нам было трудно жить с чистым Redux, зачем нужны вспомогательные инструменты и как они облегчают жизнь, читайте под катом.
Статья написана по итогам внутреннего митапа для нефронтендеров, проходившего пару месяцев назад, и рассчитана не только на тех, кто в теме.
Читать далееhttps://habr.com/ru/post/687704/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687704
Метки: Блог компании Maxilect ReactJS Разработка веб-сайтов javascript react react.js redux redux toolkit reduxjs |
Тестирование Wi-Fi и ананасы из Китая |
Если ваш заказчик решил сделать тестирование на проникновение в своём офисе впервые, то в 9 из 10 случаев ваше общение начнется с: «А протестируйте наш Wi-Fi!». Трудно сказать, почему эта тема до сих пор волнует людей в такой степени. Сегодня мы поговорим о том, что в реальности можно протестировать, и какие инструменты для этого есть.
Читать далееhttps://habr.com/ru/post/687696/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687696
Метки: Блог компании Газинформсервис Информационная безопасность ананас wi-fi безопасность |
Топ вещей из Java, которых мне не хватает в C# |
Спор "Java vs. C#" существует чуть меньше, чем вечность. Есть много статей, затрагивающих разные участки его спектра: Что есть в C# чего нет в Java, что языки друг у друга позаимствовали, у одних LINQ, у других обратная совместимость, в общем, тысячи их.
Однако, я никогда не видел, чтобы писали о чём-то, что в Java, с точки зрения фич языка есть, чего в C# нет. Впрочем, я здесь не для того, чтобы спорить. Эта статья призвана выразить моё субъективное мнение и заполнить небольшой пробел по теме, озвученной в заголовке.
Читать далееhttps://habr.com/ru/post/687412/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687412
Метки: Программирование java c# java core java virtual machine jvm .net dotnet core programming languages design features programming languages |
Linkkraft: offline-first браузер, который организует открытые вкладки и персональные заметки |
Расскажу про браузер/персональная базу знаний, который делаю. А также про источники вдохновления (например, хабр в 2009) и альтернативные решения проблем.
Помимо этого предлагаю обсудить то как вы сейчас организуете открытые вкладки, закладки, заметки.
Читать далееhttps://habr.com/ru/post/687576/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687576
Метки: Браузеры pkm memex |
[Перевод] Uniswap v3 Providing Liquidity (Перевод гайда) |
Unisvaaaap start
Читать далееhttps://habr.com/ru/post/687694/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687694
Метки: solidity uniswap ethereum |