Pull to refresh
3
Karma
2
Rating

Программист С++ [и немного Rust]

  • Followers 1
  • Following 4
  • Posts
  • Comments

Лучшие в мире батарейки по 13 рублей

LampTest corporate blog Energy and batteries
Протестировав эти батарейки, я сильно удивился. При самой низкой цене они превзошли по ёмкости и нагрузочной способности все топовые батарейки Duracell, Energizer и Varta.

Читать дальше →
Total votes 123: ↑123 and ↓0 +123
Views 111K
Comments 132

Ультимативный гайд по созданию CI/CD в GitLab с автодеплоем в Kubernetes на голом железе всего за 514$ в год ( ͡° ͜ʖ ͡°)

ДомКлик corporate blog DevOps *Kubernetes *
Tutorial

Шел 2021 год, русские хакеры продолжают переигрывать и уничтожать загнивающий Запад, вмешиваясь в выборы, ломая фейсбуки и пентагоны. Тем временем на Хабре выходят статьи о создании неубиваемых Kubernetes-кластеров, которые, по видимому, всех нас переживут. А кто-нибудь подумал о простых пацанах (пацанессах)??? Как быть обычному программисту, который хочет свой небольшой кластер и ламповый CI/CD с автодеплоем приложения, чтобы кенты с района не засмеяли?

Всем привет, меня зовут Алексей и я алкоголик разработчик на Python/Go в Домклик. Сегодня мы будем понижать порог входа в self-hosted Kubernetes и GitLab AutoDevops.

Читать далее
Total votes 40: ↑39 and ↓1 +38
Views 9.5K
Comments 26

Начинающему сетевому программисту

C++ *Visual Studio *API *
Sandbox

Тема сетевого программирования является для разработчиков одной из важнейших в современном цифровом мире. Правда, надо признать, что большая часть сетевого программирования сосредоточена в области написания скриптов исполнения для web-серверов на языках PHP, Python и им подобных. Как следствие - по тематике взаимодействия клиент-сервер при работе с web-серверами написаны терабайты текстов в Интернете. Однако когда я решил посмотреть, что же имеется в Интернете по вопросу программирования сетевых приложений с использованием голых сокетов, то обнаружил интересную вещь: да, такие примеры конечно же есть, но подавляющее большинство написано под *nix-системы с использованием стандартных библиотек (что понятно – в области сетевого программирования Microsoft играет роль сильно отстающего и менее надежного «собрата» *nix-ов). Другими словами все эти примеры просто не будут работать под Windows. При определенных танцах с бубнами код сетевого приложения под Linux можно запустить и под Windows, однако это еще более запутает начинающего программиста, на которого и нацелены большинство статей в Интернете с примерами использования сокетов.

Ну а что же с документацией по работе с сетевыми сокетами в Windows от самой Microsoft? Парадоксальность ситуации заключается в том, что непосредственно в самой документации приведено очень беглое описание функций и их использования, а в примерах имеются ошибки и вызовы старых «запрещенных» современными компиляторами функций (к примеру, функция inet_addr() - https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-listen ) - такие функции конечно же можно вызывать, заглушив бдительность компилятора через #define-директивы, однако такой подход является полным зашкваром для любого даже начинающего программиста и категорически не рекомендуется к использованию. Более того, фрагмент кода в примере от Microsoft по ссылке выше.

Читать далее
Total votes 16: ↑15 and ↓1 +14
Views 12K
Comments 49

Прокачиваем силу — Rust и Windows API

RUVDS.com corporate blog System Programming *API *Rust *Development for Windows *


Недавно я написал статью Трясём стариной — или как вспомнить Ассемблер, если ты его учил 20 лет назад. В статье рассказывается о том, как изучать ассемблер на примере игрушки 2048. Возможно для целей самой статьи игрушка была подходящая, но конечный результат меня немного удручил. Бинарник размером в 10 килобайт, который потребляет 2 мегабайта памяти, из-за неправильно слинкованной библиотеки резал глаза.

Посему я задался вопросом, а как это можно было бы сделать правильнее? Наверняка есть намного более удачное решение. (И организовал ещё один конкурс с призами в конце статьи)

А почему бы не сделать на Rust, и правильно прикрученных библиотеках? При этом, если вы знаете, что делаете, то вы можете запросто уменьшить количество потребляемой оперативной памяти, но при этом написать визуальную игрушку с использованием Windows API.

Причём это не значит, что вы будете использовать какую-то нестандартную библиотеку. Встречайте — windows-rs, проект поддерживаемый Microsoft. Ваш билет в мир Windows, если вы пишете на Rust.
Читать дальше →
Total votes 60: ↑56 and ↓4 +52
Views 6K
Comments 31

АНБ дало советы по использованию и настройке VPN

Information Security *Legislation in IT

Агентство национальной безопасности (NSA) и Агентство по кибербезопасности и безопасности инфраструктуры США (CISA) выпустили руководство с советами и практическими решениями для усиления безопасности при работе с виртуальными частными сетями.

Читать далее
Total votes 17: ↑14 and ↓3 +11
Views 17K
Comments 37

Does the latency matter?

Конференции Олега Бунина (Онтико) corporate blog High performance *IT Infrastructure *Network technologies *Distributed systems *

Есть исследование от Google, которое говорит, что если ваш сайт открывается больше трех секунд, то вы потеряете около 40% десктопных пользователей и более 50% — мобильных. Еще есть репорт от Amazon, который говорит, что для Amazon каждые 100 мс дополнительного latency стоит им 1% продаж. В объемах Amazon это миллионы долларов.

В зависимости от вашего бизнеса вам стоит тоже ответить на вопрос: Does the latency matter?

Я работаю как системный инженер уже более 8 лет. Хочу поделиться опытом, который получил в процессе решения задач в компании Big Data Technologies. У нас есть какой-никакой highload. В пике это 30 тысяч rps, и вопрос с latency довольно остро стоит перед бизнесом.

Читать далее
Total votes 46: ↑45 and ↓1 +44
Views 5.9K
Comments 3

IT-эксперты: Роскомнадзор тестировал массовую блокировку публичных DNS-сервисов Google и Cloudflare

Network technologies *Legislation in IT IT-companies


По информации IT-эксперта Артем Ионова и автора телеграм-канала "ЗаТелеком", вчера вечером с 21 часа до 22 часов по московскому времени Роскомнадзор с помощью оборудования ТСПУ (технических средств противодействия угрозам) на площадках некоторых крупных провайдеров РФ в тестовых целях заблокировал публичные DNS-сервисы Google и Cloudflare. Ведомство без предупреждения и в рабочих сетях под нагрузкой на час закрыло доступ к зарубежным общедоступным бесплатным публичным DNS серверам, включая 1.1.1.1 и 8.8.8.8. Сервисы Яндекс.DNS под тестовую блокировку не попали.
Читать дальше →
Total votes 30: ↑29 and ↓1 +28
Views 20K
Comments 85

Мой MikroTik – моя цифровая крепость (часть 1)

RUVDS.com corporate blog Information Security *Network technologies *
В статье рассмотрены различные подходы к организации практической безопасности сетей, построенных на оборудовании MikroTik, в том числе при помощи дополнительного открытого программного обеспечения, расширяющего имеющиеся штатные возможности, что в комплексе позволяет качественно администрировать сетевые средства, а также своевременно реагировать на различные угрозы информационной безопасности.
Читать дальше →
Total votes 91: ↑88 and ↓3 +85
Views 49K
Comments 101

7 ложных предположений о том, как устроены строки

Typeable corporate blog Information Security *Programming *
Translation

Как Unicode уничтожает большинство ваших предположений о том, как на самом деле работают строки



Когда речь идет о написании чего-то простого, мы, программисты, обычно действуем интуитивно. В случае с простыми вещами мы полагаемся на четкий набор предположений вместо конкретных знаний о том, как эти вещи работают. Например, мы предполагаем, что если b = a + 1, то b больше a, или что если мы применим функцию malloc для какого-то буфера, то получим необходимое количество памяти для записи. Мы не заглядываем в документацию всякий раз, когда имеем дело с мелочами.


Мы делаем так, потому что тотальная проверка замедлит работу. Однако если бы мы все-таки провели проверку, мы бы обнаружили, что обычно ошибаемся в своих предположениях. Существует арифметическое переполнение, в результате которого a + 1 может быть значительно меньше, чем a. Иногда malloc дает нам null вместо буфера и мы оказываемся в пролете.


Нам обычно приходится обжечься на таких вещах, чтобы хотя бы немного изменить свои предположения. И даже тогда мы обычно исправляем их весьма условно.
Столкнувшись с досадной ошибкой переполнения, мы можем скорректировать свое предположение о целых числах в виде «a + 1 больше a, если отсутствует вероятность, при которой a представляет собой очень большое число». И мы действуем исходя из этого, вместо того, чтобы обдумать четкие правила, по которым работает переполнение.


Уточненные предположения – это опыт. Чаще всего они позволяют нам работать быстрее и правильнее. Однако мы можем вообще переместить некоторые вещи, например, правильную обработку malloc, из нашей внутренней категории «простые вещи» во внутреннюю категорию «сложные вещи». И тогда мы действительно можем пойти и уточнить, как они работают.

Читать дальше →
Total votes 89: ↑87 and ↓2 +85
Views 21K
Comments 40

Проброс видеокарты в ноутбуке. Laptop GPU Passthrough

Configuring Linux *System administration *Virtualization *Video cards Laptops
Tutorial


… или как из игрового ноутбука средствами виртуализации сохранить игровую систему!
Если Вы рассматриваете ноутбук/ПК не только как игровую станцию, а еще и как хост для виртуальных машин, но при этом иногда нужно поиграть/поработать с 3d, то это возможно!

Добро пожаловать под cut.
Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Views 10K
Comments 18

Слегка ржавое EFI-приложение

RUVDS.com corporate blog System Programming *Rust *UEFI *
Translation
После двух твитов, оставленных на прошлой неделе, про мои игры с UEFI и Rust, несколько человек попросили опубликовать заметку, объясняющую как создать UEFI-приложение, полностью написанное на Расте и продемонстрировать тестовое окружение.

Так что сегодняшняя цель — это создание UEFI-приложения на Расте, которое распечатывает карту памяти, отфильтрованную по доступности для использования (такая память называется традиционной памятью в описании UEFI-спецификаций):

Читать дальше →
Total votes 56: ↑55 and ↓1 +54
Views 7.3K
Comments 3

Обзор рисков телеком-отрасли

Trend Micro corporate blog Information Security *Research and forecasts in IT

Хотя телекоммуникационную отрасль принято относить к ИТ-направлению, в ней использует множество самостоятельных технологий, которые сложно обозначить как ИТ в чистом виде. Такая неоднозначность вызывает разные подходы к оценке рисков. Например, Ernst & Young, оценивая риски телекома, год за годом указывает на неэффективную стратегию цифрового роста и диверсификации и на другие угрозы, характерные для всех интенсивно развивающихся отраслей бизнеса. В отчёте Trend Micro Islands of Telecom: Risks in IT всё внимание сосредоточено на технических рисках телекома, некоторые из которых мы разберём в этом посте.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Views 1.3K
Comments 1

Работа с файлами — это сложно

Information Security *Programming *Computer hardware
Translation

Я уже много лет не пользовался десктопным клиентом электронной почты. Ни один из них не может справиться с объёмом получаемой мной почты, по крайней мере один раз не повредив мой почтовый ящик. Pine, Eudora, Outlook — все они повреждали мой почтовый ящик, вынуждая восстанавливаться из резервной копии. Как получилось, что десктопные почтовые клиенты менее надёжны, чем Gmail, хотя мой аккаунт в Gmail не только обрабатывает больше писем, чем у меня когда-либо было в десктопных клиентах, но и обеспечивает одновременный доступ из множества точек мира? Распределённые системы имеют нечестное преимущество — они, в отличие от десктопных клиентов, устойчивы к полному отказу диска, однако ни одна из моих проблем повреждения файлов не была связана с полным отказом диска. Почему же мой опыт работы с десктопными приложениями был настолько плохим?
Читать дальше →
Total votes 43: ↑40 and ↓3 +37
Views 13K
Comments 18

Новый золотой век для компьютерной архитектуры

Open source *Manufacture and development of electronics *Computer hardware CPU
Translation
Авторы — Джон Хеннесси и Дэвид Паттерсон, лауреаты премии Тьюринга 2017 года «за новаторский систематический и измеримый подход к проектированию и проверке компьютерных архитектур, оказавший долговременное влияние всю отрасль микропроцессорной техники». Статья опубликована в журнале Communications of the ACM, февраль 2019, том 62, № 2, стр. 48-60, doi:10.1145/3282307

«Те, кто не помнит прошлого, обречены повторить его» — Джордж Сантаяна, 1905

Свою лекцию Тьюринга 4 июня 2018 года мы начали с обзора компьютерной архитектуры, начиная с 60-х годов. Кроме него, мы освещаем актуальные проблемы и пытаемся определить будущие возможности, которые сулят новый золотой век в области компьютерной архитектуры в следующем десятилетии. Такой же, как в 1980-е, когда мы проводили свои исследования по улучшению в стоимости, энергоэффективности, безопасности и производительности процессоров, за что и получили эту почётную награду.

Ключевые идеи


  • Прогресс программного обеспечения может стимулировать архитектурные инновации
  • Повышение уровня программно-аппаратных интерфейсов создаёт возможности для инноваций архитектуры
  • Рынок в конечном итоге определяет победителя в споре архитектур
Читать дальше →
Total votes 55: ↑55 and ↓0 +55
Views 33K
Comments 89

Как основать школу программирования в 2012 году и чуть не потерять всё из-за бума в Edtech

Хекслет corporate blog Programming *Studying in IT IT career

CEO «Хекслета» Кирилл Мокевнин — о том, как не надо создавать свою школу программирования, если вы хотите зарабатывать, и почему инженерная экспертиза в IT-сфере мешает реальному пониманию рынка.

Читать далее
Total votes 64: ↑62 and ↓2 +60
Views 8.2K
Comments 22

Исследование роста утилизации процессора: как мы мигрировали с CentOS 7 на Oracle Linux 7

DINS corporate blog Configuring Linux **nix *Development for Linux *DevOps *

Привет! Меня зовут Александр Петровский, я инженер в DINS. Я работаю в команде, которая участвует в разработке сервисов облачной телефонии и видеоконференций для RingCentral. Каждый из них состоит из большого количества микросервисов.

Когда мы мигрировали один из наших микросервисов с CentOS 7 с ядром 4.19 на Oracle Linux 7 с ядром 5.4, мы заметили рост утилизации процессора на наших stress/performance-тестах. В статье я расскажу, как мы исследовали причины роста утилизации процессора сначала в user-space, а потом и в kernel-space и о том, к какому результату это нас привело.

Читать далее
Total votes 129: ↑128 and ↓1 +127
Views 16K
Comments 17

Разработка 64-битного графического UEFI-приложения в Visual Studio

RUVDS.com corporate blog Abnormal programming *Visual Studio *Demoscene UEFI *
Зимой в блоге RUVDS было несколько статей о написании загрузчиков для «классического» BIOS, в т.ч. симпатичная графическая демка, целиком помещающаяся в загрузочном секторе и работающая в VGA-режиме 320×200. Комментаторы справедливо отмечали, что в наступившем 2021 г. нет смысла осваивать это лютое легаси;
а вот статей про “Hello, World” на UEFI да с графикой действительно не хватает. Больше того — я таких вообще не припомню.» (MinimumLaw)
Под катом мы пошагово перепишем ту бутсекторную демку под UEFI, и она будет работать в полноцветном видеорежиме с высоким разрешением. С другой стороны, вместо 512 байт она будет занимать несколько десятков КБ.

Total votes 80: ↑80 and ↓0 +80
Views 13K
Comments 7

Вопросы на собеседовании для программистов компьютерной графики

Gaijin Entertainment corporate blog Working with 3D-graphics *
Translation

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

Недавно я видел в твиттере довольно много дискуссий о хороших и плохих вопросах на интервью. Некоторые из этих вопросов выглядят полезными.

В основном, наиболее интересные из них выглядят открытыми. Они могут привести к весьма большим и разветвленным обсуждениям или даже не имеют «‎верного» ответа. В конце концов, вам, скорее, нужно не узнать ответ (он всё равно будет 42), а увидеть процесс решения проблемы и/или оценить общие знания и понять собеседуемого.

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

Читать далее
Total votes 18: ↑18 and ↓0 +18
Views 8.5K
Comments 35

Основы Flutter для начинающих (Часть IX)

Development for Android *Dart *Mobile applications testing *Flutter *

Flutter позволяет вам писать простые и понятные тесты для разных частей приложения.

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

Также мы попробуем использовать библиотеку Mockito, которая позволяет создавать фейковые реализации.

Ну что ж, приступаем к тестированию!

Read more
Total votes 2: ↑0 and ↓2 -2
Views 4.1K
Comments 0

Как защититься от синдрома запястного канала? 

Маклауд corporate blog Reading room Lifehacks for geeks Health


Наряду с компьютерным зрительным синдромом, о котором мы уже рассказывали ранее, среди IT-специалистов распространен и другой весьма серьезный недуг — синдром запястного канала. В чем проявляется данное заболевание и можно ли предотвратить его развитие? Давайте разбираться. 

Причины и симптоматика синдрома запястного канала


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

Человеческий организм имеет огромное количество подобных мест: на одной лишь руке могут развиться 8 разных туннельных синдромов. Поэтому с медицинской точки зрения называть синдром запястного канала, о котором пойдет речь в сегодняшней статье, просто туннельным синдромом, без уточнения локализации патологического процесса, некорректно. Хотя справедливости ради стоит сказать, что именно карпальный туннельный синдром (так называют синдром запястного канала неврологи) является самой распространенной формой компрессионно-ишемической невропатии из всех существующих: его общая доля в популяции составляет около 5%, а ежегодный прирост заболеваемости достигает 3 случаев на каждую тысячу населения.
Читать дальше →
Total votes 85: ↑83 and ↓2 +81
Views 31K
Comments 65

Information

Rating
934-th
Registered
Activity