Как стать автором
Обновить
17
0

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

Отправить сообщение

Современные команды и фичи Git, которыми стоит пользоваться

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров28K

Мы, разработчики ПО, пользуемся git каждый день, однако большинство из нас применяет только самые основные команды, например, addcommitpush и pull, как будто на дворе по-прежнему 2005 год.

С тех пор в Git появилось множество фич, пользование которыми может сильно упросить вашу жизнь. Так давайте исследуем некоторые из недавно добавленных современных команд git, о которых вам стоит знать.

Читать далее
Всего голосов 75: ↑73 и ↓2+71
Комментарии29

Как выработать интуитивное понимание логарифмов

Уровень сложностиСложный
Время на прочтение14 мин
Количество просмотров29K

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

Зачем этому учиться?


Для меня способность вычисления логарифмов от руки — крайне нужный навык. Количество концепций, которые мы храним в рабочей памяти, ограничено, поэтому логично будет освоить максимально много концептуальных строительных блоков. Развив в себе хорошее интуитивное понимание логарифмических выражений, вы будете ощущать себя бесконечно увереннее в работе с уравнениями, включающими в себя логарифмы, и сможете справляться с уровнем сложности, который раньше считали немыслимым. А ещё они будут меньше пугать или отвлекать вас, когда встретятся в каком-то другом контексте.
Читать дальше →
Всего голосов 78: ↑75 и ↓3+72
Комментарии29

Повербанк для ноутбука на стероидах или DIY выходного дня

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров27K

Многие летом работают с дачи, а некоторые даже находят уединенные уголки в лесу с доступом к 4G. И все бы хорошо, но на даче иногда «пропадает свет», а в лесу его и вовсе нет. Я расскажу, как сделать на скорую руку power bank для ноутбука, который обеспечит дни, а при желании и недели свободы от розетки.

Читать далее
Всего голосов 75: ↑75 и ↓0+75
Комментарии115

Прикладное adb (Android Debug Bridge) для зумеров

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров9.6K

Это обзорная статья для таких же, как и я, которые начинали программировать уже в тот момент, когда весь функционал командной строки обрел "кнопочки" в интерфейсе.

В этой инструкции хочу рассказать о командах adb, которые использовать легче, чем делать то же самое через UI.

Основная задача — показать возможности adb, которые избавят от рутинных шагов при разработке/отладке. Например, позволят быстро переключать светлую тему на темную.

Ниже рассмотрим только те команды, которые действительно пригождаются хотя бы раз в пару дней. Для остального есть документация.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии9

Считаем 2+2×2

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров7.1K

Статья-туториал для тех, кто хочет узнать, как из заголовка получается «6» методом рекурсивного спуска. Начнём с самого простого и дойдём до вычисления -1.82 или около того из строки -2.1+ .355 / (cos(pi % 3) + sin(0.311)).

Конечно, этот метод неоднократно описан на Хабре и зачитан каждому айтишному первокурснику. В своей версии я хочу изложить его очень просто, подробно и поэтапно, элементарной практикой на JavaScript. Ссылки на рабочий код — в самом низу.

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии6

Обзор софта для топологической оптимизации и бионического дизайна

Время на прочтение6 мин
Количество просмотров18K


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

В этой статье мы рассматриваем ПО, которое способно справиться с этими задачами.
Всего голосов 16: ↑16 и ↓0+16
Комментарии14

Гальваническое покрытие 3D-печатных моделей

Время на прочтение11 мин
Количество просмотров16K

Картинка youtube-канал Jason Welsh

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

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

Читать дальше →
Всего голосов 74: ↑72 и ↓2+70
Комментарии33

Android Debug Bridge для тестировщика без SMS и регистрации

Время на прочтение15 мин
Количество просмотров28K

Привет, Хабр! Меня зовут Александр Карпенко, я QA Engineer в inDrive. Я подготовил эту статью для начинающих QA-специалистов. Ниже расскажу, как использовать Android Debug Bridge (ADB) в тестировании мобильных приложений и нужен ли вообще этот инструмент. 

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии4

Парад планет. Апрель 2022

Время на прочтение6 мин
Количество просмотров16K


С середины апреля 2022 года на утреннем небе нашей планеты начинается период совместной видимости нескольких планет одновременно. Данное стечение обстоятельство именуется термином “Парад планет”, что к научным понятиям не относится, и по сути является лишь проекционной иллюзий — несколько планет будут видны относительно недалеко друг от друга — в одном или двух соседних созвездиях. Но в космическом пространстве планеты будут разделены сотнями миллионов и даже миллиардами километров. Какого-либо опасного сближения планет, способного повлиять на стабильность их орбит, не случится. Впрочем, такого случиться ни при каких обстоятельствах не может. Разумеется, это особенное расположение планет никак не скажется на событиях в жизни разумных существ, населяющих одну из планет Солнечной системы.
Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии8

Анонимный Дед Мороз 2021-2022: пост хвастовства новогодними подарками

Время на прочтение1 мин
Количество просмотров9.9K

Какой самый частый комментарий после запуска Хабра-АДМ? Верно! "Пора делать пост Хвастовства." Что ж, пора - значит пора!

Пост Хвастовства объявляется открытым!

С НАСТУПАЮЩИМ НОВЫМ 2022 ГОДОМ!

PS: А если вам кажется, что комментариев пока слишком мало, можете посмотреть, как это было в прошлых сезонах: 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020.

Хвастаться и завидовать
Всего голосов 72: ↑71 и ↓1+70
Комментарии359

Личный проект-долгострой. Глава 1

Время на прочтение10 мин
Количество просмотров6.1K

Кадры из фильма-долгостроя, большие змеи и красивые девушки в комплекте. Крутая кондовая графика, пояснения, советы и хитрости рендера. Жуткая красота и красивая жуть. Ковёр! Кормим змей от фотографии до смонтированного результата.

Поглазеть на диво
Всего голосов 14: ↑13 и ↓1+12
Комментарии10

Потребительский экстремизм в GameDev

Время на прочтение7 мин
Количество просмотров15K

Расскажу вам историю судебной тяжбы с игроком, которая отняла у меня полтора года жизни. Ни я, ни тем более клиент удовольствия от этого процесса не получили.

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

Интересно, чем все закончилось?/

Что в этом случае делает администрация? Сначала банит клиента на форуме, если не помогает – блокирует персонажа до устранения нарушений. Примерно так развивался сюжет и в моем случае с одним отличием: клиент выйдя из бана повторно спровоцировал конфликтную ситуацию, получил отказ на претензию, зафиксировал ответы в нотариальном порядке и пошел в суд по Закону «О защите прав потребителей.» (далее - ЗЗПП для краткости).

В иске игрок потребовал все, на что хватило фантазии:

Рекомендации по защите под катом
Всего голосов 69: ↑58 и ↓11+47
Комментарии64

Неопределенное поведение, пронесенное сквозь года

Время на прочтение8 мин
Количество просмотров5.9K

У вас бывают в разработке такие периоды, когда что-то в коде идет не так, ты ищешь баг, а потом оказывается, что за ним стоял еще один баг? Мне нравится искать баги. Это создает ощущение словно ты Шерлок Холмс и являешься главным героем в детективе, где кто-то из обширного списка на вид безобидных классов и функций вызывает неожиданное и даже неопределенное поведение программы, а ты своим зорким взглядом и экспериментами пытаешься вычислить этого мерзавца в кратчайшие сроки.

Можно выделить несколько стадий поиска бага:

• удивление (не знаю как вы, но я каждый раз как в первый раз удивляюсь когда что-то вдруг в моем коде работает не так, как ожидается);

• обвинение всех кругом в баге (коллег по проекту, github, сторонние либы, компилятор), но только не себя;

• смирение с тем, что возможно баг появился из-за меня и поиск бага: анализ выдаваемого результата, локализация ошибки, эксперименты с входными данными; в общем, все, что делает нормальный детектив, только в сфере программирования;

• если причина бага найдена быстро, то я хвалю себя за то, что нашел баг, при этом, я не напоминаю себе, что причиной бага стал тоже я, а не коллеги по проекту, не github, не сторонние либы и не компилятор;

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

Читать далее
Всего голосов 33: ↑31 и ↓2+29
Комментарии35

Слабо поднять такой крошечный контейнер? Создаем контейнеризованный HTTP-сервер на 6kB

Время на прочтение4 мин
Количество просмотров13K
TL;DR  я решил создать самый маленький образ контейнера, при помощи которого все-таки можно сделать что-нибудь полезное. Опираясь на преимущества многоступенчатых сборок, базового образа scratch и крошечного http-сервера на основе этой сборки, я смог ужать результат до 6.32kB!





Если предпочитаете видео, вот ролик по статье, выложенный на YouTube!

Раздутые контейнеры


Контейнеры часто превозносятся как панацея, позволяющая справиться с любыми вызовами, связанными с эксплуатацией ПО. Притом, как мне нравятся контейнеры, на практике мне часто попадаются контейнерные образы, отягощенные разнообразными проблемами. Распространенная беда – размер контейнера; у некоторых образов он достигает многих гигабайт!  

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

Задача


Правила довольно просты:
Всего голосов 60: ↑58 и ↓2+56
Комментарии37

Я работаю программистом в компании, но свои 50 лет хочу встретить иначе

Время на прочтение8 мин
Количество просмотров68K
У меня есть мечта – лет в 50 выйти на пенсию, сидеть на берегу моря и программировать для какого-нибудь проекта. Бесплатно и для души…



Сейчас я сижу на пляже и пишу код за деньги. Мне 34. Я во Вьетнаме. Передо мной столик с ноутбуком, надо мной — навес пляжного бара, слева – славный город Нячанг, а справа – волны Южно-Китайского моря. К этому столику в пляжном баре я шел последние пять лет.
Читать дальше →
Всего голосов 185: ↑174 и ↓11+163
Комментарии167

Коммиты — это снимки, а не различия

Время на прочтение14 мин
Количество просмотров46K

Git имеет репутацию запутывающего инструмента. Пользователи натыкаются на терминологию и формулировки, которые вводят в заблуждение. Это более всего проявляется в "перезаписывающих" историю командах, таких как git cherry-pick или git rebase. По моему опыту, первопричина путаницы — интерпретация коммитов как различий, которые можно перетасовать. Однако коммиты это не различия, а снимки! Я считаю, что Git станет понятным, если поднять занавес и посмотреть, как он хранит данные репозитория. Изучив модель хранения данных мы посмотрим, как новый взгляд помогает понять команды, такие как git cherry-pick и git rebase.

Читать далее
Всего голосов 48: ↑42 и ↓6+36
Комментарии55

Использование алгоритма Прима для генерации соединённых друг с другом пещер

Время на прочтение4 мин
Количество просмотров13K


Я решил объяснить один из алгоритмов генерации карты, используемых в моей игре In the House of Silence. Главное преимущество этого способа заключается в том, что в отличие от других алгоритмов, он никаким образом не может сгенерировать карту с разделёнными частями.

Генерация идеального лабиринта



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

Для понятности я привёл псевдокод, описывающий алгоритм Прима. Будет довольно просто приспособить его под любой язык программирования.
Читать дальше →
Всего голосов 50: ↑50 и ↓0+50
Комментарии5

Как удалить «неудаляемые» приложения со смартфона

Время на прочтение5 мин
Количество просмотров249K


Чтобы увеличить привлекательность смартфонов, производители ставят на них как можно больше разных программ. Это понятно. Просто берём и удаляем ненужное… Стоп.

Оказывается, некоторые программы невозможно удалить. Например, на отдельных моделях Samsung невозможно удалить Facebook (есть только опция 'disable'). Говорят, на Samsung S9 вдобавок предустановлены «неудаляемые» приложения Microsoft.

Эти смартфоны приведены для примера. Такая же проблема и на других моделях. На многих есть неудаляемые программы от самого производителя.

Всё это надо зачистить.
Читать дальше →
Всего голосов 190: ↑179 и ↓11+168
Комментарии203

Анонимный Дед Мороз 2020-2021: пост хвастовства новогодними подарками

Время на прочтение1 мин
Количество просмотров19K
АДМ 2020 на Хабре

Что мы делаем после каждого запуска Хабра-АДМ? Правильно! Публикуем пост Хвастовства.
И особенно приятно, что некоторые участники уже получили свои первые подарки. Так поторопимся и мы.

Пост Хвастовства объявляется открытым!

С НАСТУПАЮЩИМ НОВЫМ 2021 ГОДОМ!

Ваши iCTPEJlOK и kafeman

PS: А если вам кажется, что комментариев пока слишком мало, можете посмотреть, как это было в прошлых сезонах: 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019.
Всего голосов 89: ↑89 и ↓0+89
Комментарии701

Более 10 лет ставлю цели на год: рассказываю, как это делать эффективно

Время на прочтение12 мин
Количество просмотров185K

Меня зовут Павел Комаровский, и я алкоголик занимаюсь саморазвитием уже более 10 лет. Эта статья о том, какой подход к личному целеполаганию я выработал для себя в итоге – надеюсь, она поможет вам избежать ошибок, которых в своё время наделал я.

Я полностью прошёл все стадии грехопадения: в студенческие годы искал сакральные ответы в стопках self-help макулатуры; затем разочаровался и решил, что весь этот «успешный успех» – это разводилово для дурачков (до сих пор уверен, что Наполеон Хилл – шизофреник); позже переосмыслил всё ещё раз и пришёл к своему пониманию того, как может выглядеть саморазвитие с адекватным лицом.

Читать далее
Всего голосов 103: ↑92 и ↓11+81
Комментарии223

Информация

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