Pull to refresh
-2
0

Пользователь

Send message

Что почитать Linux-инженеру: книги для новичков и профессионалов

Reading time4 min
Views29K

Недавно мы публиковали подборку книг для Java-разработчиков. Сегодня предлагаем ещё один список, на этот раз для инженеров Linux. Знания и опыт у представителей этой специальности практически всегда очень разносторонние. Но книги помогают повышать квалификацию даже профессионалам с солидным багажом знаний, опыта и скилов, не говоря уже о новичках. Сегодня в подборке — пять хороших книг, на которые стоит обратить внимание.

Читать далее

Как перестать отвлекаться, работая в IT

Reading time11 min
Views22K

Цель этой публикации — помочь всем ищущим стать эффективнее и улучшить собственные результаты за счет организации своего рабочего пространства.

Речь пойдёт о следующих вещах:

· Смартфоны и популярные приложения — в чем их проблема и почему они мешают фокусироваться.

· Рабочий стол и текстовый редактор — как лучше настроить, чтобы улучшить свою результативность.

· Метод помидора — что с ним не так и мой опыт его использования.

Читать далее

Как написать UI-автотесты, если не умеешь программировать?

Reading time19 min
Views23K

О чем эта статья и чем она полезна.

Всем привет! В этой статье пойдет речь о том, как написать простые UI-тесты на языке Java. Это будет интересно тем, кто давно хотел попробовать себя в автоматизации или добавить новенького в свой текущий проект.

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

Основная часть статьи будет посвящена практическому разбору теста и нюансам их написания.

Собирайте с собой друзей, хорошее настроение и поехали!

Что такое UI-тесты? Плюсы и минусы.

UI-тестирование – это тестирование пользовательского интерфейса программы/сайта/приложения и др.

Звучит легко, а чем такие автотесты полезны?

1)    Такие тесты используются, чтобы автоматизировать рутинные задачи и однотипные действия, например, проверку товаров в каталогах.

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

3)     Чтобы снять часть работы с сотрудников, если их мало на проекте, часть проверок можно перенести на автотесты.

Читать далее

Открытый проект Электронного подписания внутренних документов компании на примере кадровых

Reading time15 min
Views5.7K

По мотивам Социальный труд и открытое проектирование. Введение

предлагается организовать открытый проект «Электронное подписание внутренних документов компании». Интерес к электронной подписи большой (МЧД и т.п.), но простых решений нет.

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

В целом «Электронное подписание внутренних документов компании» можно распространить на очень широкую отраслевую специфику, например, банковскую – подписание первичных документов и бухгалтерских отчетов (балансы, книга открытых \ закрытых счетов и т.п.) по 2346-У. 

Недавно обновился Трудовой кодекс (Статьи 21.1 – 22.3 введенные ФЗ от 22.11.2021 N 377) в части электронной подписи, что резко повысило интерес к подписанию кадровых документов. Предлагается в рамках проекта научиться подписывать кадровые документы, т.к. если это получится, то остальное будет реализовать еще проще. Важно не столько услужение задачи – сколько то, что электронный документооборот хоть как-то начали регламентировать законодательно (криво, но хоть как-то).

Как вариант: у компании уже есть HR-система, но без кнопки «подписать». Проект КЭДО позволит добавить эту кнопку (включая маршруты согласования и подписания) и организовать долговременный архив с электронной подписью документов в рамках юридически значимого документооборота.

Читать далее

Создаём сложные интерфейсы и спецэффекты на базе Qt. Часть II

Reading time25 min
Views20K

Привет, Хабр! Меня зовут Михаил Полукаров, я занимаюсь разработкой desktop-версии в команде VK Teams. В первой части я рассказывал о том, как использовать маски и создавать сложные многослойные окна. Под катом этой статьи мы продолжим исследовать возможности Qt Framework, рассмотрим полупрозрачность и управление буксировкой окна, а также реализуем интересный спецэффект. В конце статьи рассмотрим, как можно применить на практике весь, изложенный в этом цикле статей, материал для создания современного демонстрационного приложения.

Читать далее

Что вам нужно знать о внешних загрузочных дисках

Reading time5 min
Views25K

Сейчас, по прошествию многих лет, начинаешь осознавать, что CD-ROM и DVD-ROM уходят в прошлое. Им на замену пришли флеш-накопители и внешние жесткие диски. Многие операционные системы уже поддерживают установку с флеш-накопителей, но, тем не менее, почти все дистрибутивы операционных систем поставляются в виде образов (файлов с расширением .iso), которые де-факто являются стандартом по распространению дистрибутивов операционных систем. Специальной программой на оптическом диске создается файловая система на основе информации из ISO файла.

Потом, когда возникнет необходимость загрузки с оптического диска, его вставляют в оптический привод, а в BIOS устанавливают загрузку с него. Так делал я на протяжении многих лет, пока у меня не появился ноутбук без DVD привода, и возник вопрос, как же установить операционную систему на такой ноутбук.

Читать далее

Добрый ментор: как я стал мамой пятерых ангелочков (часть 1)

Reading time9 min
Views4K

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

В этой статье в 2-х частях я поделюсь своим опытом наставничества, и, что самое важное, тем, как мы в KTS превращаем личный опыт наставников в систему.

Это во многом личная статья — желание делиться знаниями лежит где-то на верхушке моей персональной пирамидки потребностей. Это желание реализуется и через наставничество и через написание этой статьи. Приятного чтения!

Читать далее

Книга «Пять строк кода. Роберт Мартин рекомендует»

Reading time9 min
Views17K
imageХаброжители, как дела?
А у нас тут книга по рекомендации самого Дяди Боба.

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

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

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

Для разработчиков всех уровней. В примерах используется доступный и понятный синтаксис TypeScript, который позволяет перейти к любому языку высокого уровня.
Читать дальше →

Измерение скорости и направлении потока в трубе без физического проникновения внутрь неё

Reading time7 min
Views11K

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

Читать далее

Display scaling в Linux. Часть 1 — системные настройки

Reading time5 min
Views43K

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

Читать далее

Часть 3. Мифы on-line модификации прикладного ПО ПЛК

Reading time5 min
Views5.2K

Варианты реализации функций модификации прикладной программы без отключения контроллера (сохранения состояния выходов) и останова технологического процесса (в большинстве вариантов это не on-line модификация, как это заявляет изготовитель ПЛК):

Читать далее

Нужна помощь от хабровчан

Reading time1 min
Views4.7K

Привет. Я вам обещал рассказать историю становления китайских мобилок на РУ рынке, но увы - некоторые вещи за деньги не купишь, на авито/юле их банально практически нет. Все либо давно повыбрасывали, либо кому-то лень просто этим заморачиваться. Именно поэтому я решил дать клич всем моим читателям - авось кто откликнется и у кого есть такое? Подробнее под катом.

Читать далее

Почему массивы начинаются с нуля

Reading time7 min
Views61K
Самое очевидное объяснение: индекс — это смещение относительно начала массива. Так элементы массива легче адресовать в памяти.

Проверим это на C.

#include <stdio.h>
int main()
{
    int data[3] = {1, 2, 3};
    int i = 0;
    printf("Array address: %p\n", data);
    do {
        printf("Array[%u] = %p\n", i, (void *)(&data[i]));
        i++;
    } while(i < 3);
}

Получим результат:

Array address: 0x7ffd7c514a6c
Array[0] = 0x7ffd7c514a6c
Array[1] = 0x7ffd7c514a70
Array[2] = 0x7ffd7c514a74


Как первый (нулевой) элемент, так и сам массив находятся по одному и тому же адресу, поскольку 0-й элемент удалён на 0 элементов от начала. Эта связь между указателями и массивами в C настолько тесная, что их даже можно рассматривать вместе.

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

Порочный круг эпистемической безответственности, или «А чо такова?»

Reading time11 min
Views4.9K

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

Более «мягкая» версия этой проблемы возникает, когда люди соглашаются, что они не знают, рациональны ли их рассуждения: например, потому, что они не искали никаких фактов, опровергающих теории, которыми они пользуются, или не пытались придумать какие-либо аргументы, опровергающие их рассуждения или модели. Также, люди могут не знать, как проверить, верна их теория или нет, т. е. не владеют необходимым эпистемологическим аппаратом (хотя эти люди едва ли будут мыслить такими категориями). Затем, люди не действуют в соответствии с этим "знанием о своем незнании". Примерами этой версии проблемы эпистемической безответсвенности могут служить некритическое восприятие людьми новостей в СМИ или заявлений, сделанных политиками, и, в некоторой степени, плохие научные практики, например описанные в эссе Ричарда Фейнмана "Cargo Cult Science".

Анатолий Левенчук называет эту пробему "А чо такова?" и обсуждает этом посте, а также по ссылкам из него.

Читать далее

Как составить индивидуальный план развития

Reading time4 min
Views7.6K

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

Читать далее

Как я сделал самый быстрый в мире файловый сервер

Reading time16 min
Views22K

Задача — среди множества файлов найти на диске конкретный и отдать его по HTTP с заголовками «content-encoding», «mime-type» и «content-lenght». И сделать это как можно быстрее — на локальном хосте, чтобы не уткнуться в физические барьеры. Нас интересует скорость ради скорости.

В качестве веб-сервера будем использоваться Kestrel, .NET 7 RC 1, minimal API и F#. Финальная, оптимизированная версия есть и для C#.
Читать дальше →

Небанальные правила чистого Python. Часть 1

Reading time6 min
Views21K

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

Читать далее

Автоматизируем теплицу на Linux

Reading time5 min
Views16K

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

Меня пригласили в биотехнологический комплекс РУП "Институт овощеводства" под Минском, где выращивают салат, базилик, лук, перец, огурцы, голубику и картофель, и где реализовано несколько проектов автоматизации. Моим гидом был Александр из LedFarm.by, отвечавший за светодиодное освещение.

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

Читать далее

Книга «Python без проблем: решаем реальные задачи и пишем полезный код»

Reading time18 min
Views36K
image Привет, Хаброжители!

Компьютер способен решить практически любую задачу, если ему дать правильные инструкции. С этого и начинается программирование. Даниэль Зингаро создал книгу для начинающих, чтобы вы сразу учились решать интересные задачи, которые использовались на олимпиадах по программированию, и развивали мышление программиста.

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

Вы узнаете, как:
  • запускать программы на Python, работать со строками и использовать переменные;
  • писать программы, принимающие решения;
  • повысить эффективность кода с помощью циклов while и for;
  • использовать множества, списки и словари для организации, сортировки и поиска данных;
  • разрабатывать программы с использованием функций и методики нисходящего проектирования;
  • создавать алгоритмы поиска и использовать нотацию «О большое» для разработки более эффективного кода.

К концу книги вы не только овладеете Python, но и научитесь тому типу мышления, который необходим для решения задач. Языки программирования приходят и уходят, а подходы к решению проблем останутся с вами навсегда!
Читать дальше →

Information

Rating
Does not participate
Location
Томская обл., Россия
Registered
Activity