Pull to refresh
0
0
Send message

Сети для самых маленьких

Reading time2 min
Views105K


На хабре уже была попытка пользователя zepps начать серию публикаций о настройке оборудования cisco и практической стороне сетевых технологий, но, к сожалению, на первых двух статьях дело остановилось. Это было время моего становления, как специалиста в этой области и zepps сурово обломил меня отсутсвием продолжения.
Многократно пользователи здесь публиковали отрывочные топики о теоретической составляющей, решение сложных задач, куски из википедии или xgu.ru, но более менее цельной серии с информацией, которая непонятна после чтения цисковских книг при отсутсвии практики таки не было.
Поэтому мне пришло в голову снять несколько обучающих роликов с подробным описанием, начиная с настройки VLAN на свитчах, заканчивая… пока не знаю, чем заканчивая (может, OSPF, BGP, а может и чуточку дальше). Теории будет немного, в основном практика на PacketTracer и GNS3, с перечислением более или мене часто встречающихся трудностей.
Читать дальше →
Total votes 32: ↑17 and ↓15+2
Comments17

Создание собственных драйверов под Linux

Reading time24 min
Views207K


Многие мои друзья и знакомые крутят пальцем у виска или задаются вопросом: не жмёт ли мне череп, когда узнают, что я пишу драйвера под Linux. Слово “драйвер” окутано каким-то почти мистическим смыслом, и постичь Дао его написания способны лишь избранные гуру.
К счастью это не так. Не знаю, как обстоят дела с написанием драйверов под другие операционные системы, в т.ч. и наиболее популярные, но под linux, вне зависимости от аппаратной архитектуры драйвера пишутся очень просто. Для написания драйвера необходимы базовые знания языка си, представление о работе ОС линукс (базовые), понимание того, что мы хотим получить, желание чтения документации и исходных кодов, ну и усидчивость. Всё.
Вы хотите посмотреть как написать драйвер для своего устройства? Тогда ныряйте под кат!
Читать дальше →
Total votes 323: ↑318 and ↓5+313
Comments107

Как я на спор развернул двусвязный список за O(1)

Reading time7 min
Views71K

Как-то раз я случайно увидел, как мой коллега решает джуниорскую задачку разворачивания двусвязного списка на C++. И в тот момент странным мне показалось не то, что он лид и давно перерос подобное, а само решение.

Вернее, не так.

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

  • Почему по умолчанию все решают задачу именно так?
  • Можно ли сделать лучше?
Читать дальше →
Total votes 157: ↑119 and ↓38+116
Comments125

Нетоксичное лицемерие

Reading time8 min
Views85K
Программистам сызмальства внушают важность технических навыков, забывая научить тактично общаться с окружающими. Наша конкурентная среда богата вызовами и достижениями. Это рождает комплексы равно как и высокомерие. Неудивительно, что в IT остро стоит проблема токсичности.

Я немного утомлен частотой ее появления в жизни. Трудно выразить мнение так, чтобы не вляпаться в очередную попытку выяснить, было ли грубым сказанное.
Читать дальше →
Total votes 166: ↑127 and ↓39+130
Comments727

Все полезные материалы по Wi-Fi в одном месте

Reading time7 min
Views50K

image


Никак не можете найти ту самую ссылку на цветовые профили для Wireshark? Забыли, на каком сайте видели удобную стойку для Site Survey? Какой адаптер подходит для Packet Capture на Windows? Закладка с таблицей модуляций осталась в другом браузере?


Мы тоже от этого устали.


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

Пусть всё будет в одном месте
Total votes 32: ↑32 and ↓0+32
Comments26

Чего боятся программисты?

Reading time10 min
Views58K
У программистов, как и у всех людей, есть фобии. Кто-то боится маньяков, кто-то — утки, которая следит за человеком, кто-то впадает в панику при нарушении привычного распорядка дня, кого-то начинает штырить от внезапно пропавшей связи в смартфоне.

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

Фобии — это зло, как в жизни, так и в работе. Потому что предмет страха — выдуманный, а сам страх — настоящий. И последствия страхов вполне реальные.

В этой статье — истории реальных программистов и их профессиональных фобий, которые мешали им жить и работать в свое удовольствие. Люди реальные, имена вымышленные.
Читать дальше →
Total votes 99: ↑83 and ↓16+67
Comments154

Не путайте разработку ПО и программирование

Reading time11 min
Views138K

Каждый разработчик ПО умеет программировать, но не каждый программист может разрабатывать ПО



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

Возможно, кому-то больше нравится говорить не «разработчик», а инженер-программист, ведь инженер — это звучит гордо! Или нет? К счастью, эта статья не о терминах. Если мой термин вам не нравится — подставьте свой: «автор ПО», «мастер ПО»… и даже «творец приложений»!

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

Чтобы стать разработчиком, уметь программировать недостаточно.

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

Мне нравится такая аналогия: каждый может ради собственного развлечения петь в ду́ше, но вы же не ставите треки с записями этого пения на вечеринке — вы обращаетесь к произведениям профессиональных музыкантов.

Хотите еще аналогий? Пожалуйста:

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

Главная задача этого текста — донести, что создание простых программ серьезно отличается от разработки ПО.

Переведено в Alconost
Читать дальше →
Total votes 58: ↑40 and ↓18+22
Comments107

13 сюрпризов неайтишной компании

Reading time9 min
Views93K
Отработав много лет в компаниях, занимающихся разработкой программного обеспечения на заказ, невольно начинаешь задумываться — а как всё-таки выглядит вся эта суета с другой стороны, со стороны заказчика? Грешным делом начинает казаться, что там всё просто и понятно, все люди сведущи и профессиональны, решения принимаются осмысленно и обоснованно, да и вообще, жизнь кипит, а не как в этом нашем айтишном болоте…

Пару-тройку лет назад подобные соображения подтолкнули меня попробовать поработать в компании, где источником дохода является что угодно, только не разработка софта. Удачно подвернулось предложение от бывших коллег занять должность IT-директора в одной из ведущих организаций финансовой сферы, и я приступил к кипучей деятельности, браво закатав рукава. Теперь, спустя некоторое время, с высоты, так сказать, полученного опыта, хочу поделиться сюрпризами, что ожидали меня на этом пути – конечно, те, кому уже довелось поработать в разных сферах и разных организациях, скорее всего не обнаружат тут для себя ничего ни нового, ни удивительного, однако для наивных айтишников вроде меня, видавших доселе только однотипные «бодишопы»-аутсорсеры, что-то может показаться и вправду неожиданным.
Итак, поехали
Total votes 185: ↑177 and ↓8+169
Comments251

Что делать при сбое оперативной памяти. Анамнез и методы лечения

Reading time8 min
Views100K
Оперативная память – такая деталь системы, которая реже всех выходит из строя. Но спонтанные перезагрузки системы с BSOD и без него, вылеты игр или программного обеспечения, некорректные результаты обработки заданий в тяжёлом софте – всё это и многое другое может быть симптомами проблем именно с ней. На самом деле, такие проблемы возникают довольно часто и являются в основном следствием некорректной настройки самим пользователем, хотя исключать аппаратные проблемы всё же, нельзя. В этом материале мы познакомимся с актуальными модулями памяти для настольных систем, расскажем о возможных проблемах в их работе и причинах, по которым они возникают, а также поможем с диагностикой. Отчего ещё и почему могут возникать сбои в работе памяти? Что в итоге делать или не делать? Отвечая на эти вопросы, пытать мозг новичков мы не будем – расскажем всё простым языком для максимального понимания.


Total votes 12: ↑10 and ↓2+8
Comments15

Корпоративный синдром

Reading time13 min
Views72K
— Идея с айфонами — полное говно. — начал встречу Сергей.

— Извините, Сергей, я не ослышалась? — недобро прищурившись, спросила Светлана Владимировна.

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

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

— И это говорит человек, больше всех радеющий за развитие? — с ехидной улыбкой спросила Марина, директор по качеству?

— Ты бы молчала лучше… — вздохнул Сергей.

— А ты мне рот не затыкай! — улыбка с лица Марины исчезла. — Сам предлагаешь эти айфоны, сам потом их говном называешь. Как баба капризная.

— Идея не Сергея, а моя. — твердо проговорила Светлана Владимировна. — Сергей, я жду объяснений. И выбирайте, пожалуйста, выражения, вы не с программистами разговариваете. Да и с программистами так разговаривать не стоит.
Читать дальше →
Total votes 226: ↑194 and ↓32+162
Comments254

Корпоративная шизофрения

Reading time13 min
Views160K
— Последний вопрос нашей повестки. – зашуршала бумажками Светлана Владимировна. – Оценка удовлетворенности персонала. Татьяна, вам слово.

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

Татьяна выдержала театральную паузу, оглядывая всех присутствующих менеджеров – и топ, и не топ.

— Удовлетворенность стала ниже, по сравнению с прошлым годом. – видя, что реакции нет, сконфуженно продолжила Татьяна. – С этим нужно что-то делать. Я подготовила несколько предложений. Светлана Владимировна, можно озвучить?

— Начинается… — раздался тихий шепот с дальнего конца стола.

— Что, простите? – подняла бровь директор. – Я что, с разнорабочими разговариваю? Или с руководителями, которые радеют за благо предприятия? Марина, это вы сейчас сказали?

— Нет, не я. – возмутилась Марина, директор по качеству. – Вон, умник наш. Господин ИТ-директор. Сергей, отвлекись от телефона, что ты там все время делаешь?
Читать дальше →
Total votes 231: ↑208 and ↓23+185
Comments161

Неидейный бизнес

Reading time10 min
Views10K
«Наш главный актив — люди». Эта хрень написана, наверное, на сайте каждой компании. Только почему-то этот актив используется только… Стоп, дальше не важно. Только используется.

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


При этом, почти на каждом предприятии есть некий механизм сбора этих самых идей и предложений. Примерно как это было в «Корпоративной шизофрении» и «Корпоративном синдроме». Ящик какой-нибудь, электронный или физический, снабженный формализованной процедурой приема, обработки и, конечно, утилизации предложений сотрудников.
Читать дальше →
Total votes 42: ↑27 and ↓15+12
Comments35

Поднимаем производительность SSD c колен, куда нажимать и зачем

Reading time8 min
Views140K
На самом деле, речь сегодня пойдёт не только о бывших в использовании какое-либо время накопителях, ведь проблема низкого быстродействия может затронуть даже только что принесённый из магазина SSD. Конечно, физику не обманешь – со временем все твердотельные накопители будут терять производительность. Но причиной этому может стать не только проблема именно самого SSD. Обеспечить грамотное взаимодействие комплектующих и программного обеспечения в системе – не совсем простая задача для простых пользователей, кто не хочет (или кому попросту не надо) хоть мало-мальски разобраться в теме и послушать советы грамотных в этом плане людей. Кому-то проще переустановить операционную систему или добавить в список используемых приложений какие-то сомнительные «твикеры». Но ведь вдумайтесь — к примеру, простое с нашей точки зрения удаление файла состоит из достаточно большого количества этапов, в которых завязаны сразу несколько участников. И, если хоть один из них отработал задачу некорректно, то это сказывается на производительности диска. Что это за этапы? Кем или чем они выполняются? Как обеспечить стабильную работу? Во всём этом мы сегодня и разберёмся. Просто и наглядно, чтобы понятно было всем. И тогда станет ясно, что лечение симптомов низкой производительности SSD не поможет.

Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments77

Разбираемся с UEFI и GPT: установка Windows и Kubuntu на один диск

Reading time4 min
Views611K
Помните те времена, когда BIOS был 16-битным с адресным пространством в 1 Мб, а вся информация о загрузчиках писалась в MBR? На смену уже давно пришли более гибкие технологии: UEFI (замена BIOS), и GPT (замена MBR).

Предыстория: Понадобилось мне недавно на свой домашний десктоп поставить 2 системы, чтобы разграничить окружение. Kubuntu для разработки на Ruby on Rails (ибо работаю удаленно), и Windows для всяких игрушек в свободное время. Хочу заметить, что несколько лет назад это было достаточно просто: один раздел для винды и один раздел для линукса, загрузчик записывался в MBR. Однако, технологии не стоят на месте, и оказалось, что настройка dual boot'а теперь несколько изменилась.
Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments42

Кое-что о Wi-Fi

Reading time7 min
Views304K
Недавно побывал на конференции на тему “Построение беспроводных сетей”. Не смотря на то, что довольно длительный период работаю администратором, мне не каждый день приходится разворачивать беспроводные сети. Спешу с вами поделиться некоторыми нюансами. Всех заинтересованных приглашаю под кат.

image
Читать дальше →
Total votes 176: ↑168 and ↓8+160
Comments62

Корпоративный квест

Reading time17 min
Views23K
— Вы ему не говорили?

— А что я могла сказать?! – всплеснула руками Татьяна, искренне возмущаясь. – Как будто я что-то знаю про этот ваш дурацкий квест!

— Почему дурацкий? – Сергей не менее искренно удивился.

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

— А вас это почему беспокоит?

— Я директор по персоналу, вот почему!

— Погодите… Я понял! – Сергей заулыбался, как ребенок. – У вас премия горит, так? Точно, скоро ведь конец года, KPI считать будут, а у вас одна из ключевых позиций пустует – ИТ-директор.

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

— Сергей… — начала было Татьяна.

— Ладно, будет вам ИТ-директор. – серьезно произнес Сергей. – Кандидат приличный?

— Да. – в голосе Татьяны зазвучали нотки надежды. – Вот, я резюме принесла!
Читать дальше →
Total votes 135: ↑99 and ↓36+63
Comments54

Ещё лучшая ZIP-бомба

Reading time25 min
Views130K
В статье показано, как создать нерекурсивную zip-бомбу, которая обеспечивает высокую степень сжатия путём перекрытия файлов внутри zip-контейнера. «Нерекурсивная» означает, что она не зависит от рекурсивной распаковки декомпрессорами файлов, вложенных в zip-архивы: здесь всего один раунд. Выходной размер увеличивается квадратично от входного, достигая степени сжатия более 28 миллионов (10 МБ → 281 ТБ) в пределах формата zip. Ещё большее расширение возможно с помощью 64-разрядных расширений. Конструкция использует только наиболее распространённый алгоритм сжатия DEFLATE и совместима с большинством парсеров zip.

  • zbsm.zip 42 kB → 5.5 GB
  • zblg.zip 10 MB → 281 TB
  • zbxl.zip 46 MB → 4.5 PB (Zip64, менее совместима с парсерами)

Исходный код:
git clone https://www.bamsoftware.com/git/zipbomb.git
zipbomb-20190702.zip

Данные и исходники иллюстраций:
git clone https://www.bamsoftware.com/git/zipbomb-paper.git
Читать дальше →
Total votes 176: ↑176 and ↓0+176
Comments53

Чем быстрее вы забудете ООП, тем лучше для вас и ваших программ

Reading time7 min
Views218K

Объектно-ориентированное программирование — чрезвычайно плохая идея, которая могла возникнуть только в Калифорнии.

— Эдсгер Вибе Дейкстра

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

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

Многие люди и раньше обсуждали проблемы ООП, и в конце этого поста я приведу список своих любимых статей и видео. Но прежде я хочу поделиться собственным взглядом.
Читать дальше →
Total votes 194: ↑131 and ↓63+68
Comments1280

Организация памяти

Reading time7 min
Views238K
За последнюю неделю дважды объяснял людям как организована работа с памятью в х86, с целью чтобы не объяснять в третий раз написал эту статью.

И так, чтобы понять организацию памяти от вас потребуется знания некоторых базовых понятий, таких как регистры, стек и тд. Я по ходу попробую объяснить и это на пальцах, но очень кратко потому что это не тема для этой статьи. Итак начнем.
Читать дальше →
Total votes 178: ↑145 and ↓33+112
Comments141

Программирование для не-программистов. Биография джуна

Reading time14 min
Views72K
Предисловие: это рассказ о книгах для тех, кто решил изучить программирование самостоятельно. Но поскольку читать список книг было бы скучно, то я решил дополнить его своей биографией.

Итак… Мне за сорок. По образованию лингвист, работаю в научной сфере. С программированием никогда не сталкивался, хотя формально в школе проходил уроки по информатике, которые, собственно, свелись к набору программы на Бэйсике из методички и к лицезрению загадочного ДОСа на компьютере учителя. Ох, да, ещё было очень краткое знакомство с Фокалом, но, опять же, все строго по методичке.

Читать дальше →
Total votes 112: ↑106 and ↓6+100
Comments130

Information

Rating
Does not participate
Registered
Activity