В мире IT есть много разных концепций и подходов, которые облегчают процесс разработки, расширения архитектуры и создания прочных продуктов. KISS, DRY, SOLID и прочие умные слова - это то, что должен знать программист для того, чтобы считаться как минимум неплохим. Но в данном посте будет затронута и без того известная тема - все эти подходы это рекомендации, а не безукоризненный закон.
Все потоки
- Новые
- Лучшие
- Все
- ≥0
- ≥10
- ≥25
- ≥50
- ≥100
Новости
Почему работе с продуктом нельзя научиться на курсах? И как тогда быть студенту без опыта?
Всем, привет! Меня зовут Денис, мне 20 и я год работаю в IT стартапе. Поступая в институт я уже примерно понимал, чем хочу заниматься. Работа с продуктом выглядела крайне заманчиво. Баллы егэ были не самые высокие, чтобы идти в вышку, а больше для учебы ничего интересного не было. Поэтому пошел в средний ВУЗ, но с четким планом учиться, не в теории, а на практике. Расскажу свой опыт, чтобы такие же студенты, как я смогли найти себе работу.
Моделирование приемника GPS для наноспутников
Сегодня мало можно найти интересующихся техникой людей, которые бы не знали про наноспутники. Вкратце, это модульные космические аппараты, построенные из элементов стандартного размера примерно 10х10 см, предназначенные для вывода на низкие орбиты. Они отличаются от других космических аппаратов в экономичности. Причем, цена запуска и стоимость компонентов постоянно снижаются из-за растущей на рынке конкуренции.
Артемии. Кого завести, когда нет места?
На неделе я зашла в магазин, возвращаясь с работы. И в отделе игрушек и товаров для детей нашла забавную коробочку под названием “Питомец Юрского периода”. Естественно, я подумала, что это очередная растущая игрушка, коих в данном магазине сотни. Однако, взяв в руки коробочку, я поняла, что ошиблась.
Ontol про Kotlin: подборка 28 самых полезных бесплатных курсов и видео на Youtube
На английском
freeCodeCamp — лучший и при этом бесплатный канал для самообучения программированию. Многие платные школы просто делают «рерайт» их программ и продают за 100К руб.
850 000 просмотров
2,5 часа
курс для начинающих 2019 года
(0:04:23) Hello World
(0:06:33) Working With Variables
(0:11:04) Type System
(0:15:00) Basic Control Flow
(0:21:31) Basic Kotlin Functions
(0:27:12) Function Parameters
(0:32:52) Arrays
(0:35:28) Iterating with forEach
(0:41:17) Lists
(0:42:47) Maps
(0:45:05) Mutable vs Immutable Collections
(0:49:24) Vararg Parameters
(0:54:21) Named Arguments
(0:56:26) Default Parameter Values
(1:00:27) Create A Simple Class
(1:03:35) Adding Class Properties
(1:05:15) Class Init Block
(1:06:40) Accessing Class Properties
(1:07:32) Primary Constructor Properties
(1:08:17) Secondary Constructors
(1:09:50) Working With Multiple Init Blocks
(1:11:30) Default Property Values
(1:11:59) Properties With Custom Getters/Setters
(1:16:52) Class Methods
(1:20:12) Visibility Modifiers — Public/Private/Protected/Public
(1:22:30) Interfaces
(1:24:21) Abstract Classes
(1:26:13) Implementing An Interface
(1:26:35) Overriding Methods
(1:28:30) Default Interface Methods
(1:29:30) Interface Properties
(1:31:40) Implementing Multiple Interfaces
(1:32:57) Type Checking And Smart Casts
(1:36:18) Inheritance
(1:43:07) Object Expressions
(1:45:06) Companion Objects
(1:49:51) Object Declarations
(1:52:41) Enum Classes
(1:58:16) Sealed Classes
(2:00:07) Data Classes
(2:12:25) Extension Functions/Properties
(2:16:40) Higher-Order Functions
(2:29:07) Using The Kotlin Standard Library
(2:00:07) Data Classes
Golang для Embedded Linux
При разработке очередной платформы перед командой АТОЛ встал вопрос выбора языка программирования/стека технологий/железа/фреймворка для создания решений. Железо было выбрано на базе относительно недорогой Linux-платформы STM32MP153/512MB DDR3/8GB eMMC. Эта платформа имеет на несколько порядков больше ресурсов, чем используемые в нашей основной массе решений LPC1768/LPC1778/LPC4078/STM32F207. 100% наработок кода компании для устройств были написаны на C/C++, однако прогресс не стоит на месте, и периодически необходимо актуализировать инструменты и технологии разработки, особенно с учетом новых аппаратных возможностей. Из статьи станет ясно, как мы дошли до жизни такой и почему выбрали Golang для создания очередного набора решений.
Выбор стека технологий важен для всех компаний, которые занимаются разработкой железа и перерастают крошечные embedded контроллеры на Cortex M0/M3/M4/M7. Обычно команды при переходе на новую платформу выбирают одно из двух решений: стараются сделать новую версию системы на новом железе/технологиях/архитектуре, превращая решение в нестабильный долгострой, или наоборот — вносят минимальное количество изменений, но иногда вместо совокупности положительных черт разных подходов получают совокупность отрицательных.
В статье исследованы особенности различных языков программирования/технологий (Java, Python, C/C++, Rust, Golang), их плюсы и минусы, сформулированы критерии выбора и представлен выбор команды АТОЛ.
Для анализа использован метод SWOT-анализа. В качестве источников данных — информация сайтов фреймворков. Помимо этого, косвенная информация о боли и страданиях разработчиков получена на Stackoverflow, и часть субъективных выводов сделана на основе моего экспертного мнения за более чем 30-летний опыт программирования.
Архитектура PlayStation 3, часть 4: Борьба с пиратством
Из предыдущих частей вы уже знаете, на что способна консоль PlayStation 3. Ожидали ли вы, что хакеры будут довольствоваться ограниченными возможностями OtherOS? Думаю, что Sony тоже не ожидала. Компания изо всех сил старалась защитить некоторые области, оставляя другие полузакрытыми, чем позже и воспользовались хакеры.
Давайте посмотрим, как некоторые из "крепостей" консоли были взломаны независимыми хакерами по всему миру...
Опрос Oracle: 82 % респондентов считают, что роботы могут помочь в карьере лучше людей
13 стран, иными словами 14 639 рядовых и руководящих сотрудников, руководителей отделов кадров и руководителей компаний приняли участие в ежегодном опросе Oracle и Workplace Intelligence о роли искусственного интеллекта на рабочем месте.
Свой опрос Oracle смело сравнивает с опросом мирового масштаба, а его результаты поражают, качественно отличаясь от результатов 2020 года. На обложке вы видите количество людей в процентах по странам, которые хотят, чтобы технологии помогали им определять будущее. Под кат приглашаем за подробностями, пока у нас начинается флагманский курс Data Science.
Worker Services в .NET
Написание воркер-сервисов на .NET часто сопряжено с написанием большого количества повторяющегося boilerplate-кода. Однажды мне это надоело и я попытался успростить этот процесс, перенеся часть бойлерплейта в отдельную библиотеку, которой и посвящена эта статья.
DIY зарядка для Tesla. Как устроен J1772? Делаем свой wallconnector с куртизанками
Может ли автомобиль загореться от плохого зарядного устройства? Зарядное устройство переменного тока для электромобилей с протоколом J1772 по сути своей не зарядное устройство. Я решил сделать свой Wallconnector с бюджетом до 10.000 руб. и разобраться как все работает. Опыты с электричеством опасны! Не повторяйте это дома, или повторяйте....решать Вам!
Сделай свою зарядку сам, тыжпрограммист
Введение в отладку на примере Firefox DevTools, часть 2 из 4
Продолжаем погружаться в отладку с Firefox DevTools. Во второй части разбираем, что такое точки останова в отладчике, как ими пользоваться и почему они — замена console.log
.
Хорошая экология, бумажная волокита и большие расходы: плюсы и минусы жизни в Германии
Русские айтишники часто хотят жить в Европе, но не всегда хорошо представляют, с чем столкнутся. Чтобы разобраться, как всё на самом деле, мы расспросили несколько человек, которые переехали в Германию на ПМЖ. Три героя — из Берлина, пригорода Мюнхена и поселка Бад Бергцаберн — рассказывают, как живут, на что тратят деньги и почему не всё так гладко, как может показаться.
Экономика как целое: холистический подход vs частная перспектива
Единственное объяснение, которая такой подход может дать — тоже индивидуалистичный. Бедные бедны в потому что недостаточно постарались, чтобы зарабатывать. А богатые — достаточно. Миллионер работал в тысячу раз лучше человека с обычной зарплатой, миллиардер — поработал как тысяча миллионеров, а мультимиллиардеры в одиночку потрудились за десятки тысяч миллионеров (или сотни тысяч обычных людей).
Альтернативный подход, шаг в сторону экономической «теории всего» — системный, холистический подход, который рассматривает экономику как целое, особую сферу общественных отношений, служащую интересам общества и цивилизации в целом. При холистическом подходе индивидуальные экономические исходы рассматриваются не сами по себе с эзотерическим обоснованием «заслуженности» бедности или богатства индивида, а с точки зрения пользы от конкретной экономической конфигурации обществу в целом. Об этом и поговорим.
100% создаваемого в экономике богатства — это сумма труда 100% работающих в экономике людей.
Первое правило машинного обучения: начните без машинного обучения
Эффективное использование машинного обучения — сложная задача. Вам нужны данные. Вам нужен надёжный конвейер, поддерживающий потоки данных. И больше всего вам нужна высококачественная разметка. Поэтому чаще всего первая итерация моих проектов вообще не использует машинное обучение.
Что? Начинать без машинного обучения?
Об этом говорю не только я.
Догадайтесь, какое правило является первым в 43 правилах машинного обучения Google?
Правило №1: не бойтесь запускать продукт без машинного обучения.
Машинное обучение — это здорово, но для него требуются данные. Теоретически, можно взять данные из другой задачи и подстроить модель под новый продукт, но она, скорее всего, не справится с базовыми эвристиками. Если вы предполагаете, что машинное обучение придаст вам рост на 100%, то эвристика даст вам 50%.
Почему Golang – лучшее решение для оптимизации рабочих процессов?
28 октября у Слёрма прошел вебинар «Golang против скриптов», на котором Всеволод Севостьянов (Tech Lead берлинского vene.io) подробно описал основные преимущества использования Go при написании скриптов для автоматизации повседневных задач. В этом материале мы собрали для вас ключевые тезисы вебинара, расписали главные проблемы Python, Bash и Perl и разобрались, как именно Golang облегчает жизнь разработчикам.
Паутина для чайников: алгоритм строительства паучьих сетей
К паукам можно относиться как угодно: их можно бояться, недолюбливать или держать в качестве питомцев. Но любой, от арахнофоба до арахнолога, согласится с тем, что они мастера по строительству своих сетей. Научное сообщество уже очень давно и с большим интересом наблюдает за членистоногими прядильщиками, но полностью раскрыть все их секреты пока еще не удалось. И вот ученые из университета Джонса Хопкинса (США) решили детально рассмотреть и описать процесс строительства паутины, используя при этом искусственный интеллект и приборы ночного видения. Выяснилось, что разные виды пауков подчиняются общим правилам в ходе создания своих сетей. Следовательно, наблюдение за движениями лапок может предсказать, что именно будет строить паук. На какие стадии можно разделить строительство паутины, как пауки ведут себя во время каждой из них, и как эти данные могут помочь в понимании нас самих? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.
Oracle Call Interface: как написать клиентское приложение на Си
В этой статье я расскажу, как написать клиентское приложение для БД Oracle, используя библиотеку OCI и язык Си.
Решаем логистическую задачу: алгоритм привязки фактической и плановой стоянок автомобилей
Привет жителям Хабра! Меня зовут Андрей, я разработчик облачного сервиса по планированию маршрутов Муравьиная логистика. В этой статье я хочу поделиться опытом использования алгоритма, который может пригодиться любой компании, выполняющей анализ данных доставки.
Отмечу, что первоначальное и основное предназначение Муравьиной логистики – это формирование маршрутов по заданным пользователем параметрам. За 9 лет работы сервиса появилось множество дополнительных возможностей, в том числе построение фактического маршрута движения автомобиля на основании данных GPS-трекера. Но нашим клиентам было недостаточно просто видеть на карте траекторию движения автомобиля. Сервис должен предоставить в удобном формате уже проанализированные данные - каждой плановой точке маршрута автомобиля необходимо присвоить соответствующую фактическую стоянку.
Как обмануть HR по-американски
История о том, как одна программистка забавно обвела вокруг пальца кучу IT-контор, показав несостоятельность их HR-специалистов, которых и специалистами, в общем-то, назвать сложно. Боты какие-то.
В общем, что она такого сделала? Она провела социологический эксперимент, заставив компании выстроиться за ней в длинную очередь. Как так? Если вдаваться в перипетии её жизненной истории, то долгое время она, как и многие, не могла устроиться на работу. Резюме её было банальным, сухим, как у всех, без изюминки и креатива. Плюнув, соискательница решила кое-что поменять в этом алгоритме.