Pull to refresh
0
0
Олег Серебряков @Bandicoot

User

Send message

REST API на котиках

Level of difficultyEasy
Reading time7 min
Views9.7K

Привет любителям котиков! Меня зовут Юля, я backend‑разработчик компании CDEK. Я сама не так давно изучала все эти сложные понятия в программировании, поэтому решила помочь и вам разобраться с одним из них.

С какой стороны IT вы бы не пытались войти — в какой‑то момент столкнётесь с понятием REST API. Эта статья создана, чтобы смягчить данное столкновение. Новые темы всегда легче воспринимаются на простых примерах, ну а если это примеры с котиками, то варианта не разобраться просто нет. Хочется обойтись без сложных научных определений, а рассказать самым простым языком. Поэтому, если вы любите сухие и точные формулировки, то вам нужна другая статья :)

Читать далее
Total votes 56: ↑56 and ↓0+56
Comments18

Пять вредных советов, как гарантированно НЕ написать книгу

Level of difficultyEasy
Reading time7 min
Views3.1K

Привет, Хабр! Меня зовут Иван Чаплыгин и я – руководитель отдела переводов в компании КРОК. Пару лет назад я написал книгу «Думай о смысле. Будни переводчика IT-текстов», которая вышла в издательстве «МИФ». 

Пробежав писательский марафон и набив пару-тройку шишек, решил поделиться опытом, как говорится, от противного. То есть вредными советами. Хотите узнать, какие мысли и действия гарантированно помогут вам ничего не написать, бросить все на полуслове и на всю жизнь пропитаться вселенским страхом перед чистым листом бумаги? Если да, добро пожаловать под кат.

Читать далее
Total votes 31: ↑31.5 and ↓-0.5+32
Comments7

Как передать информацию в ICMP-пакетах и не привлечь внимания санитаров

Reading time8 min
Views17K

Источник: polymerh.

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

Если вам кажется, что тема передачи данных в ICMP уже исчерпана и я не смогу вас удивить, то предлагаю извлечь данные из дампа сетевого трафика до прочтения статьи. То, что будет дальше, может ввести в недоумение.
Читать дальше →
Total votes 83: ↑94.5 and ↓-11.5+106
Comments21

Страх и ненависть в собеседованиях: от позорного провала до 24-кратного роста ЗП

Level of difficultyEasy
Reading time7 min
Views47K

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

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

Пройти 15 этапов собеседований
Total votes 57: ↑55 and ↓2+53
Comments113

Эволюция обработки данных: от MapReduce к стриминговому движку

Reading time7 min
Views3.6K

Yandex Query Language (YQL) — универсальный декларативный язык запросов к системам хранения и обработки данных, разработанный в Яндексе. А ещё это один из самых нагруженных сервисов: YQL ежедневно обрабатывает около 800 петабайт данных и 600 000 SQL-запросов, и эти показатели постоянно растут. 

Изначально YQL основывался на операциях MapReduce, которые эффективны для больших данных. Но для средних объёмов данных (до 50 Гб, которые составляют около 60% запросов) этот подход оказался неоптимальным, потому что нужно было обмениваться данными между операциями через диск. Поэтому разработчики создали новый более гибкий стриминговый движок, который значительно ускоряет обработку данных за счёт выполнения всех вычислений в памяти.

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

Читать далее
Total votes 26: ↑30.5 and ↓-4.5+35
Comments15

Я программист, и я тупой

Reading time2 min
Views55K
Я пишу код за деньги уже пятнадцать лет. Пробовал себя и в других ролях – управление продуктом, аналитика, тестирование, – но как-то не пошло. И с течением лет пришел к осознанию, что я не очень умный. К сожалению.

Никаких особых медицинских диагнозов мне не ставили, но мои умственные способности крайне ограниченны. Даже те задачи на Leetcode, которые попроще, вызывают у меня затруднения. Когда я читаю о самом обычном алгоритме консенсуса, у меня кипит мозг. У меня плохо получается отслеживать сложные зависимости в кодовой базе. Я не способен освоить модные языки вроде Rust (пытался, но по правде сказать, для меня это чересчур). Я терпеть не могу микросервисы и современный фронтенд: там слишком много движущихся частей, и уследить за всеми я не в состоянии.

Как же я выхожу из положения?
Читать дальше →
Total votes 256: ↑266 and ↓-10+276
Comments306

Пошаговая шпаргалка по защите сервера от хакеров и другой нечисти

Level of difficultyEasy
Reading time7 min
Views17K

Когда сервер создается для личных нужд, то чаще всего внимания безопасности почти не уделяется. А ведь это фатальная ошибка…

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

Привет! На связи Йети — самый йетический автор Vscale. Это моя первая статья на Хабре. В ней я расскажу, как защитить сервер от хактевистов и другой нечисти. Подробности под катом! :)
Читать дальше →
Total votes 50: ↑52.5 and ↓-2.5+55
Comments22

Неожиданные последствия запуска PostgreSQL в Docker: замедление запросов в 100 раз

Level of difficultyMedium
Reading time4 min
Views32K

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

Читать далее
Total votes 81: ↑81 and ↓0+81
Comments48

Docker — не то, чем кажется

Level of difficultyEasy
Reading time6 min
Views31K

Привет, Хабр! Меня зовут Матвей Мочалов, я — компьютерный инженер и один из авторов корпоративного блога cdnnow! Мы с вами познакомились в этом посте про историю DRM для видеоконтента. Сегодня я хочу поговорить с вами про Docker, а точнее про то, о чём многие забывают: различиях в нём для разных систем. Нам, как CDN-провайдеру Docker, все его 50 оттенков близки и знакомы. И, к счастью, наше взаимодействие с ним происходит из-под Linux, но, увы, не всем так везёт.

Как это часто бывает, с мультиплатформенностью и прочими «красивыми» словами в IT, всё не так однозначно. У всего своя цена, и под капотом один и тот же инструмент на разных системах, по сути своей может представлять из себя несколько разных вещей с различными принципами работы и производительностью. А обещания революции скрывают за собой эволюцию, либо вовсе регресс и топтание на месте.

Читать далее
Total votes 59: ↑60 and ↓-1+61
Comments85

Неразрешимые проблемы программирования

Level of difficultyEasy
Reading time8 min
Views12K

Неразрешимые задачи в программировании определены очень строго. Фактически, для каждой такой задачи существует доказательство, что её нельзя решить на машине Тьюринга.

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

Читать далее
Total votes 35: ↑36 and ↓-1+37
Comments28

Анатомия Hello World на языке C

Level of difficultyMedium
Reading time15 min
Views20K

Эта статья посвящена программе Hello World, написанной на C. Это максимальный уровень, на который можно добраться с языком высокого уровня, не беспокоясь при этом о том, что конкретно язык делает в интерпретаторе/компиляторе/JIT перед выполнением программы.

Изначально я хотел написать статью так, чтобы она была понятна любому, умеющему кодить, но теперь думаю, что читателю полезно иметь хотя бы некоторые знания по C или ассемблеру.
Читать дальше →
Total votes 105: ↑120 and ↓-15+135
Comments47

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

Level of difficultyMedium
Reading time4 min
Views7K

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

Читать дальше →
Total votes 22: ↑23 and ↓-1+24
Comments30

Термоэлектрические генераторы

Level of difficultyMedium
Reading time11 min
Views9.5K
Картинка WangXiNa, Freepik

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

Тем не менее, существует отдельный вид генераторов, которые не содержат в своём составе движущихся механических частей — так называемые «термоэлектрические генераторы».
Читать дальше →
Total votes 34: ↑38 and ↓-4+42
Comments35

Безопасность памяти меня не волнует

Level of difficultyMedium
Reading time6 min
Views8.2K
Фото с сайта платформы CHERIoT, проекта Microsoft по решению проблем с доступом к памяти IoT-устройств на аппаратном уровне

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

То же касается и безопасности памяти. Для меня тот факт, что 70% уязвимостей возникают в результате её отсутствия, не говорит о важности этого аспекта. Важность безопасности памяти в том, что один связанный с ней баг может полностью подорвать все гарантии, на которые я опираюсь.
Читать дальше →
Total votes 27: ↑30.5 and ↓-3.5+34
Comments7

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

Level of difficultyEasy
Reading time7 min
Views52K

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

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

Добро пожаловать под кат
Total votes 59: ↑64.5 and ↓-5.5+70
Comments128

16-битная операционная система на коленках

Level of difficultyMedium
Reading time15 min
Views16K

В мире компьютерных наук мало что может сравниться с созданием собственной операционной системы. В этой статье мы погрузимся в увлекательный мир разработки операционных систем, создав 16-битную ОС с помощью языка ассемблера NASM под архитектуру процессоров Intel x86-64. Мы рассмотрим каждый этап разработки, начиная с основ и заканчивая реализацией ключевых компонентов.

Заменит Windows?
Total votes 39: ↑45 and ↓-6+51
Comments34

Как пытались (пере)программировать мозги, и что из этого получилось? Часть 4: Нуарный коп, оргии и тюремные эксперименты

Level of difficultyEasy
Reading time10 min
Views9.3K

В прошлой части наш антигерой Сидни Готтлиб дорвался-таки до своего большого проекта MKUltra: ему дали много денег и ещё больше полномочий на то, чтобы научиться взламывать человеческое сознание с помощью психоактивных веществ, гипноза и любых иных способов без особого внимания к этике и законности. В ЦРУ были уверены, что КГБ и китайская разведка опережают их на несколько голов, давно отработали способы «промывки мозгов» и научились превращать в коммунистов даже самых твердокаменных либертарианцев. И считали, что для сокращения разрыва хороши все средства: ведь иначе можно однажды проснуться и обнаружить себя колхозником на кукурузных полях Оклахомской ССР!
Читать дальше →
Total votes 45: ↑50.5 and ↓-5.5+56
Comments8

Tcpdump на разных уровнях

Reading time4 min
Views9.8K

Утилита Tcpdump знакома любому сетевому администратору, с ее помощью мы собираем трафик для последующего анализа. Типичная история – собираем траффик, приходящий на нужный интерфейс и затем уже анализируем его Wireshark. Подход практичный, ведь Wireshark Действительно очень мощный и полезный инструмент и о нем мы напишем еще не одну статью, но сегодня речь пойдет про Tcpdump. Не секрет, что утилита Tcpdump не интерпретирует протоколы прикладного уровня, ограничиваясь работой с транспортным уровнем. Однако, в этой статье мы рассмотрим различные варианты использования утилиты Tcpdump для более глубокой фильтрации трафика.

Итак, Tcpdump - утилита UNIX, позволяющая перехватывать и анализировать сетевой трафик, проходящий или приходящий через компьютер, на котором запущена данная программа.

Читать далее
Total votes 21: ↑19 and ↓2+17
Comments4

Увольнение без компенсаций: как этого избежать и что вам положено по закону

Reading time9 min
Views17K

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

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

Происходит так вот почему.

Читать далее
Total votes 38: ↑36.5 and ↓1.5+35
Comments11

Числа и байты: как работает память в Linux?

Level of difficultyHard
Reading time27 min
Views11K
image

Часть первая: физическая память


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

Также память включает в себя оперативное запоминающее устройство (ОЗУ) или RAM, где можно записывать и считывать информацию. Существует статическая ОЗУ (SRAM) и динамическая ОЗУ (DRAM), различающиеся в том, как хранится информация. В SRAM информация сохраняется до выключения питания, в то время как в DRAM используются транзисторы и конденсаторы, что позволяет хранить данные, но требует их периодического обновления. Разные типы ОЗУ имеют свои преимущества и недостатки, и выбор зависит от конкретных потребностей.

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

Но что такое физическая память, как она работает в Linux? Что такое сегментация, утечки памяти и некие «страницы»?

Все, что вы хотели знать, но боялись спросить о памяти пингвина — читайте здесь и сейчас!
Читать дальше →
Total votes 26: ↑30 and ↓-4+34
Comments18
1
23 ...

Information

Rating
Does not participate
Location
Новочебоксарск, Чувашия, Россия
Date of birth
Registered
Activity