User
Мой опыт эффективной удалённой работы
- это дорого, я потрачу все деньги;
- я там упаду с мопеда, меня укусит крокодил-змея-комар, я заболею и умру;
- я там не смогу работать, всё будет отвлекать;
- меня уволят из-за того, что будут думать, что я ничего не делаю;
- меня не отпустит менеджмент.
Список можно продолжать бесконечно. Прекрасно это понимая, я составил противоположный список с позитивными утверждениями и принял железное решение: я поеду, даже если мне придётся сменить работу и продать машину.
После этого, я тут же пошёл пообщался со своим менеджментом насчёт перехода на постоянную удалённую работу и к моему удивлению меня отпустили для начала поработать из дома в Киеве. А затем — насовсем.
Так я стал удалённым сотрудником, работающим с января по апрель из Таиланда.
![image](https://habrastorage.org/getpro/habr/post_images/9b7/141/d04/9b7141d0400352fc9e9ce68dcb285385.jpg)
Если вы думаете, что удалённая работа это вот так — смею вас разочаровать. Так не будет.
Как минимум нужно будет включить компьютер.
Изучаем С используя GDB
Исходя из особенностей таких высокоуровневых языков, как Ruby, Scheme или Haskell, изучение C может быть сложной задачей. В придачу к преодолению таких низкоуровневых особенностей C, как ручное управление памятью и указатели, вы еще должны обходиться без REPL. Как только Вы привыкнете к исследовательскому программированию в REPL, иметь дело с циклом написал-скомпилировал-запустил будет для Вас небольшим разочарованием.
Недавно мне пришло в голову, что я мог бы использовать GDB как псевдо-REPL для C. Я поэкспериментировал, используя GDB как инструмент для изучения языка, а не просто для отладки, и оказалось, что это очень весело.
Механизмы выделения памяти в Go
![](https://habrastorage.org/webt/tv/0k/gh/tv0kghio2zhsc-og7bjd-mtl41q.jpeg)
Автор материала, перевод которого мы публикуем, решил добраться до сути средств выделения памяти в Go и рассказать об этом.
Что новенького в нашей документации по .NET (за декабрь 2019)
.NET Core
Новые статьи
- .NET Core Uninstall Tool
- Важные изменения при переходе с версии 2.0 на 2.1
- Важные изменения при миграции с .NET Framework на .NET Core
- Гайд: отладка memory leak в .NET Core
- Как установить локализованные файлы IntelliSense для .NET Core
- Варианты конфигурации рантайма для компиляции
- Параметры конфигурации рантайма для отладки и профилирования
- Варианты конфигурации рантайма для глобализации
- Варианты конфигурации рантайма для работы в сети
- Параметры конфигурации рантайма для потоков
- Начало работы с .NET Core в Windows/Linux/macOS с помощью командной строки
- Что нового в .NET Core 3.1
![](https://habrastorage.org/webt/fu/vf/mp/fuvfmpkgskh1lrfpkjpuqwkosb4.png)
Введение в GitHub Actions
GitHub Actions, релиз которого состоялся 13 ноября 2019 года, позволяет легко автоматизировать все ваши рабочие процессы в области программного обеспечения. Вы можете ознакомиться с подробностями здесь.
![](https://habrastorage.org/webt/3-/gg/jv/3-ggjv9cchedczosm9vmdnzviu4.png)
Также рекомендую ознакомиться с данной документацией перед тем, как решите расширить свое решение.
Ловим утечки памяти в С/С++
Приветствую вас, Хабровчане!
Сегодня я хочу немного приоткрыть свет над тем, как бороться с утечкой памяти в Си или С++.
На Хабре уже существует две статьи, а именно: Боремся с утечками памяти (C++ CRT) и Утечки памяти в С++: Visual Leak Detector. Однако я считаю, что они недостаточно раскрыты, или данные способы могут не дать нужного вам результата, поэтому я хотел бы по возможности разобрать всем доступные способы, дабы облегчить вам жизнь.
10 практических рекомендаций по безопасности образов Docker. Часть 1
![](https://habrastorage.org/webt/46/6k/xf/466kxf-lmjpubtojmiocti9n_ea.png)
В этой статье мы хотели бы сосредоточиться на Docker и обсудить советы и рекомендации, которые обеспечивают более безопасный и качественный процесс обработки образов Docker.
Итак, начнем с нашего списка из 10 практических рекомендаций по безопасности образов Docker.
1.Elastic stack: анализ security логов. Введение
![](https://habrastorage.org/webt/kp/u5/no/kpu5nookmtr9sfo1o7xvyqla0hm.png)
В связи окончанием продаж в России системы логирования и аналитики Splunk, возник вопрос, чем это решение можно заменить? Потратив время на ознакомление с разными решениями, я остановился на решении для настоящего мужика — «ELK stack». Эта система требует времени на ее настройку, но в результате можно получить очень мощную систему по анализу состояния и оперативного реагирования на инциденты информационной безопасности в организации. В этом цикле статей мы рассмотрим базовые (а может и нет) возможности стека ELK, рассмотрим каким образом можно парсить логи, как строить графики и дашбоарды, и какие интересные функции можно сделать на примере логов с межсетевого экрана Check Point или сканера безопасности OpenVas. Для начала, рассмотрим, что же это такое — стек ELK, и из каких компонентов состоит.
Пишем Grafana reverse proxy на Go
Очень хотелось назвать статью «Proxy-сервис на Go в 3 строчки», но я выше этого.
В действительности так и есть, основную логику можно уместить в трёх строках. Для нетерпеливых и тех, кто хочет увидеть самую суть:
proxy := httputil.NewSingleHostReverseProxy(url)
r.Header.Set(header, value)
proxy.ServeHTTP(w, r)
Под катом более подробный рассказ для новичков в языке Golang и тех, кому нужно создать обратный прокси в кратчайшие сроки.
Разберём, для чего нужен прокси-сервис, как его реализовать и что под капотом у стандартной библиотеки.
Как добавить кодек в FFmpeg
![](https://habrastorage.org/webt/qr/ke/cb/qrkecbqtfjsekrqjurg2bytl3lc.png)
FFmpeg — это грандиозный Open Source проект, своего рода мультимедийная энциклопедия. С помощью FFmpeg можно решить огромное число задач компьютерного мультимедиа. Но все-таки иногда возникает необходимость в расширении FFmpeg. Стандартный способ — это внесение изменений в код проекта с последующей компиляцией новой версии. В статье подробно рассмотрено, как добавить новый кодек. Также рассмотрены некоторые возможности для подключения к FFmpeg внешних функций. Если нет необходимости добавлять кодек, то статья может оказаться полезной для лучшего понимания архитектуры кодеков FFmpeg и их настройки. Предполагается, что читатель знаком с архитектурой FFmpeg, процессом компиляции FFmpeg, а также имеет опыт программирования с использованием FFmpeg API. Описание актуально для FFmpeg 4.2 «Ada», август 2019.
Пользователи и авторизация RBAC в Kubernetes
Настройка и запуск кластера Kubernetes – это только начало: ведь его необходимо еще и эксплуатировать. Чтобы обезопасить доступ к кластеру, нужно задать идентификационные данные пользователей и грамотно управлять настройками аутентификации и авторизации.
![](https://habrastorage.org/webt/m5/y9/az/m5y9azz-gbidcxue2_eesz-gvxo.png)
Эта статья посвящена тому, как создавать пользователей, используя клиентские сертификаты X.509, и как управлять авторизацией с помощью базовых API-объектов RBAC в Kubernetes. Мы также поговорим о некоторых открытых проектах, упрощающих администрирование кластера: rakkess, kubectl-who-can, rbac-lookup и RBAC Manager.
Азбука безопасности в Kubernetes: аутентификация, авторизация, аудит
![](https://habrastorage.org/webt/ao/pp/ke/aoppkeeufk5-tv1rmtmtw9oce7a.png)
Рано или поздно в эксплуатации любой системы встаёт вопрос безопасности: обеспечения аутентификации, разделения прав, аудита и других задач. Для Kubernetes уже создано множество решений, которые позволяют добиться соответствия стандартам даже в весьма требовательных окружениях… Этот же материал посвящён базовым аспектам безопасности, реализованным в рамках встроенных механизмов K8s. В первую очередь он будет полезен тем, кто начинает знакомиться с Kubernetes, — как отправная точка для изучения вопросов, связанных с безопасностью.
Как наладить социальные отношения в удалённо работающем коллективе
![](https://habrastorage.org/webt/jb/k7/ky/jbk7kymj_9tk0zgof264cmgqxee.jpeg)
Сплачивание виртуального коллектива — сложная задача. Я предлагаю 7 способов, которые помогут наладить социальные отношения в коллективе из сотрудников, работающих удаленно из самых разных уголков мира.
Уверена, вы со мной согласитесь: построение социальной связи в удаленной команде — самая сложная часть работы менеджера. Согласно опросу, который мы провели минувшей осенью среди 297 сотрудников и менеджеров таких команд, самой большой трудностью в работе менеджера и коллектива в целом считалось «формирование чувства общности при отсутствии общего рабочего места».
И это понятно: работая в одном офисе, можно, проходя мимо стола коллеги, поздороваться и поболтать о прошедших выходных. Заметив по реакции человека, что он подавлен, вы предложите вместе сходить выпить кофе позже. За обедом вы весело общаетесь с другим коллегой, и неожиданно выясняете, что оба без ума от одних и тех же не очень популярных новозеландских мятных конфет.
Такие естественные проявления социальных отношений при работе удаленно случаются не так часто, и не так непринужденно. В итоге в разбросанной по всему миру команде может отсутствовать чувство общности и взаимной поддержки — если, конечно, не поощрять их развитие намеренно.
Ученые описали эти чувства как полезные для построения «аффективного доверия» — доверия, основанного на эмоциональной связи и межличностных отношениях. Оно отличается от «когнитивного доверия», источник которого — уверенность в надежности и компетентности коллег. Обе формы доверия влияют на продуктивность работы, но аффективное доверие обычно более ярко проявляется в начале отношений в коллективе (согласно исследованиям).
Переведено в Alconost
Работа не волк, часть 4. Опытный сотрудник: как не перегореть и не сдаться
![](https://habrastorage.org/getpro/habr/post_images/e23/f78/f7b/e23f78f7b20599c6e09087aa61f528e3.png)
Часть 1. Поиск работы: источники, резюме, собеседование с HR
Часть 2. Устройство и адаптация: собеседуем с боссом, проходим испытательный срок с ветерком
Часть 3. Работа в роли новичка: рост в компании
Часть 4. Работа в роли опытного сотрудника: как не перегореть
Часть 5. Увольнение: я ухожу красиво
Профилирование кода Go-проекта и решение проблемы с выделением памяти
![](https://habrastorage.org/webt/nz/-z/sh/nz-zsh2ilh_sy0-ib_6ydrcs9p0.png)
Автор статьи, перевод которой мы публикуем, говорит, что недавно он решил заняться профилированием своего опенсорсного Go-проекта Flipt. Он хотел найти в проекте код, который можно было бы без особых усилий оптимизировать и тем самым ускорить программу. В ходе профилирования он обнаружил некоторые неожиданные проблемы в популярном проекте с открытым исходным кодом, который в приложении Flipt использовался для организации маршрутизации и поддержки промежуточного ПО. В итоге удалось снизить объём памяти, выделяемой приложением в процессе работы, в 100 раз. Это, в свою очередь, привело к уменьшению количества операций по сборке мусора и улучшило общую производительность проекта. Вот как это было.
10 лет на удаленке и что из этого вышло
![](https://habrastorage.org/webt/rd/zu/e2/rdzue2kkvjws-qz_olcitlioqey.png)
Содержание
1. Первая работа
2. Первый экономический кризис и первая удаленка
3. Год за два
4. Покоряем Москву, не выходя из дома в провинции
5. Второй (валютный) экономический кризис
6. А в это время в России
7. А что сейчас?
8. Выводы/Плюсы/Минусы
9. ЧаВО
Выявляем процессы с дисковой активностью в Linux
В ходе написания статьи обнаружилось, что запись нескольких килобайт данных на файловую систему BTRFS приводит к записи 3 мегабайт реальных данных на диск.
Введение
«Ой, ерунда, ячейки памяти на современных SSD выйдут из строя через десятки лет обычного использования, не стоит об этом беспокоиться, и уж тем более переносить swap, виртуальные машины и папку профиля браузера на HDD» — типичный ответ на вопрос о надежности твердотельных накопителей c гарантированными ≈150 TBW. Если прикинуть, сколько типичное ПО может писать данных, то кажется, что 10-20 ГБ в сутки — уже большая цифра, пусть будет максимум 40 ГБ, куда уж больше. При таких цифрах ответ вполне разумен — нужно 10 лет, чтобы достичь гарантированных значений по количеству перезаписи ячеек, при 40 ГБ записанных данных ежедневно.Однако за 6 лет я пользуюсь уже третьим SSD: у первого вышел из строя контроллер, а второй начал перемещать данные между ячейками несколько раз в день, что оборачивалось 30-секундными задержками в обслуживании записи.
После 7 месяцев использования нового SSD я решил проверить количество записанных данных, как их сообщает сам диск через SMART.
19.7 ТБ.
Всего за 7 месяцев я использовал 13% от гарантированного количества записанных данных, притом, что он настроен в соответствии с рекомендациями по выравниваю разделов и настройке ФС, swap у меня почти не используется, диски виртуальных машин размещены на HDD!
Пишем на Go простой балансировщик
![](https://habrastorage.org/webt/t8/nm/ze/t8nmzevaswfyxtitu7xpx3ml-ho.jpeg)
Балансировщики нагрузки играют в веб-архитектуре ключевую роль. Они позволяют распределять нагрузку по нескольким бэкендам, тем самым улучшая масштабируемость. А поскольку у нас сконфигурировано несколько бэкендов, сервис становится высокодоступным, потому что в случае сбоя на одном сервере балансировщик может выбирать другой работающий сервер.
Поигравшись с профессиональными балансировщиками наподобие NGINX, я попробовал ради веселья создать простенький балансировщик. Написал я его на Go, это современный язык, поддерживающий полноценный параллелизм. Стандартная библиотека в Go имеет широкие возможности и позволяет писать высокопроизводительные приложения с меньшим количеством кода. К тому же для простоты распространения она генерирует единственный статически скомпонованный бинарник.
Habr Weekly #27 / Хромбуки vs макбуки, как писать крутые резюме, какую зарплату просить, AR-очки за $3500
В этом выпуске:
- 00:22 Приглашаем в клуб Анонимных Дедов Морозов на Хабре — это весело!, clubadm
- 04:31 Фил Шиллер из Apple утверждает, что хромбуки не годятся для настоящей работы, denis-19
- 12:23 Youtube присваивает себе право удалять каналы пользователей. Или нет?
- 14:02 Как писать резюме, чтобы интервьюеру не было больно, yuliatsareva
- 25:51 Какую зарплату не стыдно просить, stroitskiy
- 35:29 AR-очки Hololens в продаже за $3500. Зачем?, Leonid_R
Information
- Rating
- Does not participate
- Registered
- Activity