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

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

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

Код чаще запускают, чем читают

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

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

Позвольте мне выразить эту мысль более кратко:

мейнтейнер > автор

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

Читать далее
Всего голосов 10: ↑9 и ↓1+13
Комментарии3

Игра в имитацию: как разрабатывать и отлаживать ПО для процессора, которого нет

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

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

Спойлер: делать имитацию. О том, какие подходы существуют и как выжать из них максимум эффективности для имитации сложных многоядерных систем, рассказали инженеры-программисты отдела разработки системного ПО YADRO Светлана Бурлака и Александр Солдатов.

Читать далее
Всего голосов 30: ↑28 и ↓2+34
Комментарии17

Размышления о мире. Часть 1: Панкомпьютационализм

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

Отбросьте невозможное — и то, что останется, каким бы невероятным оно ни казалось, должно быть истиной
"Знак четырех", Артур Конан Дойл

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

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

Читать далее
Всего голосов 13: ↑8 и ↓5+8
Комментарии38

Одноплатники начала декабря 2023 года: почти что новогодние устройства

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

Несмотря на близость праздников, производители компьютерного «железа» продолжают выпускать устройства, хорошие и разные. Это актуально и для одноплатников, которые можно использовать для самых разных целей — от DIY-проектов до решения обычных офисных задач. Несколько гаджетов, которые, по нашему мнению, заслуживают внимания — под катом.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+40
Комментарии9

GOST: швейцарский нож для туннелирования и обхода блокировок

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров116K

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

Сегодня я расскажу о замечательном инструменте под названием GOST. Не пугайтесь, он не имеет никакого отношения к ГОСТ-шифрованию или чему-то подобному, на самом деле это Go Simple Tunnel. Он действительно simple (простой) в использовании и настройке, но при этом невероятно мощный, поскольку поддерживает огромное количество протоколов и транспортов, из которых вы при желании сможете построить самые упоротые и бронебойные комбинации, а именно...

Читать далее
Всего голосов 145: ↑142 и ↓3+174
Комментарии114

Клиповое мышление: как замедлить цифровое слабоумие

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

Это Бренды на коне. Эволюция сыграла с человечеством злую шутку. Наш мозг так устроен, что в нем заложена функция собирать как можно большее количество информации из окружающего мира. В дикой среде это было вопросом выживания. До поры до времени это правило работало: чем больше изучаешь, тем больше развиваешь интеллект. Но всё перевернулось с наступлением века цифровых технологий. Теперь новая информация (нужная и не нужная) окружает нас везде и всюду. А мозг с его эволюционными настройками, уже не актуальными для современного мира, продолжает жадно ее потреблять.

Читать далее
Всего голосов 114: ↑82 и ↓32+69
Комментарии214

Расширяем возможности «малинки» в 2023 году: дополнительные модули и аксессуары для Raspberry Pi Pico

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

Проекты на основе Pi Pico могут быть очень разными — от простеньких самоделок до профессиональных систем. К сожалению, возможностей у Pico не так много, но их количество можно увеличивать при помощи дополнительных аксессуаров, модулей и расширений. Их, надо заметить, немало — многие производители электронных компонентов выпускают собственные варианты. Мы выбрали несколько таких дополнений, которые заслуживают внимания Хабра. Подробности — под катом.
Читать дальше →
Всего голосов 37: ↑35 и ↓2+48
Комментарии2

СДВГ. Вечные прокрастинаторы, лгуны и неряхи

Время на прочтение8 мин
Количество просмотров120K
Предупреждение: данная статья написана не квалифицированным врачом-психиатром, а пациентом с тяжелой потологией, который с призрачными шансами на успех пытается преодолеть свой недуг.

Синдром дефицита внимания и гиперактивности

Нас 5-10% (в зависимости от региона). У большинства из нас после выравнивания гормонального фона в постпубертатный период патология становится менее выраженной. В этом случае нас отличает неряшливость, прокрастинация, шумность, безалаберность и непунктуальность. Мы отвратительные работники, если выбранное нами дело требует системного подхода и длительной концентрации. Вообще-то, честно говоря, почти любое дело требует системного подхода и концентрации. Даже маркетинг и продажи в 21 веке это десятки методик и сотни талмудов. Ну, а программирование, инженерное дело — это вообще не для нас. Продажи и коммуникации — это те сферы, где мы обычно оседаем. Мы быстры и болтливы, к тому же часто очень эмпатичны, поэтому кажемся сами себе менеджерами-суперменами в сравнению с остальными увальнями. Но штука в том, что в этой сфере занято много некомпетентных идиотов. В России нас спасает повальный непрофессионализм и дичайшая некомпетентность серой массы работников этой сферы.

Ах да, еще мы убеждены, что мы не серая масса.
Читать дальше →
Всего голосов 80: ↑70 и ↓10+60
Комментарии261

За 25 лет я выучил 30 языков программирования. Хочу поделиться своим опытом

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

Привет, Хабр! Перевели для вас статью программиста-самоучки, в арсенале которого — три десятка языков программирования. Надеемся, она вдохновит вас поделиться собственными историями становления в кодинге не меньше, чем нас в beeline cloud. Приятного чтения!

Всё началось в далёком 1997 году. С тех пор прошло более 25 лет. Свои первые программы я писал еще под ОС Windows 95 и Windows 98. На тот момент мне было около 12 лет – как раз тот возраст, в котором многие из моего поколения начинали знакомство с программированием. Первым моим языком был Logo, используемый в MicroWorlds от LCSI (Logo Computer Systems Inc). Я получил эту программу от родителей в подарок.

Исчерпав возможности Logo в ограниченной среде MicroWorlds, я перешел на Visual Basic. По очень простой причине — он был мне понятен и к тому же доступен прямо в Microsoft Office. Visual Basic 6 стал первым «настоящим» языком программирования, с которым я познакомился.

Читать далее
Всего голосов 51: ↑25 и ↓26+7
Комментарии151

С алгоритмами в духе LeetCode на собеседованиях пора кончать

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

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

Такой подход основан на идее, что, если человек знаком с алгоритмами и системным дизайном, то и на разработку приложений ему хватит способностей. Это спорное утверждение. Создание приложений требует обширного набора навыков. Они не нарабатываются сотнями часов заучивания паттернов в решениях задач на алгоритмы. Да и рассматриванием сильно упрощенных версий системного дизайна Netflix, Uber или Twitter Threads делу не поможешь. Навыки разработки приложений оттачиваются путем… ну, разработки приложений. Но часто на технических собеседованиях они даже не принимаются в расчет.
Читать дальше →
Всего голосов 116: ↑105 и ↓11+126
Комментарии397

Как понять, есть ли в тебе искра программиста

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

Я думаю начать учиться писать код. Какой ноутбук мне купить? Нужно ли участвовать в буткемпе? Нужны ли моему ребёнку особые курсы или подготовка, чтобы поступить на computer science?

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

Приведу свой совет вкратце


Прежде чем думать обо всём этом: специальности, вузе, в который будет поступать ребёнок, покупке ноутбука, вам нужно понять, есть ли у вас (или у ребёнка) «искра программирования».

Это потребует от вас немного времени и усилий, но здорово то, что онлайн есть куча высококачественных и бесплатных ресурсов, позволяющих вам ощутить, что же такое кодинг и разработка, чтобы вы приняли решение, стоит ли выбрать это в качестве карьеры или хобби. Некоторые из них я приведу в этом посте.
Читать дальше →
Всего голосов 34: ↑31 и ↓3+36
Комментарии22

Я сделал StackOverflow из IT-чатов Telegram

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

Всем привет. Я бэкенд разработчик, и по роду деятельности активно использую разные чаты в Телеге – по Go, Кубернетес, базам данных. Задаю свои вопросы, иногда отвечаю на чужие.

Идея Q&A из Телеги показалась очень интересной, и социально полезной. Обидно что такая кладезь знаний пропадает в недрах неиндексируемых телеграм-чатов. Ведь когда я был начинающим разрабом, общение с коммьюнити позволило мне быстро бустануть скиллы. Пришло время отдавать должок.

Читать далее
Всего голосов 37: ↑34 и ↓3+40
Комментарии35

Вероятно, вы неправильно используете метод __init__ в Python

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

Автор статьи обращает внимание на проблему, которая заключается в использовании метода __init__ для сложной логики создания объектов, что приводит к разрастанию и усложнению кода. Статья предлагает использовать вспомогательные методы, чтобы разделить логику создания объектов на более мелкие и понятные части. Это упростит код и облегчит понимание того, как объекты создаются и инициализируются.

Читать далее
Всего голосов 19: ↑14 и ↓5+13
Комментарии22

Возможности Искусственного Интеллекта в 2023 году. Эндрю Ын

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


Эндрю Ын (Andrew Ng) — один из самых известных в мире экспертов в области искусственного интеллекта (ИИ). Является основателем DeepLearning.AI и Landing.AI, генеральным партнером AI Fund, председателем и соучредителем Coursera, а также преподавателем компьютерных наук в Стэнфордском университете. Сегодня мы подготовили перевод его выступления в Cemex Auditorium Стэнфордского университета, которое состоялось 26 июля 2023 года «Возможности Искусственного Интеллекта в 2023 году».
Читать дальше →
Всего голосов 14: ↑13 и ↓1+13
Комментарии0

10 полезных Github репозиториев для тестировщиков

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

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

Читать далее
Всего голосов 11: ↑10 и ↓1+11
Комментарии2

Об изучении компиляторов и создании языков программирования

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров7.7K
Когда я только начинал изучать компиляторы, я не понимал одного важного момента: Разработка языка программирования и написание компилятора — это два почти совершенно разных навыка. Конечно, между ними есть некоторое пересечение, но меньшее, чем может показаться на первый взгляд!

Я думаю, что это важно знать, потому что обе эти задачи очень сложны! Легче овладеть этими навыками, если решать их по очереди. Ваше первое решение сложной задачи, скорее всего, будет… ну, не таким хорошим, как десятое! Однако довольно часто разработчики создают игрушечный язык, когда пишут свой первый компилятор, а это значит, что они совершают ошибки и учатся сразу на двух сложных проблемах. Хуже того, эти две проблемы взаимосвязаны: Ошибка в одной из них усложняет жизнь в другой. Кроме того, как мы увидим, хотя компиляторы и сложны на первых порах, они, по сути, являются решенной проблемой, в то время как разработка языка программирования — это, скажем так, область продолжающихся исследований.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии5

«Hello world!» или путь к становлению специалистом. База JavaScript

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

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

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

В это статье я начну с базы JavaScript - переменных и типах данных.

Читать далее
Всего голосов 16: ↑7 и ↓9-2
Комментарии28

Как устроены сети: полезные материалы от сотрудников Selectel

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

Фрагмент из курса «Сети для самых маленьких».

Чтобы стать сетевиком, новичку нужно изучить много теории, разобраться в особенностях профессионального оборудования и других аспектах. Мы в Selectel попросили коллег порекомендовать полезные ресурсы по сетевым технологиям, которые пригодятся на старте. Сохраняйте подборку в закладки и делитесь своими вариантами в комментариях.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+34
Комментарии8

Как Visual Studio могла бы выглядеть с новым меню: делюсь GUI-шаблоном

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

Доброго времени года, уважаемые хабровчане! Я занимаюсь разработкой десктоп‑приложений с 2008 года. Наша компания делает специализированные продукты из области ЦОС (DSP), и GUI выглядит как нечто среднее между AutoCAD, Total Commander и Visual Studio. Не для домохозяек. Без видеоуроков и прочих туториалов особо не попользуешься.

В какой‑то момент мы пришли к необходимости полностью переработать меню наших приложений. Стало очевидно, что классическое меню в связке с панелью инструментов — это не лучшее решение. Когда количество уникальных функций (команд уровня меню) перевалило за сотню, то количество переросло в качество: пользователям стало все сложнее находить для себя требуемый, минимально достаточный work set. Особенно тяжко было новым пользователям. Хоть мы в исправности поставляли и видео‑уроки, и прочие туториалы, это не сильно помогало, поскольку далеко не каждый пользователь был согласен в них залезать. В общем, мы поставили себе задачу понизить порог входа в мир наших продуктов за счет изменения концепции меню.

И тут оказалось (внезапно), что развитие GUI в мире десктопа фактически стоит на паузе. Никто ничего нового особо не предлагает. Я пытался найти в окружающем мире какие‑то интересные gui‑шаблоны. Искал в литературе, искал в дистрибутивах известных desktop‑продуктов, поглядывал и на мобилки. Но нигде не нашел. Весь мир был слишком занят мобильной и веб‑разработкой. А гиганты десктопа (Adobe, Microsoft) были слишком связаны принципом «не трогай, если работает» (ну, или просто погрязли в собственном спагетти‑коде). Наконец, я перестал кого‑то ждать и сам сел за решение. И я его придумал и внедрил в нашу продуктовую линейку. И теперь хочу поделиться им с вами.

Чтобы мое решение было проще понять, я не буду его описывать на примере наших, узкоспециализированных программных продуктов ЦОС. Я просто покажу, как будет выглядеть всем известная среда разработки Microsoft Visual Studio, если применить к ней мой принцип формирования меню приложения.

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

Создание первой игры: попытка попасть в gamedev

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

Привет! В этой статье мы поделимся опытом создания нашей первой игры, несмотря на то, что мы не имели большого опыта в создании игр.

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

Информация

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

Специализация

Software Developer
Linux
Python
Git