Дано: семья из двух украинских программистов (10+ лет в индустрии), совместная работа в международной продуктовой компании, совместное желание сменить страну проживания по ряду причин среди которых качество жизни на первом месте, а не с точки зрения “зарабатывать больше”.
C++ разработчик
Redis — продвинутое key-value хранилище. Опыт применения в нагруженных проектах
Использование memcached и Redis в высоконагруженных проектах
Вячеслав Москаленко (Ленвендо)
Я буду рассказывать вам об инструментах высоконагруженных проектов, кэшировании, в частности, о memcached, Redis-е и о сервисе очередей RabbitMQ или в простонародье «кролике».
В первой части доклада я расскажу о том, что такое memcached — базовые понятия, что такое Redis, о его особенностях, и чем эти два сервиса отличаются. Расскажу о практическом применении в наших проектах обоих сервисов.
А во второй части я буду рассказывать о брокере сообщений RabbitMQ, об основных понятиях, которые есть в «кролике», о том, как работает маршрутизация сообщений между продюсерами и консьюмерами. Также расскажу о практическом применении в наших проектах данного брокера сообщений.
О кэшировании. Думаю, многие из вас хоть что-то кэшировали в своих веб-проектах, поэтому все будет очень просто и доступно.
Беседы о C++: РГ 21, Boost, конференции
Всем привет!
Недавно в Новосибирске прошла очередная C++ Siberia 2019. На конференции была уютная атмосфера и много хороших докладов. Видеозаписи докладов сейчас готовятся к публикации. Пользуясь случаем, я побеседовал с двумя нашими частыми докладчиками, которые редко пропускают конференции и делают всегда отличные доклады: Антон Полухин antoshkka и Павел Филонов.
Антон — представитель России в ISO на международных заседаниях рабочей группы по стандартизации C++, автор нескольких принятых предложений к стандарту языка C++, Boost-библиотек и книги «Boost C++ Application Development Cookbook».
Павел — разработчик-исследователь в Лаборатории Касперского, занимается вопросами применения методов машинного обучения в задачах обеспечения безопасности кибер-физических систем, ведёт преподавательскую деятельность. В ожидании видео с конференции предлагаю вам прочитать расшифровку нашей беседы.
Переезд IT-шника в Германию: от А до Я
В этом посте я хочу подробно рассказать о моём опыте переезда на работу PHP-разработчиком в Германию — от момента, когда есть просто желание переехать, но не знаешь что и как делать, до момента, когда уже переехал, вселился в квартиру и получил вид на жительство. Кроме того, в конце поста я приведу немного полезной информации и ссылок по переезду в некоторые другие страны.
Ещё с универа я понимал, что в Украине ловить нечего и надо валить. В течение нескольких лет я исследовал вопрос эмиграции: читал блоги, форумы, сообщества, общался с друзьями и знакомыми, которые могли мне рассказать что-то новое и, естественно, за это время, учитывая и сам переезд, у меня накопился определённый багаж информации, которым и хочется поделиться.
Итак, если вы имеете IT-шное образование и вам интересна идея сваливания из печальной пост-совковой реальности, прошу под кат.
Как разобраться в «иностранном» коде и влиться в новую команду?
Как только разработчик попадает в компанию и получает задачу, чаще всего оказывается, что ему нужно присоединиться к общему проекту какой-то команды, а не писать свой код с нуля.
Любой код имеет собственную логику, основан на определенных принципах, в нем встречаются паттерны и технологии, характерные для команды, к которой присоединился программист. Но как начать быстро понимать чужой проект, при том что он вряд ли небольшой, а документации часто либо вообще нет, либо она недостаточна и неточна?
Шесть историй, как код переписали с нуля
«Исходный код словно заржавел!» — Джоэл Спольски
Почти два десятилетия назад Джоэл Спольски устроил разнос Netscape за то, что она переписала кодовую базу браузера, в своём эпохальном эссе «Чего никогда нельзя делать». Он пришёл к выводу, что функционирующий софт абсолютно никогда не следует переписывать с нуля. У него было два основных аргумента:
- Кажущиеся мусором части кодовой базы часто включают в себя трудом заработанные знания о пограничных ситуациях и странных ошибках.
- Полная переделка — длительное предприятие, которое отвлекает от улучшения существующего продукта, что даёт козыри конкурентам.
Увеличь это! Современное увеличение разрешения
Я уже перестал вздрагивать и удивляться, когда звонит телефон и в трубке раздается жесткий уверенный голос: «Вас беспокоит капитан такой-то (майор такой-то), вы можете ответить на пару вопросов?» Почему бы не поговорить с родной полицией…
Вопросы всегда одни и те же. «У нас есть видео с подозреваемым, пожалуйста, помогите восстановить лицо»… «Помогите увеличить номер с видеорегистратора»… «Здесь не видно рук человека, пожалуйста, помогите увеличить»… И так далее в том же духе.
Чтобы было понятно о чем речь — вот реальный пример присланного сильно сжатого видео, где просят восстановить размытое лицо (размер которого эквивалентен примерно 8 пикселям):
И ладно бы только русские дяди Степы беспокоили, пишут и западные Пинкертоны.
Что происходит, когда вы отправляете SMS
Первые две части цикла:
- Cetus, о распространении ошибок в предках электронных таблиц XVII века
- «Вниз по кроличьей норе», о безумно сложном поиске источника одного набора данных
Итак, начнём…
Взлом вк, двухфакторная аутентификация не спасет
Предупреждение. Все материалы и методы, изложенные ниже, представлены исключительно в ознакомительных и экспериментаторских целях. Напоминаем, что взлом персональных страниц пользователей и сбор данных незаконным путём преследуется законодательством РФ (в частности УК РФ). Будьте осторожны и экспериментируйте только со своими или тестовыми аккаунтами!
Десять возможностей C++11, которые должен использовать каждый C++ разработчик
Сегодня в программе:
auto
nullptr
- range-based циклы
override
иfinal
- строго-типизированный
enum
- интеллектуальные указатели
- лямбды
- non-member
begin()
иend()
static_assert
и классы свойств- семантика перемещения
Правильные многогранники. Часть 1. Трёхмерие
Введение. Постановка вопроса.
В школьной программе, к сожалению, сферическую геометрию и геометрию Лобачевского не изучают. Тем временем, их изучение совместно с Евклидовой геометрией, позволяет глубже понять происходящее с объектами. Например, понять связь правильных многогранников с разбиениями сферы, разбиениями плоскости Евклида и разбиениями плоскости Лобачевского.
Знания геометрии пространств постоянной кривизны помогает подниматься над трёхмерием и выявлять многогранники в пространствах размерности 4 и выше. Вопросы нахождения многогранников, нахождения разбиений пространств постоянной кривизны, вывода формулы двугранного угла правильного многогранника в n-мерном пространстве — так тесно переплетены, что выносить всё это в название статьи оказалось проблематично. Пусть в центре внимания будут, всем понятные, правильные многогранники, хотя они не только результат всех выводов, но и, одновременно, инструмент для постижения пространств высших размерностей и равномерно искривлённых пространств.
Для тех кто не знает (забыл) сообщаю (напоминаю), что в привычном нам трёхмерном Евклидовом пространстве всего пять правильных многогранников:
1. Тетраэдр: | 2. Куб: | 3. Октаэдр: | 4. Додекаэдр: | 5. Икосаэдр: |
«Hello, World!» на Qt
Позволяет запускать написанное с его помощью ПО в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода. Включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Qt является полностью объектно-ориентированным, легко расширяемым и поддерживающим технику компонентного программирования.
В этой статье я покажу как написать простую программу «Hello, World!» с использованием библиотеки Qt4
N-е число Фибоначчи за O(log N)
быстро – за O( log N ) арифметических операций над числами – найти N-е число ФибоначчиЯ задумался над ней и понял, что сходу в голову приходят только решения, работающие за время O(N). Однако позже решение было найдено.
Нахождение чисел Фибоначчи
Сегодня я хотел бы рассказать о методе разрешения некоторых рекуррентностей и разобрать классический пример на эту тему.
Числа Фибоначчи (этюд на C#)
Структуры данных: двоичная куча (binary heap)
Для дальнейшего чтения необходимо иметь представление о деревьях, а также желательно знать об оценке сложности алгоритмов. Алгоритмы в этой статье будут сопровождаться кодом на C#.
Введение
Двоичная куча представляет собой полное бинарное дерево, для которого выполняется основное свойство кучи: приоритет каждой вершины больше приоритетов её потомков. В простейшем случае приоритет каждой вершины можно считать равным её значению. В таком случае структура называется max-heap, поскольку корень поддерева является максимумом из значений элементов поддерева. В этой статье для простоты используется именно такое представление. Напомню также, что дерево называется полным бинарным, если у каждой вершины есть не более двух потомков, а заполнение уровней вершин идет сверху вниз (в пределах одного уровня – слева направо).
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Registered
- Activity