Search
Write a publication
Pull to refresh
0
0
Send message

В одной лодке с «ублюдком»: 11 продвинутых советов по использованию Git

Reading time11 min
Views52K

*"ублюдок" — вольный перевод слова "git" — "an unpleasant or contemptible person", "неприятный или презренный человек".



В комментариях к статье 15 базовых советов по Git для эффективной работы каждый день развернулась дискуссия на тему эффективности использования тех или иных команд и опций. Надо признать, что git предоставляет столько различного функционала, что во-первых, за всем становится невозможно уследить, а во-вторых, его можно совершенно по-разному вписывать в рабочий процесс.


Давайте посмотрим, что можно использовать, чтобы улучшить себе жизнь. Статья предполагает, что читатель умеет пользоваться основными возможностями git и понимает что делает, когда, скажем, вводит в консоль git rebase --merge --autostash.

Читать дальше →

15 базовых советов по Git для эффективной работы каждый день

Reading time5 min
Views61K

Привет, меня зовут Сергеев Сергей aka gurugray. Сейчас я «Mentor FrontEnd Community» в компании ManyChat. Вы могли видеть мои лекции по релизному циклу и регламенту работ с системами контроля версий в Школе Разработки Интерфейсов Яндекса (ШРИ).


Меня часто спрашивают какие life-hacks или best-practices я использую при работе с Git'ом и репозиториями проекта.


Эта заметка — попытка объяснить те базовые настройки и приёмы, которыми я пользуюсь каждый день. Рецепты не претендуют быть ноу-хау, но могут помочь с освоением ежедневной гигиены работы с репозиторием.


Читать дальше →

Скрам умер. Да здравствует канбан

Reading time7 min
Views53K
Я пользовался методом управления проектами Scrum (скрам) с самого начала карьеры. Я изучал скрам в колледже. Тогда он считался лучшим методом управления разработкой программного обеспечения. Когда я начал работать, мне нравилось всё, что имеет отношение к скраму: ежедневные встречи, планирование, ретроспективные совещания, спринты и так далее. В конце концов, я пользовался на практике тем, чему меня учили.



Но через несколько лет я начал кое-что замечать: в последние дни спринта все бросаются доделывать всё то, чем занимались в предыдущие две недели, стремясь избежать переноса задач на будущее. Часто те, кто так поступали, брали на себя ненужный риск.

Почему? Разве какие-то задачи не могут подождать до следующей недели? Так ли важно доделать абсолютно всё до выходных? Нет, не так уж это и важно. А всё это происходит из-за того, что «Переносы задач — это плохо».
Читать дальше →

Магические сигнатуры методов в C#

Reading time9 min
Views31K

Представляю вашему вниманию перевод статьи The Magical Methods in C# автора CEZARY PIĄTEK.


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


  • Синтаксис инициализации коллекций
  • Синтаксис инициализации словарей
  • Деконструкторы
  • Пользовательские awaitable типы
  • Паттерн query expression
Читать дальше →

Доступно о кватернионах и их преимуществах

Reading time13 min
Views247K

От переводчика: ровно 175 лет и 3 дня назад были изобретены кватернионы. В честь этой круглой даты я решил подобрать материал, объясняющий эту концепцию понятным языком.

Концепция кватернионов была придумана ирландским математиком сэром Уильямом Роуэном Гамильтоном в понедельник 16 октября 1843 года в Дублине, Ирландия. Гамильтон со своей женой шёл в Ирландскую королевскую академию, и переходя через Королевский канал по мосту Брум Бридж, он сделал потрясающее открытие, которое сразу же нацарапал на камне моста.

$i^2=j^2=k^2=ijk=-1$




Памятная табличка на мосту Брум Бридж через Королевский канал в честь открытия фундаментальной формулы умножения кватернионов.

В этой статье я постараюсь объяснить концепцию кватернионов простым для понимания образом. Я объясню, как можно визуализировать кватернион, а также расскажу о разных операциях, которые можно выполнять с кватернионами. Кроме того, я сравню использование матриц, углов Эйлера и кватернионов, а затем попытаюсь объяснить, когда стоит использовать кватернионы вместо углов Эйлера или матриц, а когда этого делать не нужно.
Читать дальше →

10 идей из книги «Как управлять интеллектуалами»

Reading time18 min
Views21K
Жизнеспособна ли ваша команда? Должен ли руководитель кодить? Всегда ли инженеры ненавидят процессы? Какими должны быть регламенты? Как оценивать производительность инженеров? Почему так важны тет-а-теты? Как побыстрее «свалить» с совещания? Почему в Кремниевой долине так любят плоские организационные структуры? Если эти вопросы для вас актуальны, то вам стоит почитать книгу «Как управлять интеллектуалами. Я, нерды и гики» Майкла Лоппа. Книга будет полезна тем, кто хочет более осознанно заниматься управлением инженерными командами. Предлагаю подборку важных идей книги.

amazon litres
Читать дальше →

Как я отказался от вычисления квадратного корня

Reading time14 min
Views48K


Очень часто при цифровой обработке сигналов необходимо вычислить длину вектора, обычно это делается по формуле A=SQRТ(X^2+Y^2). Здесь возвести в квадрат значение не сложно, но операция вычисления квадратного корня не является простой операцией, особенно для микроконтроллеров. Кроме того, алгоритмы вычисления корня выполняются не стабильное время, и для алгоритмов, в которых таких вычислений много, становится сложно прогнозировать время, необходимое для вычислений.

С такой задачей столкнулся и я. О том, как я отказался от процедуры вычисления корня, читайте ниже.
Читать дальше →

Да мой старый laptop в несколько раз мощнее, чем ваш production server

Reading time5 min
Views99K
Именно такие претензии я услышал от наших девелоперов. Самое интересное, что это оказалось правдой, дав начало длительному расследованию. Речь пойдет про SQL servers, которые крутятся у нас на VMware.


Читать дальше →

Моделируем вселенную: небесная механика наглядно

Reading time8 min
Views22K


Давайте представим, что нам нужно запустить футбольный мяч на орбиту Земли. Никакие ракеты не нужны! Хватит горы, высотой 100 километров и недюжинной силы. Но насколько сильно нужно пнуть мяч, чтобы он никогда больше не вернулся на Землю? Как отправить мяч в путешествие к звёздам, имея только грубую силу и знание небесной механики?

Сегодня в программе:

  • Бесконечные возможности одной формулы
  • Как взять энергию у Юпитера
  • Откуда у планет берутся кольца
  • Как математика помогла открыть Нептун

Благо, мы живём в век компьютерных технологий. Нам не нужно забираться на высокую гору и пинать мяч со всей силы, всё можно смоделировать! Давайте приступим.
Читать дальше →

Алгоритмы на экзамене в ШАД

Reading time7 min
Views11K

Привет! Меня зовут Александр Курилкин, и я веду курс по алгоритмам в «ШАД Helper». В этом посте я разберу несколько задач из вступительных экзаменов прошлых лет, чтобы вы смогли увидеть, что вас ждет, и понять, чему мы сможем вас научить на нашем курсе. Надеюсь, что вы разделяете мою любовь к интересным задачам по алгоритмам и получите искреннее удовольствие от прочтения этого поста! Итак, приступим...


Читать дальше →

Flutter + arduino nano 33 BLE sense = очень простой BLE sensor

Reading time4 min
Views24K
В этой статье я хочу рассказать как сделать очень простую bluetooth метеостанцию (куда уж без нее :) ) и написать мобильное приложение на Flutter для нее.


Читать дальше →

Законы программирования

Reading time20 min
Views60K

Законы, теории, принципы и закономерности, полезные для разработчиков


Введение


Перевод репозитория github.com/dwmkerr/hacker-laws

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

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

Законы


Закон Амдала


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

Snoop Project невероятный инструмент интернет разведки, которого пользователи рунета ждали так долго — доступен

Reading time5 min
Views84K
image

На Github-e выложен OSINT-инструмент, заточенный (в том числе) для поиска %username по СНГ локации


【Статья обновлена】в связи с развитием функционала Snoop Project.
Если вам до боли знаком такой софт, как namechk или spiderfoot, то «Snoop Project» вас явно порадует, он даёт «им» фору вместе взятым и это не желтый заголовок «Статья вечерняя» — это реальная «forensic-работа» по цифровым следам в киберпространстве…
Читать дальше →

Поразрядная сортировка LSD (Radix Sort)

Reading time3 min
Views35K


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

Хочу рассказать про свой излюбленный алгоритм для поразрядной сортировки LSD (least significant digit — сначала младший разряд) с подсчётом (Radix Sort). Классический алгоритм был несколько переосмыслен автором в сторону некоторых оптимизаций в пользу ускорения и простоты.
Читать дальше →

5 вещей, которые я бы хотел знать, когда начинал использовать Angular

Reading time14 min
Views41K

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


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


Читать дальше →

Астротрекер за два вечера

Reading time5 min
Views174K
После прочтения статьи про любительскую астрономию я загорелся идеей поснимать звезды с помощью обычной камеры без телескопа. Статья подсказала идею про астротрекеры — устройства для компенсации вращения звездного неба на длительных выдержках.



Погуглив, я обнаружил что их легко можно купить. Но вот цена кусалась. Например, самый дешевый Vixin Ploarie Star Tracker стоит от $400 + доставка. Да и грузоподъемность его вызывала сомнения. В перспективе я планировал от широкоугольного объектива перейти и к 70-200/2.8 который вместе с камерой весят под полтора кг.

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

Под катом много картинок.
Читать дальше →

Простые числа — насколько велико наше бессилие?

Reading time9 min
Views45K
Представьте, что вас окружает бесконечно высокая стена, а о том, что находится за стеной абсолютно ничего неизвестно. Теперь представьте, что олицетворением данной стены является вот это уравнение:

image

Эту метафору будет проще понять, если провести аналогию с черной дырой: мы не знаем, что находится под ее горизонтом событий, и чтобы это узнать нам нужно придумать способ, как туда добраться. Нечто подобное существует в мире математики. Данное уравнение — это настоящая «формула» простого числа, но чтобы ею пользоваться, нам нужно придумать, как искать подходящие {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, w, v, x, y, z}.

Черная дыра и данное уравнение — это предельные состояния чего-то реального и абстрактного. И, если о первом существует достаточно догадок и представлений, то о втором, практически ничего не известно. Но, что если это действительно «математическая» черная дыра? Разве вам не интересно что может произойти, если мы попадем под горизонт?
Под горизонт.

Я больше не хочу работать, никогда и ни над чем. Но из меня научились выжимать результаты

Reading time7 min
Views274K


Дерьмовое утро удалёнщика всегда начинается одинаково. Если детский плач не смог вытащить меня из кровати, то нытье жены сделает это с гарантией. Сумасшедшие девять утра, через час дейли-синк-ап, а за вчера, как всегда, сделано нихрена. Быстро варю кофе и за комп. За пять минут до созвона пулл реквест с кодом энтерпрайзного качества увесисто встал в очередь на билд. Иду курить, но по дороге телефон заорал — я зачем-то установил на него скайп, и теперь работа может добраться до меня где угодно. Курение откладывается, я готовлюсь возмущаться, что мне позвонили раньше положенного. Напялил наушники, принял вызов. Вместо привычной девушки менеджера созвон начал какой-то незнакомый мне чел. «Всем привет, Аня заболела, я буду её замещать». Окей, кому какое дело, с таким же успехом они могли бы прислать нам в качестве менеджера собаку — ничего бы не изменилось.
Читать дальше →

Как я случайно раскрыла мошенничество национального масштаба на Airbnb

Reading time18 min
Views82K

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




Перевод статьи Элли Конти, журналистки, ранее работавшей в журнале Vice

Звонок раздался минут за 10 до того, как мы планировали заселиться в найденную на Airbnb квартиру. Я сидела в пивной, находившейся прямо за углом от съёмной квартиры на Норт-Вуд стрит в Чикаго, когда звонивший сказал, что запланированный въезд не состоится. Он пояснил, что предыдущий постоялец смыл в туалет что-то не то, и всю квартиру затопило. Он извинился, и пообещал разместить нас в другой его квартире, пока он не вызовет сантехника.

Мы с двумя друзьями прилетели в этот город в надежде расслабиться на хвосте у уходящего лета. Мы купили билеты, чтобы пойти на сентябрьский музыкальный фестиваль Riot Fest, где должны были выступать Blink-182 и Taking Back Sunday. Но путешествие не задалось ещё до этого звонка. Примерно за месяц до этого первый хозяин квартиры с Airbnb уже отменил нашу бронь, и у нас оставалось немного времени на замену. Пытаясь найти что-то ещё, я обнаружила квартиру, выставленную парой, Беки и Эндрю. Да, на фотографиях дом выглядел простеньким, но достаточно милым, особенно учитывая поджимавшее время – он был наполнен светом, просторным, и располагался близко к синей ветке метро.
Читать дальше →

Дробное броуновское движение

Reading time9 min
Views8K

Введение


fBM расшифровывается как Fractional Brownian Motion (дробное броуновское движение). Но прежде чем начать говорить о природе, фракталах и процедурных рельефах, давайте на минуту углубимся в теорию.

Броуновское движение (Brownian Motion, BM), просто, без «дробности» — это движение, при котором положение объекта с течением времени меняется со случайными инкрементами (представьте последовательность position+=white_noise();). С формальной точки зрения BM является интегралом белого шума. Эти движения задают пути, которые являются случайными, но (статистически) самоподобными, т.е. приближенное изображение пути напоминает весь путь. Fractional Brownian Motion — это схожий процесс, в котором инкременты не полностью независимы друг от друга, а в этом процессе существует некая память. Если память имеет положительную корреляцию, то изменения в заданном направлении будут иметь тенденцию к будущим изменениям в том же направлении, и путь при этом будет плавнее, чем при обычном BM. Если память имеет отрицательную корреляцию, то за изменением в положительную сторону с большой вероятностью последует изменение в отрицательную, и путь окажется гораздо более случайным. Параметр, управляющий поведением памяти или интегрированием, а значит и самоподобием, её размерностью фрактала и спектром мощности, называется показателем Хёрста и обычно сокращается до H. С математической точки зрения H позволяет нам интегрировать белый шум только частично (допустим, выполнить только 1/3 интегрирования, отсюда и «дробность» в названии) для создания fBM под любые нужные нам характеристики памяти и внешний вид. H принимает значения в интервале от 0 до 1, которые описывают, соответственно, грубое и плавное fBM, а обычное BM получается при H=1/2.


Здесь функция fBM() использована для генерации рельефа, облаков, распределения деревьев, вариаций их цветов и деталей крон. «Rainforest», 2016: https://www.shadertoy.com/view/4ttSWf
Читать дальше →

Information

Rating
Does not participate
Registered
Activity