Как стать автором
Обновить
-2
Карма
0
Рейтинг

Пользователь

  • Подписчики
  • Подписки 3
  • Публикации
  • Комментарии

Как я искал работу в Берлине

JavaScriptПрограммированиеКарьера в IT-индустрии
Recovery mode

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

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

Читать дальше
Всего голосов 13: ↑11 и ↓2+9
Просмотры5.4K
Комментарии 27

Continuous integration в Яндексе

Блог компании ЯндексРазработка веб-сайтовРазработка мобильных приложенийIT-инфраструктураРазработка под Windows

Поддержка огромной кодовой базы с одновременным обеспечением высокой производительности большого числа разработчиков — это серьезный вызов. В течение последних 5 лет в Яндексе идет разработка особой системы непрерывной интеграции. В данной статье мы расскажем про масштаб кодовой базы Яндекса, про перенос разработки в единый репозиторий с trunk-based подходом к разработке, про то, какие задачи должна решать система непрерывной интеграции для эффективной работы в таких условиях.



Много лет назад в Яндексе никаких особенных правил в разработке сервисов не было: каждый отдел мог использовать любые языки, любые технологии, любые системы деплоя. И как показала практика, такая свобода не всегда помогала двигаться вперед быстрее. В то время для решения одних и тех же задач часто существовало несколько собственных или open-source разработок. С ростом компании такая экосистема работала всё хуже. При этом мы хотели остаться одним большим Яндексом, а не разделиться на множество независимых компаний, потому что это дает массу преимуществ: много людей делают одни похожие задачи, результаты их труда можно использовать повторно. Начиная от разнообразных структур данных, типа распределённых хеш-таблиц и lock-free очередей, и заканчивая множеством разного специализированного кода, который мы написали за 20 лет.

Читать дальше →
Всего голосов 52: ↑47 и ↓5+42
Просмотры33K
Комментарии 100

Вам не следует проводить собеседования, потому что… [спойлер — вы сами не ходите на собеседования]

Управление проектамиУправление персоналомКарьера в IT-индустрии

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


Более того, вы сами это прекрасно знаете, сознательно или подсознательно, однако корпоративная этика мешает заявить прямо о своих сомнениях.


Для привлечения внимания покажем картинку и продолжим.


Народ нарывается на ЯРОСТЬ


Читать дальше →
Всего голосов 76: ↑56 и ↓20+36
Просмотры41K
Комментарии 75

Упрощение кода с помощью if constexpr в C++17

C++
Перевод
Tutorial

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


Например если вы хотите выразить if, который вычисляется во время компиляции, вы будете вынуждены написать код используя приём SFINAE (например enable_if) или статическую диспетчеризацию (tag dispatching). Такие выражения тяжело понять, и они выглядят как магия для разработчиков, незнакомых с продвинутыми шаблонами мета-программирования.


К счастью, с появлением C++17 мы получаем if constexpr. Теперь большинство приёмов SFINAE и статической диспетчеризации отпадает, и код уменьшается, становится похожим на "обычный" if.


Эта статься демонстрирует несколько приёмов использования if constexpr.

Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Просмотры31K
Комментарии 53

Как разделить окружение для сборки и запуска сервиса в Docker сегодня и как это cделать завтра

Системное администрированиеВиртуализацияСерверное администрированиеDevOps

image


Большинство из нас уже давно научилось готовить Docker и используют его на локальных машинах, на тестовых стендах и на боевых серверах. Docker, который недавно превратился в Moby, прочно вошел в процессы доставки кода до пользователя. Но best practice работы с контейнерной виртуализацией и, в частности, с Docker вырабатываются до сих пор.


Как это было


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

Читать дальше →
Всего голосов 51: ↑50 и ↓1+49
Просмотры26K
Комментарии 34

Многоэтапные (multi-stage builds) сборки в Docker

GoDevOps
Tutorial
Docker начиная с версии 17.05 и выше стал поддерживать многоэтапные сборки (multi-stage builds). С удивлением обнаружил, что никто еще не написал об этом на хабре. Поэтому давайте исправим этот пробел.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Просмотры34K
Комментарии 11

VPN-сервисы и анонимайзеры благополучно игнорируют закон о блокировке сайтов. Роскомнадзор бессилен

Информационная безопасность
Говорят, что суровость законов в России компенсируется необязательностью их исполнения. Представитель пресс-службы Роскомнадзора сообщил РБК, что до сих пор ведомство не направило ни одному VPN-сервису или анонимайзеру требования заблокировать доступ к сайтам, внесённым в реестр запрещенной информации. Роскомнадзор обязан высылать такие требования по инициативе ФСБ или другого органа, осуществляющего оперативно-разыскную деятельность и госбезопасность. Но за прошедшие четыре месяца с момента вступления в силу закона ни одного обращения со стороны правоохранительных органов не поступило.

По оценкам специалистов, сейчас около 25% российских пользователей используют анонимайзеры и VPN-сервисы, в том числе встроенные в браузеры, чтобы обойти установленные государством запреты и получить полноценный доступ в Сеть. При этом количество сервисов VPN постоянно растёт.
Читать дальше →
Всего голосов 42: ↑41 и ↓1+40
Просмотры32K
Комментарии 113

Взаимодействие C# и C++ кроссплатформенно

.NETC++
Tutorial
Вам приходилось сталкиваться с необходимостью взаимодействия кода на C# и native-C++ (или скорее С)? Причины могли быть разными: библиотека уже есть, на С/С++ написать проще, разработка частей приложения ведётся разными командами, _______________ (нужное вписать).

Известно, что языки базируются на совершенно разных наборах аксиом.

В С# (CLR, если точнее) вы имеете дело с типами фиксированных размеров (за редкими оговорками), код может быть скомпилирован JIT-компилятором под любую из поддерживаемых целевых платформ (если явно не оговорено иное).

В мире C++ всё совсем иначе: одни и те же типы могут иметь разные размеры при компиляции на разные платформы (привет, size_t), код генерируется по-разному для разных платформ, операционных систем и прочих прелестей.

Под катом будем пробовать их подружить с учётом указанных особенностей.
Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Просмотры28K
Комментарии 27

Первый контакт с «var» в Java 10

Java
Из песочницы
Представляю вашему вниманию перевод статьи First Contact With ‘var’ In Java 10 автора Nicolai Parlog.

image

Java 10 будет выпущен 20 марта 2018 года, и все фичи, которые должны быть в этом релизе, уже объединены в основную ветку разработки. Одним из самых интересных нововведений Java 10 безусловно является вывод типа локальной переменной (JEP 286). Это дает вам возможность сократить объявления переменных используя новое ключевое слово var:

var users = new ArrayList<User>();

И это все, спасибо за внимание!

Нет, я уверен, что вам интересно узнать больше. Под катом я расскажу, где применяется var, а где нет, как это влияет на читаемость кода и что произошло с val.
Читать дальше →
Всего голосов 51: ↑49 и ↓2+47
Просмотры60K
Комментарии 182

Каких слов стоит избегать, чтобы сделать вашу английскую речь более современной и естественной

Блог компании EnglishDomИзучение языков
Tutorial

Любой современный язык — это живая система, которая постоянно обновляется и меняется. Не удивительно, что какие-то слова просто устаревают или просто реже звучат в повседневном общении, а вместо них появляются новые слова. Ловите подборку таких слов и их более современные варианты от носителя языка.
Читать дальше →
Всего голосов 41: ↑34 и ↓7+27
Просмотры40K
Комментарии 170

Стоимость операций в тактах ЦП

Блог компании OTUSПрограммированиеC++
Перевод
Всем доброго! Вот мы и добрались до тематики С++ на наших курсах и по нашей старой доброй традиции делимся тем, что мы нашли достаточно интересным при подготовке программы и то, что будем затрагивать во время обучения.

Инфографика:



Когда нам нужно оптимизировать код, мы должны отпрофилировать его и упростить. Однако, иногда имеет смысл просто узнать приблизительную стоимость некоторых популярных операций, чтобы не делать с самого начала неэффективных вещей (и, надеюсь, не профилировать программу позже).
Читать дальше →
Всего голосов 100: ↑97 и ↓3+94
Просмотры51K
Комментарии 15

10 ошибок, приводящих к оверинжинирингу ПО

Блог компании Инфопульс УкраинаПрограммированиеАнализ и проектирование системПроектирование и рефакторинг
Перевод
Tutorial
Несколько вещей гарантированно будут увеличиваться со временем: расстояния между звёздами, энтропия вселенной и бизнес-требования к ПО. Многие статьи пишут «Не усложняйте!», но не пишут почему или как это сделать. Вот вам 10 ясных примеров.

1. Инженерам виднее

Мы, инженеры, считаем себя умнейшими людьми. Ну, поскольку мы создаём разные штуки. И эта ошибка часто приводит к оверинжинирингу. Если вы спланировали и построили 100 модулей — Бизнес всегда попросит у вас 101-ый, о котором вы никогда не задумывались. Если вы соберётесь с силами и решите 1000 проблем — они придут к вам и выложат на стол 10 000 новых. Вы считаете, что у вас всё под контролем, а на самом деле вы даже не представляете, в каком направлении вас завтра поведёт дорога.

image

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

Мораль: Казино (бизнес) всегда побеждает.
Читать дальше →
Всего голосов 127: ↑109 и ↓18+91
Просмотры52K
Комментарии 84

Руководство по работе с Redux

Блог компании Mail.ru GroupРазработка веб-сайтовJavaScriptNode.JSReactJS
Перевод
Tutorial
Сегодня Redux — это одно из наиболее интересных явлений мира JavaScript. Он выделяется из сотни библиотек и фреймворков тем, что грамотно решает множество разных вопросов путем введения простой и предсказуемой модели состояний, уклоне на функциональное программирование и неизменяемые данные, предоставления компактного API. Что ещё нужно для счастья? Redux — библиотека очень маленькая, и выучить её API не сложно. Но у многих людей происходит своеобразный разрыв шаблона — небольшое количество компонентов и добровольные ограничения чистых функций и неизменяемых данных могут показаться неоправданным принуждением. Каким именно образом работать в таких условиях?

В этом руководстве мы рассмотрим создание с нуля full-stack приложения с использованием Redux и Immutable-js. Применив подход TDD, пройдём все этапы конструирования Node+Redux бэкенда и React+Redux фронтенда приложения. Помимо этого мы будем использовать такие инструменты, как ES6, Babel, Socket.io, Webpack и Mocha. Набор весьма любопытный, и вы мигом его освоите!
Читать дальше →
Всего голосов 65: ↑59 и ↓6+53
Просмотры270K
Комментарии 51

«Й» вам не «и» краткое! О важности нормализации Unicode

Разработка веб-сайтов
й

За последние полгода интернет просто наводнила «буква» «й». Я встречал ее на новостных сайтах, в мессенджерах, на хабрахабре и geektimes. «О чем вообще речь?» — спросите вы — «Я вижу обычную букву й!». Вам повезло. Я вижу ее так:
image
image
image
image
image
Если вы из тех счастливчиков, у кого буква «й» выглядит так же, как и «настоящая» «й», вот вам фокус: скопируйте ее (букву «й») в блокнот, поставьте курсор в конец буквы и нажмите backspace. Магия, отвал башки просто!
Как же так получается?

Графемы, глифы, code points, компоновка и байты

Очень краткое введение:
Графема — то, что мы привыкли называть буквой в смысле единицы текста. Глиф является единицей графики, и может графически представлять саму графему или же ее часть (например, различные диакритические знаки: ударения, умляуты, надстрочное двоеточие у буквы ё и т.д.).
Code Point — то, как записывается текст в представлении Unicode. Одна графема может записываться разными code points.
Code Points кодируются различным байтовым представлением в зависимости от стандарта: UTF-8, UTF-16, UTF-32, BE, LE…
Языки программирования, как правило, работают с code points; для нас, людей, привычно мыслить глифами.

Давайте же наконец разберемся с нашей буквой й. Что же в ней такого особенного?
Эта буква представляет из себя одну графему («и» краткое), но записана она двумя code points:
U+000438 CYRILLIC SMALL LETTER I
U+000306 COMBINING BREVE

Если вы проделали фокус с нажатием backspace, вы как раз и стерли COMBINING BREVE, или, говоря полиграфическим языком, значок краткости над гласной.

Обычная буква «и» краткое, которую мы все с вами привыкли набирать клавиатурой, представляет из себя композитный символ, который записывается одним code point:
U+000439 CYRILLIC SMALL LETTER SHORT I
Читать дальше →
Всего голосов 100: ↑97 и ↓3+94
Просмотры48K
Комментарии 125

Видео стыковки «Союза» с МКС: лучше, чем «Гравитация»

Научно-популярноеКосмонавтика


Фильм «Гравитация» с Джорджем Клуни и Сандрой Баллок получил весьма хвалебные отзывы зрителей и многих критиков. Конечно, физики, астрономы, инженеры и многие другие специалисты критиковали фильм за многочисленные несоответствия положениям науки и просто здравого смысла. Но «Гравитация» получилась зрелищной, и зрителям фильм понравился. Во многом, это обусловлено красивейшими видами космоса и Земли.

На днях в Сети появилось видео реальной работы космонавтов в космосе — в данном случае речь идет о стыковке «Союза» с МКС. Операция была проведена 27 марта этого года. Кстати, запуск «Союза» с последующей стыковой ознаменовал старт миссии «One Year», в ходе которой исследуется долгосрочное воздействие микрогравитации на организм человека.
Читать дальше →
Всего голосов 62: ↑60 и ↓2+58
Просмотры32K
Комментарии 44

Здоровый сон — 4 совета от космонавтов

Блог компании MBA ConsultGTD
Перевод
image

Кто разбирается в проблемах сна лучше всего? Конечно же, космонавты. В этой статье мы расскажем, как решить проблему с недосыпом и вернуть здоровый сон.
Читать дальше →
Всего голосов 40: ↑36 и ↓4+32
Просмотры74K
Комментарии 26

На какие языки лучше переводить свой продукт?

Блог компании AlconostЛокализация продуктовРазвитие стартапаУправление продуктом
Какие языки лучше выбрать для локализации своего продукта? Этот вопрос часто ставит разработчиков в тупик. А от правильного ответа на него могут зависеть самые важные показатели – величина прибыли, количество скачиваний или посетителей. Что ж, спешим поделиться с вами любопытной статистикой на эту тему.

Читать дальше →
Всего голосов 62: ↑54 и ↓8+46
Просмотры28K
Комментарии 35

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность