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

Все потоки

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

Как я программу на вирусы проверял

.NET *Реверс-инжиниринг *
Из песочницы

Поводом для написания данной статьи послужил диалог в одном телеграмном чате. Кто-то выложил программу для "уникализации" файлов путем изменения хэша MD5, а другой бдительный участник чата проверил ее на Virustotal и из-за двух положительных (и 68 отрицательных) результатов обвинил программу в наличии недекларированных функций, в том числе даже в краже паролей от различных аккаунтов, а всех установивших ее - в "излишках" ума. Увещевания его и рассказ о возможных ложноположительных срабатываниях не дали желаемого результата, беседа перестала быть конструктивной и затухла.

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

Новости

Как модель оплаты может влиять на эффективность рекламной кампании для клиента и агентства. Gaming-кейс Adsbalance

Дизайн мобильных приложений *Аналитика мобильных приложений *Продвижение игр *
Из песочницы

Как можно перевыполнить KPI и, тем не менее, уйти в минус, а затем поменять схему работы и выйти в плюс для обеих сторон? Рассказываем на примере сотрудничества агентства Adsbalance с разработчиком игр Goat Games.

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

Неклассические контейнеры в C++

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

Контейнер - это объект, используемый для хранения других объектов. Контейнер берет на себя управление всей памятью, которые эти объекты занимают.

В стандартную библиотеку C++ входит несколько контейнеров. Кроме этого, в Open Source есть несколько контейнеров, которые покрывают больше юзкейсов. Я опишу устройство интересных контейнеров вне STL и их отличия от классических контейнеров.

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

Кластер Postgres для 1С. Повествование об интеллектуальных скитаниях инженера со счастливым концом

PostgreSQL * *
Tutorial

Как и у многих, в нашей компании возник вопрос импортозамещения. В целом вопрос понятный, много раз обсужденный со всех точек зрения. И вот настал счастливый момент, когда слова трансформировались в конкретные задачи с конкретными сроками. И одна из них была о замене СУБД для 1С.

Ну и конечно же, первым делом был поднят вопрос о кластеризации этой истории. Никто подвоха особого не ожидал, ибо у нас есть уже зарекомендовавшее себя решение в виде связки pg_auto_failover версии 1.6 от Citus (далее PGAF для краткости) и keepalived. Это решение нас целиком и полностью устраивает, поэтому выбор наш был очевиден.

Но когда мы начали настраивать выяснился очень неприятный момент - обычная сборка PGAF просто не работает с версией СУБД от PostgresPro - все ломается из-за жестко прописанных зависимостей. Тут то и началось "веселье".

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

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

10 советов от Unity по геймдизайну для начинающего разработчика игр

Блог компании Timeweb Cloud Разработка игр *Unity *Дизайн игр *Продвижение игр *
Перевод


Если бы меня попросили уместить все советы от Unity из перевода ниже в 30 секунд, то я бы сказала что-то вроде:

Заботьтесь о своих игроках, думайте о том, как создавать для них максимум фана, но при этом поддерживать интерес и сохранять баланс игры. Сделайте игру максимально понятной и интуитивной для игроков, пусть управление будет комфортным. Если вы хотите, чтобы в вашу игру играли, вам придется заниматься ее продвижением и менеджерить разработку (даже всё делает один человек и это вы сами). Под катом ссылки на полезные материалы и видео-туториалы с подсказками как именно этого добиться.

Кстати, Unity недавно выложили бесплатный гайд на 200 страниц по 2D артам, анимации и освещению для гейм художников.

Еще я веду канал в Telegram GameDEVils и блог на Substack , делюсь там клевыми материалами (про геймдизайн, разработку и историю игр).
Читать дальше →
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 815
Комментарии 0

Сколько зарабатывают выпускники МГТУ им.Н.Э. Баумана. Опрос конца 2021 года

Исследования и прогнозы в IT Статистика в IT Инфографика
Из песочницы

Во второй половине 2021 года был проведён опрос среди выпускников МГТУ имени Н.Э.Баумана. Так как сбор ответов растянулся по времени, опрошенных в начале 2022 года просил указать данные на декабрь 2021 года. Было разослано около 6000 сообщений через соцсеть VK (которая ограничивает количество сообщений людям, находящимся не в друзьях, двадцатью в 12 часов). После очистки от откровенно шуточных ответов осталось 2373 анкеты, которые использовались в дальнейшем анализе.

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

PHP Дайджест № 222/3 (26 марта – 25 апреля 2022)

Разработка веб-сайтов *PHP *Symfony *Yii *Laravel *

Дисклеймер: Нет, это не дайджест авторства Романа Пронского. К сожалению, у меня нет достоверной информации - будет ли выходить его дайджест далее.

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

Если Роман сможет и захочет далее продолжать свой дайджест - он сам решит, как использовать мой текст: взять в свой проект, как его часть или нет. На всякий случай я ставлю нумерацию дайджеста через дробь. Однако не претендуя при этом на продолжение оригинального проекта.

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

Нецелевое использование утверждающих функций в TypeScript

Блог компании RUVDS.com JavaScript *Программирование *TypeScript *
Перевод
Tutorial

Это ужасный (но очень полезный) хак, который я придумал для добавления типов в старый код. Вчера мой коллега, работающий над добавлением типов в одну из наших основных библиотек на LinkedIn, спросил меня, как быть со старым (и уже не рекомендуемым) паттерном. В качестве одного из вариантов решения мы попробовали применить утверждающую функцию. вразрез с её предназначением. В конечном итоге нам не удалось добиться конкретно желаемого 1, но мне этот паттерн показался достаточно интересным, чтобы им поделиться.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 1.1K
Комментарии 0

Как правильно имитировать Agile?

Управление проектами *Agile *

Подобная статья должна была появиться раньше, лет десять или пятнадцать назад, когда Agile только начинал внедряться в ИТ-компаниях. Сколько можно бы было избежать ошибок, проблем, конфликтов, , если бы менеджеры сразу подходили к вопросу правильно, не отвлекаясь на лишние действия …

Зато за это время накопился опыт "внедрений" Agile в разных условиях, в разных компаниях, который следует обобщить и повсеместно распространять.

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

Путь в IT. Или как я стал техдиром в 28 лет

Разработка игр *Unity *Карьера в IT-индустрии AR и VR

Всем привет, меня зовут Дядиченко Григорий и чем я только не занимался. Сегодня хочется рассказать о своём пути в айти. Но цель статьи даже не в том, чтобы "рассказать историю". Я скорее хочу рассказать некоторые мысли о том, как лучше развивать свою карьеру в IT и некоторые советы, чтобы расти быстрее, чем средний специалист.

Читать далее
Всего голосов 21: ↑12 и ↓9 +3
Просмотры 4.4K
Комментарии 11

Отношения с IT. Часть десятая. Себестоимость и анализ фактических данных

Управление проектами *Статистика в IT IT-компании

Все персонажи и события являются вымышленными. Любое совпадение с реально живущими или когда-либо жившими людьми случайно.

  

- У нас нет пока понимания о том, сколько нам стоит каждый проект и разработка новых фичей. Часть проектов, по словам директора по денюжкам в разрезе 2 лет – убыточные, - бесстрастно объясняет СЕО.

- Это как?

- Мы инвестируем деньги в разработку стратегических продуктов и проекты. В этом смысле, мы – уникальная компания.

- Это я уже поняла, а что по себестоимости?

- С этим вопросом иди к директору по денежкам. - говорит сюзерен и машет рукой на дверь.

Аудиенция закончена.

Вопрос с оценкой себестоимости и оценкой трудозатрат для интеллектуальных продуктов является сложным (хотя, возможно только в России и только в некоторых компаниях?). Как следует рассчитывать доработки it-продуктов или работу с багами? Вернее так, этот вопрос сложный, если о нем не подумали с самого начала и разработка существует в вакууме, а не в рамках единого производственного комплекса компании.

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

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

Инфографика: Влияние «военных операций» на релокацию и доступность веб-ресурсов

IT-инфраструктура *Веб-аналитика *Визуализация данных Инфографика Хостинг
The Impact of War in Ukraine on Relocation and Availability of Web Resources

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


Всё что я хотел рассказать находится на инфографике, ниже скорее просто дополнительные комментарии о том из чего сложились данные, о методе исследования, погрешностях и некоторых выводах.


Подробнее...
Всего голосов 7: ↑4 и ↓3 +1
Просмотры 2.1K
Комментарии 4

Дайджест недели (мобильная разработка) – #1

Разработка под iOS *Разработка мобильных приложений *Разработка под Android *Kotlin *Flutter *
Из песочницы

Привет, Хабр! Каждую неделю, в своем телеграм-канале Mobile Native, я публикую дайджест с интересными и полезными материалами (новости, статьи, инструменты, библиотеки и т.д.) для мобильных разработчиков. Решил попробовать публиковать эту рубрику и на Хабре. Посмотрим, что из этого получится.

Android 🤖

• Dependency Inversion Principle: How Google Developers write code
• Как мы используем фича-флаги в мобильном приложении QIWI Кошелек
• Google запускает бесплатный курс Android Basics with Compose
• Опубликована программа Google I/O
• The first developer preview of Privacy Sandbox on Android
• Google Play запретил разработчикам загружать и обновлять платные приложения в России
• Learn Dagger 2 to Hilt for Android Easily in under 10 Minutes
• Jetpack Compose Dropdown
• S.O.L.I.D Principles (Examples in Kotlin)
• Kotlin-inline, crossline, noinline function and reified: Everything you need to know(Android) — Part 1
• 7 things to keep in mind while building jetpack composable’s.
• Architecture MAD Skills series wrap up
• Топ вопросов работодателю от Android-разработчика
• Isolate Koin Within an Android Module
• Kotlin, обрабатываем исключения в корутинах правильно
• The curious case of crashing Workers
• Material Components Android 1.6.0 Released
• Конвергенция в многомодульном приложении
• Passive Views: keep your UI code simple and stupid
• CI-CD: Firebase App Distribution with Fastlane on Android
• Creating reliable tests for Android notifications

iOS 🍏

• I replaced my native iOS app with a cross platform web app and no-one noticed
• Measuring app performance in Swift
• Types of memory in swift
• Improve Performance in Your iOS Applications — Part 1
• Swift 5.7: Unwrapping Optionals Gets an Improvement
• Clarifying criteria & new timing extension for App Store Improvements process
• Тест-ревью: как прошли два года написания unit-тестов
• Is It Possible to Have a Half-modal View in SwiftUI?
• Swift visitor design pattern
• Two Ways to Unit Test Notification Center in Swift
• Send Events from SwiftUI to UIKit and Vice Versa
• AsyncThrowingStream and AsyncStream explained with code examples
• AttributedString’s Codable format and what it has to do with Unicode
• SwiftUI Supporting External Screens
• Flow Navigation With SwiftUI (Revisited)
• Делаем патч для Pods библиотеки
• Как нативно визуализировать голос в iOS
• 6 Tips to improve Coding of Swift

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

Оптимизация высоконагруженных конфигураций: от “всё пропало, мы все умрем” до комфортной работы без страха за жизнь

Высокая производительность *SQL *Проектирование и рефакторинг *Серверная оптимизация * *

Оптимизация высоконагруженных конфигураций: от “всё пропало, мы все умрем” до комфортной работы без страха за жизнь

Оптимизация высоконагруженных конфигураций
Всего голосов 5: ↑0 и ↓5 -5
Просмотры 921
Комментарии 4

NNHelper – пакет на языке Go для создания и использования нейронной сети

Go *Машинное обучение *

Данная статья описывает работу пакета nnhelper, предназначенного для создания и использования нейронных сетей в программах на языке Go.

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

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

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

Как рисовать с помощью SQL?

Занимательные задачки MySQL *SQL *
Из песочницы

Видимо я сделала какое-то очень плохое зло, поэтому живу во время перемен. Справиться с эмоциями и повысить конкурентоспособность на рынке Data Enigneer’ов мне помогает сайт Hackerrank. На пути к решению вообще всех задач по SQL с этого сайта мне попалась задачка на нетривиальные запросы.

В задачке требовалось звёздочками нарисовать прямоугольный треугольник...

Порисуем с помощью SQL
Всего голосов 50: ↑47 и ↓3 +44
Просмотры 12K
Комментарии 16

Безопасность Web Apps в Telegram ботах

Ajax *Информационная безопасность *JavaScript *
Из песочницы

16 апреля 2022 Telegram презентовал новую фичу - Web apps, с помощью которой можно открывать веб страницы в боте без перехода в браузер. Подробнее можно почитать в источнике https://core.telegram.org/bots/webapps.

Однозначно это удобная функция для пользователей и для разработчиков. Но, так как это веб приложение, можно просмотреть что под капотом. Telegram привел в качестве примера бота @DurgerKingBot, его и разберем.

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

Не верьте улыбкам южноазиатов

Управление проектами *Управление персоналом *Читальный зал История IT

Почти полвека я занимался Программированием и ИТ-проектами в разных странах мира. Совместная работа сплачивает ... или отдаляет людей друг от друга. Вот и я за эти годы обрёл множество знакомых и даже приятелей самых разных национальностей. (А также с некоторым, существенно меньшим числом людей мои отношения после проекта остались недружественными).

Коренные представители стран Южной Азии (японцы, корейцы, китайцы, вьетнамцы) отличаются от европейцев, американцев и индусов не только произношением, но и особым менталитетом.

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

:::

В большой немецкой фирме готовились к показу своих достижений на международной выставке CEBIT. Эта выставка в городе Ганновере просуществовала с 1996 по 2018 годы и в расцвете своих лет была настоящей Меккой компьютерщиков всего мира.

Подготовка к выставке была объявлена в фирме исключительно важным делом. Поэтому подготовленные достижения перед их отправкой в Ганновер пришёл посмотреть Самый Большой Начальник - Geschaftsführer фирмы, - высокий, молодой, источающий энергию руководитель многотысячного коллектива.

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

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

Читать далее
Всего голосов 167: ↑159 и ↓8 +151
Просмотры 26K
Комментарии 70

NBomber как альтернатива JMeter для .NET разработчика

Высокая производительность *.NET *C# *Тестирование веб-сервисов *

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

В этой статье мы рассмотрим NBomber как легкую для освоения альтернативу JMeter, а также постараемся ответить на вопрос "Почему я должен проводить нагрузочное тестирование именно с NBomber ?".

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

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

Навыки важнее дохода или мое хождение по мукам

Карьера в IT-индустрии
Из песочницы

Опыт хорош, если за него не заплачено слишком дорого (Томас Фуллер)

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

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