Как стать автором
Обновить
2
0
Александр Каменский @Freeeon

Swift-разработчик

Отправить сообщение

Сертификаты Apple. Понимание. Что это и зачем вообще нужны?

Время на прочтение5 мин
Количество просмотров10K

Сертификаты, ключи, доступы, безопасность - всё очень запутанно. Многие из нас просто знают, как решать большинство ошибок, связанных с этим, либо могут это быстро нагуглить. Сегодня хотелось бы постараться углубиться в данную тему в рамках Apple и понять, почему все так работает. Меня зовут Макс Нечаев, я Senior iOS-developer в крупном фуд-тех стартапе в Катаре - Snoonu. Очень надеюсь, что статья поможет вам немного лучше понять данную область разработки.

Сегодня поговорим о сертификатах и профилях подготовки в Swift.

Читать далее
Всего голосов 11: ↑5 и ↓60
Комментарии10

17 убойных репозиториев GitHub, которые нужно сохранить

Время на прочтение6 мин
Количество просмотров141K

Здесь собраны лучшие и самые полезные репозитории Github, которые будут служить вам долгое время.

Читать далее
Всего голосов 153: ↑123 и ↓30+114
Комментарии44

Простым языком о языковых моделях и цепи Маркова (Markov Chain)

Время на прочтение3 мин
Количество просмотров14K

N-граммы 

N-граммы – это статистические модели, которые предсказывают следующее слово после N-1 слов на основе вероятности их сочетания. Например, сочетание I want to в английском языке имеет высокую вероятностью, а want I to – низкую. Говоря простым языком, N-грамма – это последовательность n слов. Например, биграммы – это последовательности из двух слов (I want, want to, to, go, go to, to the…), триграммы – последовательности из трех слов (I want to, want to go, to go to…) и так далее.

Такие распределения вероятностей имеют широкое применение в машинном переводе, автоматической проверке орфографии, распознавании речи и умном вводе. Например, при распознавании речи, по сравнению с фразой eyes awe of an, последовательность I saw a van будет иметь большую вероятность. Во всех этих случаях мы подсчитываем вероятность следующего слова или последовательности слов. Такие подсчеты  называются языковыми моделями.

Как же рассчитать P(w)? Например, вероятность предложения P(I, found, two, pounds, in, the, library). Для этого нам понадобится цепное правило, которое определяется так:

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии2

Как сделать удобную дизайн-систему. Цвета. Часть 1

Время на прочтение3 мин
Количество просмотров10K

Дизайн-система позволяет быстро взаимодействовать с компонентами, легко вносить изменения во все макеты и в целом прививает дизайнеру навык организации больших объемов информации.

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

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

Читать далее
Всего голосов 10: ↑9 и ↓1+10
Комментарии4

Водопровод в современной квартире

Время на прочтение11 мин
Количество просмотров89K

Здравствуйте! Тема ремонта актуальна для всех и во все времена. Я занимаюсь монтажом сантехники и знаю, что разобраться с нуля в этом деле довольно сложно. Но чтобы проконтролировать качество работ надо хоть немного разбираться в сантехнике. Я в краткой форме освятил ключевые моменты на которые нужно обращать внимание. Надеюсь, это будет полезная статья.

Читать далее
Всего голосов 147: ↑130 и ↓17+156
Комментарии366

25+1 лучших OSINT расширений для Google Chrome

Время на прочтение5 мин
Количество просмотров21K

Здравствуй Хабр! А мы тут продолжаем цикл статей об OSINT и, самое главное, о полезных для этого нелегкого дела инструментах.

Сегодня мы разберем расширения для Google Chrome которые помогут нам собирать и анализировать данные из открытых источников, ну и в целом улучшат наш опыт проведения расследований.

DISCLAIMER: Данная статья написана в ознакомительных целях и не является руководством к неправомерным действиям или обучающим материалом для сокрытия правонарушений.

Читать далее
Всего голосов 18: ↑16 и ↓2+17
Комментарии0

Единая точка входа с Keycloak и Яндекс в условиях большого переезда

Время на прочтение20 мин
Количество просмотров18K

Так же, как и многие другие компании, мы долго и счастливо использовали целый стек популярных облачных сервисов (Github, Slack, Jira, Confluence и т.д.) и связывал это все Google Workspace, который выступал в том числе и как SSO для всех используемых сервисов.

В связи с последними событиями нам пришлось достаточно быстро искать и реализовывать альтернативу из отечественных сервисов и open source продуктов. При этом одним из требований стало использование общей с «офисными»
и почтовыми сервисами точки аутентификации.

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

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии12

NEST-NEXT: Best Practices — Часть 2

Время на прочтение16 мин
Количество просмотров8.6K

Это вторая часть статьи о применении комбинации технологий nest.js и NEXT.js. В первой части был создан и настроен проект, а также выбран способ отправки данных для SSR, в результате чего проект уже удовлетворял большинство потребностей при разработке простого сайта. В этой части можно узнать о том, как выжать максимум пользы из nest-next: Hot Module Replacement, CDN, удобный SSR и разворачивание "за слешом".

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии4

Лучшие RP2040 платы для ваших проектов в 2021 году

Время на прочтение7 мин
Количество просмотров19K
image

В январе 2021 года Raspberry Foundation впервые представила чип собственной разработки, RP2040. Первая система на его основе — микроконтроллер Raspberry Pi Pico, который сразу же стал конкурентом части устройств на Arduino.

Несколько позже собственные платы на основе этого чипа стали выпускать и другие компании, так что за сравнительно короткое время появилась достаточно обширная ниша новых микроконтроллеров на базе RP2040. В продолжении — список лучших (для разных целей) плат RP2040. На их основе можно создавать самые разные проекты — от простых роботов до базовых ИИ-систем.
Читать дальше →
Всего голосов 39: ↑38 и ↓1+47
Комментарии9

Создание favicon для сайта 2020

Время на прочтение10 мин
Количество просмотров142K

Что такое favicon и для чего он нужен?


Favicon – это значок (иконка), который отображается во вкладке браузера, закладках, а также в сниппетах результатов поиска.

image

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

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

Какой формат использовать для favicon?


Раньше в качестве основного формата использовали ICO. Особенность данного формата – мульти-размерность. Данный файл может хранить в себе несколько размеров иконки. На смену ICO пришел формат PNG. ICO все еще поддерживаемый, но большинство современных браузеров выбирают PNG формат иконки, который легче. Некоторые браузеры не могут выбрать правильный значок в файле ICO, что приводит к неправильному использования значка с низким разрешением.

О каких платформах пойдет речь в этой статье?


  • Десктопные браузеры
  • Chrome на Android
  • Иконка закладки в iOS (PWA)
  • macOS
  • Windows

Читать дальше →
Всего голосов 44: ↑42 и ↓2+46
Комментарии30

Принцип подстановки Лисков

Время на прочтение6 мин
Количество просмотров53K

Всем привет, меня зовут Константин. Я занимаюсь разработкой на Java в Tinkoff.ru и люблю SOLID. В этой статье мы сформулируем принцип подстановки Лисков, покажем его связь с принципом Открытости-Закрытости, узнаем, как правильно формировать иерархию наследования и ответим на философский вопрос о том, является ли квадрат прямоугольником.


Читать дальше →
Всего голосов 43: ↑33 и ↓10+30
Комментарии76

Хельсинки. Как найти работу в финской игровой индустрии, начать работать без разрешения и не нарушить российские законы

Время на прочтение25 мин
Количество просмотров23K

В декабре 2018 мы с женой переехали из Санкт-Петербурга в Хельсинки. Уже есть довольно много статей и (видео)блогов о том, как живется в Финляндии и стоит ли сюда переезжать. Вместо этого я бы хотел рассказать ту часть истории, которая связана с самим переездом. Нам пришлось решить кучу вопросов разной степени важности, многие из которых возникали внезапно и не всегда имели очевидное решение. Мы постарались подытожить наш опыт в этом, не побоюсь этого слова, лонгриде. Его нельзя назвать ультимативным гайдом, так как любой опыт всегда индивидуален, но я очень надеюсь, что нам удалось пополнить выдачу гугла новыми ключевыми словами, и хотя бы одному человеку станет проще найти ответы. Здесь вы можете узнать, как можно найти работу в финской игровой индустрии, как начать работать до получения разрешения на работу, как подготовить документы до переезда, что оформить после переезда и какую информацию нужно предоставить российским государственным органам, чтобы не нарушить закон.


Читать дальше →
Всего голосов 50: ↑47 и ↓3+44
Комментарии80

Как мы в QIWI пришли к единому стилю взаимодействия между View и ViewModel в рамках MVVM

Время на прочтение6 мин
Количество просмотров5.4K

Изначально весь проект был написан на Objective-C и использовал ReactiveCocoa версии 2.0


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


И вот настало время использовать Swift. Поначалу мы решили попробовать вообще без реактивщины.

Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии10

Готовим простой блог на микросервисах, пишем свой микрофреймворк на php и запускаем все на Docker с примерами

Время на прочтение9 мин
Количество просмотров81K

А что если я скажу вам, что новый продукт можно сразу начинать писать на микросервисной архитектуре, а не заниматься распилом монолита? Это вообще нормально? Удобно? Хотите узнать ответ?


Задача: необходимо написать за выходные (время ограниченно 10-15 часами) сферический блог на микросервисах, на php, не используя никаких фреймворков. Можно пользоваться здравым смыслом. А еще забудем о том что такое фронтенд и вспомним что мы жить не можем без виртуализации. Выберем Docker. Интересно? Вперед под кат.


image
Читать дальше →
Всего голосов 45: ↑34 и ↓11+23
Комментарии80

Создаём эффект распространения цвета в Unity

Время на прочтение8 мин
Количество просмотров11K

На этот эффект меня вдохновил эпизод Powerpuff Girls. Я хотела создать эффект распространения цвета в чёрно-белом мире, но реализовать его в координатах мирового пространства, чтобы видеть, как цвет закрашивает объекты, а не просто плоско распределяется по экрану, как в мультике.

Эффект я создала в новом Lightweight Rendering Pipeline движка Unity, встроенном примере конвейера Scriptable Rendering Pipeline. Все концепции применимы и к другим конвейерам, но некоторые встроенные функции или матрицы могут иметь другие названия. Также я воспользовалась новым стеком постобработки, но в туториале опущу подробное описание его настройки, потому что о ней достаточно хорошо рассказывается в других руководствах, например в этом видео.
Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии10

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

Время на прочтение8 мин
Количество просмотров15K
Получилось так, что с 2012 года я курирую московский Techstars Startup Digest. Это — email-рассылка мероприятий для IT-специалистов, основателей стартапов и маркетологов.

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

Интересно, что в последнее время большая часть таких мероприятий проходит в коворкингах. Что удивительно, по моим наблюдениям, количество подобных площадок в Москве растет.

Этот тренд заинтересовал меня и стал отправной точкой для новых фотоэкскурсий — вроде тех, что я снимаю для компаний [например, вот самая первая из них и еще одна]. На этот раз мне захотелось рассказать про коворкинги и изучить новый подход к организации рабочих мест.

На Хабре я пока показал только #tceh, SOK и Ключ, а в период новогодних каникул переключился на изучение «мат.части», чтобы посмотреть, какие книги рассказывают об эволюции рабочего пространства: от первых опенспейсов 1900-х годов до коворкингов.

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


Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии2

Красивая и познавательная анимация: случаи кругового движения и колебаний

Время на прочтение4 мин
Количество просмотров14K
Здравствуйте.

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



Для отрисовки я использовал javascript и canvas. Для каждого примера дана ссылка, где вы можете всё внимательно посмотреть. Можно заглядывать в исходный код, можно копировать себе — я не буду возражать. Материал вполне может пригодиться на занятиях и факультативах по физике, математике или информатике.

Итак, поехали.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии23

«Разработка игр и теория развлечений»: основные тезисы книги Рэфа Костера

Время на прочтение8 мин
Количество просмотров28K
image

В июне 2018 г. в России был опубликован перевод последнего издания книги Рэфа Костера “Разработка игр и теория развлечений” (A Theory of Fun for Game Design).

Рэф Костер — один из наиболее известных и авторитетных теоретиков геймдизайна, обладатель титула “Легенда онлайн-игр” (2012). Хотя первое издание книги Костера о разработке игр было выпущено более 10 лет назад, его работа об этиологии любви человека к играм и о том, зачем нам нужны игры и какими они должны быть в современных условиях, до сих пор актуальна.
Под катом — тезисный пересказ русскоязычного издания книги.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии4

Информация

В рейтинге
Не участвует
Откуда
Архангельск, Архангельская обл., Россия
Дата рождения
Зарегистрирован
Активность