Получи случайную криптовалюту за регистрацию!

How To IT

Логотип телеграм канала @howto_it — How To IT H
Логотип телеграм канала @howto_it — How To IT
Адрес канала: @howto_it
Категории: Технологии
Язык: Русский
Количество подписчиков: 2.88K
Описание канала:

Твой путеводитель в мир IT
По вопросам: @EKorjikov
Прайс: https://telega.in/c/HowTo_IT

Рейтинги и Отзывы

3.00

2 отзыва

Оценить канал howto_it и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

1

3 звезд

0

2 звезд

1

1 звезд

0


Последние сообщения 2

2021-09-29 18:33:21Создание клиент-сервер на Python.

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

Итак, приступим к описанию принципов работы:

• Сервер, на IP адресе {пусть это будет alpha} по порту {пусть это будет beta} ожидает подключения на указанный IP адрес {пусть это alpha2} с портом {пусть это beta2}. IP машины и IP приёма должны быть одинаковы. Порты имеют значения в диапазоне 0-65535.

• Далее, клиент хочет зайти на ваш сервер. Изначально, наш сервер это небольшая консоль для доступа .... например к дневнику Иванова Ивана и 5Б. Клиент вводит IP {alpha2} и порт {beta2}, после чего по TCP или UPD происходит обмен данными.

• Сервер видит что кто-то хочет посмотреть нюдсы Иванова Ивана и просто отсылает их обратно клиенту.

Что такое UPD и TCP?

Вкратце это технологии передачи данных между двумя устройствами.


Приведём парочку примеров:

- Эй, Санёк, я тут камни нашёл. Можно я в тебя его кину?
- Хорошо, Шанёк, кидай
- Разрешение кидать получено!
*Кинул камни настолько мягко и последовательно, что Санёк успел словить все*

Это был пример работы TCP. Он превосходит UPD в целостности данных, строго последовательным отправлением данных и большей надёжности, но в отличии от него меньшей скоростью.

- Эй, Санёк, лови!
*Кинул камни так сильно, что Санёк сразу дал дёру, успев сначала словить большую часть камней*
- *****, не поймал, в лицо попал

Это был пример работы UPD. В отличии от своего "прилежного" брата он более быстрый в закидывании камня. Но вместо строгой последовательности отправки данных, кидает всё что видит.

Теперь черпанём немного практики.

Для начала сделаем вечно получающий информацию сервер.
Для передачи информации через сокеты в Python используем socket

import socket

Теперь же нам надо сделать слушалку.

*Код*

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

*Код*

Теперь при запуске клиента по IP, от сервера мы получим "Привет", а сервер получит наше "И тебе привет!", а также продолжит ждать от нас ответ.
Прошу акцентировать внимание, что эти каналы легко прослушать, а по сему для передачи личных данных желательно пользоваться алгоритмами шифрования (например идеально подойдёт RSA).

Немного дополнительных вопросов: *Статья с вопросами*

Небольшая справочка по основным командам для создания сокетов: *справочка*

#совет #код
207 views15:33
Открыть/Комментировать
2021-09-28 21:10:12Веб-дизайнер, творчество, маркетинг и программирование в одном флаконе. Часть 1

Веб-дизайнер опирается на пожелания аудитории, проектируя сайты и приложения так, чтобы помочь пользователям сделать, что они хотят — например, купить товар, узнать новости или пообщаться с друзьями. Он — самый настоящий проводник клиента в сложном мире бизнеса.

Дизайнер — не только художник
Дизайн — это про баланс красоты, логики и возможностей. Веб-дизайнер должен сделать проект красивым, но это только одна из его задач. В первую очередь он проектировщик и аналитик, который создаёт простые и понятные продукты на основе анализа поведения пользователей.
Под словом «дизайн» сейчас подразумевается скорее не то, как сайт выглядит, а то, как он работает и насколько легко пользователям достичь своей цели. Творчество и искусство в оформлении отошли на второй план. Для задач бизнеса веб-дизайнер работает так, чтобы привлечь внимание посетителя, заинтересовать и донести нужную информацию.

Важные навыки веб-дизайнера помимо дизайна

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

Чем занимается веб-дизайнер

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

Дизайнер получает данные от заказчика — зачем нужен сайт, как он будет работать, какие пользователи будут на него заходить. Хороший вариант, если заказчик точно знает, что нужно. Но так бывает не всегда, поэтому дизайнер должен сам задавать вопросы и получать ответы. Задачу, требования к сайту и ответы на вопросы дизайнер записывает в бриф.

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

На основе прототипов дизайнер рисует цветной макет.

Тут уже можно работать над сочетаниями цветов, добавлять анимацию.

Готовый макет дизайнер передаёт заказчику или разработчикам, которые перенесут его на сайт.

Готовый макет дизайнер передаёт заказчику или разработчикам, которые перенесут его на сайт.

О более конкретных направлениях для веб-дизайнера мы поговорим во второй части

#совет
529 views18:10
Открыть/Комментировать
2021-09-28 19:02:08
Хочешь научиться разрабатывать современные сайты, но нет времени изучать тренды фронтенд-разработки?

Админ канала Frontend Trends публикует все отборные тренды фронтенд-разработки в одном месте с готовым кодом на CSS, JavaScript, React и Vue. Анимации, кнопки, чекбоксы, карточки, формы, слайдеры, меню навигации, UI, параллаксы, рейтинги — всё это ты найдешь на канале Frontend Trends.

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

Подпишись на Frontend Trends, применяй тренды фронтенд-разработки и повышай свой чек.
536 views16:02
Открыть/Комментировать
2021-09-27 20:45:01Блокчейн: что это и зачем?

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

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

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

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

Как это работает?

Каждая транзакция записывается в виде блока данных.

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

Каждый блок связан с предыдущим и последующим блоком.

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

Транзакции образуют неизменяемую цепочку блоков: блокчейн

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

#совет
655 views17:45
Открыть/Комментировать
2021-09-26 17:24:20C# vs Java – какой из общецелевых, объектно-ориентированных языков программирования лучше всего подойдет вам для работы?

Они оба имеют обширные библиотеки, которые можно использовать для создания приложений для ПК, веб, мобильных устройств и других платформ. У обоих есть большие сообщества восторженных поклонников и много онлайн-поддержки.
Имея так много общего, выбор правильного языка требует более тонкого, тщательного подхода. Давайте подробнее рассмотрим сходства и различия между C# и Java.

Что такое C#?  
C# – это язык программирования общего назначения, который впервые появился в 2000 году в рамках инициативы Microsoft .NET. Он был разработан для общей языковой инфраструктуры (CLI) – открытой спецификации, разработанной Microsoft и стандартизированной ISO и ECMA. Приложения C# скомпилированы в байт-код, который может запускаться при реализации CLI.  

Что такое JAVA?  

Java, первоначально выпущенный Sun Microsystems в 1995 году, является языком программирования общего назначения, который был разработан с конкретной целью, позволяющей разработчикам “write once, run anywhere”, то есть написать код единожды и запускать в любом месте. Java-приложения скомпилированы в байт-код, который может запускаться при реализации виртуальной машины Java (JVM). Подобно CLI, JVM помогает преодолеть разрыв между исходным кодом и 1 и 0, которые понимает компьютер.

C# VS. JAVA: ОСНОВНЫЕ СХОДСТВА

Появление как Java, так и C#, тесно связано с переходом от низкоуровневых языков программирования, таких как языки программирования C++, к языкам более высокого уровня, которые компилируются в байт-код. Байт-код можно запустить на виртуальной машине. С этим связан ряд преимуществ, в первую очередь, возможность написания кода, который будет понятен человеку и будет работать на любой аппаратной архитектуре, на которой установлена виртуальная машина. Если отбросить синтаксические причуды в сторону, то неудивительно, что эти два подобные между собой языка так популярны для разработчиков приложений.

Вот несколько основных сходств между C# и Java:

• Безопасность типов. Ошибка типа возникает, когда тип данных одного объекта ошибочно назначается другому объекту, создавая непреднамеренные побочные эффекты. И C#, и Java работают на то, чтобы гарантировать выявление таких типов незаконных приведений во время компиляции. Если приведение не может быть применено к новому типу, тогда во время выполнения такие исключения будут удалены.

• Сборка мусора: На языках более низкого уровня управление памятью может быть утомительным, ведь нужно помнить о том, что необходимо правильно удалить новые объекты, чтобы освободить ресурсы. На С# и Java есть встроенная сборка мусора, которая помогает предотвратить утечку памяти путем удаления объектов, которые больше не используются приложением. Утечки памяти все еще могут возникать, но благодаря основам управления памятью -  это уже не ваша проблема.

• Одиночное наследование. Оба языка поддерживают одиночное наследование – это означает, что существует только один путь из любого базового класса в любой из его производных классов. Это ограничивает непреднамеренные побочные эффекты, которые могут возникать при наличии нескольких путей между несколькими базовыми классами и производными классами. Diamond pattern – книжный пример этой проблемы.

• Интерфейсы. Интерфейс представляет собой абстрактный класс, где все методы абстрактны. Абстрактным методом является тот метод, который объявлен, но не содержит подробностей его реализации. Код, определяющий любые методы или свойства, определенные интерфейсом, должен предоставляться классом, который его реализует. Это помогает избежать двусмысленности паттерна diamond, поскольку всегда ясно, какой базовый класс реализует данный производный класс во время выполнения. Результатом является чистая иерархия линейных классов одиночного наследования в сочетании с некоторой универсальностью множественного наследования. Фактически использование абстрактных классов является одним из способов множественного наследования языков, которые могут преодолеть проблему паттерна diamond.
563 views14:24
Открыть/Комментировать
2021-09-24 16:05:0611 классных GitHub-репозиториев для ваших проектов

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

1. Lottie-Web/Bodymovin
Библиотека позволяет загружать анимацию из Adobe After Effects сразу на страницы вашего сайта.

2. Vue/React Content Loader
Представляет собой SVG-компонент, предназначенный для добавления плейсхолдера загрузки (по примеру карточек Фейсбук).

3. Magic Grid
Данная библиотека способна создавать адаптивную сетку для задачи стилей без @media. Вам нужно будет просто выбрать для нее контейнер и все — результат готов

4. Hover.css
Нover-эффекты, доступные на CSS-препроцессорах Sass и LESS, для ссылок, кнопок, графических SVG-файлов и пр. Добавляйте их к любым элементам или просто используйте коллекцию для вдохновения. 

5. React Image Gallery
Элемент «карусель» для прокрутки и просмотра изображений.

6. RELLAX
Простая JS-библиотека для реализации эффекта параллакса. Сейчас работает и на смартфонах, планшетах.

7. React Motion
Проблем с анимацией у вас точно больше не будет. С этим репозиторием не нужно точно описывать все кадры в 90% случаев. Задайте значения только двум параметрам пользовательского интерфейса: damping и stiffness. Все прочее сделает магия физики. Так что, о мелочах можно не переживать. Это помимо прочего сильно упрощает процесс работы с программным интерфейсом приложения (API).

8. SVG.js
Популярная легковесная библиотека, которая позволяет работать с SVG, не внедряя зависимости.

9. mo · js
Инструмент предоставляет компоненты, которые нужны для оформления анимации. В этой библиотеке есть все, чтобы сделать ее максимально естественной и гармоничной.

10. Reveal.js
Фреймворк с открытым исходным кодом для создания HTML-презентаций. Он дает возможность делать полнофункциональные проекты прямо в браузере.

11. Zdog
Эту библиотеку очень просто освоить. При этом она невероятно полезна! С ее помощью можно создавать 3D-объекты даже без специфических математических знаний. 

Начинающим frontend-разработчикам мы советуем почаще использовать такие готовые решения. Особенно когда речь идет о реализации трудных задач. Так у вас получится избежать многих лишних проблем.
381 views13:05
Открыть/Комментировать
2021-09-23 15:03:308 языков программирования для Android-разработчика

Android-разработчики пишут не только на Java и Kotlin: в этом посте мы разберём 8 популярных языков программирования

Java

Это официальный язык для разработки под Android, который поддерживается Android Studio и является основой для изучения Kotlin.
Вообще, когда начинаются споры о том, что лучше, Java и Kotlin, следует помнить, что Kotlin — это обёртка над Java. Чтобы понять документацию Kotlin и получить помощь в процессе разработки мобильных Android приложений, следует знать именно Java.
Основные преимущества языка:
• больше материалов и легче найти информацию;
• большое комьюнити;
• среда Android Studio изначально заточена под работу с Java;
• зная Java, легко изучить Kotlin.

Kotlin

Ещё один официальный и не менее популярный язык. Также поддерживается Android Studio, характеризуется синтаксическим сахаром и предоставляет корутины, что упрощает асинхронную работу.
Синтаксис Java заочно предполагает более громоздкий код, чем в случае с Kotlin.

Главные преимущества Kotlin в разработке под Android:
• лаконичный код;
• поддерживается Android Studio;
• предоставляет корутины;
• востребован из-за нехватки Kotlin-разработчиков.

Python

Да, энтузиастам удалось приспособить один из самых популярных языков программирования под Андроид разработку. Реализовано это с помощью Kivy и BeeWare:
1 Kivy — это open source библиотека для создания кроссплатформенных приложений, в том числе под Android и iOS.
2 BeeWare — это набор UI-инструментов для создания нативных Android-приложений.
Будем откровенны, Android-разработчик, который пишет мобильные приложения на языке программирования Python, — большая редкость. В основном это что-то для себя или проекты молодых амбициозных фирм.
Если вы знаете Python, попробовать определённо стоит.

C/C++

C-языки позиционируются как высокопроизводительные, и это важно, особенно если мы говорим о чём-то тяжеловесном вроде мобильной 3D-игры.
Но стоит сразу оговориться, что прибегнуть к Java всё-таки придётся: без этого языка вам не создать полноценное мобильное приложение. Android NDK позволит написать на C/C++ только часть приложения, например библиотеку, которую через Java можно подключить к программе.

JavaScript

А вот Android-разработка на JS более жизнеспособна.
С фреймворком React Native вы можете создавать мобильные приложения с многофункциональным мобильным UI. При этом такие программы полностью нативны, то есть не являются мобильными веб-приложениями. Всё потому, что React Native использует те же компоненты, что и простые приложения для Android.

Преимущества JavaScript:

• сборка быстрее, чем в Android Studio;
• для создания качественного UI есть flexbox;
• простая передача данных по сети с использованием API.

Dart

Flutter — относительно новая технология от Google, полноценный SDK, выпущенный в 2018 году.
По ряду параметров считается более удачным решением, чем React Native. Позволяет писать кроссплатформенные приложения, поэтому эффективен в разработке приложений для Android с общей базой кода на языке Dart.
Dart позиционируется как альтернатива JavaScript. Он компилируется в бинарный код, за счёт чего достигается высокая скорость выполнения операций. Вместо XML Dart использует так называемые деревья макетов.

Основные преимущества Dart:

• легко освоить, зная Java;
• высокая производительность программ;
• Hot Reload во Flutter — быстрая перезагрузка с сохранением состояния.

C#

Программирование на Андроид с использованием C# подразумевает платформу Xamarin. С её помощью можно создавать одну логику приложения на C# для Android и iOS.

Но, как и в случае с языком программирования Python, Андроид разработчик, пишущий на C#, — это, скорее, исключение, чем правило. Такое решение подойдёт тем, кто знает язык и хочет попробовать себя в мобильной разработке.

Несмотря на весь спектр языков, обучение Android-программированию должно начинаться с Java и Kotlin, как двух официальных языков.

#совет #ANDROID #инструменты
561 views12:03
Открыть/Комментировать
2021-09-23 13:00:17
Канал с обзорами малоизвестных российских стартапов 
- Производство съедобных стаканчиков для кофе
- Маркетплейс лабораторных анализов
- Умный стетоскоп для диагностики дыхания
- Сервис, помогающий выводить сорта растений с заданными свойствами и предсказывать каким будет растение
- Сервис для конкурентной разведки в интернете
- Сервис по поиску клиентов по ключевым словам в Telegram
- Персональный секретарь для входящих звонков 

А также гранты, субсидии, акселераторы и другие полезности. Подписывайтесь на канал узнавайте о необычных проектах из России
https://t.me/joinchat/WO4oYrHVsI72nZii
555 views10:00
Открыть/Комментировать
2021-09-22 17:00:129 отличных сервисов для проверки кода. Часть 2

В прошлой части мы рассказали про 5 сервисов, сегодня остальные 4.

GitHub
Каждый разработчик знает, что такое GitHub. Но что этот сервис может делать автоматическую проверку кода, известно далеко не всем. В данном плане имеется 2 версии: бесплатная с ограниченным числом пользователей и платная, стоимостью 7 долларов в месяц.
Помимо стандартных инструментов здесь можно просматривать историю изменений, оставлять к участкам кода комментарии и с помощью веб-интерфейса решать простые конфликты. Также GitHub позволяет применять и сторонние аналогичные ревью-инструменты.

Основной функционал:
• Лобовое сравнение фрагментов.
• Blame view – просмотр истории единичных фрагментов кода, не просматривая документ полностью.
• Формирование white-листов для отдельных веток. 

Review Board
Этому сервису уже около 10 лет, тем не менее, он продолжает развиваться и совершенствоваться. Проект бесплатный, можно испытать демо на официальном сайте или установить Review Board на собственном сервере. Большой плюс инструмента в том, что он позволяет напрямую сравнивать 2 версии кода: до изменений и после. К тому же не может не радовать простой интерфейс. 

Основной функционал:
• Совместимость с Plastic, P4, CVS и ClearCase.
• Выделение проблемных участков кода или фрагментов по заданным параметрам.
• Осуществление проверки кода до внесения изменений и после.

Rhodecode
Платный сервис с поддержкой Mercurial, Git, а также Subversion. Стартовая цена – 8 долларов в месяц для каждого пользователя. Можно оплатить сразу весь год, так будет экономнее, потому что цена составит 75 долларов. Те, кто не хочет тратить деньги, могут скачать community-edition и установить ее на собственном сервере.

Основной функционал:
• Визуальный журнал изменений.
• Online-редактор кода.
• Возможность интеграции с уже созданными проектами.
• Совместной работа группы разработчиков: как нескольких человек, так и многочисленных команд.

Phabricator
Очередной набор инструментов с открытым исходным кодом, которые облегчают процесс code review. Есть облачная версия, но она с ограничениями, стоит 20 долларов в месяц. Цена полной версии достигает 1000 долларов в месяц (есть несколько и более дешевых предложений). Все платные продукты включают техподдержку и 30-дневный демо-режим. 

Основной функционал:
• Совместимость с Git, Mercurial и Subversion.
• Наличие встроенных чатов, Kanban доска и пр.
• API для написания скриптов, которые взаимодействуют с системой посредством JSON API.

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

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

#совет #кодинг
334 views14:00
Открыть/Комментировать
2021-09-22 15:45:29Data Science - большой бум в IT-сфере.

Специалисты этой области являются одними и самых востребованных, зарабатывают +200к в месяц и их все еще не хватает на рынке! Вливайся, пока ниша еще не переполнена и у тебя есть возможность стремительно вырасти!

Если ты только начинаешь свой путь в DataSience или застрял на месте и не знаешь, как и куда расти дальше - 

приходи на бесплатный интенсив от ProductStar «От 0 до +200к в месяц: Карьерный план для Data Science». 

Ребята развеют все твои сомнения, ответят на самые насущные вопросы и даже помогут выстроить карьерный план!

Ты узнаешь:
- Топ-5 ошибок новичков на старте, из-за которых карьера сильно замедляется
- Фишки и секреты быстрой прокачки навыков, необходимых для роста в Data Science
- Сколько можно получать на старте, сколько через год, какой потолок?
- Как устроиться на первую работу? Как правильно выбирать компанию?
А также получишь доступ к отдельному чату с единомышленниками

Когда состоится:
23 сентября в 19:00

Регистрируйся и взбирайся вверх по карьерной лестнице: https://is.gd/ErrA1f
381 views12:45
Открыть/Комментировать