Pull to refresh
12
0
Ильяс @Juma

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

Send message

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

Reading time20 min
Views57K

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


Введение


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

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

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

Законы


Закон Амдала


Закон Амдала — это формула, демонстрирующая потенциал ускорения вычислительной задачи, которого можно достичь при увеличении количества ресурсов системы. Обычно он используется в параллельных вычислениях, и может предсказать наличие реальных преимуществ от увеличения количества процессоров с учётом ограничений параллелизуемости программы.
Читать дальше →
Total votes 84: ↑82 and ↓2+80
Comments21

Нет комарам! Обзор антимоскитных «фитобоеприпасов»

Reading time15 min
Views30K
Написав статью про растения отпугивающие клещей я получил большое количество вопросов по поводу других насекомых. И тут уж комары — лидеры. Им этот обзор и посвящается, объединил в одно сообщение все заметки из своего канала с хэштегом #mosquitocide


Скажем НЕТ Комарам!
Total votes 60: ↑58 and ↓2+56
Comments74

Нет клещам! Растения против переносчиков болезни Лайма

Reading time3 min
Views44K
Сегодня я написал в своем канале заметку про отпугивание клещей растительными заграждениями. А потом подумал, и решил продублировать на хабр. Пусть она и небольшая по размеру, и не совсем подходит под характерные для меня лонгриды. Но ведь не у всех есть телеграм. И именно сейчас лучшее время для поиска и закупки семян различных растительных репеллентов и «клещегонов». Поэтому сегодня под катом — про биобарьеры против боррелиозного клеща. Из каких растений их лучше сделать!


Защитить дачу от клещей!
Total votes 86: ↑86 and ↓0+86
Comments185

Про установку и использование LineageOS 16, F-Droid

Reading time127 min
Views310K
Предлагаю вашему вниманию инструкцию как оптимально (по моему мнению) перейти на свободное программное обеспечение при использовании смартфона на примере операционной системы LineageOS (далее сокращённо LOS) и приложений из F-Droid.

Я думаю, что это статья будет вам интересна, даже если вы не можете установить себе LOS, так как в данной статье также рассмотрены стандартные настройки Android, настройки и методика использования полезных приложений, магазин приложений F-Droid, разрешения Android, которые нельзя ограничить и другие, возможно полезные для вас нюансы.
Читать дальше →
Total votes 74: ↑72 and ↓2+70
Comments192

Руководство Google по стилю в C++. Часть 1

Reading time4 min
Views55K
Часть 1. Вступление
Часть 2. Заголовочные файлы
Часть 3. Область видимости
Часть 4. Классы
Часть 5. Функции
Часть 6. Специфика Google
Часть 7. Ещё возможности C++
Часть 8. Именование
Часть 9. Комментарии
Часть 10. Форматирование
Часть 11. Исключения из правил


Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на родном, приятнее иметь руководство на последнем.
Эта статья является переводом части руководства Google по стилю в C++ на русский язык.
Исходная статья (fork на github), обновляемый перевод.
Это вступительная часть руководства, в которой рассматриваются общие вопросы «Зачем?»
Также после перевода будет несколько ответов на возможные вопросы.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments0

42 оператора расширенного поиска Google (полный список)

Reading time15 min
Views278K
Те, кто давно занимается поисковой оптимизацией, хорошо знают об операторах расширенного поиска Google. Например, почти все знают об операторе site:, который ограничивает поисковую выдачу одним сайтом.

Большинство операторов легко запомнить, это короткие команды. Но уметь эффективно их использовать — совсем другая история. Многие специалисты знают основы, но немногие по-настоящему овладели этими командами.

В этой статье я поделюсь советами, которые помогут освоить поисковые операторы для 15 конкретных задач.
Читать дальше →
Total votes 127: ↑124 and ↓3+121
Comments40

Tor Hidden Service как техника Nat Traversal

Reading time2 min
Views41K
За последние несколько месяцев мне несколько раз пришлось решать довольно однотипные задачи — регулярно получать доступ на компьютеры, «спрятанные» за NAT. Пока это был один стационарный компьютер, все решалось пробросом порта на домашнем роутере плюс DynDNS. Потом добавился ноутбук. И еще один. Ноутбуки могли подключаться к домашнему WiFi, а могли оказаться, например, на рабочем месте. Наша компания предоставляет услуги VPN, но именно в этот период VPN по каким-то причинам работал не стабильно. В ход пошли VPS, обратные ssh-туннели. Когда конфигурация перестала помещаться в голове, пришла идея сократить количество сущностей, используя Tor Hidden Service.
Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments38

Самостоятельная диагностика жестких дисков и восстановление данных

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

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

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


Читать дальше →
Total votes 101: ↑99 and ↓2+97
Comments114

Как проводить Code Review по версии Google

Reading time5 min
Views127K
Вопросы код-ревью меня интересуют очень давно. Много раз возникали те или иные проблемы то с качеством кода, то с климатом в коллективе. И действительно, code review — это если не единственное, то одно из самых главных мест для возникновения конфликтов в коллективе разработчиков.

И вот недавно при подготовке к очередному выпуску подкаста "Цинковый прод" я узнаю, что Google опубликовал свод правил по проведению Code Review, битком набитый ценными мыслями. Весь материал довольно объемный и не влезет в одну статью, поэтому я постараюсь выделить наиболее интересные (мне) мысли.


Итак, поехали

Читать дальше →
Total votes 154: ↑147 and ↓7+140
Comments134

Заметки верстальщика: Полезные расширения Google Chrome в 2019 году

Reading time4 min
Views50K

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

Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments16

Я мотоцикл покупал, чтобы ездить, а не чтобы падать

Reading time8 min
Views165K


Эта статья не совсем в формате Хабра, но, наблюдая какими темпами растет количество двухколесных на улицах столицы, в том числе и среди ИТ-шников, я всё же рискну — может это спасёт несколько жизней, что не так уж и плохо.

Когда лет 10 назад я купил себе первый мотоцикл, любая встреча двухколесных на дороге была целым событием. Последние же несколько лет ситуация изменилась кардинально — пробка из мототехники в междурядье уже каждодневная обыденность. Размышлять на тему, почему это происходит я не буду, а постараюсь просто поделиться опытом «выживания в большом городе» с теми, кто только купил или пока просто задумывается. Вполне возможно, что некоторые вещи будут полезны и любителям электротранспорта.
Читать дальше →
Total votes 266: ↑227 and ↓39+188
Comments1346

Лучшие методики тестирования в JavaScript и Node.js

Reading time49 min
Views60K

Это исчерпывающее руководство по обеспечению надёжности в JavaScript и Node.js. Здесь собраны десятки лучших постов, книг и инструментов.

Сначала разберитесь с общепринятыми методиками тестирования, которые лежат в основе любого приложения. А затем можно углубиться в интересующую вас сферу: фронтенд и интерфейсы, бэкенд, CI или всё перечисленное.
Total votes 47: ↑46 and ↓1+45
Comments3

Шейдеры 3D-игр для начинающих

Reading time19 min
Views24K
image

Хотите научиться добавлять в свою 3D-игру текстуры, освещение, тени, карты нормалей, светящиеся объекты, ambient occlusion и другие эффекты? Отлично! В этой статье представлен набор техник затенения, способных поднять уровень графики вашей игры на новые высоты. Я объясняю каждую технику таким образом, чтобы вы могли применить/портировать эту информацию в любом стеке инструментов, будь то Godot, Unity или что-то иное.

В качестве «клея» между шейдерами я решил использовать великолепный игровой движок Panda3D и OpenGL Shading Language (GLSL). Если вы пользуетесь таким же стеком, то получите дополнительное преимущество — узнаете, как использовать техники затенения конкретно в Panda3D и OpenGL.
Читать дальше →
Total votes 46: ↑46 and ↓0+46
Comments6

Асинхронное программирование (полный курс)

Reading time2 min
Views98K

Методы асинхронного программирования


Асинхронное программирование за последнее время стало не менее развитым направлением, чем классическое параллельное программирование, а в мире JavaScript, как в браузерах, так и в Node.js, понимание его приемов заняло одно из центральных мест в формировании мировоззрения разработчиков. Предлагаю вашему вниманию целостный и наиболее полный курс с объяснением всех широко распространенных методов асинхронного программирования, адаптеров между ними и вспомогательных проемов. Сейчас он состоит из 23 лекций, 3 докладов и 28 репозиториев с множеством примеров кода на github. Всего около 17 часов видео: ссылка на плейлист.

Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments17

Интернет для дачника. Добываем максимальную скорость в сетях 4G. Часть 1. Выбор правильного роутера

Reading time10 min
Views194K
Несколько лет назад я уже проводил обзор средств связи для дачника или проживающего в своем доме, где широкополосный доступ в сеть не доступен или стоит таких денег, что проще переселиться в город. С тех пор немало терабайт передано и мне стало интересно, а что сейчас есть на рынке для хорошего доступа в сеть по LTE или 4G. Итак, я собрал немного старых и новых роутеров с возможностью работы через сотовые сети и сравнил скорость работы и их функции. За результатами прошу под кат. По традиции, если кому лень читать, может посмотреть ролик.


Total votes 35: ↑35 and ↓0+35
Comments97

Записки фрилансера: разработка первого React Native-приложения

Reading time37 min
Views40K
Автор материала, перевод которого мы публикуем, недавно выпустил своё первое мобильное приложение, написанное на React Native. Так случилось, что это приложение стало и его первым проектом, который он создал как программист-фрилансер. Здесь он расскажет о том, с чем ему пришлось столкнуться в ходе работы — от инициализации проекта до его публикации в App Store и Google Play.


Читать дальше →
Total votes 43: ↑42 and ↓1+41
Comments6

Сети для самых маленьких. Часть ой, всё

Reading time4 min
Views153K
Дорогие мои друзья, отважные критики, тихие читатели и тайные почитатели, СДСМ заканчивается.



Я не могу похвастаться тем, что за 7 лет я затронул все темы сетевой сферы или тем, что хотя бы одну из них раскрыл полностью. Но это и не было целью. А целью этой серии статей было ввести юного студента за руку в этот мир и проводить его шаг за шагом по основной галерее, давая общее представление, и уберечь от болезненных скитаний по тёмным уголкам сознания Олифера и Олифера в мучительных попытках найти ответ на вопрос, как всё это применить в жизни.
СДСМ планировался коротким практическим курсом «как научиться в сети за месяц», а вылился в 16 (на самом деле 19) длинных выпусков, которые мы уже даже переименовали в «Сети Для Самых Суровых». Общее количество символов перевалило за 1 000 000.
Читать дальше →
Total votes 55: ↑55 and ↓0+55
Comments38

Шпаргалка по шаблонам проектирования

Reading time2 min
Views1.4M

Перевод pdf файла с сайта http://www.mcdonaldland.info/ с описанием 23-х шаблонов проектирования GOF. Каждый пункт содержит [очень] короткое описание паттерна и UML-диаграмму. Сама шпаргалка доступна в pdf, в виде двух png файлов (как в оригинале), и в виде 23-х отдельных частей изображений. Для самых нетерпеливых — все файлы в конце статьи.

Под катом — много картинок.

Читать дальше →
Total votes 192: ↑179 and ↓13+166
Comments66

Ликбез по электротравмам (часть вторая): лонгрид о первой помощи и реанимации

Reading time13 min
Views37K
По многочисленным просьбам, рассказываем о первой помощи при поражении электрическим током. Напомню, что мы намеренно коснулись этой темы в связи с участившимися сообщениями в СМИ об электротравмах, полученных при использовании смартфонов, наушников и др. гаджетов. В пособиях, статьях и учебниках предлагаются различные алгоритмы и методики оказания такой помощи. Это создает проблемы для людей, оказывающих помощь, которые порой не могут решить, как на самом деле правильно. Ситуация в очередной раз демонстрирует, что медицина вторая по точности наука после богословия.



При этом большинство людей хотят четко представлять “как правильно” и “как эффективно”, а не додумывать и спорить, автор какого пособия прав и чей преподаватель. Под катом вас ждёт лонгрид о первой помощи при электротравме с упором в сердечно-легочную реанимацию (с которой больше всего путаницы). Запихнуть всё в одну статью будет тяжело, поэтому в данный момент мы обойдемся первой помощью для взрослых, ещё один материал я посвящу возрастным особенностям.
Total votes 73: ↑69 and ↓4+65
Comments114

Рисуем мультяшный взрыв за 180 строчек голого C++

Reading time6 min
Views69K
Неделю назад я опубликовал очередную главу из моего курса лекций по компьютерной графике; сегодня опять возвращаемся к трассировке лучей, но на сей раз пойдём самую чуточку дальше отрисовки тривиальных сфер. Фотореалистичность мне не нужна, для мультяшных целей подобный взрыв, как мне кажется, сойдёт.

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

Итого, как в таких условиях нарисовать вот такую картинку за 180 строчек кода?


Читать дальше →
Total votes 204: ↑204 and ↓0+204
Comments58
1
23 ...

Information

Rating
Does not participate
Registered
Activity