Я решил изучить книгу И. В. Романовского "Алгоритмы решения экстремальных задач". В силу своего почтенного возраста (у меня издание 1977 года), все примеры в книге приведены с использованием языков программирования Algol 60 и Algol 68. В то же время, недавно я начал знакомиться с языком программирования Rust. Что если по мере чтения книги портировать примеры кода с Algol на Rust и, тем самым, убить двух зайцев: опробовать примеры из книги и попрактиковаться в написании кода на Rust? Однако портирование первого же примера заставило поразмыслить, а так ли хороша задумка.
Как стать автором
Системы хранения данных Российского производства. Эскизный проект
Доброго времени суток и поехали.
Сперва предлагаю дать качественное определение для данной темы о которой будет посвещена статья на Хабре. Надеюсь, дальше песочницы Мы стремительно улетим в закат. Короче, Data Storage Systems (именно с s, а не system), в переводе с английского Системы хранения данных. Вот уже на этом этапе у некоторых энтузиастов начинают шевелиться извилины, "WOW, кэп ты серьёзно?" - более чем. Именно "Системы" друзья мои, а не "система". Разница между понятиями и существенными различиями могут найти далеко не все, но это так. Теперь, когда Мы сняли запрет на основу речевого восприятия, сделаем шаг к сути.
Моя история подготовки к интервью в FAANG
На хабре существует огромное множество статей на подобные темы, эта статья не будет исключением. Я лишь хотел бы поделиться своим опытом подготовки к кодинг интервью в крупные компании. Постараюсь описать процесс настолько подробно, насколько я его запомнил, со статистикой, таймлайном и моим отношением к нему.
На ты или на вы?
По горячим следам с сегодняшних собеседований напишу небольшую веселую заметку. Мне 25 лет. Ничем не примечательный бекенд разработчик средней руки.
Недавно я решил сменить работу. За последние пару дней прошел несколько собеседований, и заметил одну вещь, которая вызывала во мне какой-то необъяснимый диссонанс, дискомфорт какой-то.
Дисклеймер: все персонажи являются вымышленными, и любое совпадение с реально живущими или жившими людьми случайно.
Сидит передо мной молодая девушка, лет 23-30, и говорит:
- Привет! Как ты, как дела? Кстати, может тебе на вы удобнее?
Отвечаю:
- Привет! ... На ты нормально.
- Ок, тогда я немного расскажу о нас, а потом ты расскажешь о себе. Мы начали работать в 2011 году, тогда нас было всего 3 человека, через 3 месяца мы выпустили первое приложение, которое попало в топ 3 лучших приложений стора в USA, в категории книги. Через год мы выросли в x10 раз, мы открыли 4 новых для нас направления, которые работали преимущественно на рынках Азии. Мы работали без внешних инвестиций и коопераций, хотя некоторые компании, такие как ТожеБольшаяКомпания, хотели сотрудничать с нами, но нам хватало собственной прибыли для развития. Позже, после запуска нашего проекта ДействительноКрутойПроект, мы сконцентрировали свои силы на его развитии, так как после прихода короновируса, спрос на данный продукт вырос в разы. Потом мы...
И так можно еще продолжать. Но суть в том, что после того как я услышу от незнакомого мне человека такие достижения: мы начинали с 3-х людей, мы вышли на рынки Азии, мы сделали продукт ПродуктКоторыйВсеЗнают, после списка, что этот человек сделал (в создании чего участвовал), я чувствую себя каким-то сопляком, думаю: "Человек прошел через огонь и медные трубы, а я теперь буду тыкать с ним. Капец, серьезный человек, не то что я, некомфортно как-то".
Монорепозитории – Что это такое и почему их так не любят
Самый популярный инструмент для работы с кодом это git. Он очень гибкий и удовлетворяет требованиям даже самых изысканных разработчиков. Основная рабочая директория в git называется репозиторием. Обычно для хранения одного приложения или сервиса используют один репозиторий. Таким образом небольшой бэкенд из 20 микросервисах располагается в 20 репозиториях.
Это дает массу преимуществ, благодаря тому, что каждый репозиторий независим. Из-за этого разные микросервисы могут иметь разный релизный цикл, разное версионирование, разную автоматизацию, в целом они вообще могут быть никак не связаны. Это позволяет отдельным командам не зависеть друг от друга и делать изменения в своих сервисах в любое время.
Все это действительно позволяет вести разработку в условиях идеальной микросервисной архитектуры, где все сервисы слабо связаны, а любое изменение API всегда обратно совместимо на бесконечном отрезке времени. Однако наша реальность не идеальна, иногда мы допускаем архитектурные ошибки, а иногда у нас просто не хватает ресурсов поддерживать обратную совместимость слишком долго.
CMS, CRM и ERP — что это такое и для чего?
CMS, CRM и ERP - это три основных программных решения для автоматизации основных процессов в бизнесе. Они помогают управлять повседневными операциями, взаимодействием компании с клиентами, обработкой данных, сокращением избыточных задач, определением приоритетов потенциальных клиентов, запуском веб-сайта и многим другим. CMS, CRM и ERP предлагают мощные инструменты для повышения прибыльности и увеличения продаж. Однако основные компоненты и принципы работы не совпадают, особенно в отношении CMS.
Пролетая над гнездом кукушки
Привет. Я админ. Меня зовут Алексей, мне 45 лет.
Я нахожусь на нижней ступени пищевой пирамиды в области IT. Я делаю фундамент.
90% моих клиентов обзывают меня девопсом, я не обижаюсь, если это необходимо для обоснования бюджета, флаг им в руки и барабан на шею.
Я на удаленке еще до того, как это стало мэйнстримом. Я давно разочаровался в людях, и, когда вижу рассуждения, нужно ли девопсу или админу понимать сеть, просто убеждаюсь в своих мыслях.
Как программисту и тестировщику с А2/В1 нужно учить английский
Я больше 10 лет работаю тестировщиком и преподавателем англ.яз. в иностранной компании. Как так случилось? У меня есть синенький диплом филолога-преподавателя англ яз, который помог мне стать переводчиком в IT-компании в далеком 2005 году. А потом, когда мне было около 30, я решила стать тестировщиком. С того времени копится мой опыт в этих сферах, и кое-чем из этого опыта я бы хотела сегодня поделиться.
Почему NgRx эффект срабатывает только один раз
Больше года прошло с тех пор, как я познакомился с NgRx. На первый взгляд этот инструмент мне показался достаточно понятным. Но, чем больше я его использую, тем больше убеждаюсь, что это совсем не так. Тут я хотел бы отметить, что NgRx требует глубокого понимая принципов RxJS. Если в знании RxJS есть пробелы, придется не раз получить граблями по лбу.
Итак, я столкнулся со следующей проблемой – мой эффект срабатывал только один раз.
Angular Feature Structure
Представьте что вы решили сделать приложение в Angular, это будет простой список новостей...
Jooq vs Hibernate 4.0
Я читал много версий этого холивара, и все-таки решил написать свой. Буду рад комментариям, буду их учитывать и редактировать статью далее...так как ответить на такой сложный вопрос не так-то просто.
Добро пожаловать под кат.
Deploy проекта прямо на сервер с помощью Git, без регистрации и смс
Простой DIY вариант СI/CD для небольших проектов.
После настройки будет достаточно написать команду git push
из ветки (например) master
и все изменения будут на сервере.
10 полезных сочетаний клавиш в PyCharm
Привет, мои дорогие!
Сегодня я хочу поделиться с вами своими лайфхаками касательно работы в PyCharm, ведь мы все хотим сократить время разрабатывая проект, а в этом нам помогут быстрые команды при помощи сочетаний клавиш. Так как я предпочитаю пользоваться операционной системой семейства Windows, сочетания клавиш будут заточены под нее. Перед тем как применять данные комбинации, проследите за тем чтобы у вас стояла английская раскладка, иначе, команды будут совсем другие.
7 рекомендаций по выбору центра обработки данных
В мире существует 7 миллионов центров обработки данных. Для выбора ЦОДа не требуется перебор всех, тем не менее вероятно не один десяток потенциальных дата-центров всё же будут находиться в поле вашего зрения. Рассмотрим вопрос выбора провайдера услуг colocation, то есть физического размещения ваших серверов и систем хранения данных в стойках дата-центра.
Dqn на python простыми словами
Dqn на python с использованием keras.
Ripple (XRP) – самая интегрированная в мировой финансовый рынок крипта: обзор, драйверы роста
Криптовалюта оказывает все большее влияние на экономику. Ее внедряют в финансовую систему государств, и обсуждают почти все СМИ. В нее «переливают» капиталы крупнейшие инвестиционные фонды. И все больше людей рассматривают крипту как надежный способ сбережения (и приумножения) своих денег.
Практически все слышали о Биткоине – «дедушке» криптовалют и самой известной монете, которая по надежности инвестиций уже приравнивается к золоту и акциям «больших» компаний. Разумеется, это не единственный актив – есть и другие, перспективные и интересные.
В этой статье рассмотрим самую интегрированную в финансовый рынок мира криптовалюту – Ripple (XRP).
Геология и Python. Визуализация данных со всей планеты
Вдохновленная книгой Эрика Мэтиза "Изучаем Python. Программирование игр, визуализация данных, веб-приложения", я решила написать об одной из возможности библиотеки Plotly. В данной публикации я рассмотрю визуализацию данных, полученных с сайта.
Загрузка Raspberry pi 4 без монитора через usb
Статья написана для новичков в этом деле. Сам столкнулся с этой проблемой и хочу рассказать, как я ее решил. На просторах интернета не мало руководств, как выполнить эту задачу, но нет "разжеванного" варианта для таких, как я.
Руководство о том, как подключить Raspberry pi 4(малину) без монитора через любой usb накопитель(будь то флешка или выносной жесткий диск) с подключением по локальной сети через wi fi. Raspberry pi 4 поддерживает загрузку операционной системы напрямую через usb без виляний хвостом, как это было в прежних версиях.
Digma DiPlug Strip 40: Умный сетевой фильтр с блоком питания
Среди поклонников концепции доступного умного дома большую популярность приобрели смарт-розетки: стоит гаджет недорого и монтажа не требует, но при этом позволяет наделить большинство бытовых приборов «интеллектом». Компания Digma пошла дальше, объединив 4 такие устройства и зарядный блок для мобильной техники в одном корпусе. DiPlug Strip 40 – умный сетевой фильтр, который может стать отправной точкой для развертывания Smart Home без существенных затрат.
Трансформация отечественных вендоров
Предыстория исследования партнёрских продаж.
Совсем недавно в разговоре с представителем частного инвестиционного фонда, вкладывающего деньги в развитие технологических компаний, обсуждали способы масштабирования IT-бизнеса. Фонд делает ставку на масштабирование своих резидентов именно через партнеров, так как грамотное развитие партнерского канала позволяет быстро и постоянно кратно расти по прибыли.
Этой статьей мы хотим начать разбираться с той трансформацией, которую претерпевают партнёрские продажи сейчас под влиянием множества факторов нашей неспокойной жизни.
Считаем, что понимание правил партнерской игры и их изменения полезны для отечественных разработчиков, так как в 9-ти из 10-ти случаев наших проектов развития сложных продаж b2b запрос у клиентов возникает на параллельное развитие прямых и партнерских продаж.
Изменения в партнерских продажах в IT мы целенаправленно отслеживаем с 2016 года. Именно тогда познакомились c Александром Гнатусиным — соавтором этого цикла. Он в то время организовал рейтинг «Лучшая партнёрская программа в IT».
Через 2 года по результатам проектов мы в 2018 году опубликовали статью «Ошибки продаж через партнеров», в которой разобрали типовые ошибки вендоров на тот момент. С тех пор ситуация сильно изменилась, так как цифровая трансформация постоянно корректирует рынок партнерских продаж.
Два основных вендорских тренда последних лет.
В течение нескольких лет мы наблюдаем два взаимосвязанных тренда, которые влияют на трансформацию вендорской среды — это изменения в продуктовом портфеле и вендорском составе.