Это не академические атрибуты из учебников. Это скорее правила буравчика оформления сорцов из реального prod(а). Некоторые приемы совпали с MISRA, некоторые с CERT-C. А кое-что является результатом множества итераций инспекций программ и перестроек после реальных инцидентов. В общем тут представлен обогащенный концентрат полезных практик программирования на С(ях).
User
Организация IPAM и переезд с phpIPAM в NetBox: советы и подводные камни
В прошлой статье я рассказал о том, как наладить кабель-менеджмент в NetBox — популярном опенсорс-инструменте для документирования инфраструктуры. В этом посте я перейду к тому, как организовать IP-адресацию и, по заявкам читателей, затрону перенос данных в NetBox из phpIPAM. Все процессы будут проиллюстрированы скриншотами NetBox версии 3.2, до которой мы обновились в тестовой среде.
Must have книги для прокачки английского. Подборка от преподавателей
Зона комфорта — это зло. Хоть и приятное, даже очень. Но зло. Особенно, если речь идет о саморазвитии и изучении языков. Если каждый день в работе использовать довольно простые лексику и грамматику с минимальными изменениями, есть большая вероятность, что вы начнете забывать всякие там Conditionals или Future Perfect. Конечно же, нужно поддерживать язык на должном уровне и развивать его, поэтому мы попросили наших преподавателей поделиться книгами, которые им в этом помогают. Так что готовьтесь к подборке для высоких уровней и не только!
Произношение
Ship or Sheep? An Intermediate Pronunciation Course
В этом пособии вы найдете неплохой тест, который покажет ваши слабые стороны (всякие там “сри” или “фри”). Даже если ничего подобного не обнаружится, учебник стоит пройти от начала до конца, и вот почему:
10 советов, как преодолеть страх общения с носителем английского языка
Вы скажите, что уже есть всякие там разговорники и даже волшебные наушники, как рыбка из “Автостопом по галактике”, которые переводят все на лету. Это правда, но вот качество таких переводов пока все также на уровне Google Translate или Prompt пятнадцатилетней давности. В смысле, что машинный перевод пока еще не очень и его нужно фильтровать и проверять, а общаться нужно уже сейчас.
Но расстраиваться не стоит, потому что мы подготовили для вас дельные советы, как преодолеть языковой барьер.
Масштабируя TLS
Хабр, это доклад с одного из «не главных» залов Highload++ 2016. Артём ximaera Гавриченков, технический директор Qrator Labs, рассказывает про прикладное шифрование, в том числе, в высоконагруженных проектах. Видео и презентация в конце поста — спасибо Олегу Бунину.
Приветствую! Мы продолжаем находиться на сессии про HTTPS, TLS, SSL и всё такое.
То, о чём я сейчас буду говорить — не какой-то туториал. Как говорил мой преподаватель в университете по базам данных, Сергей Дмитриевич Кузнецов: «Я не буду учить вас настраивать Microsoft SQL сервер — пусть это делает Microsoft; не буду учить вас настраивать Oracle — пусть это делает Oracle; не буду учить вас настраивать MySQL — делайте это сами».
Точно так же и я не буду учить вас настраивать NGINX — это всё есть на сайте у Игоря Сысоева. Что мы обсудим, так это некий общий взгляд на проблематику и на возможности для решения проблем, которые возникают при внедрении шифрования на публичных сервисах.
Осваиваем Tarantool 1.6
Евгений Шадрин (Sberbank Digital Ventures)
Отслеживая новости последних нескольких лет, можно заметить, что новые NoSQL-решения, какие-то релизы появляются чуть ли не каждые две недели. Конечно, многие из них не выживают, проигрывают конкуренцию, пропадают, но мир NoSQL пополняется новыми решениями очень часто.
На конференции есть как люди, которые никогда в жизни не использовали NoSQL, так и люди, которые больше пяти лет используют NoSQL в своих проектах, компаниях. Некоторые даже участвуют в open-source проектах. Их немного, но такие тоже есть.
Tarantool: Хороший, Плохой, Злой
Система кажется сложной. Несмотря на российские корни, изначально даже не было документации на русском языке. Чем же может помочь этот мощный инструмент обычным парням — программистам и начинающим разработчикам? Остальные могут сразу посмотреть результат
Попробуем написать простой занимательный сервис, способный выдержать большую нагрузку. И никакого SQL!
10 подкастов для изучения/продолжения изучения английского языка
Шесть месяцев назад, я сделала для себя очень приятное открытие — подкасты на английском языке для изучающих английский язык. На тот момент у меня были проблемы с аудированием и открытие подкастов очень помогло мне развить аудирование до уровня понимания фильмов и аудиокниг без каких-либо субтитров.
Подкасты – это звуковые аудиофайлы в стиле радиопередач в интернете Как правило, подкасты имеют определенную тематику и периодичность издания. Каждый человек, у которого есть смартфон, может прослушивать подкасты. Для прослушивания подкастов у владельцев Apple есть родное приложение, называется «podcasts». Android пользователи могут использовать приложение «Podcast Addict».
Для тех, кто хочет научиться воспринимать английский на слух
Английский язык. Проблемы изучения
Я думаю ни для кого не секрет, что существующая система преподавания не нацелена на быстрое и успешное изучение английского языка. Причина этой проблемы кроется за множеством факторов: репетиторы получающие большие деньги за час “помощи” вам, частные школы “делающие деньги”, устаревшие методы преподавания в учебных заведениях, авторы сотен книг очередных революционных методик “английский за 30 мин”, “железный занавес”, при котором родились большинство преподавателей. Обсуждение этой проблемы периодически всплывает на различных конференциях, но как говорится “а воз и ныне там”. Эта статья призвана помочь наверстать упущенные годы изучения языка.
Как я потратил 1000 часов на изучение английского языка в 2016 году
Изучение иностранного языка может стать самым настоящим испытанием для взрослого человека, если он забросил этот предмет в раннем возрасте. Тяжело приходится и тем, кому языки плохо даются от природы. Если человек имеет хотя бы одну из этих проблем, он, как правило, просто не изучает новый язык. Но я был не из тех, и смог преодолеть эти две неудачи.
Учась в бакалавриате, я смог развить словарный запас до 10 000 и прорвать барьер чтения художественной литературы. Но понимание разговорной речи на слух — задача куда более трудная. Я долгое время считал её нерешаемой, не верил в успех.
Эта статья — о том, как невозможное было сделано возможным, как в самом сердце магистратуры я проломил неприступную цитадель аудирования. Это бремя выпало на 2016 год. Я перепробовал множество различных учебных методик и расскажу вам о них во всех подробностях, по каким материалам я занимался и какие выводы делал. Эта статья — огромный склад опыта, и я надеюсь, что он будет вам полезен.
Функциональное программирование для всех
Доброго времени суток. Это статья — перевод заинтересовавшего меня поста в блоге аспиранта Университета штата Нью-Йорк в Стоуни-Брук. Статья в доступной форме описывает основные концепции функционального программирования, их преимущества и недостатки. Думаю она будет полезна широкому кругу читателей, которые сомневаются, нужно ли им углубляться в мир функционального программирования или нет. Пожелания, предложения и замечания по переводу и терминологии принимаются по личной почте.
Мнение переводчика может иногда не совпадать с мнением автора, но переводить статью было крайне занимательно.
UPD: альтернативный вариант перевода вы можете найти на rsdn (спасибо flamingo за ссылку).
Построение ментальной карты для усвоения материала
В современном мире ментальные карты применяются очень широко. В данной статье хотелось бы осветить только одно направление, для которого они и предназначались изначально: усвоение и обобщение материала.
В данном материале рассказывается о 3 различных методах создания ментальных карт. Какой из них наиболее актуален, зависит от ситуации.Что скрывается за этими словами?
Четыре всадника Инфокалипсиса
Именно подобным били и будут продолжать бить по приватности и анонимности. Новые, недоступные для взлома формы шифрования, компьютерные сети с высокой степенью анонимности, криптовалюты. Чтобы протолкнуть ограничение одной из подобных технологий часто прибегают к образам наркоторговцев, финансовых спекулянтов, террористов и педофилов. Эти четыре группы — это и есть четыре всадника Инфокалипсиса.
Термин играет на сходстве с библейскими персонажами. Четыре всадника Апокалипсиса — это катастрофы и катаклизмы, предваряющие второе пришествие Иисуса Христа и Страшного суда. Четыре всадника Инфокалипсиса тоже сеют разрушения и хаос, но в глобальной Сети. Делается подобное с согласия и одобрения миллионов людей.
Впервые термин «Четыре всадника» начал употреблять Тимоти Мэй примерно в 1988 году при обсуждении слабой распространённости криптографических инструментов среди обычных людей. В 1994 году термин звучит в его «Шифрономиконе», документе криптопанков, который описывает идеи и эффекты криптоанархизма. «Шифрономикон» оформлен в формате вопросов и ответов. В документе начала девяностых обсуждаются цифровые валюты, право на частную жизнь в Сети и биржи убийств.
Учим английский дешево и эффективно
Если вы не готовы тратить на английский хотя бы 2 часа в день, то дальше можно не читать.
Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженном проекте
Аникин Денис (danikin, Mail.Ru)
Сегодня я расскажу, как сэкономить на базах данных огромные деньги, например, миллион долларов, как это сделали мы. Для начала вопрос: почему чаще используют именно базы данных, а не файлики?
Базы данных – это хранилище, более структурированное, чем файл, и обладающее рядом некоторых фич, которых у файла нет.
Там можно делать запросы, там есть транзакции, индексирование, таблицы, устойчивые, более-менее надежные хранилища. На самом деле, базы данных – это более удобно, чем файлы.
Современная операционная система: что надо знать разработчику
Александр Крижановский (NatSys Lab.)
Нас сегодня будет интересовать операционная система – ее внутренности, что там происходит… Хочется поделиться идеями, над которыми мы сейчас работаем, и отсюда небольшое вступление – я расскажу о том, из чего состоит современный Linux, как его можно потюнить?
По моему мнению, современная ОС – это плохая штука.
Дело в том, что на картинке изображены графики сайта Netmap (это штуковина, которая позволяет вам очень быстро захватывать и отправлять пакеты сетевого адаптера), т.е. эта картинка показывает, что на одном ядре с разной тактовой частотой до 3 ГГц Netmap позволяет 10 Гбит – 14 млн. пакетов в сек. отрабатывать уже на 500 МГц. Синенькая линия – это pktgen – самое быстрое, что, вообще, есть в ядре Linux’а. Это такая штуковина – генератор трафика, который берет один пакет и отправляет его в адаптер много раз, т.е. никаких копирований, никакого создания новых пакетов, т.е., вообще, ничего – только отправка одного и того же пакета в адаптер. И вот оно настолько сильно проседает по сравнению с Netmap (то, что делается в user-space показано розовой линией), и оно вообще где-то там внизу находится. Соответственно, люди, которые работают с очень быстрыми сетевыми приложениями, переезжают на Netmap, Pdpdk, PF_RING – таких технологий море сейчас.
Как думать на SQL?
Надо “SELECT * WHERE a=b FROM c
” или “SELECT WHERE a=b FROM c ON *
” ?
Если вы похожи на меня, то согласитесь: SQL — это одна из тех штук, которые на первый взгляд кажутся легкими (читается как будто по-английски!), но почему-то приходится гуглить каждый простой запрос, чтобы найти правильный синтаксис.
А потом начинаются джойны, агрегирование, подзапросы, и получается совсем белиберда. Вроде такой:
SELECT members.firstname || ' ' || members.lastname
AS "Full Name"
FROM borrowings
INNER JOIN members
ON members.memberid=borrowings.memberid
INNER JOIN books
ON books.bookid=borrowings.bookid
WHERE borrowings.bookid IN (SELECT bookid
FROM books
WHERE stock>(SELECT avg(stock)
FROM books))
GROUP BY members.firstname, members.lastname;
Буэ! Такое спугнет любого новичка, или даже разработчика среднего уровня, если он видит SQL впервые. Но не все так плохо.
Легко запомнить то, что интуитивно понятно, и с помощью этого руководства я надеюсь снизить порог входа в SQL для новичков, а уже опытным предложить по-новому взглянуть на SQL.
Компиляция и подключение динамических модулей nginx
Эта статья расскажет, как скомпилировать и установить динамические модули в nginx в текущую его установку.
7 правил написания технической документации мирового класса
Введение
Написание технического документа — трудное дело. Чтение плохо написанного технического документа является более трудным и, вероятно, более болезненным делом, чем его написание. Требуется большая работа, чтобы создать ясное, точное, интересное техническое описание. Поэтому, чтобы сделать жизнь хоть немного проще для всех участвующих сторон, я хотел бы поделиться с вами семью правилами, которым я следую, создавая техническую документацию.
Эти правила — не моё собственное изобретение. Скорее, я просто сформулировал их из того опыта, который появился благодаря общению со многими талантливыми техническими и литературными редакторами за более чем десять лет работы. Всё, что я понял в этом деле, сформировалось потому, что другие показали мне путь. У меня не находится достаточно слов, чтобы выразить им в полной мере мою благодарность.
Надеюсь, после прочтения этой статьи в вашем арсенале появятся некоторые новые инструменты, которые помогут вам создавать технические документы на новом уровне качества: более ясные, более привлекательные, менее путанные и намного более интересные для чтения. Также я добавил — без всяких каких-либо дополнительных требований к вам, как потребителю, бонус в конце статьи: описание процесса, используемого мною для создания технического описания.
Итак — эти 7 правил:
- Скука убивает
- Прежде чем начать, выясните точно для себя, какие действия вы ожидаете от читателя, осилившего ваш труд
- Пишите в соответствии с правильно сформированной структурой
- Избегайте неоднозначных местоимений
- Ясность = иллюстрации + слова
- Когда имеете дело с понятиями, концепциями и т.п., используйте логическую иллюстрацию и пример
- Не опасайтесь переделок
Information
- Rating
- 3,536-th
- Registered
- Activity