Search
Write a publication
Pull to refresh
5
0
Tolkachev Konstantin @kasperos

ИТ: администрирование, рем., диагн., и т.д. и т.п.

Send message

Do good code: 8 правил хорошего кода

Reading time9 min
Views125K
Практически всем, кто обучался программированию, известна книга Стива Макконнелла «Совершенный код». Она всегда производит впечатление, прежде всего, внушительной толщиной (около 900 страниц). К сожалению, реальность такова, что иногда впечатления этим и ограничиваются. А зря. В дальнейшей профессиональной деятельности программисты сталкиваются практически со всеми ситуациями, описанными в книге, и приходят опытным путём к тем же самым выводам. В то время как более тесное знакомство могло бы сэкономить время и силы. Мы в GeekBrains придерживаемся комплексного подхода в обучении, поэтому провели для слушателей вебинар по правилам создания хорошего кода.

В комментариях к нашему первому посту на Хабре пользователи активно обсуждали каналы восприятия информации. Мы подумали и решили, что тему «совершенного кода» стоит развить и изложить ещё и письменно — ведь базовые принципы хорошего кода едины для программистов, пишущих на любом языке.
Читать дальше →

Управление памятью: Взгляд изнутри

Reading time26 min
Views75K

Доброго времени суток!
Хочу представить вашему вниманию перевод статьи Джонатана Барлетта (Jonathan Bartlett), который является техническим директором в компании New Medio. Статья была опубликована 16 ноября 2004 года на сайте ibm.com и посвящена методам управления памятью. Хотя возраст статьи достаточно высок (по меркам IT), информация в ней является фундаментальной и описывает подходы к распределению памяти, их сильные и слабые стороны. Всё это сопровождается «самопальными» реализациями, для лучшего усвоения материала.

Аннотация от автора
Решения, компромиссы и реализации динамического распределения памяти
Получите представление о методах управления памятью, которые доступны Linux разработчикам. Данные методы не ограничиваются языком C, они также применяются и в других языках программирования. Эта статья даёт подробное описание как происходит управление памятью, на примерах ручного подхода (manually), полуавтоматического (semi-manually) с использованием подсчёта ссылок (referencing count) или пула (pooling) и автоматического при помощи сборщика мусора (garbage collection).

Читать далее...

Продление жизни аккумуляторам электроинструмента — часть 2

Reading time4 min
Views28K
Мда. С момента написания первой части прошло уже 4 года.
Время летит…


Как ни странно, мой шуруповерт Stayer все еще жив, хотя и побывал в ремонте. Также живы и 4 из 5 аккумуляторов (один пошел на элементы для восстановления остальных).
Выведенные на корпус батарей разъемы позволяли дозаряжать проблемные ячейки и поддерживать батареи в годном состоянии. Но, боже, как это нудно!
В общем, когда меня окончательно достал этот процесс, я начал усиленно копать инет в поисках чипа, годного для балансировки аккумулятора на 15 Ni-Cd элементов.
И. Сюрприз! Я такого чипа просто не нашел. Ну, вот нету и всё тут. Для литиевых еще туда-сюда (и то на меньшее количество «банок») для никеля — глухо. Или я искать не умею, или производителям просто плевать на эту нишу.

Но, нету в жизни не решаемых задач!

Диагностический разъём OBDII: можно ли его ”приручить”

Reading time6 min
Views76K
Идея не новая, но вопросов много. С одной стороны, можно снять практически любые данные, а с другой стороны, OBDII похож на лоскутное одеяло, т.к. общее количество физических интерфейсов и протоколов напугает любого. А объясняется всё тем, что к моменту появления первых версий спецификаций OBD большинство автопроизводителей уже успели разработать что-то своё. Появление стандарта хоть и навело некоторый порядок, но потребовало включения в спецификацию всех интерфейсов и протоколов, которые на тот момент существовали, ну, или почти всех.

Читать дальше →

Oracle, типичные задачи SQL. Размножение строк таблицы в зависимости от значения числа в колонке

Reading time3 min
Views44K
image

На носу зима, приближаются морозы, а это значит, что сегодня мы будем мариновать бананы. Для этого нам понадобятся следующие ингредиенты:
ID INGREDIENT MEASURE QUANTITY
1 Банан Штука 3
2 Петрушка Ветка 2
3 Вода Литр 3
4 Соль Ложка 1
5 Уксус Ложка 2
Читать дальше →

Чем защищают сайты, или Зачем нужен WAF?

Reading time9 min
Views102K


В этом году компанию Positive Technologies назвали «визионером» в рейтинге Gartner Magic Quadrant for Web Application Firewalls. Это вызвало ряд вопросов о том, за какие достижения мы туда попали и что такое WAF вообще. Вопросы вполне правомерные, ведь Gartner выпускает своё исследование WAF лишь с прошлого года (для примера: «квадранты» по SIEM стали выходить на пять лет раньше, в 2009 году). Кроме того, некоторые до сих пор путаются с терминологией, не отличая «экран для защиты веб-приложений» (WAF) от обычного «межсетевого экрана» (network firewall) или «системы предотвращения вторжений» (IPS).

В этой статье мы попробуем отделить мух от котлет — и рассказать, как идёт эволюция периметровой защиты по мере роста изощрённости атак.
Читать дальше →

Измерение электроэнергии. Часть 1. Измерение напряжения и тока

Reading time9 min
Views68K
image

Введение


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

В процессе разбора будем решать те или иные практические задачи на микроконтроллерах до достижения результата. Разумеется, большая часть данного цикла будет посвящена измерению переменного напряжения и может пригодиться всем любителям контролировать электроприборы своего умного дома.
По итогам всего цикла мы изготовим некий умный электросчетчик с выходом в интернет. Совсем отъявленные любители контролировать электроприборы своего умного дома могут оказать посильную помощь в реализации коммуникационной части на базе, например MajorDomo. Сделаем OpenSource умный дом лучше, так сказать.
В этой серии в двух частях мы разберем следующие вопросы:
  • Подключение датчиков тока и напряжения в устройствах постоянного тока, а также однофазных и трехфазных цепей переменного тока;
  • Измерение действующих значений тока и напряжения;
  • Измерение коэффициента мощности;
  • Полная, активная и реактивная мощность;
  • Потребление электроэнергии;

Подкатом вы найдете ответы на первые два вопроса данного списка. Я намеренно не затрагиваю вопросы точности измерения показателей и с данной серии лишь радуюсь полученным результатам с точностью плюс-минус лапоть. Этому вопросу я обязательно посвящу отдельную статью в третьей серии.
Читать дальше →

Интернет-омбудсмен Дмитрий Мариничев: «Если вы хотите навредить стране, то вы должны вкладываться в создание IT-специалистов»

Reading time1 min
Views50K
Дмитрий Мариничев«Я в принципе неоднократно спорил и в Министерстве Связи относительно их идеи о подготовке IT-специалистов. Я честно открыто там, и честно открыто здесь говорю: если вы хотите навредить стране, то вы должны вкладываться в создание IT-специалистов на территории Российской Федерации. Потому что большего вреда произвести невозможно» — заявил Мариничев, выступая на слушаниях «Технологическое развитие России и доступ к внешнему рынку технологий», которые проходили вчера в Общественной палате РФ.
Читать дальше →

Обзоры мониторов: на что обратить внимание

Reading time6 min
Views41K
Привет, GT! Вчера мы выбирали комплектующие для бесшумного ПК, а сегодня поговорим о такой штуке, как мониторы. Обзоры различных дисплеев появляются и здесь, и на ресурсах, которые посвящены железу на все 100%, и часто они полны непонятных картинок, графиков и сложных слов в выводах.



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

8 предназначений Intel Software Guard Extensions

Reading time5 min
Views79K

Одной из функциональных новинок, появившихся в процессорах Intel Core шестого поколения (Skylake), стала технология Intel Software Guard Extensions (Intel SGX). Легко убедиться гуглением, что информации о ней в интернете не так много. Мы решили восполнить этот пробел, тем более что под рукой у нас оказалась статья одного из разработчиков этой технологии, Мэтью Хойкстра (Matthew Hoekstra); в ней он описывает цели, которые преследует Intel SGX. Приводим ее перевод.
Читать дальше →

HackerSIM: небольшое разъяснение (комментарий)

Reading time4 min
Views49K
Эта минипубликация — развёрнутый комментарий на публикацию о HackerSIM.

Предупреждение
  • Я как профессионал, опытом разработки с сфере мобильной связи не мог не написать данный комментарий, так как сильно много технических неточностей, из-за которых несведущий пользователь получит неправильные представления о современной связи
  • Я ни коем образом не имею никакого отношения к Российскому или любому другому оператору мобильной связи и этот ответ является скорее разъяснением для читателей и выражает мою личную точку зрения
  • Сразу извиняюсь за мой язык. Мне потретрбовалось много лет чтобы понять что язык на котором я говорю и думаю, не совсем русский.

Читать дальше →

Экспертное мнение: Полупроводниковые материалы в электронике

Reading time14 min
Views12K
В мае этого года в одном из наиболее авторитетных научных журналов “Materials Science and Engineering R” (импакт-фактор 15) была опубликована обзорная статья нашего ведущего ученого профессора Александра Яковлевича Полякова и профессора Ин-Хван Ли из Чонбукского Национального университета в Корее.
Статья была посвящена влиянию дефектов на свойства нитридов III группы и обсуждению методов исследования электронной структуры этих дефектов.
Как известно, эти полупроводниковые материалы являются основой для создания огромного класса новых полупроводниковых приборов – мощных белых светодиодов для систем общего освещения, голубых инжекционных лазеров для систем записи и считывания информации, монохроматических светодиодов с длинами волн во всем видимом диапазоне спектра (полноцветные рекламные щиты, дисплеи и индикаторы), ультрафиолетовые светодиоды (современные станции очистки воды, био-сенсоры, ускоренная полимеризация), СВЧ-транзисторов для ретрансляционных станций мобильной связи и современных радиолокаторов и многих других.
Также отметим, что Нобелевская премия по физике в 2014 году была присуждена пионерам в этой области, японским учёным А. Акасаки, Х. Амано, С. Накамура за разработку голубых оптических диодов, позволивших внедрить яркие и энергосберегающие источники света, и как знак признания огромной важности данного направления. Но это только начало. Уже в скором времени в нашем быту светодиодные лампы на нитридах заменят традиционные лампы накаливания и флуоресцентные лампы.

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

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

Читать дальше →

Яйцо или курица: Google окончательно перешла под контроль Alphabet

Reading time2 min
Views18K
image
Новоиспеченный холдинг Alphabet наконец начал работать в полную силу. Теперь Google официально принадлежит холдингу. Alphabet был создан в августе 2015 года. По замыслу Сергея Брина и Ларри Пейджа, это было необходимо для реструктуризации бизнеса Google. Известие о том, что Alphabet окончательно вступил в свои права, дошло до общественности после закрытия торгов на американской бирже.

 
 
Источник: Business Insider
Читать дальше →

Сетевые системные вызовы. Часть 3

Reading time11 min
Views22K
Предыдущую часть обсуждения мы завершили на такой вот оптимистической ноте: «Подобным образом мы можем изменить поведение любого системного вызова Linux». И тут я слукавил — любого… да не любого. Исключение составляют (могут составлять) группа сетевых системных вызовов, работающих с BSD сокетами. Когда сталкиваешься с этим артефактом в первый раз — это изрядно озадачивает.
Читать дальше →

Как писать высокодоступный код

Reading time3 min
Views29K
Инженер фотосервиса Imgur Джейкоб Гринлиф (Jacob Greenleaf) опубликовал в блоге на Medium материал, в котором изложил несколько советов по созданию высокодоступного кода для отказоустойчивых систем. Мы решили взглянуть на экспертное мнение.

Читать дальше →

Пятничный формат: Как писать код, который никто не сможет сопровождать

Reading time16 min
Views95K


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

Сети для Самых Маленьких. Микровыпуск №5. FAQ по сетевым технологиям

Reading time12 min
Views109K
Пока весь мир с замиранием ждёт 11-го выпуска СДСМ, посвящённого MPLS BGP L3VPN, я решил сделать вольный перевод неплохой статьи Джереми Стреча с Packetlife.net.

Это подборка небольших FAQ для новичков.

#На каком уровне OSI работает протокол Ч?
#Какая разница между маршрутизатором и многоуровневым коммутатором?
#Какая разница между forwarding и control planes?
#Какая разница между MTU и MSS?
#Какая разница между интерфейсами VLAN и BVI?
#Как работает туннельный интерфейс?
#Что означают четыре типа адресов в NAT?
#Могу ли я использовать адрес сети и широковещательный адрес в NAT-пуле?
#Почему нам нужны IP-адреса? Разве нам не хватит MAC-адресации для всего?
#Позволяет ли QoS расширить пропускную способность?
Читать дальше →

Экономия электроэнергии на предприятии. Вариант решения

Reading time3 min
Views9.3K
Один из читателей нашей рассылки обратился к нам с вопросом: что бы мы могли посоветовать для экономии электроэнергии на складе? После рассмотрения различных вариантов мы решили предложить автоматизировать процесс управления освещения складом в ночное время, так как активность погрузчиков в это время мала, а при значительной площади склада расходы на освещения съедают много весьма нелишних, во время кризиса, денег.



Для решения нашей задачи было предложено использование наборов MP324M, силовых модулей MP146 и источники питания PW1245.
Читать дальше →

О безопасности UEFI, часть пятая

Reading time7 min
Views58K
После небольшого перерыва продолжаем разговор о безопасности UEFI. В этот раз речь пойдет о технологии SecureBoot, ее преимуществах и недостатках, об атаках на нее и защите от них.

Впервые о SecureBoot речь зашла в стандарте UEFI 2.2 в 2011 году, но окончательно все аспекты были реализованы в версии 2.3.1C в начале 2012 года. Основным разработчиком технологии была Microsoft, которая сразу же заявила, что для получения сертификата Windows 8 Ready для своей еще не выпущенной новой ОС требуется реализация и включение SecureBoot по умолчанию на всех новых ПК. Это заявление вызвало волну резкой критики со стороны сторонников свободного ПО, которая успешно докатилась и до Хабра.
Если вам интересно, чем именно закончилось противостояние MS и сообщества, как SecureBoot выглядит после почти 4 лет взросления, и какие атаки на него все еще возможны — добро пожаловать под кат.

Стоп, чуть не забыл: по доброй традиции, набор ссылок на предыдущие части, для тех, кто умудрился их пропустить.
Читать дальше →

Развертывание собственного OpenVPN

Reading time8 min
Views43K
Инструкция описывает процесс установки и настройки серверной и клиентской частей OpenVPN. Решение предназначено для подключения удаленных клиентов к сети предприятия. После подключения у клиента сохраняется собственный шлюз по-молчанию и не блокируется выход в интернет. Решение показало простоту в настройке клиентской части, было опробовано (и используется в настоящее время) на Windows-XP, Windows-7, Andriod 3.x, Archlinux, Ububnu. Есть информация об успешном подключении и iPad.


Читать дальше →

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Registered
Activity