Pull to refresh
93
0.4
Александр Мещеряков @freecoder_xx

Rust разработчик

Send message

32 полезных Rust крейта, о которых вы могли не знать

Level of difficultyEasy
Reading time19 min
Views7.5K

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

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments16

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

Level of difficultyEasy
Reading time6 min
Views17K

C 2010 года вместе с тем, как свет увидел новый язык программирования Rust от Mozilla я начал его изучение и применение. Время шло, но он стабильно показывал отличное соотношение тех, кто хочет использовать его, кто уже использует и кто планирует делать это дальше. 

С появлением стабильной версии 1.0 в 2015 году было решено «с головой» погружаться в изучение и пилить курс, который бы в «экспресс» режиме позволил познакомиться с основами и понять, как использовать Rust на практике. 

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

Читать далее
Total votes 70: ↑41 and ↓29+12
Comments39

Почему нельзя доверять Google

Level of difficultyEasy
Reading time6 min
Views65K


В 2005 году компания Google решила вступить в конкуренцию с ICQ, MSN и Skype — и выпустила мессенджер Google Talk (Gchat) на открытом протоколе XMPP с распределённой архитектурой. Казалось бы, замечательно: Google продвигает открытый свободный протокол! Как бы не так.

Google не уважала спецификации, не поддерживала все функции XMPP. В итоге разработка открытого стандарта затормозилась, чтобы адаптироваться к действиям Google. Классные новые функции (например, аватарки) никто не использовал, потому что их не поддерживал Google Talk. Разработчики XMPP стали выполнять роль сисадминов для серверов Google.

Финал немного предсказуем: в 2013 году Google решила закрыть Gtalk/XMPP и забыть о нём, что практически остановило развитие XMPP на долгие годы. Сообщество до сих пор не восстановилось от того удара. Это пример вреда, который Google/Meta*/Microsoft наносят IT-индустрии. И так у них во всём… Главное — собственные интересы, на остальных наплевать.
Читать дальше →
Total votes 192: ↑167 and ↓25+142
Comments274

Доказана омнипериодичность игры «Жизнь» Конвея

Level of difficultyEasy
Reading time12 min
Views17K

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

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

Читать далее
Total votes 113: ↑113 and ↓0+113
Comments13

NURBS моделирование в Rhino 3D и T-Spline

Reading time14 min
Views24K

Существует, как минимум, два подхода к созданию 3D моделей. В одном из них, наиболее популярном, объекты состоят из множества полигонов. В другом (freeform surface modelling) — из NURBS поверхностей, которые задаются кривыми (сплайнами).

Каждый из подходов имеет свои преимущества и недостатки, во многом схожие с различиями между растровой и векторной 2D графикой. Особенностям работы с ПО для полигонального моделирования посвящено довольно много статей но, что касается средств NURBS моделирования, тут, на мой взгляд, ситуация сложнее. Большинство таких статей либо являются туториалами по созданию конкретных объектов, либо предназначены скорее для создателей ПО, нежели для его пользователей и полны терминов вида «веса, T-точки, кривые n-го порядка, », и т п. Я же попробую пройти посередине.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments0

19,6 млн рублей за 2022 год. Парсинг сайтов. 25 советов желающим заняться

Level of difficultyMedium
Reading time5 min
Views14K

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

Я ранее рассказывал про наш опыт развития бизнеса на парсинге сайтов в двух статьях (часть 1 и часть 2). Теперь хочу подвести итоги 2022 года и дать некоторые советы командам, которые хотят составить нам конкуренцию (не вижу, кстати, в этом ничего страшного, т. к. рынок довольно большой и скорее всего у вас будет свой путь, отличный от нашего). Никого, разумеется, не учу, пишу только наш опыт, с ним можно согласиться или нет — но у нас именно так… Всегда рад комментариям, которые заставляют задуматься и взглянуть на то, что делаем с другого ракурса.

Читать далее
Total votes 40: ↑33 and ↓7+26
Comments29

Как решать конфликты с уважением к себе и оппонентам? Гайд по ненасильственному общению

Reading time6 min
Views24K

Хотелось бы, чтобы в рабочей коммуникации все понимали друг друга с полуслова, не совершали ошибок и дарили окружающим исключительно положительные эмоции — но это что-то на сказочном. Какими бы классными ни были ваши корпоративные отношения, конфликты и сбои в диалоге будут случаться. О том, как общаться и вести себя в непростых ситуациях, рассказываем под катом.
Читать дальше →
Total votes 84: ↑80 and ↓4+76
Comments26

От крышки рояля до фреймворка на rust: как системное программирование помогает творческой реализации

Reading time16 min
Views5.6K

Здравствуйте, меня зовут Тимофей, и я алкоголик программирую, чтобы писать музыку. Судя по всему, недуг мой прогрессирует:

- Пять лет назад, когда я впервые услышал про LilyPond — язык программирования, на котором можно писать партитуры в текстовом редакторе — я посмеялся над гиком, что это придумал, и прошёл дальше.
- Два года назад я прочитал код партитуры из примеров — удивился, насколько логично и музыкально он выглядит, подивился задротству автора, и пошёл набирать ноты в MuseScore.
- В этом году я пишу экспортёр MIDI из Reaper в исходники LilyPond, а сегодня зарелизил rea-rs: фреймворк для написания расширений для Reaper на rust.

И, несмотря на то, что в этом альфа-релизе >16 300 строк, я всё ещё считаю, что занимаюсь «бытовым программированием». Имею в виду что-то вроде готовки: можно, конечно, сходить в ресторан, когда хочется чего-то эдакого, но в ресторан каждый день не набегаешься. А то, что погреб на даче потихоньку превращается в винодельню — так это побочный эффект. Зато всё своё, домашнее, натуральное.

В последнее время, подобные мысли я проговаривал не как здоровый сарказм, а как симптомы болезни: мол, «это не хумус, видео не передаёт запах»! Но, намедни, моя музыкальная школа подогнала мне мак с Finale и полным комплектом Adobe на борту, чтобы совместно работать над сборником рождественских песен. И… Holly crap, I was damn right! Но расскажу по порядку, как я дошёл до жизни такой.

К рассказу
Total votes 42: ↑42 and ↓0+42
Comments6

JSON-RPC? Возьмите хитрый REST

Reading time6 min
Views31K


Уверен, что заголовок вызвал здоровую реакцию — “ну опять началось…” Но позвольте завладеть вашим вниманием на 5-10 минут, и я постараюсь не обмануть ожидания.


Структура статьи будет такова: берется стереотипное утверждение и раскрывается “природа” возникновения этого стереотипа. Надеюсь, это позволит взглянуть на выбор парадигмы обмена данными в ваших проектах под новым углом.


Для того, чтобы была ясность в том, что такое RPC, предлагаю рассматривать стандарт JSON-RPC 2.0. C REST ясности нет. И не должно быть. Все, что нужно знать о REST — он неотличим от HTTP.

Читать дальше →
Total votes 52: ↑41 and ↓11+30
Comments118

«Йо-хо-хо»-2 или перевозка рабов и трупов оппозиционеров

Reading time6 min
Views37K

Я продолжаю работу над своей браузерной игрой про пиратов на Three.js. Пришло время добавить торговлю. Я подумал, раз у нас тут век пиратов, то и в политическом смысле обстановка должна быть весьма фривольной, то есть, без всякой богомерзкой демократии. А чего стесняться? Заходим в порт, а там нам, пиратам, сразу же предлагают приобрести пушечные ядра и выполнить заказы на транспортировку трупов оппозиционеров и доставку рабов. Еще можно отвезти ром на Тортугу или подбросить губернаторскую дочь на вечеринку на Райский остров. Или тайно эвакуировать беглого губернатора за хорошую плату. Действительно, для подобных дел правительству идеально использовать пиратов. В конце концов, рабы сами себе билет на регулярный рейс не купят, а оппозиционеры сами себя не похоронят. А проблему решать надо... Короче говоря, перевозить древесину и шелк, как в обычных играх - это скучно. Пусть будут этакие «девяностые», но в эпоху пиратов. Пираты выполняют не совсем законные задания правительства, а последнее закрывает глаза на их не совсем законные методы обогащения.

Читать далее
Total votes 105: ↑95 and ↓10+85
Comments59

Как сделать успешную аутсорс-компанию

Reading time11 min
Views24K
Эта статья будет полезна в первую очередь тем, кто подумывает о фрилансе, уже занимается фрилансом или хочет масштабировать свою частную деятельность в системный бизнес.

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

Аутсорсинг или аутсорс — это когда часть своих работ организация делегирует подрядчику, специализирующемуся на данном виде работ.

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

Под аутсорс-бизнесом я понимаю системную подрядную деятельность по оказанию услуг выполнения работ различным заказчикам.

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

Я считаю, что многие фрилансеры и начинающие предприниматели игнорируют некоторые очень важные факторы успеха в аутсорс-бизнесе. В результате этого они сильно страдают, не могут хорошо зарабатывать и часто отказываются от идеи делать бизнес в аутсорсе. В этой статье я раскрываю три самых важных (по моему мнению) принципа, помогающие достичь успеха в аутсорс-бизнесе.
Читать дальше →
Total votes 9: ↑7 and ↓2+5
Comments18

Почему Civilization настолько увлекательная: феномен «ещё одного хода» Сида Мейера

Reading time6 min
Views23K

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

Читать далее
Total votes 42: ↑33 and ↓9+24
Comments28

3D-печать металлами: краткие ответы на большие вопросы, часть 1

Reading time9 min
Views12K

3D-печать относится к быстро развивающейся технологии – неизменно растет. Она уже зарекомендовала себя как эффективный метод создания передовых продуктов и будет играть все большую роль в производстве с развитием цифровизации и переходом к модели Индустрии 4.0.

Отвечаем на самые популярные вопросы о 3D-печати, которые задают наши клиенты и читатели – технические специалисты, ищущие новые пути оптимизации производства и внедрения инноваций.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments38

Мировые корпорации. Есть ли свет в конце туннеля?

Reading time8 min
Views6.3K

Глобальные корпорации уже давно и прочно вошли в нашу повседневную жизнь своими продуктами, зачастую не оставляя пользователям альтернативного выбора. Или он все таки есть? Данная статья затрагивает проблему доминирования больших корпораций в определенных сегментах, и на примере Google предлагает оценить негативные последствия, а также содержит ряд практических советов. Спойлер одного их них : если вы пользователь Android то совет поможет продлить время работы вашего девайса и улучшить приватность.

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments32

20 вещей, которые я узнал за 20 лет работы инженером-программистом

Reading time8 min
Views99K

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

Особенно отзываются пункты «стройте компактные системы» и «лучший код — это отсутствие кода». Последний совет я превращаю в цитату из какого-то второсортного фильма про самураев: «Лучшая победа — та, которую ты одержал, не доставая меч из ножен» (думаю, сослуживцы за моей спиной уже закатывают глаза). И, конечно, бесконечные разговоры про легендарных 10x-программистов постоянно хочется прервать советом не связываться с 0,1x-программистами (которые реально существуют, в отличие от 10x).

Читать далее
Total votes 186: ↑181 and ↓5+176
Comments158

5 вещей, которые я узнал, доведя Snowpack до 20000 GitHub-звёзд

Reading time9 min
Views25K
Меня зовут Фред. Я — создатель Snowpack. Для тех, кто не знаком с этим проектом, расскажу в двух словах о том, что он собой представляет. Это — инструмент для сборки фронтенда веб-сайтов, который, по существу, дал дорогу движению «unbundled web development» («веб-разработка, основанная на использовании отдельных компонентов»), которое в наши дни поддерживают Snowpack, Vite, SvelteKit и другие современные инструменты для веб-разработки.

В этом материале я хочу рассказать о пяти вещах, которые я узнал, доведя Snowpack от исходного коммита до почти 20000 звёзд на GitHub и до более чем миллиона загрузок.



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

Мой рассказ состоит из двух частей. В этом первом материале я уделяю основное внимание тому, чему научился, создавая Snowpack с нуля и находя наших первых пользователей. Во второй части я расскажу о том, как выглядит поддержка популярного растущего опенсорсного проекта.
Читать дальше →
Total votes 70: ↑66 and ↓4+62
Comments26

Абстракции без накладных расходов: типажи в Rust

Reading time11 min
Views16K
В предыдущем посте (англ.) мы затронули два столпа дизайна Rust (поскольку во внутренней речи я постоянно склоняю название языка, дальше я буду использовать русскоязычное название «раст», что мне кажется более органичным — прим. перев.):
  • безопасное использование памяти без сборщика мусора,
  • многопоточность без гонок данных.

Этот пост начинает рассказ о третьем столпе:
  • абстракции без накладных расходов.

Одна из мантр C++, которая делает его таким подходящим для системного программирования — принцип абстракции с нулевой стоимостью:
Реализации C++ подчиняются принципу нулевой стоимости: ты не платишь за то, что не используешь [Страуструп, 1994]. Более того: то, что ты используешь, кодируется наилучшим образом.

– Бьёрн Страуструп

Читать дальше →
Total votes 39: ↑37 and ↓2+35
Comments38

Стажёр Вася и его истории об идемпотентности API

Reading time11 min
Views222K

Идемпотентность — звучит сложно, говорят о ней редко, но это касается всех приложений, использующих API в своей работе.


Меня зовут Денис Исаев, и я руковожу одной из бэкенд групп в Яндекс.Такси. Сегодня я поделюсь с читателями Хабра описанием проблем, которые могут возникнуть, если не учитывать идемпотентность распределенных систем в своем проекте. Для этого я выбрал формат вымышленных историй о стажёре Васе, который только-только учится работать с API. Так будет нагляднее и полезнее. Поехали.


image

Читать дальше →
Total votes 219: ↑216 and ↓3+213
Comments163

Когда, зачем и почему вернутся дирижабли

Reading time9 min
Views57K


Короткая предыстория


6 мая 1937 года самый большой дирижабль в мире, «Гинденбург», сгорел при посадке на американской авиабазе Лейкхерст.

Трагедия была ужасной, в ней погибло 36 человек (35, находившихся на борту и еще один из находившихся на земле) из 97 пассажиров и членов экипажа.

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

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

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

image
Гибель «Гинденбурга», жуткая картина, потрясшая мир.

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

К 1937 году ситуация в воздухе радикально изменилась – теперь уже дирижаблям нечего было противопоставить юркой и быстрой винтовой авиации – и об их технологии надолго забыли, переключившись на создание самолетов, а позже и вертолетов, и «все деньги мира», в первую очередь, деньги военных ведомств, отныне закачивались именно в эти виды воздушного транспорта.
Читать дальше →
Total votes 113: ↑104 and ↓9+95
Comments207

UML умер, а никто и не заметил?

Reading time4 min
Views68K

UML, нам будет тебя не хватать

Unified Modelling Language (UML), разработанный Rational Software и принятый в качестве стандарта Object Management Group (OMG) в 1997 году, призван был стандартизировать множество различных типов графических нотаций, принятых в отрасли разработки ПО.

Моя история отношений с UML началась почти десяток лет назад, когда я стал евангелистом этого языка как моста между ИТ и бизнесом. Я никогда не был полностью убеждён в ценности UML как нотации для моделирования конкретных программных продуктов; моя цель заключалась в использовании UML для описания требуемых структурных и поведенческих свойств, ожидаемых от проектируемой системы.
Читать дальше →
Total votes 79: ↑72 and ↓7+65
Comments185

Information

Rating
1,717-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity