Pull to refresh
13
0

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

Send message

Эффект Монреаля: почему языкам программирования нужен Царь стилей

Level of difficultyMedium
Reading time7 min
Views9.3K

Давайте представим нереалистичный сценарий, где вы выбираете язык программирования для проекта, который в перспективе станет очень большим. Допустим, это будет набор сервисов в монорепозитории, над которыми работает более 100 человек. Чтобы сделать этот сценарий ещё менее реалистичным, предположим, что вы игнорируете типичные ограничения, например, не учитываете, сможете ли использовать сборщик мусора, и впишется ли поставленная задача в конкретный стек технологий.

Пусть это будет мысленный эксперимент. Подыграйте мне. Если вы читали мою прошлую статью (англ.), то должны правильно предположить, что я бы предпочёл экспрессивный язык, ориентированный на профессионалов. Так и есть. Но в гибком языке программирования есть серьёзная проблема с масштабированием – слишком много стилей оформления кода и способов его написания. В итоге просто не обойтись без руководств по стилю, которые помогут сориентироваться в правильной реализации.

Какое подмножество C++ или Kotlin вы используете? Что вы предпочтёте: project.toml или requirements.txt? Теперь у вашего языка есть возможность поэтапной типизации с помощью аннотаций типов. Хотите ей воспользоваться? Как вы реализуете конкурентность: с помощью многопоточности, Tokio или std::async?

Чем более экспрессивный язык, тем сложнее всё становится. И здесь на сцену выходит Go. И речь не только о gofmt, но и о его стандартной библиотеке и согласованности. В Kotlin вам приходится гадать, что лучше использовать для ошибок: исключения или объекты Result? В случае же Go вам всё ясно – ищем err. Да, это многословно, но зато предсказуемо.

Экспрессивные языки прекрасны, но часто создают путаницу. Вы можете использовать богатый и комплексный язык, поддерживающий миллион способов реализации одного и того же. Именно это я хочу вам показать. Как же сохранить всю эту мощь, но уменьшить беспорядок? Как избежать возникновения 500 поддиалектов? Но прежде, чем переходить к решениям, обсудим Scala.
Читать дальше →
Total votes 50: ↑52 and ↓-2+54
Comments22

Хватит ли места на рынке D2D после прихода SpaceX?

Level of difficultyMedium
Reading time13 min
Views4.2K
image

В марте 2024 года регулятор FCC согласовал нормативно-правовую базу для сервиса прямого спутникового доступа (Direct-to-Device, D2D) в США. SpaceX, использующий на правах сублизинга частоты сотового оператора T-Mobile, будут иметь вторичный приоритет. Такое правило закреплено в п. 4.4 Регламента радиосвязи ITU (non-protected/non-interference basis) — не создавать помех приоритетным сервисам, которым частоты в диапазоне были выделены ранее. Однако США стали первой страной, применившей его для D2D. Вероятно, вскоре их примеру последуют и другие страны. Использование сотовых частот даёт возможность подключить обычные устройства. Сначала это будут сообщения/сигнал SOS с координатами, потом добавится голос, а затем и передача данных на скоростях 2-4 Мбит/с. Пока D2D воспринимается как премиальный сервис (Apple iPhone и флагманы Huawei). Но приоритетным для него будут наименее развитые страны Африки и Азии, где на «границе сети» живут оставшиеся полмиллиарда абонентов, нуждающиеся в базовых услугах. И на этом рынке уже тесно и без SpaceX.
Читать дальше →
Total votes 40: ↑40 and ↓0+40
Comments1

Паяем классическую педаль Marshall Bluesbreaker

Level of difficultyEasy
Reading time8 min
Views6.1K


Привет, Хабр! 62 года назад англичанин Джим Маршалл скопировал гитарный усилитель Fender Bassman из США. Британские лампы зазвучали совсем не так, как американские. Различие в характеристиках громкоговорителей также ощутимо повлияло на звук.

Так появился мировой стандарт перегруженного электрогитарного звучания, благодаря которому, получило своё развитие множество стилей рока и металла.

К тридцатилетнему юбилею своего первого культового комбоусилителя компания «Маршалл» выпустила транзисторную педаль, повторяющую его звучание. А сегодня я соберу свой экземпляр этой педали.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments12

На пути к самодельным радиолампам. Стекло: классификация, опознание, подготовка

Level of difficultyEasy
Reading time7 min
Views5.8K

Минимально необходимое о стеклодувных подготовительных работах. В ключе кустарно-хоббийных экзерсисов, где стекло добывается по случаю, часто немаркированное, случается, что и в скверном состоянии от неправильного хранения, последний оплот неплохого легкоплавкого стекла — производство неоновой рекламы — пустили по миру светодиоды. Лабораторная посуда и приборы теперь изготавливаются из стекла импортного боросиликатного. Красивого, удобного и термостойкого, но и чрезвычайно дорогого и непременно требующего для своей обработки кислород. Тем не менее остатки старых трубок — заготовок для стеклодувного дела — всё ещё можно отыскать частным порядком.
Читать дальше →
Total votes 85: ↑85 and ↓0+85
Comments59

Графика древности: пятая волна. Sega Saturn и Sony PlayStation (часть 2/4)

Level of difficultyMedium
Reading time25 min
Views12K

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

История успеха консолей пятого поколения началась в 1993 году с консоли 3DO, но настоящая битва за внимание геймеров была впереди. Пятое поколение не только определило саму форму современных игр, но и смену главных действующих лиц — компаний, задающих тренды.

Сегодня рассмотрим две главнейшие платформы поколения, Saturn от некогда великой, но начинающей стремительно терять полимеры Sega, и PlayStation от новичка в индустрии видеоигр — Sony. Заодно узнаем кое-что про концептуальное противостояние квадов и треугольников, а также про необычные сложности в реализации эффектов полупрозрачности.
Читать дальше →
Total votes 79: ↑78 and ↓1+77
Comments19

Готовимся к вопросам по вёрстке на интервью Frontend-разработчика: свойство display

Level of difficultyMedium
Reading time7 min
Views11K


За свою карьеру у меня было достаточно много собеседований. Конечно, одной из основных тем вопросов была вёрстка. Немного похвалюсь. Не было вопроса, на который я не ответил.


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


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


Сегодня я дам ответ на следующий вопрос: «Зачем нужно использовать свойство display

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

К 30-летнему юбилею DOOM: как два садиста, психопат и мормон создали одну из величайших игр в истории? Часть 2

Level of difficultyEasy
Reading time10 min
Views20K

Продолжим наш рассказ о том, как странная компания нерядовых людей со стрёмными тараканами в голове сделали суперхит — и навсегда изменили всю индустрию геймдева. В прошлый раз мы оставили наших главных героев, Джона Кармака и Джона Ромеро, на пути в мрачный луизианский город Шривпорт. Их, как талантливых и перспективных разработчиков игр, ждала работа на компанию Softdisk. Вряд ли кто-то из них мог тогда представить, что всего через несколько лет они превратятся в живых классиков игровой индустрии — но первые образы и наброски будущего шедевра уже начинали клубиться в их головах. И некоторые черты Doom можно было заметить уже в их ранних творениях!

Все части цикла статей о создании DOOM:

Читать дальше →
Total votes 91: ↑89 and ↓2+87
Comments14

Сны разума: что общего у сновидений с работой нейросетей?

Level of difficultyEasy
Reading time7 min
Views9.5K

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

Сны видят многие высокоорганизованные животные, далеко не только люди. Кошки и собаки нередко демонстрируют это очень наглядно для хозяев, дёргая во сне лапами и явно обозначая, что им снится что-то оживлённое. Увы, до сих пор учёные не сумели докопаться до достоверного объяснения причин, почему это происходит. Исследователи расходятся во мнениях относительно того, являются ли сновидения побочным эффектом иных функций мозга — или же они служат некой собственной, физиологически, психически и эволюционно обусловленной цели.
Читать дальше →
Total votes 46: ↑42 and ↓4+38
Comments7

Почему мы не торопимся применять новые технологии

Level of difficultyEasy
Reading time8 min
Views15K
image

В комментариях к постам про разбор аварии (тут и тут) было развёрнутое обсуждение про новые технологии в ИБП, которые можно внедрить. Коротко — мы не будем внедрять ничего ультрасверхсовременного. Потому что лучшая версия для знакомства с софтом — это 2.4. В случае MS ещё хорошо, когда за цифрами написано что-то вроде SP2. Потому что если пробовать на себе все новые технологии, то это, конечно, дико интересно и прогрессивно, но мешает бизнесу. У нас дефицит свободного времени и рук. Вот, собственно, несколько прикладных историй, почему мы не торопимся нырять в новые технологии.

Пример с новым железом, на котором может строиться вся инфраструктура, думаю, знаком всем, поэтому начну не с него, а с холивара про IPv6 против IPv4.

Протокол v6 невероятно хорош. Его писали думающие люди, он снимает море проблем интернета, он реально крут. Адреса IPv6 практически бесплатные. Они не кончаются. В свою очередь, IPv4 стоят совершенно неприличных уже денег (это вторая статья в себестоимости виртуальной машины после железа), постоянно дорожают — и, что гораздо хуже, не всегда можно взять в аренду нужное их количество. Бывает, что к нам заезжает крупный клиент, мы хотим арендовать ещё 256 адресов v4 — и блок освобождается не через 15 минут, а через несколько дней. То есть нам надо постоянно ковыряться с тем, чтобы они были.

Но при этом IPv6 ещё хуже с точки зрения реального применения. Вообще, я лично не совсем понимаю, кому сейчас он нужен. Многие наши коллеги, кто пользуется, говорят просто: «В РФ v6 нет и не будет в ближайшее время, наверное». А специалисты по ИБ ещё категоричнее: «Я его просто отрубаю от греха подальше».
Читать дальше →
Total votes 77: ↑75 and ↓2+73
Comments42

Канал передачи 500 Кбит/с со стратостата

Level of difficultyMedium
Reading time6 min
Views12K

Последние несколько месяцев я работал над системой связи для стратостата. И хотя в первую очередь мне бы хотелось поговорить о высокоскоростной передаче данных на Землю, в этой статье я задокументировал всё, над чем работал.
Читать дальше →
Total votes 66: ↑66 and ↓0+66
Comments54

Действующий процессор на 13 микросхемах стандартной логики

Level of difficultyMedium
Reading time7 min
Views20K


Привет, Хабр! Для меня было просто невозможно пройти мимо этого схемотехнического чуда. Горстка деталей на небольшой двусторонней плате выполняет команды машинного языка и выводит результат в виде двоичного кода!

Действующая модель называется "TD4 CPU", является проектом с открытыми исходниками, реально работает и позволяет понять устройство и принцип работы процессора.
Читать дальше →
Total votes 111: ↑110 and ↓1+109
Comments53

Установка Gentoo на Playstation 3

Level of difficultyMedium
Reading time7 min
Views11K

История Linux на PS3 довольно интересна. Если вы знакомы с историей PS3, то, вероятно, знаете, что Sony выпустила её в 2006 году с поддержкой возможности запуска других операционных систем при помощи функции под названием OtherOS. OtherOS позволяла пользователям устанавливать операционные системы наподобие Linux или FreeBSD во второй раздел жёсткого диска PS3.

В 2010 году Sony в прошивке 3.21 избавилась от поддержки OtherOS «из соображений безопасности». На самом деле это означало, что некоторые люди начали использовать эту функцию для глубокого изучения внутренностей PS3 и разбираться, как пиратить игры. Благодаря модифицированной прошивке, можно использовать OtherOS с современными прошивками; именно этим мы и займёмся.
Читать дальше →
Total votes 53: ↑53 and ↓0+53
Comments13

Сэм Альтман: скинет ли загадочный гендиректор OpenAI Илона Маска с парохода современности?

Level of difficultyEasy
Reading time14 min
Views20K

Сэм Альтман обычно выглядит слегка рассеянным и недоумевающим. На улице его легко принять за обычного нёрда не от мира сего. У Сэма не заметно ни стильности Джобса, ни лихости Маска, ни рептилоидности Цукерберга. Однако перед нами — IT-гигачад, который меняет мир на глазах и имеет шансы стать одной из ключевых фигур XXI века: то ли в качестве человека, который откроет двери в светлое будущее, то ли в качестве того, кто разверзнет врата в постапокалиптичный киберпанк. Сэму Альтману мы обязаны созданием всё более совершенных и продвинутых нейросетей на основе языковых моделей, а вместе с ними — ChatGPT со всеми его странностями и крипотой.

Многое в биографии Альтмана остаётся неясным даже сейчас, в 2023-м году, когда его имя не сходит с первых полос новостных сайтов. Только в этом мае он успел стать одним из главных подписантов письма об опасности неконтролируемого развития ИИ («мы все умрём, но это не точно»), провести переговоры с французским президентом, объехать несколько мировых столиц с выступлениями под протесты нейросетефобов, привлечь $115 млн в криптостартап по биометрии сетчатки глаза и выступить на слушаниях в Конгрессе США. Всё это время Сэм Альтман говорил о фантастических перспективах, которые сулит ИИ — что не мешает ему уже много лет оборудовать логово параноика с запасами оружия, консервов и всего полагающегося для встречи Армагеддона. А ещё он создал некий тайный Ковенант с целями, от которых к шапочке из фольги потянется и не слишком большой любитель конспирологии. Шутка (но это не факт).

Штош, познакомимся с Сэмом Альтманом поближе — похоже, уже пора.
Читать дальше →
Total votes 61: ↑59 and ↓2+57
Comments13

Массовый дефейс веб-сайтов .РФ

Level of difficultyMedium
Reading time7 min
Views67K

26 мая 2023 года произошёл массовый дефейс веб-серверов национального сегмента сети интернет .РФ. В качестве цели атаки выступила CMS «Битрикс».

В ходе расследования выяснилось, что атака подготовлена заранее. Подготовка велась с 2022 года через известные уязвимости, включая CVE-2022-27228. Техническое описание см. на форуме разработчиков. Возможно, это самая крупная атака против национального сегмента .РФ в его истории.

Компания CyberOK выпустила отчёт c описанием атаки и разъяснением необходимых действий для того, чтобы удалить с сервера бэкдор, устранить уязвимости «Битрикса» и восстановить приложение. Также приведены рекомендации по защите веб-приложения.
Читать дальше →
Total votes 83: ↑77 and ↓6+71
Comments102

Кто до сих пор использует PHP?

Level of difficultyEasy
Reading time11 min
Views18K

Свой путь в сфере разработки я начала с языка PHP, но позднее в индустрии программирования акцент сместился в сторону JavaScript. Отчасти причина в том, что фронтенд-составляющая веб-среды так или иначе работает именно на JS. В этой сфере я провела последние десять лет.

Недавно мне подвернулась кое-какая работа, связанная с PHP. Поначалу я была удивлена, ведь за этим языком закрепилась дурная слава – преимущественно из-за его ассоциирования с устаревшими проектами WordPress (и всеми вытекающими из этого уязвимостями). Но WordPress – это всё же не PHP.

В общем мне стало любопытно. Кто они – те люди, которые до сих пор используют PHP? Почему они это делают? И как этот опыт можно сравнить с моим скромным миром серверных проектов на JS?
Читать дальше →
Total votes 113: ↑63 and ↓50+13
Comments77

Ностальгические игры: GTA Vice City (часть 1)

Level of difficultyEasy
Reading time10 min
Views13K
image

Знакома ли вам ретроэстетика, цветастые гавайские рубахи и броские неоновые вывески? Если вы ответите «нет», то с уверенностью могу сказать, что вы не только не жили в Америке 80-х, но и не застали игровую индустрию начала нулевых. Ведь именно в тот период вышла Grand Theft Auto III, которая в 2001 году произвела необычайный фурор в мире интерактивных развлечений. Спустя год, желая закрепить успех, компания Rockstar Games выпустила, на мой взгляд, лучший продукт из трилогии GTA шестого поколения приставок — Vice City. Игра брала не только своими нововведениями в сравнении с третьей частью, но и шикарной атмосферой, которую создавали аутентичная музыка прямиком из 80-х, автомобили, одежда, причёски и, конечно же, море неона! Она удачно впитала в себя все самые значимые культурные веяния того времени, перенимая множество идей у фильмов и сериалов золотой эпохи Голливуда. Именно поэтому, играя в GTA Vice City, ощущаешь себя участником не просто игры, но фильма, в котором ты на главных ролях!
Читать дальше →
Total votes 72: ↑68 and ↓4+64
Comments73

16 простых и эффективных правил дизайна UI

Level of difficultyEasy
Reading time11 min
Views26K

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

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

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

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

Самый быстрый способ обучения — это практика, так что приступим!
Читать дальше →
Total votes 67: ↑66 and ↓1+65
Comments13

Ультразвуковая сварка

Level of difficultyMedium
Reading time8 min
Views13K
Картинка Usertrmk, Freepik

Множество технологических процессов, сопровождающих создание различных систем, связано, так или иначе, с соединением составляющих эти системы компонентов. При этом могут возникать ситуации, где преимуществом перед классическими методами создания соединений обладает ультразвук: сварка тоненького волоска проволоки и металлической детали, соединение друг с другом двух тончайших лепестков фольги, пластиковых деталей, элементов одежды и т. д. Решить все вышеперечисленные задачи даёт возможность ультразвуковая сварка, которая является высокотехнологичным способом соединения материалов между собой, и именно о ней мы и поговорим в этой статье.
Читать дальше →
Total votes 61: ↑60 and ↓1+59
Comments31

Достаточно одной К155ЛА3

Level of difficultyMedium
Reading time6 min
Views50K

Продолжая тему легендарных микросхем, нельзя обойти вниманием замечательнейшую микросхему 7400, также известную на постсоветском пространстве, как К155ЛА3.

Давным-давно, когда деревья были большими, а я ещё учился в старших классах, на меня снизошло откровение от старших товарищей, что практически любое цифровое устройство можно собрать только на микросхемах К155ЛА3. Утверждение может показаться спорным, но ничто не мешает нам его проверить.

И поможет нам в этой проверке другое откровение: «Инверсия конъюнкции есть дизъюнкция инверсий». Заодно и разберёмся, что есть «конъюнкция», что есть «дизъюнкция», и причём здесь «инверсия».
И это совсем несложно
Total votes 201: ↑196 and ↓5+191
Comments156

PCIe для электронщиков: анатомия канала передачи

Level of difficultyMedium
Reading time8 min
Views11K

В предыдущий раз мы разбирали дифпары, их основы, правила разводки и известные допуски PCIe в этом отношении. Сегодня же мы поговорим о конкретных сигналах, на которых работает PCIe, а также узнаем, какие разъёмы применимы к этому интерфейсу.
Читать дальше →
Total votes 70: ↑65 and ↓5+60
Comments5
1
23 ...

Information

Rating
Does not participate
Location
Россия
Registered
Activity