Сообщество - Web-технологии
Web-технологии
111 постов 2 785 подписчиков
7

Начало

Я обычный житель мегаполиса Москва, по специальности инженер.

Часики от тикали 29 лет от роду, и я понял - не выносимо каждый день преодолевать расстояния от дома до офиса.

Ведь есть профессии, которые позволяют работать из любой точки мира.


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


Я решил - надо что то менять, почитал, поискал информацию - посмотрел рынок профессий, сделал выбор. Web разработка.


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

Но чем раньше начнешь тем быстрее достигнешь, а о инженерах работающих из дома я вообще не слышал.


Так вот господа, я решил я окунуться в данную стезю программирования.

немного знаю PHP и HTLM,  JS и CSS начинаю изучать с нуля.


Прошу у знающих, подскажете курсы? книги? учебники для начинающих.


быстрый гуглеж дал результат по JS, CSS пока совсем тихо.


Буду рад любым дельным советам.

1057

Нейронная сеть, которая верстает сайты по картинке

Прошёл почти год с того момента, как на GitHub опубликовали алгоритм pix2code. И вот ребята из FloydHub на его основе создали нейронную сеть для вёрстки страниц, которую уже
можно запустить самому.

Работа алгоритма делится на 3 этапа:
1. Алгоритм получает JPEG-изображение дизайна страницы.

Нейронная сеть, которая верстает сайты по картинке Верстка, Сайт, Нейронные сети, Алгоритм, Гифка, Длиннопост

2. Алгоритм конвертирует элементы в HTML- и CSS-код.

Нейронная сеть, которая верстает сайты по картинке Верстка, Сайт, Нейронные сети, Алгоритм, Гифка, Длиннопост

3. Полученный результат

Нейронная сеть, которая верстает сайты по картинке Верстка, Сайт, Нейронные сети, Алгоритм, Гифка, Длиннопост

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


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

Примеры:
- 250 циклов работы алгоритма;

- 350 циклов работы алгоритма

- 450 циклов работы алгоритма;

- 550 циклов работы алгоритма.


Везде выше можно посмотреть пример исходного кода, сгенерированного нейронной сетью, а вот оригинальный сайт, скриншоты которого скармливали алгоритму.

Более техническое описание проекта доступно по ссылке, а ноутбук для запуска в Jupyter лежит тут.

Взято отсюда.

Показать полностью 1
2903

Смерть фрилансера

Долго искал второго OpenCart программиста с адекватными ценами (лет 5 или 6). Очень много положительных отзывов о человеке было. Пообщались, увы недолго, но были далеко-идущие планы.

Фрилансеры поймут. Сам сижу за компом по 14-18 часов, понял, что тоже за работой когда-нибудь также уйду.

Смерть фрилансера Фрилансер, Веб-Дизайн, Скриншот, Смерть
153

Онлайн путевой лист

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

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

Вот я и написал скрипт который по Google maps сам расстояние находит и все просчитывает.

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

Сегодня решил его залить на сайт, немного обновив и доработав. И вот что получилось.

Онлайн путевой лист Web, Работа, Авто

Пробег сам подставляется при добавлении строки или по кнопке.

И все это передается в PDF

Онлайн путевой лист Web, Работа, Авто

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

Ссылку оставлю в комментариях, там же и коммент для минусов.

Показать полностью 1
160

Книги по JavaScript

1. Современный учебник JavaScript


Автор: Илья Кaнтop


Год : 2015

https://drive.google.com/open?id=0Bw1tpOoY9MYrcmpOb2VoYWJWZ2...

_______________


2. Выразительный Javascript, 2-е издание


Автор: Marijn Haverbeke


Год : 2015

https://drive.google.com/open?id=0Bw1tpOoY9MYrTk11SjFKdDYwSG...

_______________


3. JavaScript. Сильные стороны


Автор: Крокфорд Дуглас


Год : 2012

https://drive.google.com/open?id=0Bw1tpOoY9MYrWjdtMzNzaHNaVX...

_______________


4. JavaScript. Шаблоны


Автор: Стоян Стефанов


Год: 2011

https://drive.google.com/open?id=0Bw1tpOoY9MYrazEtLTA3c1pVNj...

_______________


5. JavaScript. Подробное руководство, 6-е издание


Автор: Дэвид Флэнаган


Год: 2012

https://drive.google.com/open?id=0Bw1tpOoY9MYrSnNKRE1qM21Lbz...

_______________


6. JavaScript. Карманный справочник


Автор: Флэнаган Дэвид


Год : 2013

https://drive.google.com/open?id=0Bw1tpOoY9MYrXzNoLVBDWmloTE...

Показать полностью
310

Огромный бесплатный видеокурс по основам JavaScript

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

1. Основы JavaScript

https://www.youtube.com/watch?v=le-URjBhevE&index=1&...


2. ECMAScript 6

https://www.youtube.com/watch?v=1mgLWu69ijU&list=PLWKjhJ...


3. DOM (Document Object Model)

https://www.youtube.com/watch?v=eaLKqoB9Fu0&list=PLWKjhJ...


4. Читстый код

https://www.youtube.com/watch?v=b9c5GmmS7ks&index=1&...


5. Алгоритмы и структуры данных

https://www.youtube.com/watch?v=Gj5qBheGOEo&index=1&...

6. Шаблоны проектирования

https://www.youtube.com/watch?v=bgU7FeiWKzc&index=1&...


7. Основы React
https://youtu.be/QqLkkBKVDyM

Показать полностью 6
95

[Must know] Что нужно знать web-разработчику в 2016?

Недавно наткнулся на одно видео, где была информация о том, что нужно знать web-разработчику в 2016-2017 году. Решил поделиться с вами. Видео в самом конце (на инглише). Ниже текстовая сокращенная версия с моими комментариями (в виде цитат).

Для тех кто не любит видео-формат или не может в инглиш.


TL; DW (краткий пересказ):

В видео есть 3 ветки:

1) Не зависимо от того back-end или front-end

2) Front end

3) Back end


Первая ветка. Включает в себя такие вещи:

- FTP и работа с хостингом (залить, выгрузить, работа с cPanel и т.д.)

- Терминал (командная строка)

- SSH

- Основы GitHub

- Как происходить связь между клиентом(юзером) и сервером

- RESTful


Вторая ветка. Начнем с основ для фронта:


- Текстовый редактор

Автор выделил 3: Atom, Sublime, Brackets.

Я бы еще добавил Emmet. Emmet не текстовый редактор, а плагин, который ускорит вашу верстку в разы. Но придется потратить немного времени на то чтобы разобраться


Большой разницы при выборе редактора нет. Так что особо заморачиваться не стоит.

- HTML

- CSS

- JS

В видео автор утверждает, что jQuery учить необязательно и можно сосредоточиться на родном JS и дальше уйти во фреймворки.

Я все-таки не соглашусь. jQuery все еще остается самой популярной библиотекой на JS (jQuery не фреймворк). При этом jQuery очень легкая в изучении и имеет просто тонны документации (и горы мусорных обучалок на Youtube).

Дальше идет продвинутый фронт:


1)ES6/ES2015 (Babel)

Как и любой язык JS (ECMA-Script) не стоит на месте. Если руки чешуться уже писать на ES6 (ибо var, let, const и еще много фич) то Babel (преобразователь ES6 в ES5) в помощь.


2)CSS инструменты.

-Препроцессоры (SASS/LESS/Stylus)

-CSS фреймворки (Bootstrap/Foundation)

-Адаптивный дизайн в CSS


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


Самые банальные примеры использования препроцессоров. Переменные. Загнали цвета в переменные. И если вдруг, дизигнеру придет в голову сделать серый-черным. Вы просто меняете значение переменной. И вуаля у вас во всем проекте серый стал черным. Функции. Использовать функции можно очень разнообразно. Но начнем с простого. Чтобы не писать все префиксы для box-shadow, transition и других CSS3 фич можно использовать функции (mixin). Пишеться функция, которая принимает значение, например: "transition: all .4s ease" и выдает это же значение, только с бразуерными префиксами.


Еще стоит отметить, что есть SASS, а есть SCSS. Разница? Только в синтаксисе. В SASS нет скобок "{}". Совсем нет. И это многих смущало посему появился SCSS.Тот же SASS только со скобками и более приближенным к CSS синтаксисом. Отличие не только в скобках, но это основное.

3)Интсрументы сборки


-Таск ранеры

Gulp и Grunt. Самые популярные. Каждый выберет то что любит больше. Лично я фанат Gulp.

Что такое таск ранеры? Это такая полезная вещь, которая позволяет настроить автоматизированные задания (таски). Простые примеры: компиляция SASS|LESS в CSS сразу после того, как файл SASS|LESS был сохранен. Т.е. ctrl+s - упаковнный CSS. Можно пойти еще дальше и сразу сделать минимизированный CSS. Т.е. пишется еще таск и после упаковки с SASS|LESS идет следующий таск который минимизирует CSS. Такая же история с JS и даже HTML (Jade). Кроме того можно написать таски на тесты (Mocha|Karma). Штука классная, но нужно посвятить время.


-Управление зависимостями

Browserify и Webpack. Webpack ваш выбор. Он популярнее. Его любят больше. Я даже видео по нему запилил.

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


-Bower, Yeoman

Пакетные менеджеры. Глянуть можно. Сейчас не такие полезные как раньше. Yeoman все еще вещь, если есть много мелких проектов, которым нужен одинаковый boilerplate.


4)MV* фреймоврки

Если пишеться SPA (Single Page Application), т.е. вовлекаются сотни, тысячи строк кода на JS, то нужен фреймворк, чтобы их организовать. Знакомиться стоит с четырьмя:


-React


-Angular

Angular 2 как бы вышел. Многие недовольны резким смещением от Angular1 к Angular2. Многие сидят на Angular1. Многие не уверенны лучше ли Angular2.

Angular2 в концепции очень сильно отличается от Angular1. Кроме того, в Angular2 нет обратной совместимости с Angular1. т.е проект написанный на Angular1 нельзя просто "обновить" до Angular2. Мигрировать можно. Просто крайне муторно. Мне самому пока не доводилось.

-Ember

Используется для больших приложений и работы с большим объемом данных.


-Vue

Для маленьких и легких приложений. Но и React для таких приложений тоже хорош.


Также стоит отметить Polymer и Aurelia. Но они не должны входить в основу вашего набора разработчика.


Если хочется сосредоточиться на изучении одного, несомненно, - это React. В мире React за последний год случилось много всего. Сузим это до:


-Mobx

Самый простой способ начать написание React-приложения. Используется для маленьких приложений.


-Flux

Далее рекомендую выучить Flux. Зная Flux проще разобраться в Redux, Relay. Множество этих микрофреймворков под React берут основу именно у Flux.


-Redux

Стоит использовать, если ваше приложение набирает размер и имеет сложные взаимодействия с данными.


-Relay

Для, ну очень, больших приложений. Если бы нужно было сделать Gmail на React ябы делал это на Relay.


-create-react-app

Простой способ развернуть React-приложение.


Если хочется чего-то интересного:

-Closurescript

-Elm

Они оба и фреймворк и язык. Оба основанны на концепте функционального программирования.


Юнит тестирование

-Mocha

-Jasmine

-Karma

-Enzyme

Enzyme - кассная вещь для использования вместе с предыдущими тремя. Под React.


Все учить не надо. Придя на продвинутый уровень с базовыми знаниями HTML-CSS-JS, сперва выучите CSS фреймворки и препроцессоры. Далее выберите JS фреймворк (React) и учите понемногу что-то новое.


Третья ветка. Back-end.


Есть скриптовые языки, функциональные языки, высокопроизводительные языки.


Если вы новичок, то учите скриптовые языки. В скобках выделены фреймворки под эти скриптовые языки.


-NodeJS (express^, hapi^)

-Python (django, flask^)

-Ruby (Ruby on Rails, Sinatra)

-PHP (Laravel, Symphony2, Lumen^)


Фреймоврки с ^ - микрофреймворки. Меньше, легче в изучении.


Если бы мне сказали выделить один, то я бы выделил все-таки NodeJS. Почему? Скорее всего вы уже знаете немного JS и он крут.


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


Функциональные:

-Elixir

-Scala

-Haskell

-Clojure


Высокопроизводительные:

-Go

-Rust

-Java

-C#


Если выделять, то:

NodeJS - Haskell - Go/Rust. Я бы начинал так. Я выделил Java и C# другим цветом потому что они не для новичков. Да, там много возможностей работы, но новичкам, я бы рекомендовал начать со скриптового языка.


Что знать (вне зависимости от языка):

-Юнит/Функциональное тестирование

-RESTful API принципы. Как его написать.

-Защита

-Авторизация (OAUTH2, JSON Web Token)

-SOA (Services Oriented Architecture) / Microservies

-Развретывание приложения (Flightplan: nodejs / Fabric: python / Capistrano: Ruby)

-Websocket

-ORM/ Data structure


Работа с данными (базы данных):

-MySQL, PostgreSQL (реляционные)

-Redis (сессия, кеширование)

-MongoDB, Couchbase, RethinkDB (noSQL базы данных)

-Solr, Elastic Search (базы данных под поисковые системы)


Кеширование

-Nginx

-Apache

-Redis

-In-memory


Далее идет DevOps


Веб-платформы:

-Digital Ocean

-Amazon Web Services

-Azure

-Rackspace

-Heroku


Упралвение сервером:

-Linux

-Docker

-Ansible

-Salt

-Chef

-Puppet


Docker - это то, что вы абсолютно точно захотите знать. Если вы решили изучть одну технологию как DevOps учите Docker. Немного знакомы с Docker? Выучите его хорошо.

- Большой масштаб (Kubernetes, Mesos)

- Малый масштаб (Docker Swarm)

- С графическим интерфейсом (Rancher, Docker Cloud, Docker Datacenter/Universal Control Plane)


Продолжительное тестирование и разработка:

-Jenkins (на собственном железе)

-SemaphoreCI

-CircleCI

-Codeship


Vagrant. Стоит иметь ввиду. Но сейчас - Docker это вещь.


Вот краткий обзор технологий, которые должен знать веб-разработчик в 2016-2017 году.


Я лично не по всем пунктам согласен с автором. Но у меня нет настолько обширного и глубокого опыта, чтобы спорить о том насколько Docker крут или нет, или почему Flux отстой Redux рулит и т.п. А согласны ли вы с ним или есть возражения?

Делимся мнениями в комментариях.


Ссылочка на майндмапу, которую использует автор в видео: тык

Показать полностью 1
100

One Punch Web - автоматизация всего что можно до одной кнопки

Всем привет!

Последние пару лет я занимаюсь node.js разработкой, из которых несколько месяцев делаю свой "швейцарский нож(костыльный монстр) на все случаи жизни" - One Punch Web.

One Punch Web - автоматизация всего что можно до одной кнопки Nodejs, Разработка приложений, Гифка, Длиннопост

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


Постараюсь как можно более подробно описать детали проекта. Надеюсь, кому-то это покажется интересным и не сильно скучным)

Используемые технологии

- Nw.js как ядро проекта, для окошек gui и обработки сочетаний клавиш

- Vue.js + Element.js для интерфейса

- Node.js для написания инструментов командной строки (CLI)

- Sublime text как текстовый редактор

- Wireframe.cc для управления wireframes

- Xmind для редактирования интеллект-карт

- Яндекс диск для бекапов

- Nedb.js как база данных всего приложения


В центре всего окошко One Punch Menu, которое вызывается поверх всех окон из любого места по сочетанию клавиш (которое я повесил на кнопку мышки). До вызова оно ждет своего часа в трее системы

One Punch Web - автоматизация всего что можно до одной кнопки Nodejs, Разработка приложений, Гифка, Длиннопост

Карта функционала проекта

One Punch Web - автоматизация всего что можно до одной кнопки Nodejs, Разработка приложений, Гифка, Длиннопост

Основные фичи

1. One Punch Snippet

Все сниппеты(куски кода для переиспользования), плагины и расширения для sublime text хранятся в папке проекта One Punch Web. При изменениях, или добавлении новых объектов идет синхронизация (перезапись старых, удаление лишних) с папкой sublime text. Основной задачей было сделать быстрый доступ для создания, изменения, удаления сниппетов.

One Punch Web - автоматизация всего что можно до одной кнопки Nodejs, Разработка приложений, Гифка, Длиннопост

2. One Punch Cli

Так же как и сниппеты, быстро создаются, редактируются и удаляются.

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

Пример в гифке - подготовка файла шрифта для вставки на сайт

One Punch Web - автоматизация всего что можно до одной кнопки Nodejs, Разработка приложений, Гифка, Длиннопост

3. One Punch Code (codeprocessors)

Есть препроцессоры кода, есть постпроцессоры. Почему бы не сделать просто процессоры?

Бывает лень/долго разворачивать(на маленьких проектах) gulp/webpack когда, к примеру, хочу использовать некоторые функции less. Решением было написание плагина для sublime, который отправляет фрагмент выделенного текста в проект One Punch Web и возвращает на его место обработанный результат.

Пример - less2css, autoprefix, css-beautify, css в одну линию и сохранение сниппета из выделения

One Punch Web - автоматизация всего что можно до одной кнопки Nodejs, Разработка приложений, Гифка, Длиннопост

4. One Punch Search

Вместо открытия вкладки google в браузере, я отрываю google в One Punch Menu.

Это делается для сохранения истории поиска. Когда нашел что искал - нажал кнопку. В базу записывается поисковой запрос и адрес страницы с необходимой информацией.

Помогает когда не могу найти что гуглил ранее, либо когда ищу одно и то же


5. One Punch Mindmap

Для визуализации причинно следственных связей в проектах.

Были разработаны 2 cli для создания и открытия mindmap файлов через xmind


6. One Punch Wireframe

Для схематичных набросок пользовательских интерфейсов. Для этого интегрировал сайт wireframe.cc. В базе программы хранятся только ссылки на wireframes.


7. One Punch Backup

На работе у меня linux(ubuntu), дома ноутбук и стационарник с виндой. С проработкой функционала под кроссплатформ проблем особо не было, а вот с переносом всего добра они периодически возникали. Раньше использовал git, но по некоторым причинам решил сделать иначе.

Сейчас это zip-архивы, которые лежат на яндекс диске (мне повезло с аккаунтом на 200гб).

Чтобы перенести все наработки, достаточно нажать одну кнопку и через минуту я буду во всеоружии



Планы на ближайшее будущее


- One Punch Cheatsheet

Для создания своей документации к технологиям и библиотекам. Вдохновила эта реализация


- One Punch Guide

Для периодических тренировок/code kata


- One Punch Chrome

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

Огромное спасибо всем, особенно тем кто дочитал до этого момента)

Проект находится в процессе разработки, буду искренне рад любой критике.

Оставлю пару комментариев для минусов, на всякий случай

Показать полностью 5
80

Путь в мире программирования: 25 вещей, о которых стоит знать

25 простых, но не всегда очевидных вещей, которые помогут вам, если вы только встали на тернистый путь изучения программирования.



Разработчик с пятнадцатилетним стажем, а ныне технический директор образовательной онлайн-платформы для программистов Firehose Кен Мазаика (Ken Mazaika) рассказал на Quora о тех вещах, которые он хотел бы знать до начала изучения программирования. Мы подготовили небольшой список советов на основе его текста и делимся им с вами.



Обо всем



Обучение происходит через действие. Единственный путь совершенствоваться в программировании – постоянно программировать. Не позволяйте аналитическому параличу останавливать вас в самом начале.



Облегчать себе задачу – приветствуется. Регулярно гуглите ответы на возникающие у вас вопросы, так делает большинство программистов. Тут главное не заиметь привычку бездумно копипастить со Stackoverflow.



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



Не нужно быть гениальным математиком. Если вы с математикой не на «ты» – это еще не значит что из вас не выйдет хорошего программиста.



Изучение программирование – это не подготовка к тесту. Заучивание разных штук вам не сильно поможет (см. п. 1).



Код



Пробуждение начинается с мыслей о коде. Когда такое начинает случаться, это действительно крутые ощущения.



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



Вам не нужна куча мониторов. Чтобы начать и работать дальше, достаточно того компьютера и монитора что есть у вас сейчас. Не стремитесь сразу обставить рабочее место как на картинках из офисов гугла или голивудских фильмов про хакеров.



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



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



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



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



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



Развитие



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



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



Делать большие ошибки – нормально. Ошибка автора этого списка, Кена Мазаика, однажды стоила компании, где он работал 10 тысяч долларов. И это был самый важный урок в его программистской карьере.



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



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



Предоставьте все детали того, что вы видите (код, логи ошибок, скриншоты etc.)


Объясните, что точно по-вашему должно происходить


Объясните, что точно по-вашему происходит


Объясните почему так происходит по-вашему мнению


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



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



Поиск работы



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



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



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



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



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


Статья взята с https://proglib.io/p/25-things-to-know-about-coding/

Показать полностью

Как оставить квартиру (или дачу) на время отъезда – и не беспокоиться. Гайд по современным системам безопасности

Как оставить квартиру (или дачу) на время отъезда – и не беспокоиться. Гайд по современным системам безопасности Гифка, Длиннопост

Лето — сезон отпусков для тех, кто весь год хорошо работал, и горячий период для домушников (так называют «квартирных грабителей»). Столько квартир остается без присмотра! Добавьте сюда риск протечек и пожаров – и уезжать будто бы уже не хочется. Чтобы во время отдыха не вспоминать все сюжеты из криминальных фильмов, вместе с Ростелекомом советуем, как защитить свой дом.


Итак, вы уезжаете на несколько дней или на месяц, а квартира остается пустовать. Самые спокойные (завидуем вам!) просто соберут чемоданы и хлопнут дверью, не думая о возможных пожарах/потопах. Тот, кто часто тревожится по поводу и без, — может попросить друзей или знакомых периодически заглядывать к вам и проверять, все ли в порядке. Это работающая схема с одним нюансом: проверять квартиру каждый день хлопотно, особенно если она находится не в двух шагах. Соответственно, оперативно отреагировать на проблему у друзей не получится. Проще попросить соседей, но для этого надо быть с ними в отличных дружеских отношениях.


А что, если дом способен сам о себе позаботиться? Если он достаточно умный, конечно. Рассмотрим несколько ситуаций, которые могут произойти, пока вы в отъезде, и разберемся, какие устройства обезопасят вашу квартиру.


Переживаю, что в квартиру залезут воры


Для начала помните об азбучных истинах: не слишком распространяйтесь, когда, куда и на какой срок вы собираетесь уехать. Попросите кого-то забирать почту из ящика, чтобы торчащие из него объявления не показывали, что вы давно не появлялись. Здесь как раз лучше обратиться к соседям. Но это не все.

Как оставить квартиру (или дачу) на время отъезда – и не беспокоиться. Гайд по современным системам безопасности Гифка, Длиннопост

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


Не лишним установить датчики открытия окон и дверей. Сверлить ничего не нужно, монтаж простой: две детали устройства крепятся к раме. Если датчик сработает, вам придет уведомление. Например, сервис Умный дом от Ростелекома отправляет push, но при проблемах с интернетом вы получите SMS. В общем, точно узнаете, что дверь или окно открылись. Важно, что датчик фиксирует изменение температуры и уровня освещенности, так что даже если окно разобьют, а не откроют, он отреагирует.


Для тревоги уведомления достаточно. Если вы уверены, что в квартиру точно вломился вор, уже можно обращаться в правоохранительные органы. В некоторых регионах в приложении Умный дом от Ростелекома можно подключить кнопку SOS и оперативно вызвать группу быстрого реагирования.


А если свои? Тут бы помогло Видеонаблюдение, чтобы посмотреть, кто пришел. Сделать это можно из любой точки мира: не важно, едете ли вы на дачу за город или на остров в океане. Но важно, чтобы остров не был необитаемым, – нужен интернет. Сервис видеонаблюдения от Ростелекома умеет записывать происходящее и днем, и ночью. Видео в HD или Full HD качестве хранится в облаке до 14 дней, так что доказательства взлома сохранятся, даже если вор сломает камеру.


Дал ключи знакомым и переживаю, что они будут делать в квартире


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

Как оставить квартиру (или дачу) на время отъезда – и не беспокоиться. Гайд по современным системам безопасности Гифка, Длиннопост

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


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


Не помню, выключил и я утюг


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

Как оставить квартиру (или дачу) на время отъезда – и не беспокоиться. Гайд по современным системам безопасности Гифка, Длиннопост

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


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


Боюсь, что прорвет батарею


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

Как оставить квартиру (или дачу) на время отъезда – и не беспокоиться. Гайд по современным системам безопасности Гифка, Длиннопост

А лучше всего зафиксировать протечку в самом ее начале, чтобы минимизировать ущерб. На этот случай есть датчики протечки. Устройство работает от батарейки, легко крепится и реагирует не только непосредственно на воду, но и на изменение влажности и температуры. Это позволяет заметить потоп на ранней стадии и быстро среагировать – вызвать соседей или попросить управляющую компанию срочно перекрыть воду. В общем, любыми способами спасти квартиру!


Всего так много, а как понять, что нужно именно мне?


Зависит от того, какие угрозы вы считаете самыми реальными. Например, по статистике МВД России за первые полгода 2019 года, каждое 44-е зарегистрированное преступление – это квартирная кража. Тут бы пригодился датчик открытия окон и дверей или камера.


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

Как оставить квартиру (или дачу) на время отъезда – и не беспокоиться. Гайд по современным системам безопасности Гифка, Длиннопост

В общем, просто оцените риски и возможный ущерб, который они могут нанести. Если точно не знаете, Ростелеком собрал три комплекта — датчиков и устройств для Умного дома.


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

Показать полностью 5
Отличная работа, все прочитано!