Pull to refresh
8
0

Mobile apps developer

Send message

Дайджест интересных материалов для мобильного разработчика #450 (4 — 10 июля)

Reading time4 min
Views2.5K
В нашем новом дайджесте калькулятор на Swift и задачи для разработки, первые игры и переоцененные принципы, доходы рынка приложений, последние экраны блокировки и многое другое. Подключайтесь!

Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments0

Swift. Struct vs Class memory and performance comparison или следует ли всегда использовать Struct

Reading time5 min
Views3.9K

Как и многие iOS разработчики, я столкнулся с дилеммой: какой объект использовать для построения архитектуры проекта. Взять для примера реализацию паттерна фасад. Этот объект должен принять некоторое количество сущностей и реализовать методы для упрощенного доступа к ним. Если не вдаваться в подробности, то подойдет и класс, и структура: оба могут инкапсулировать объекты и функции. Так что же выбрать?

Читать далее
Total votes 5: ↑3 and ↓2+3
Comments7

3 года программирования вслепую. Часть 2

Reading time8 min
Views28K

Всем доброго времени суток! Продолжаю свой рассказ о том, как "Войти в IT" без подгляда. Прошлая часть была посвящена, в основном, обучению. В этой больше расскажу о работе.

Читать дальше →
Total votes 77: ↑76 and ↓1+94
Comments33

Общее представление об архитектуре Clean Swift

Reading time6 min
Views38K
Привет, читатель!

В этой статье я расскажу об архитектуре iOS приложений — Clean Swift. Мы рассмотрим основные теоретические моменты и разберем пример на практике.


Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments5

Олды в ИТ

Reading time18 min
Views89K

Когда ты молод, ты «бессмертен» и не задумываешься о старости. Есть просто уверенность, что если много и хорошо работать, то твоя карьера и доходы будут неуклонно расти. Следуя этой стратегии, ты развиваешься в профессии уже 15, 20, 30 лет. За эти годы уже получил огромный опыт и, наверное, он обязательно поможет безбедно и интересно прожить остаток дней. Но все не так просто. Да, ты уже давно работаешь в хорошей компании, занимаешься интересными проектами, получаешь за это достойную зарплату, но в будущем уже не так уверен, как раньше. Профессиональный возраст приходит с массой вопросов, на которые нужно ответь стратегически.

 Эта статья родилась на основе обсуждения горячей темы «Олды в ИТ», которую 4 января 2021 г. мы записали для подкаста Linkmeup. Обязательно послушайте запись здесь или в любимом подкаст-приложении.

Читать далее
Total votes 144: ↑137 and ↓7+174
Comments435

Самый беззащитный — уже не Сапсан. Всё оказалось куда хуже…

Reading time8 min
Views547K
{UPD 10.02.2021} Евгений Чаркин дал интервью на эту тему gudok.ru/newspaper/?ID=1552569
Под катом мои комментарии на некоторые тезисы.
{/UPD}

Больше года назад хабравчанин keklick1337 опубликовал свой единственный пост «Самый беззащитный — это Сапсан» в котором рассказывает как он без серьёзных ухищрений получил доступ ко внутренней сети РЖД через WiFi Сапсана.

В ОАО «РЖД» прокомментировали результаты этого расследования. «Есть результаты проверки. Почему удалось взломать? Наверное, потому, что злоумышленник. Наверное, из-за этого… Ну, он из „фана“. Юный натуралист. Там уязвимостей, которые бы влияли на утечку каких-то критических данных, нет. Мультимедийный портал „Сапсанов“ функционирует как положено и не нуждается в доработке», — заявил Евгений Чаркин.

То есть вместо того, чтобы выразить благодарность за обнаруженную уязвимость, автора обозвали «злоумышленником» и «Юным натуралистом».

К сожалению, но специалисты РЖД, начиная с директора по информационным технологиям, отнеслись к статье очень пренебрежительно, проигнорировав важное указание автора:
Также оттуда в сеть РЖД есть впн. Если захотите — найдёте её там сами.

И вот, год спустя я попал в сеть РЖД даже не садясь в Сапсан.



Видимо, только этот котэ добросовестно охраняет вокзал.

Как именно я попал в сеть РЖД с пруфами, чего не сделал директор по информационным технологиям ОАО «РЖД» Чаркин Евгений Игоревич и возможные последствия — под катом.
Читать дальше →
Total votes 1135: ↑1132 and ↓3+1447
Comments990

Размышления о стандартной библиотеке JavaScript. Core.js

Reading time64 min
Views104K
Один пацан писал все на JavaScript, и клиент, и сервер, говорил что нравится, удобно, читабельно. Потом его в дурку забрали, конечно.
— С просторов интернета

К чему это я? Занятная штука — JavaScript. Основа современного web и на фронтэнде альтернатив как таковых не имеет.

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

Ванильная стандартная библиотека JavaScript, в целом, неплоха. Это не только стандартная библиотека по спецификации языка ECMA-262 актуальных версий — от 3 до черновика 6. Часть API вынесена в отдельные спецификации, например, API интернационализации ECMA-402. Многие возможности, без которых сложно представить JavaScript, например, setTimeout, относятся к web-стандартам. Консоль не стандартизована вовсе — приходится полагаться на стандарт де-факто.

Вот только не такая уж она и стандартная — везде разная. Есть старые IE, в которых из коробки мы получаем стандартную библиотеку ES3 90-бородатого года даже без Array#forEach, Function#bind, Object.create и консоли, и есть, например, Node.js, на которой многие уже вовсю используют возможности грядущего ES6.

Хочется иметь универсальную, действительно стандартную библиотеку, как на сервере, так и в любом браузере, максимально соответствующую современным стандартам, а также реализующую необходимый функционал, что (пока?) не стандартизован. Статья посвящена библиотеке core.js — реализация моих соображений по поводу стандартной библиотеки JavaScript. Кроме того, эта статья еще и шпаргалка по современной стандартизованной стандартной библиотеке JavaScript и заметки о её перспективах.

Содержание, или что получим на выходе:


Читать дальше →
Total votes 87: ↑82 and ↓5+77
Comments40

Онлайн-кассы как легальный отъем денег у бизнеса

Reading time7 min
Views103K
Здравствуйте! Думаю, многие в курсе, что с 1 февраля 2017 года контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных — новые правила установлены в 54-ФЗ ст.2 п.2.

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

Естественно, части бизнеса (коснулось не всех, многим ИП отсрочили до 1.07.2019) пришлось приобрести новую контрольно-кассовую технику, а старую отложить на склад или вовсе выкинуть.

image

У бизнеса появились следующие статьи расходов

Обязательных расходов:

  • Приобретение ККТ (Контрольно-кассовая техника)
  • Приобретение ФН (Фискальный накопитель)
  • Договор с ОФД (Оператор фискальных данных)

Возможных расходов:

  • Интернет для ККТ
  • Интеграция в IT-Инфраструктуру
Читать дальше →
Total votes 247: ↑234 and ↓13+221
Comments538

Инновации по-русски

Reading time9 min
Views171K
Я — профессиональный участник инновационной индустрии. Вместе с коллегами последние 10 лет мы участвуем в создании новых технологий.

И я должен сказать о причине, по которой не стоит заниматься инновациями в России. Здесь можно порассуждать о плохом инвестиционном климате, неэффективности государственных программ, размере внутреннего рынка, смещенных мотивациях участников. Но кроме этого есть и плохо контролируемый риск, который заключается в возможности оказаться за решеткой. И об этом не принято говорить вслух, а нужно. Под катом топ-5 инновационных компаний по версии следственного комитета, известных мне, а их злоключения не были ранее упомянуты на хабре.
Читать дальше →
Total votes 513: ↑480 and ↓33+447
Comments249

Понимание джойнов сломано. Это точно не пересечение кругов, честно

Reading time4 min
Views336K

Так получилось, что я провожу довольно много собеседований на должность веб-программиста. Один из обязательных вопросов, который я задаю — это чем отличается INNER JOIN от LEFT JOIN.


Чаще всего ответ примерно такой: "inner join — это как бы пересечение множеств, т.е. остается только то, что есть в обеих таблицах, а left join — это когда левая таблица остается без изменений, а от правой добавляется пересечение множеств. Для всех остальных строк добавляется null". Еще, бывает, рисуют пересекающиеся круги.


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


Дело в том, что этот ответ в общем случае неверен. Ну или, как минимум, не точен.

Читать дальше →
Total votes 179: ↑138 and ↓41+97
Comments227

Интервью с Владимиром Лихачевым, отцом Николая Лихачева, более известного как Крис Касперски

Reading time17 min
Views36K
Привет, Хабравчане!

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

Отец Николая Лихачева, более известного как Крис Касперски, рассказывает о том, каким был его неординарный и знаменитый сын

– Планируете ли вы написать книгу о сыне? Если да, то о чем она будет и какие годы жизни сына вы бы хотели описать?

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

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

– Правда. Отношение в школе к Николаю было неоднозначное: кто-то относился к нему ревниво, с завистью. Одноклассники его часто не понимали, старшеклассники стеснялись признавать, что он в чем-то умнее их. Будучи девятиклассником, сын объяснял некоторым десятиклассникам сложные вопросы по химии, причем проще и понятнее, чем написано в учебнике и чем объясняли учителя.

Со многими учителями у него также были непростые отношения. С большим уважением сын относился к учителю физики, который вел еще и программирование, к учителю труда и к физруку. Однако из-за конфликта с некоторыми учителями в аттестате Николая появилось два прочерка – по физкультуре и ОБЖ. Поэтому он не пошел на выпускной вечер, объяснив так матери свой отказ: «Мама, я школу ненавижу».
Читать дальше →
Total votes 118: ↑107 and ↓11+96
Comments169

Как заменить лампочку на рабочем месте так, чтобы тебя не уволили?

Reading time4 min
Views157K

Уже три года я живу и работаю в Германии. В декабре прошлого года в нашем кабинете перегорела одна из ламп дневного света. Но не просто перестала светить, а как это часто бывает у люминесцентных ламп со стартером, стала постоянно гаснуть и включаться снова с характерным щелчком. Мои коллеги сразу же позвонили секретарю, та вызвала электрика. Через три дня секретарь сказала, что лампу поменяют нескоро, так как их нет на складе и нужно заказывать. Меня эта ситуация категорически не устраивала. Это моргание раздражало очень сильно.



У нас на этаже есть кладовая, где стоят точно такие же лампы. Только в эту кладовку люди ходят раз в неделю. Самое простое решение – заменить лампу в кабинете на лампу из кладовки. А когда придут новые, сделать нормально.


Вообще эту лампу поменять очень легко. У меня были такие лампы и дома, и на работе. Я, будучи админом, проворачивал этот фокус с подменой ламп много раз.


Я взял барный стул и попросил коллегу-немца подвинуться – лампа висела прямо над его рабочим местом. Нильс спросил, что я задумал, и я поделился с ним своей идеей. Он радостно воскликнул: «Классно, мы будем тебе очень благодарны, а то она уже всем надоела!», а потом шепотом добавил: «… но я бы не советовал тебе этого делать!»

Total votes 220: ↑200 and ↓20+180
Comments763

Node.js, Express и MongoDB: API за полчаса

Reading time11 min
Views243K
Начинающему программисту разработка для Node.js может показаться сущим кошмаром. Виной всему – гибкость этой платформы и отсутствие чётких руководств. Но, на самом деле, всё не так уж и страшно.


Вот, например, типичная задача: разработка REST API, серверной части некоего приложения. Обилие собственных возможностей Node и множество дополнительных модулей, которые способны помочь в решении этой задачи, способны завести новичка в тупик, вызванный богатством выбора. Основные вопросы здесь заключаются в подборе компонентов и в настройке их совместной работы.
Читать дальше →
Total votes 39: ↑30 and ↓9+21
Comments30

Записка frontend-архитектора #1. Нельзя просто так взять и использовать Redux

Reading time6 min
Views18K

Дисклеймер


Уважаемый читатель! Если вы не имеете понятия, что такое React и Redux, читать дальше не имеет смысла, дальше технический бред. Я серьезно, понимание к чему эта записка, требует работы с указанными библиотеками — несмотря на то, что я постараюсь писать понятно, это статья не начального уровня. А еще это личный опыт и мнение, основанные на практике.

image

Что не так с использованием Redux?


Тут я надумал написать, а что собственно не так с использованием redux в моем проекте и тысячах других? Я же пишу приложения на react / redux эдак с апреля 2016 года(три года). Пора бы уже открыть некие интересности… А то лекции и доклады, особенно нацеленные на новичков, были, а вот какого-то взрослого взгляда назад и ретроспективы не было. А пока кто-то ставит звездочки пакетам, которые проверяют «а не 13 ли ты часом», я буду разбивать стену сложившихся стереотипов.
Читать дальше →
Total votes 33: ↑25 and ↓8+17
Comments85

Information

Rating
Does not participate
Registered
Activity