Search
Write a publication
Pull to refresh
2
0
Send message

Что выбрать IT-специалисту: работу по трудовому договору, самозанятость или ИП?

Reading time4 min
Views9.3K

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

В таких случаях, будущие сотрудники обычно теряются в выборе и не осведомлены до конца о преимуществах или недостатках: задают кучу вопросов HR, самостоятельно ищут информацию в интернете (в которой обычно много воды или она уже не актуальна). Посему мной было принято решение скомпоновать и актуализировать информацию в один документ, в котором будут описаны ключевые преимущества и недостатки сотрудничества по ТД, самозанятым и через ИП.

После прочтения статьи вы сможете сделать выводы и выбрать наиболее оптимальный для себя вариант.

Читать далее

Глубокое погружение в Java Memory Model

Reading time53 min
Views200K


Я провел в изучении JMM много часов и теперь делюсь с вами знаниями в простой и понятной форме.


В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да, в интернете накопилось достаточно много информации про JMM/happens-before, и, кажется, что очередную статью про такую заезженную тему можно пропускать мимо. Однако я постараюсь дать вам намного большее и глубокое понимание JMM, чем большинство информации в интернете. После прочтения этой статьи вы будете уверенно рассуждать о таких вещах как memory ordering, data race и happens-before. JMM — сложная тема и не стоит верить мне на слово, поэтому большинство моих утверждений подтверждается цитатами из спеки, дизассемблером и jcstress тестами.

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

Паттерны проектирования в Dart. Часть 3

Reading time14 min
Views6K

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

Читать далее

Паттерны проектирования в Dart. Часть 2

Reading time12 min
Views6.9K

В первой части статьи мы рассмотрели основные и порождающие шаблоны и особенности их реализации на Dart. Теперь пришло время поговорить о структурных шаблонах и о их реализации с использованием синтаксических конструкций языка Dart и возможностей стандартной библиотеки. Мы будем стараться исключать возможности, предоставляемые такими сущностями языка как символы и рефлексия (пакет dart:mirrors), поскольку они не поддерживаются во Flutter (но обозначим возможные их применения при использовании Dart для бэкэнда), предпочитая использовать кодогенерацию во всех ситуациях, где это возможно.

Читать далее

P2P-мессенджеры с шифрованием — что нового?

Reading time2 min
Views19K


В современных условиях трудно переоценить важность надёжных средств связи. В частности, для нестабильного интернета оптимально подходят децентрализованные и пиринговые месседжеры со сквозным шифрованием. Также разрабатываются радиопротоколы mesh-сетей, которые работают вообще без интернета (Reticulum, Meshtastic).

В этой области в последнее время произошло много интересного. Во-первых, стоит поздравить с круглой датой платформу Matrix, аудитория которой достигла 60 млн человек. Matrix продолжает неравный бой с технологическими гигантами за создание защищённой, открытой и удобной платформы коммуникаций.
Читать дальше →

Эпизод 1. Скрытая угроза Java Core. Уровень Юнглинг

Reading time12 min
Views17K
image

Мы публикуем серию статей для подготовки к собеседованиям Java-разработчиков. Будем рассказывать о том, как разработчику успешно пройти собеседование и не поседеть во время чтения тонн мануалов. Мы не пытаемся создать энциклопедию, в которой будут отражены тысячи вопросов на интервью, но поможем понять – о чем могут спрашивать и как отвечать на сложные вопросы, чтобы избежать стресса. Итак, первый материал посвящен базовому уровню языка программирования Java Core.

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

Давным-давно,
в далекой-далекой галактике…

Юного Люка Скайуокера мучает разного рода вопросами пытливый мастер Йода. А Йода, как известно, писал код, когда мы еще с вами под стол ходили. Причем кодил он прямо в блокноте без дебаггера, intellij idea и прочей богомерзкой ерунды. Когда же он уставал от нововведений, то просто пихал в дисковод компьютера перфокарты…

Мир тебе, юный Люк. Вопрос мой первый слушай ты.
Читать дальше →

Введение в Jetpack Compose

Reading time24 min
Views67K

Привет, меня зовут Саша, я Android-разработчик команды разработки мобильного приложения Банка РНКБ. Сегодня хочу поделиться своим опытом использования Compose.

В июле прошлого года Google анонсировал первую стабильную версию Jetpack Compose, а на момент написания статьи уже вышла версия 1.1. Несмотря на то, что использовать данный инструмент можно было задолго до фактического релиза, сейчас метаморфозы API завершились(хотя некоторые его части всё ещё помечены аннотацией @Experimental*Api). Сам Compose как инструмент для разработки теперь точно стал production ready (ну так обещают).

Читать далее

7 причин почему вы не худеете. Ожирение, инсулинорезистентность и диабет простыми словами

Reading time16 min
Views59K

С лишним весом я на ты. Со 115 кг я «сбросился» до 72, затем в течение 3-х лет вернулся обратно к 94-м, а сейчас опять худею (уже грамотно) и в данный момент вешу 88.7 кг (ещё 7 скину и остановлюсь). Таких историй много, поэтому об этом я не буду, а вот причины (биологические и поведенческие), по которым вы можете не худеть, не видел, чтобы кто-то описывал в полном объёме и понятным языком. Сегодня я постараюсь сделать это для вас, обобщив все свои знания о лишнем весе. 

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

Читать далее

Думаете о большой пропускной способности? Встречайте виртуальные потоки

Reading time7 min
Views9.4K

Цель этой статьи — изучить известные факты о грядущем расширении модели многопоточности Java.

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

Да, мы говорим о JEP-425: Virtual Threads.

Читать далее

Мифы современной физики. Законы сохранения

Reading time2 min
Views37K
Продолжение. Начало тут и тут:

В этот раз мы замахнемся на святое: на законы сохранения, в том числе на закон сохранения энергии. Правда, вечного двигателя я вам не обещаю.

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

Отменяем операции правильно на примере корутин

Reading time17 min
Views16K

Всем привет! Меня зовут Павел, я Android-разработчик в Delivery Club. Моя команда разрабатывает функциональность доставки продуктов из магазинов. Я расскажу о подходе к написанию кода, подразумевающем, что любые долгие операции могут быть отменены. На примере корутин рассмотрим сферы применения такого подхода.

Читать далее

Биткойн глазами гуманитария

Reading time9 min
Views15K

Статья содержит длинные слова и не менее длинные фразы, от которых Винни-Пух огорчается. Это реально тяжёлое чтиво. Если Вы не настроены в этом копаться - пожалуйста, не тратьте своё время.

------ ------ -----

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

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

Пока вы достаёте факелы и вилы, у меня есть несколько минут на то, чтобы дать вам повод призадуматься, к кому их применять.

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

Я ведь теперь ваша целевая аудитория?

Производительность встроенных функций высшего порядка в сравнении с циклом for-in в Swift

Reading time6 min
Views5.6K

Самые популярные функции высшего порядка - это map, filter и reduce. Мы все используем их, так как думаем, что синтаксис намного лучше, и писать их даже быстрее, чем старый способ for-in loop. Но так ли это на самом деле? Задумывались ли вы когда-нибудь о производительности этих встроенных функций? Они встроенные, поэтому, естественно, они должны быть лучше, не правда ли? Давайте погрузимся в эти функции вместе, чтобы выяснить, так ли это на самом деле.

Спойлер — не всё так однозначно!

Шпаргалка по коллекциям в Java

Reading time3 min
Views14K

Сравним коллекции Java по следующим параметрам:

На чем основана — какая структура данных или коллекция используется под капотом.
Дубли — разрешены или нет в коллекции повторяющиеся значения.
Null — позволяет ли коллекция вставлять null.
Синхронизированность — все ли методы коллекции синхронизированы.
Потокобезопасность — безопасно ли использовать коллекцию в многопоточной среде.
Тип итератора — поведение итератора в многопоточной среде.

Читать далее

Flutter. MVVM. Начало

Reading time7 min
Views14K

Доброго времени суток, дорогие читатели! Меня зовут Сурен, и я разработчик.

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

Написано немало статей про MVVM, его реализацию на различных технологиях и на Flutter, в частности. Но мне они давались с трудом, и не было понимания, как оно в итоге работает. Возможно, сказывается особенность восприятия “Бекендера” =) Поэтому, если среди читателей есть люди с похожим складом ума, возможно эта статья поможет и Вам понять, что такое MVVM и как его реализовать на Flutter простым способом. 

Читать далее

Поднимаем личный shadowsocks+v2ray сервер для обхода блокировок

Reading time5 min
Views140K

Цель: открыть заблокированные провайдером сайты;

Примерное время: 30 минут;

Стоимость: бесплатно;

Что надо делать: нажимать кнопки, копировать и вставлять текст, читать простые слова на английском.

Project V - набор инструментов, которые помогут обойти замедление или полную блокировку сайтов. Он разработан азиатскими гениями для обхода великого китайского фаервола.

Читать далее

Эволюция системы безопасности Android или как защищается система сегодня

Reading time8 min
Views13K

С ростом популярности операционных систем, растет также и необходимость в обеспечении безопасности системы. С каждым днём количество атак увеличивается, а каждое обновление несет в себе новые «дыры» в системе безопасности. Я Анастасия Худоярова, ведущий специалист по безопасной разработке в Awillix, расскажу о том, как развивалась система безопасности в Android раньше и как можно обойти некоторые ее механизмы сегодня.

Читать далее

Information

Rating
Does not participate
Registered
Activity