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

Технотекст

Отправить статью

Дженерики в языке Go

Блог компании Karuna Программирование *Go *
✏️ Технотекст 2021
func Map[F, T any](s []F, f func(F) T) []T {
    r := make([]T, len(s))
    for i, v := range s {
        r[i] = f(v)
    }
    return r
}

Как вы уже наверняка знаете, proposal по дженерикам в Golang принят (официально это называется type parameters) и будет имплементирован в go 1.18. Бета будет доступна уже в конце этого года. А это значит, что пора разобраться, на чём в итоге остановились разработчики языка — ведь черновик type parameters постоянно менялся в течение последних лет.


Технология новая, на практике толком никто не использовал. Поэтому если увидите какую-то неточность в статье, не стесняйтесь указать это в комментариях.


Самостоятельно поиграться с дженериками можно здесь


Итак, поехали.

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

Карты, фаззинг, OSM: ищем поверхность атаки для сложного приложения

Информационная безопасность *Тестирование IT-систем *Системное программирование *OpenStreetMap *Реверс-инжиниринг *
✏️ Технотекст 2021
Tutorial

Фаззинг - это такое тестирование, в котором не надо придумывать тесткейсы, потому что умная машина (или настойчивый алгоритм перебора) делает это за вас.

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

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

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

Java: есть ли жизнь на десктопе?

Блог компании Lamoda Программирование *Java *
✏️ Технотекст 2021

Привет! Я Виктор Барсуков, Java-разработчик в Lamoda. В этой статье хочу рассказать о своем опыте разработки десктопного Java-приложения в рамках пет-проджекта. Что из этого получилось и что можно было бы сделать иначе.

Читать далее
Всего голосов 48: ↑46 и ↓2 +44
Просмотры 16K
Комментарии 47

Стратегии оптимизации HDL-кода и синтезатора нетлиста для FPGA

FPGA *
Из песочницы
✏️ Технотекст 2021

В статье будет рассмотрена работа синтезатора нетлиста, его возможности по оптимизации кода и трудности, с которыми он может столкнуться. Показаны две техники написания кода логических схем на Verilog в зависимости от преследуемых целей оптимизации проекта на этапе синтеза. А также разбор некоторых настроек синтезатора Xilinx Vivado, которые призваны пытаться оптимизировать логическую схему за разработчика. В конце мы возьмём модуль, который попробуем привести к рабочему состоянию исключительно за счёт возможностей синтезатора.

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

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

Хранители данных: как устроена работа с DWH в Lamoda

Блог компании Lamoda Oracle *IT-инфраструктура *Хранение данных *Хранилища данных *
✏️ Технотекст 2021

Всем привет! Меня зовут Юлия Скогорева, я системный аналитик в команде Center of excellence в Lamoda, которая входит в дирекцию данных и аналитики.

Если бизнесу нужны какие-то данные для принятия важных решений, то на помощь приходит наша команда. Мы тщательно изучаем множество микросервисов, чтобы определить, какие же данные нужны для решения бизнес-целей, формируем архитектуру хранилища, пишем скрипты запросов и витрин данных, строим юниверсы, делаем отчеты и дашборды. Большая часть работы не обходится без участия команды DWH-разработки.

В статье я расскажу, как устроено хранилище данных в Lamoda, что находится на каждом его слое, с помощью каких инструментов мы визуализируем данные, сколько у нас отчетов и зачем используем APEX.

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

Качество, блокчейн и другие тренды EdTech 2022 года

Блог компании Учи.ру Программирование *Исследования и прогнозы в IT Образование за рубежом Искусственный интеллект
✏️ Технотекст 2021

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

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

Как мы СХД QSAN тестировали. Чудес не бывает, но иногда так хочется…

Блог компании НТЦ ПРОТЕЙ Высокая производительность *Системное администрирование *IT-инфраструктура *Хранение данных *
✏️ Технотекст 2021
Tutorial

Задачи компаний и их потребности в СХД меняются по мере развития. Рынок СХД тоже не стоит на месте. И проверенные 5 лет назад решения могут не тянуть сегодняшних задач. Потратив в общей сложности пару месяцев рабочего времени на выбор, тестирование, внедрение, диагностику и решение различных проблем с СХД QSAN XS1224 решил поделиться своим видением. Мне кажется, что многим это будет интересно. Описываемый период времени — с 2019 года по настоящий момент.

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

Моя система физического и ментального здоровья гика

Здоровье
✏️ Технотекст 2021
Мне 39 лет и с 19 работаю разработчиком и руководителем проектов, женат, есть ребенок. Всё норм, единственный нюанс – тело досталось с начальными параметрами гораздо хуже средних.
Когда ребенок рождается, его состояние оценивается по шкале Апгар 0-10. 7-10 – это норма, 0-2 балла — сильные отклонения в состоянии здоровья. У меня было – 2 балла. Мне повезло, и я выжил, но получил детский церебральный паралич, вторую группу инвалидности и справку о нетрудоспособности. Руки и ноги дергаются, говорю непонятно (но привыкнуть можно),  правая рука умеет только здороваться и зажимать ctrl, хожу как зомби.

Здоровье было всю жизнь не айс, однако тело реально посыпалось около 30, плюсом к ДЦП: гастрит, колит, простатит, аритмия, множественные экструзии межпозвоночных дисков, остеопороз, постоянный мышечный спазм всего тела, нарушение зрения, бессоница и др.  Когда я спросил у кардиолога, почему у меня в таком раннем возрасте развилась аритмия, она объяснила очень просто: ДЦП постоянно фигачит все мышцы, сердце – это мышца, просто до этой мышцы добрались не сразу.

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

Моя система состоит из трех компонентов:
  • Работа над телом: кинезитерапия, йога,  дыхание,  закалка, правильное питание
  • Работа над духом: Формирование внутренних установок которые делают меня сильнее и счастливее
  • Ежегодная диагностика и работа с лучшими врачами в тех местах где у меня есть или будут проблемы.


Далее подробнее расскажу о системе.
Читать дальше →
Всего голосов 57: ↑56 и ↓1 +55
Просмотры 12K
Комментарии 6

Автоматизация автоматизации или как мы обеспечили автоустановку не только ОС Astra Linux, но и софта в один «проход»

Блог компании НТЦ ПРОТЕЙ Настройка Linux *Системное администрирование *IT-инфраструктура *DevOps *
✏️ Технотекст 2021

Как "раскатать" ось на кучу устройств? Что делать если перед вами стоит задача установить операционную систему семейства linux на большое количество устройств? Ходишь-бродишь среди леса устройств, подключаешь флешку и отвечая на одни и те же вопросы при установке системы. Пока не заблудишься...или не сойдёшь с ума в этой рутине...или поймёшь что поседел и зрение уже не то...или...Что-то я увлёкся. Конечно первым делом нужно открывать google! И он ответит: "Парень, не парься, используй preseed". И будет прав, т.к. в linux есть задокументированная возможность использования файла ответов (тот самый preseed.cfg). Если коротко, то вы формируете файл ответов, кладёте его в нужное место и система использует его для ответов на вопросы при установке. А вы в это время пьёте чай и всё такое. Но так ли всё гладко? Конечно нет! Welcome!

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

Физика двоичной логики

Блог компании Timeweb Cloud Математика *Схемотехника *Физика Электроника для начинающих
✏️ Технотекст 2021

Вопрос «Как работает компьютер?» чрезвычайно многогранен и ответ на него зависит от выбранного уровня абстракции. Рассказ о компьютере может строиться вокруг прикладного ПО, операционной системы или архитектуры. Эта статья — попытка дать ответ на этот вопрос с точки зрения нижних уровней абстракции: логических схем и принципа их работы.
Читать дальше →
Всего голосов 44: ↑39 и ↓5 +34
Просмотры 13K
Комментарии 16

Шрифты в играх: как из 191 Мб сделать 12 Мб

Блог компании Playrix Python *Разработка игр *Игры и игровые консоли
✏️ Технотекст 2021
Tutorial

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

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

Читать далее
Всего голосов 24: ↑23 и ↓1 +22
Просмотры 8.8K
Комментарии 12

Как я переехала из Москвы в Испанию (без мужа и с зарплатой в тенге)

Блог компании Beeline Казахстан IT-эмиграция Управление персоналом *Удалённая работа
✏️ Технотекст 2021

Привет, я Света, давайте снова знакомиться. 

В IT я более 10 лет, начинала в Мэйл.Ру в отделе персонала. Пока компания росла от 600 до 6 000 человек, я выросла из ассистента отдела до руководителя направления внутренних коммуникаций. Олды могут меня помнить по митапам Мэйла в офисе Авион, там я раздавала вам пиццу в перерывах. Позже мы с командой организовывали митапы, конференции и мероприятия в башнях. Их многие наверняка тоже помнят.

Сейчас, когда меня спрашивают о работе, я отвечаю, что живу в Европе, работаю в IT, получаю зарплату в валюте, а за несколько месяцев могу накопить миллион. 

Я и правда живу в Испании, а работаю проджектом в Beeline Казахстан. Отсюда возможность накопить миллион и зарплата в валюте — все это про тенге. 

В свободное время делаю DevRel-проекты с разными компаниями, помогаю с Хабром, пишу статьи в Т—Ж и другие издания про IT, деньги и путешествия. 

Я расскажу о том, как переехала в Испанию и почему мой случай эмиграции не совсем типичный. Скорее всего, это будет цикл статей, сегодня — про получение ВНЖ и документы, которые для этого понадобятся. 

Идём оформлять испанский ВНЖ
Всего голосов 48: ↑41 и ↓7 +34
Просмотры 14K
Комментарии 42

Неотправленное письмо боссу в кровавом Enterprise

Администрирование баз данных *Карьера в IT-индустрии DevOps *
✏️ Технотекст 2021

Хоть я и интроверт, но с soft skills у меня неплохо. Поэтому я стараюсь придерживаться принципа:

True wisdom: 1. Having a lot to say. 2. Not saying it.

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

Читать далее
Всего голосов 89: ↑72 и ↓17 +55
Просмотры 23K
Комментарии 48

Новый язык программирования

Блог компании Timeweb Cloud Программирование *C++ *Компиляторы *Машинное обучение *
✏️ Технотекст 2021
image
Более года назад я начал публикацию статей с описанием особенностей нового языка программирования. С тех пор утекло много воды, было протестировано множество идей, в итоге несколько раз все поменялось кардинальным образом и сейчас представляю на суд читателей описание предфинальной версии языка и его особенностей.

Данная статья предназначена в первую очередь для проверки основных концепций нового языка программирования, а также для получения обратной связи от читателей Хабра. Ведь согласно наблюдению «Хабр-ума палата», не замыленный взгляд со стороны очень сильно помогает в проработке новых идей.

Этот проект очень долго был без собственного названия и в публикациях назывался просто и абстрактно «новый язык». Но после нескольких статей, временное название «новый язык» постепенно превратилось в имя собственное NewLang, которое я и решил в конечном итоге оставить (что еще раз подтверждает поговорку, что нет ничего более постоянного, чем что-то временное).

Читать дальше →
Всего голосов 30: ↑25 и ↓5 +20
Просмотры 15K
Комментарии 42

Война с компилятором и собой: об оптимизациях вещественной арифметики на Эльбрусе

Высокая производительность *Программирование *Assembler *C *
✏️ Технотекст 2021

Недавно в процессе выполнения учебного задания мне потребовалось реализовать метод конечных разностей для нахождения приближённого решения краевой задачи. По сути, я впервые столкнулся с вычислениями с плавающей точкой и не мог не попробовать запустить свою программу на Эльбрусе, зная о его больших возможностях и заточенности под вычисления такого рода. Хотите удивиться? Отправляйтесь со мной в увлекательное путешествие!

Читать дале
Всего голосов 185: ↑183 и ↓2 +181
Просмотры 23K
Комментарии 114

Как мы сделали простого WebRTC робота в домашних условиях

Разработка на Raspberry Pi *Робототехника DIY или Сделай сам
Из песочницы
✏️ Технотекст 2021

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

Технология WebRTC идеально нам подошла, так как довольно легко организовать передачу видео, аудио и data каналов между двумя peer’ами с минимальной задержкой сигнала. Наглядная упрощенная схема всей системы изображена на рисунке ниже. Да и опыта работы с этой технологией у нас не было, потому очень хотелось попробовать.

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

Реклама Dendy, которую мы заслужили

Работа с 3D-графикой *DIY или Сделай сам Игры и игровые консоли
✏️ Технотекст 2021

В 90-е у компаний, которые занимались рекламой не было таких крутых инструментов для создания графики, как сейчас и я подумал, что было бы интересно посмотреть как могла выглядеть реклама старой доброй Dendy, если бы её создавали в наше время.

Читать далее
Всего голосов 71: ↑64 и ↓7 +57
Просмотры 38K
Комментарии 75

Как этот год работала наша внутренняя служба гражданской обороны — от первых слухов до развития кризиса

Блог компании КРОК Управление проектами *Управление персоналом *
✏️ Технотекст 2021
image

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

У нас было 40 тысяч масок, 5 тысяч респираторов, 10 тысяч перчаток и 350 литров антисептиков, но опасение вызывала информированность. Не то чтобы это был необходимый запас для офиса, но раз уж вы начали готовиться к ковиду, то становится трудно остановиться. Началось всё ещё весной 2020, когда половина офисных сотрудников в эпидемию не верила, а другая половина бегала в панике и не знала, как защищаться. У нас работает больше 2500 человек, поэтому было важно организовать процессы, связанные с этим всем.

В первую очередь мы взялись за сбор и оценку информации и сделали отдельную поддержку чисто по COVID-19.

В административно-эксплуатационном департаменте есть бывшие военнослужащие. Мы собрались и поняли, что любую неопределённость можно преодолеть планом. Потому начали писать стратегические планы действий на случай, если вдруг нужно будет переходить на удалёнку, например. Верили в них поначалу мало, но за следующие пару недель параноики восторжествовали. От стадии «это сезонное и пройдёт через две недели» мы довольно быстро перешли к «это серьёзно», «это запредельно серьёзно» и далее к варианту плана «***», где военные в присущей им манере детально описали наихудший вариант развития событий. Именно его мы и взяли дальше за основу работы.
Всего голосов 70: ↑68 и ↓2 +66
Просмотры 12K
Комментарии 35

Самодельный стратостат

.NET *Разработка на Raspberry Pi *DIY или Сделай сам
✏️ Технотекст 2021

result_lowres


Допустим, вы интересуетесь космосом, но космос для вас недоступен. Выше 10км не подняться, а посмотреть "что там?" очень хочется. По классификации NASA — нижняя граница космоса начинается на 100км от поверхности Земли. Эта статья будет не совсем про космос, но про возможность создания своего стратосферного зонда с нуля. Я много видел примеров успешного запуска и несколько статей на Хабре, но почти все они — это отчеты. Я же хочу оставить статью, которая сможет претендовать на "complete guide" для юных покорителей. Запаситесь терпением и безлимитным интернетом — будет много текста, картинок и даже пару видео. Это был долгий путь для нас, но я намерен сделать его не таким изнурительным для всех желающих. Поехали?

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

Моделирование и визуализация при анализе и проектировании ИТ систем. И не только

Блог компании Accenture Анализ и проектирование систем *Управление проектами *Карьера в IT-индустрии
✏️ Технотекст 2021

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

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