Search
Write a publication
Pull to refresh
-5
@cosmolevread⁠-⁠only

User

Send message

Вредные советы: как заставить программиста работать лучше

Reading time5 min
Views35K

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

Узнать правила

Google продвигает новый стандарт WebBundles — потенциально опасную для веба технологию «упаковки» веб-сайтов

Reading time5 min
Views49K
В общем потоке новостей остался незамеченным совместный призыв продукт-менеджера Chrome Кенджи Бахе и веб-консультанта Google Юсуке Уцуномии об использовании нового стандарта Web Bundles, разработанного Google. На chromium.googlesource появился соответствующий мануал по использованию WebBundles и, собственно, особо о нем больше не говорилось. Запись от лица Базе и Уцуномии была опубликована еще в ноябре 2019 года, но вызвала реакцию сообщества только сейчас, и то, исключительно на нескольких профильных площадках и в одном блоге, посвященном кибербезопасности.



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

std::atomic. Модель памяти C++ в примерах

Reading time11 min
Views132K

Для написания эффективных и корректных многопоточных приложений очень важно знать какие существуют механизмы синхронизации памяти между потоками исполнения, какие гарантии предоставляют элементы многопоточного программирования, такие как мьютекс, join потока и другие. Особенно это касается модели памяти C++, которая была создана сложной таковой, чтобы обеспечивать оптимальный многопоточный код под множество архитектур процессоров. Кстати, язык программирования Rust, будучи построенным на LLVM, использует модель памяти такую же, как в C++. Поэтому материал в этой статье будет полезен программистам на обоих языках. Но все примеры будут на языке C++. Я буду рассказывать про std::atomic, std::memory_order и на каких трех слонах стоят атомики.

Читать далее

Анонс Nvidia Ampere – Как Хуанг всех приятно удивил

Reading time9 min
Views28K
Никто не станет отрицать – 2020 год толком не успел начаться, как сразу же вошел в историю. Сложная обстановка в мире, где политические амбиции пересекаются с экономическими антирекордами, сильно усложнила привычный расклад вещей. Но несмотря на все невзгоды, текущий год не потерял статуса самого захватывающего года новинок в сфере компьютерного железа. Новое поколение консолей, новые видеокарты и процессоры – ближайшие месяцы будут жаркими и интересными для каждого энтузиаста нашей сферы. И буквально в первый же день осени, 1 сентября, в 19:00 по московскому времени неподражаемый Дженсен Хуанг на своей уютной кухне представил всему миру Ampere – долгожданное семейство новых игровых видеокарт nVidia.

image

Слухи об Ampere ходили еще с начала года, но по большей части не сулили фанатам зеленых ничего хорошего. Многолетнее партнерство NVidia с TSMC, лидером рынка наиболее совершенных кремниевых пластин, оказалось под угрозой после череды ударных успехов AMD. Красный гигант занял на будущее рекордный объем будущих 7-нм пластин, оставив Дженсену Хуангу лишь толику необходимых объемов. Переговоры между компаниями длились долго, но соглашения достичь не вышло. Оставив на балансе старого партнера производство чипов для карт серии Quadro, nVidia обратилась к единственной доступной альтернативе – корейскому Samsung.

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

Как начать писать микросервис на Spring Boot, чтобы потом не болела голова

Reading time5 min
Views11K

Привет! Меня зовут Женя, я Java-разработчик в Usetech, в последнее время много работаю с микросервисной архитектурой, и в этой статье хотела бы поделиться некоторыми моментами, на которые может быть полезно обратить внимание, когда вы пишете новый микросервис на Spring Boot.


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

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

Появится ли Porsche у хакспейса? Интервью с Пашей Жовнером: богомолом и создателем Flipper Zero

Reading time15 min
Views12K

21 августа мы поговорили в прямом эфире с Павлом Жовнером. В прошлом месяце zhovner со своей командой запустил на кикстартере тамагочи для хакеров Flipper Zero.

Целью было $60 000, но меньше, чем за сутки, флиппер собрал миллион долларов, а к финалу собранные деньги приблизились к отметке $5 млн.

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

Германия, или Туда и Обратно — 1

Reading time14 min
Views68K
Почти два года назад, под Новый год, у меня зазвонил телефон.

После пары дежурных фраз «как сам, как дети» меня позвали работать в Германию.



Я крепко призадумался.

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

Итак, под бой курантов мы с супругой приняли решение: «Ехать!»

Кто хочет прочитать про мой увлекательный, но весьма субъективный опыт переезда в Германию — добро пожаловать под кат.
Читать дальше →

Гайд по Flight Simulator от пилотов: учимся управлять самолетом

Reading time9 min
Views73K

Всем привет! В связи с выходом нового Microsoft Flight Simulator я и мои друзья решили написать для вас гайд по полетам в симуляторе.



Учиться мы будем на Cessna 152 – одном из самых востребованных самолетов. Он прост в управлении, прощает многие ошибки и весьма популярен в летных школах – сам автор учился летать именно на нем. Что немаловажно, встроенное в Microsoft Flight Simulator обучение также использует этот самолет.


Мы не будем грузиться теорией (поначалу), а перейдем сразу к практике. Статьи будут дополнять встроенные в MFS уроки.

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

Ввоз немецких урановых хвостов в Россию. Часть 3: Риски и опасности при обращении с ОГФУ

Reading time23 min
Views25K
Это третья статья из серии моих публикаций, посвященных проблеме ввоза обедненного гексафторида урана (ОГФУ) из Европы в Россию. Напомню, что осенью прошлого года начались акции протеста против ввоза ОГФУ в Россию, активные выступления Гринпис и других экологических активистов против ввоза в СМИ, Росатом начал ответную разъяснительную кампанию — встречи с экологами, в том числе с участием главы Росатома, техтуры на предприятия, встречи в регионах. Я тоже стал разбираться в проблеме, встречался со специалистами и с активистами, в т.ч. с противниками ввоза, посетил крупнейший завод по обогащению урана в Новоуральске.

В итоге я опубликовал на Хабре две статьи. Первая была посвящена технологиям обогащения урана в России и мире. Вторая — истории контрактов на обогащение урана, экономике вопроса и тому зачем же к нам ввозят ОГФУ. Перед чтением этого поста рекомендую сначала ознакомиться с ними. Следующие части я обещал посвятить вопросам безопасности обращения с ОГФУ и тому, что же делают с остающимся после дообогащения в России дважды обедненным ураном. Однако, статьи эти немного подзадержались. В дисклеймере под катом я поясню, как так получилось и что произошло за это время. Ну и там же — обещанное продолжение темы. Итак, поехали.


Фото крупнейшей аварии при транспортировке ОГФУ. Источник
Читать дальше →

Скулятчер

Reading time6 min
Views34K

Сижу я вчера спокойно, как водится никого особо не трогаю. Тут с двух разных контактов, почти одновременно присылают ссылку на небезызвестный твит про JSON из SQL. Одно из сообщений выглядело так:



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

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

Думал, что добьюсь большего к своим 35

Reading time3 min
Views116K


Уже два часа дня? Ничего за сегодня не сделал. Проснулся, потянулся, видел 6 голосовых сообщений — проигнорировал, принял душ, съел 3 вафли и улегся с мыслями, что мне 35, а я так и не выучил французский. Стоп, я не был в душе, это было вчера.


Попытался купить себе новые конверсы (кроссовки), но не смог выбрать между серым и обсидиановым, оба цвета мне не нравятся. Затем я отвлекся на лайфхаки на Medium, залип там минут на 90. Мне 35! Я думал, что уже давным-давно куплю себе крутую обувь и снимусь в фильме. Мой друг Сэнджей и то снялся в инди фильме. Все время рассказывает об этом.

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

После 220 лет поисков ученые наконец-то нашли глобальные волны Лапласа

Reading time5 min
Views12K
Еще в XVIII веке великий французский физик предсказал существование “симфонии” из атмосферных волн, охватывающей всю планету. И вот, 220 лет спустя, ученые наконец-то сумели ее услышать.

image

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

Но это не испугало французского ученого Пьер-Симона маркиза де Лапласа, который в 18 веке сумел предсказать одну простую, но важную особенность поведения атмосферы Земли. Пусть Лаплас ни разу за свою жизнь не видел глобальной карты погоды, он разработал теорию, которая предсказывала, что по нашей планете постоянно несутся волны с перепадами давления.

“До конца 20го века моделирование атмосферы проводилось карандашом на бумаге и было довольно грубым, но Лапласу это удалось, — рассказывает Дэвид Рэндалл (David Randall), ученый-специалист в области наук об атмосфере из Университета штата Колорадо. — Это невероятно.”

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

И вот этот квест подошел к концу. В новом наборе метеорологических данных современные ученые обнаружили то, что не заметили миллионы барометров: “симфонию” из волн, которые окутывают всю Землю лоскутным одеялом из зон со слабым и сильным давлением.

Вот такое вот прекрасное подтверждение старой теории. Но давайте обо все по порядку.

Струны планеты


image

Лаплас в мундире канцлера Сената. Фрагмент портрет кисти Жана-Батиста Герена, 1838

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

Мониторинг сервера — бесплатно или за деньги? Утилиты Linux и специализированные сервисы

Reading time10 min
Views40K


Есть много полезных инструментов, которые помогают отслеживать нагрузку на сервер, начиная с утилит Linux и заканчивая специализированными службами.

Простые утилиты Linux показывают текущее потребление памяти для каждого процесса, нагрузку на CPU, свободное место на диске и статистику по трафику.

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

Почему разработчики влюбляются в функциональное программирование?

Reading time8 min
Views35K
Функциональное программирование (ФП) существует уже лет 60, но до сих пор оно всегда имело достаточно узкую сферу использования. Хотя компании, меняющие мир, вроде Google, полагаются на его ключевые концепции, средний современный программист знает об этом феномене очень мало, если вообще что-то знает.

Но это скоро изменится. В такие языки, как Java и Python, интегрируется всё больше и больше концепций ФП. А более современные языки, вроде Haskell, являются полностью функциональными.



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

ФП, по своей природе, подходит для решения актуальных задач, вроде задач анализа данных и машинного обучения. Это не означает, что нужно попрощаться с объектно-ориентированным программированием и полностью перейти на функциональное. Современному программисту просто полезно знать основные принципы ФП, что даст ему возможность применить эти принципы там, где они могут сослужить ему хорошую службу.
Читать дальше →

Пора переходить в красный лагерь: выбираем лучший AMD EPYC для сервера

Reading time9 min
Views23K
Сложно поверить, но последний серьезный успех AMD на рынке серверных микропроцессоров датирован далеким 2004 годом. Более 15 лет назад компания представила 64-битные Opteron, которые удачно конкурировали с интеловскими Xeon на ядрах Gallatin, обеспечивая требуемую производительность при умеренном на то время тепловом пакете. Дальнейшие годы прошли в полной доминации «синих», а отсутствие прямого конкурента позволило им занять лидирующие места в большинстве сегментов рынка. Но с выходом линеек Ryzen (для настольных ПК) и EPYC (для серверных станций) AMD не просто наверстывает упущенное, а всерьёз претендует на звание единоличного короля. Какие сильные стороны «красных» камней и что взять для создания недорогой и производительной серверной станции? Об этом и не только расскажем далее.


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

Алан Тьюринг, отец современного компьютера

Reading time127 min
Views60K

Вступление


Каждый, кто умеет пользоваться компьютером, знает, что для выполнения какой-либо операции на нем необходимо открыть соответствующую программу, которая хранится в его памяти. Однако жизнь не всегда была такой простой, как сейчас. Первые большие электронные цифровые компьютеры, британский «Колосс» (1944 год) и американский ENIAC (1945 год), не умели хранить программы в памяти. Чтобы настроить эти компьютеры на новую задачу, необходимо было перекоммутировать их, то есть вручную переподключить кабели и переустановить переключатели. Основной принцип работы современного компьютера, подразумевающий управление машиной с помощью программы, которая хранится в ее памяти и представляет собой закодированные инструкции, был сформулирован Аланом Тьюрингом.
Читать дальше →

«Остановите Total Commander!» или главная проблема свободного ПО

Reading time10 min
Views157K

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


Поехали!

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

Основы правил проектирования базы данных

Reading time11 min
Views278K

Введение


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

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

Для начала, разберем создание базы данных в MS SQL Server для сервиса поиска соискателей на работу.

Этот материал можно перенести и на другую СУБД такую как MySQL или PostgreSQL.
Читать дальше →

Чек-лист разумной защиты своего ноутбука

Reading time6 min
Views50K

Важный компонент защиты от несанкционированного доступа

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

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

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

Смешение уровней абстракции закладывает бомбу в основание вашего проекта

Reading time5 min
Views11K
За годы работы архитектором я видел разных заказчиков, и одна из самых частых ошибок формулирования ТЗ и хотелок заказчика — это смешение разных уровней абстракции. Приходит человек и говорит:

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

Вроде, понятно, что человек хочет. У кого-то даже такое ТЗ вызывает энтузиазм — человек, казалось бы, четко понимает, чего хочет. Зачастую он даже указывает на конкретные контроллеры/компоненты/фреймверки/протоколы.

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

Information

Rating
Does not participate
Registered
Activity