Source Code
197 subscribers
30 photos
3 files
80 links
Download Telegram
#Web

Что такое модель MVC?

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

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

Вид (View) - отвечает за взаимодействие с пользователем. То есть код компонента view определяет внешний вид приложения и способы его использования.

Контроллер (Controller) - управляет запросами пользователя (получаемые в виде запросов HTTP GET или POST, когда пользователь нажимает на элементы интерфейса для выполнения различных действий). Его основная функция — вызывать и координировать действие необходимых ресурсов и объектов, нужных для выполнения действий, задаваемых пользователем.
#machineLearning
Мне кажется, или телефон смотрит на меня?

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

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

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

Совместная лаборатория EPFL/INRIA, представляет FLeet – революцию в распределённом машинном обучении с сохранением данных только на устройстве – глобальную модель, обученную с помощью обновлений, вычисленных на мобильных устройствах. Данные при этом остаются только на устройствах.

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

Профессор Анна-Мари Кермаррек, также автор статьи, рассказывает: «Мы показали, что если сложим мощность телефонов вместе, они начнут составлять большую вычислительную мощность, которая будет соответствовать мощности Google, и это даст людям альтернативу – не полагаться на централизованные мощные компьютерные фермы».
#java
Проверяемые и непроверяемые исключения

К проверяемым исключениям относятся исключения наследники класса Exception. Кроме исключений типа RuntimeException.

Проверяемые исключения должны обрабатываться в ходе работы программы. Проверка того, что проверяемые исключения обработаны в коде, проводиться компилятором и если проверяемые исключения не обработаны, код программы не будет компилироваться. Под обработкой исключения понимается обрамление кода, в котором может возникнуть исключение, блоком try {} catch() {} или передача исключение дальше с помощью ключевого слова throws. Переданное далее исключение должно быть обработано в методах вызывающих данный код.

Исключения типа Error и RuntimeException относятся к непроверяемым исключениям. Такие исключения не обязательны к обработке.

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

Исключения типа RuntimeException – являются внутренними исключениями и чаще всего не должны обрабатываться Такие исключения обычно говорят об имеющихся багах в программе, неправильной логике работы или неправильном использовании API. Такие исключения могут быть обработаны, но обычно имеет больше смысла устранить имеющиеся баги, приводящие к возникновению RuntimeExceptions.
#backEnd #definition
Что такое ETL?

Начнем с определения: ETL (Extract, Transform, Load) – это совокупность процессов управления хранилищами данных, включая:

Извлечение данных из внешних источников (таблицы баз данных, файлы);
Преобразование и очистка данных согласно бизнес-потребностям;
Загрузка обработанной информации в корпоративное хранилище данных (КХД).

Прикладное назначение ETL состоит в том, чтобы организовать такую структуру данных с помощью интеграции различных информационных систем. Учитывая, что BI-технологии позиционируются как «концепции и методы для улучшения принятия бизнес-решений с использованием систем на основе бизнес-данных», можно сделать вывод о прямой принадлежность ETL к этому технологическому стеку.
#science #space
Джеймс Уэбб прошел финальные тесты перед запуском!

Телескоп «Джеймс Уэбб», именуемый также JWST или Webb, завершил финальные функциональные тесты. На космическом аппарате проверили работу внутренней электроники и систем связи. Испытания должны приблизить запуск JWST в космос в октябре 2021 года. Полет откладывают уже 13 лет.

Основная миссия телескопа — узнать, какой была Вселенная после Большого взрыва. Webb способен наблюдать за галактиками на расстоянии 13 млрд световых лет от Земли.

Телескоп планируют отправить в космос со стартового комплекса Arianespace ELA-3 на космодроме, расположенном недалеко от Куру (Kourou) во Французской Гвиане.

Вывод телескопа на орбиту запланирован на 31 октября 2021 года. Запуск проекта переносили в течение 13 лет. За это время общая стоимость проекта выросла до $10+ млрд.

Создатели Webb обещают, что он станет самым сложным и мощным из всех запущенных в космос аппаратов. Благодаря детекторам инфракрасного излучения среднего и ближнего диапазонов, с помощью JWST можно будет заглянуть внутрь пылевых облаков, где образуются звезды.
Какие из них сортируются по умолчанию?
Anonymous Quiz
20%
LinkedHashSet
50%
TreeSet
9%
HashSet
21%
ArrayList
#spring

Каждое приложение Spring Boot - это веб-приложение, работающее во встроенном Apache Tomcat?

Когда дело доходит до веб-приложений, Spring Boot работает с множеством контейнеров сервлетов. По умолчанию используется Apache Tomcat , но вы также можете использовать веб-приложение с Jetty, Undertow или вообще без встроенного контейнера сервлетов.

Более того, Spring Boot не привязан только к веб-приложениям, хотя такое впечатление можно получить, используя зависимость spring-boot-starter-web и, следовательно, автоконфигурацию Spring Boot для веб-сайтов. С помощью Spring Boot вы можете писать все виды сервисов, от пакетных заданий и утилит командной строки до серверных модулей обмена сообщениями и реактивных веб-приложений.
Вы бы хотели иногда видеть посты на английском?
Anonymous Poll
68%
Да
32%
Нет
#CV #LongRead

Идеальное резюме для разработчика №1

Размер. Идеальный размер резюме 1 страница. Вы можете позволить себе 2 страницы, но только когда это действительно важная информация, например, достижения на работе или вклад в Open Source.

Стиль. Резюме должно быть в едином стиле. Не перебарщивайте с тем, чтобы в резюме был одновременно курсив, выделение жирным, разный шрифт, размер и цвет.

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

Название файла. Название должно отображать роль, на которую вы подаетесь, и идентифицировать вас — resume_stepan_stepanovich_software_engineer, можно пойти от большего к меньшему — resume_stepan_engineer_stepanovich_stepan. Можно сократить software_engineer до se.

Формат. Признанным форматом резюме является PDF. Возможно, в каких-то компаниях корпоративным стандартом будет другой формат, но вы об этом точно узнаете.

Личная информация. Уберите из резюме фото, пол, возраст, семейный статус.

Ссылки. Есть два варианта: Github (или ваш никнейм) либо https://github.com/serwios (или сокращенный вариант, например, через bit.ly). В первом варианте вы «зашиваете» ссылку в текст и по нажатию на него страница откроется в браузере. Во втором варианте вы указываете полную ссылку на случай если резюме будут распечатывать.

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

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

Грамматика. Проверяйте текст в резюме на грамматику (например, Grammarly, есть бесплатный режим). Советую взять полчаса у носителя языка на любой популярной платформе (например, Preply, это будет стоить меньше $10), он также проверит, «звучит» ли текст.

Композиция. Текст должен быть выровнен по левому краю. Так ваше резюме будет приятно читать (как статью или книгу).

Имя и фамилия. Если ваше имя трудно произнести человеку из другой страны, рассмотрите вариант либо сократить его (например, из Alexey сделать Alex), либо переделать (например, из Ekaterina сделать Kate).

Желаемая должность. Может быть непонятно, из предыдущего опыта, на какую должность вы претендуете. Например, вы хотите попробоваться на позицию Senior, а в резюме такого опыта не было. Или у вас в резюме есть роли где вы руководите командой, но в новой компании вам делать этого не хочется.

Почта. Лично мне нравится, когда название почтового адреса более или менее стандартное (имя и фамилия), а не какой-то dark.knight13@gmail.com, хотя не могу сказать что это вообще влияет на что-то.

Номер телефона. По моему опыту, рекрутеры из определённых стран больше любят звонить, а не общаться по почте (например, из Великобритании и Германии). Наличие номера страны в которую ты подаешься, в моем случае, было не обязательным, все равно звонили на украинский.

Текущая локация. Ограничьтесь городом и страной, не надо указывать улицу и номер дома.
#java

Внутренние и вложенные классы

Классы могут быть вложенными (nested), то есть могут быть определены внури других классов. Частным случаем вложенных классов являются внутренние классы (inner class).

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

Еще одной особенностью внутренних классов является то, что их можно объявить внутри любого контекста, в том числе внутри метода и даже в цикле.

Кроме внутренних классов также могут быть статические вложенные классы. Статические вложенные классы позволяют скрыть некоторую комплексную информацию внутри внешнего класса.
#java

Как вернуть несколько значений из метода?

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

Вы просто должны вернуть массив найденных значений.
#C
Бонсай и С

Забавный код нашел на GitLab. Если хотите вырастить свой ASCII Бонсай, или интересно, как эта структура работает, то вот ссылка. Написан на чистом С. Хороший инструмент, чтобы удивлять новичков

Не забудьте прочитать README, не все системы поддерживают.

https://gitlab.com/jallbrit/cbonsai
#backEnd

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

Предшественниками контейнеров Docker были виртуальные машины. Виртуальная машина, как и контейнер, изолирует от внешней среды приложение и его зависимости. Однако контейнеры Docker обладают преимуществами перед виртуальными машинами. Так, они потребляют меньше ресурсов, их очень легко переносить, они быстрее запускаются и приходят в работоспособное состояние.
#Spring

Начнем срывать покровы с самых базовых понятий Spring. Бин (bean) — это не что иное, как самый обычный объект. Разница лишь в том, что бинами принято называть те объекты, которые управляются Spring-ом и живут внутри его DI-контейнера. Бином является почти все в Spring — сервисы, контроллеры, репозитории, по сути все приложение состоит из набора бинов. Их можно регистрировать, получать в качестве зависимостей, проксировать, мокать и т.п.