์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Absolute
- AGI
- ai
- AI agents
- AI engineer
- AI researcher
- ajax
- algorithm
- Algorithms
- aliases
- Array ๊ฐ์ฒด
- ASI
- bayes' theorem
- Bit
- Blur
- BOM
- bootstrap
- canva
- challenges
- ChatGPT
- Today
- In Total
A Joyful AI Research Journey๐ณ๐
์นผ๋ผ) “ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ฅผ ์ฐพ์ ์ ์๋ ์ด์ ”๋ผ๋ ์นผ๋ผ ์ฝ์ ํ ๋ณธ๋ฌธ
์นผ๋ผ) “ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ฅผ ์ฐพ์ ์ ์๋ ์ด์ ”๋ผ๋ ์นผ๋ผ ์ฝ์ ํ
yjyuwisely 2023. 2. 4. 14:38
You can also think of front end as the “client side” of an application. So let's say you're a front end developer. This means your job is to code and bring to life the visual elements of a website. You'd be more focused on what the user sees when they visit a website or app.
์ฐธ๊ณ : https://kenzie.snhu.edu/blog/front-end-vs-back-end-whats-the-difference/
ํ๋ก ํธ์๋๋ผ๋ ๊ฑด ์น์ฌ์ดํธ๋ ์ฑ์ ์ด์ฉํ๋ ์ ์ ๋ค์ ์ธก๋ฉด์์ ๋ณด๋ ๊ฑธ ๋งํ๋ค. ์ฐ์ฐํ “ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ฅผ ์ฐพ์ ์ ์๋ ์ด์ ”๋ผ๋ ์๋ ๋งํฌ์ ์นผ๋ผ์ ์ฝ๊ฒ ๋๊ณ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๊ฐ ์์์ผ ํ๋ ๋ฆฌ์คํธ ๋ฑ์ ์๋ ค์ค์ ์ ๋ง ์ ์ฉํ ๊ฒ ๊ฐ๋ค.
Why can‘t we find Front End Developers (2014)
https://github.com/0xjjpa/whycantwefindfed
(ํ๊ตญ์ด ๋ฒ์ญ๋ณธ์ ์ฌ๊ธฐ์ ๊ฐ๋ฅํ๋ค. https://taegon.kim/archives/4810)
์น ๊ฐ๋ฐ์ ๊ณผ์ ์์
์ ์ง๊ธ๊น์ง ํ ๋ฌ ๋ฐฐ์ฐ๋ฉด์ HTML, CSS, Javascript๋ฅผ ๋ฐฐ์ ๊ณ ํ์ฌ ๊ฐ์ธ ํฌํธํด๋ฆฌ์ค ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค๊ณ ์๋ค. ๋ด๊ฐ ์๊ฐํ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ด๋ผ๋ ๊ฑด ๋ฑ "1. ๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ์๊ฐํ๋ ํ๋ก ํธ ์๋๋"์ 4๊ฐ ๋ฆฌ์คํธ์๋๋ฐ ํ์ค์ ์๋์๋ค.๐คฃ ์๊ฐ๋ณด๋ค ์ ๊ฒฝ ์ธ ๊ฒ ์ ๋ง ๋ง๋ค.
ํนํ "2. ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๊ฐ ์ค์ ๋ก ํ๋ ๊ฒ"์ 6๋ฒ์์ ๋์จ ๋์จ ๋ง์ง, ํจ๋ฉ ์ง์ ํ๋ฉด์ ์ต๋ํ ๊น๋ํ๊ฒ ๋ณด์ด๋๋ก ๋ง๋๋ ๋ฐ ์๊ฐ์ด ์ด๋ง์ด๋งํ๊ฒ ๊ฑธ๋ ธ๋ค. ๊ธฐํ์, ์น๋์์ด๋, UX/UI ๋์์ด๋, ํ๋ก ํธ์๋ ๊ฐ๋ฐ์, ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๋ฑ ์ง์
๋ค์ด ์ ์ธ๋ถ์ ์ผ๋ก ๋๋์ด์๋์ง ์ ๊ฒ ๊ฐ๋ค.
6. Style the Web Application with proper spacings, typography, headings, face fonts, icons, margins, paddings, grids and so on.
(Web applications include online forms, shopping carts, word processors, spreadsheets, video and photo editing, file conversion, file scanning, and email programs such as Gmail, Yahoo and AOL. Popular applications include Google Apps and Microsoft 365.)
ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๊ฐ ์์์ผ ํ๋ ํด ๋ฑ ๋ฆฌ์คํธ๐
- Visual Design tools (Photoshop, Adobe, Macaw, Sketch)
- Programming Tools (IDE's, Command Line, Source Version Control, Bash scripts, Build tasks)
- Marketing (Newsletters, Campaigns, Analytics, SEO, Social Media)
- UX (animations, transitions, feedback, interfaces, visual language)
- Content tweakes (breakpoints, avoiding orphan words, readability, colors)
(SEO means Search Engine Optimization and is the process used to optimize a website's technical configuration, content relevance and link popularity so its pages can become easily findable, more relevant and popular towards user search queries, and as a consequence, search engines rank them better.)
๋จ์ํ๊ฒ ์ฝ๋ฉ๋ง ํ ์ค ์๋ ๊ฒ ์๋๊ณ ์น์ ์๋ ์๋ฆฌ, ์ฌ์ฉํ๋ ์ธ์ด, ๋ค๋ฅธ ๋ชจ๋ ๊ตฌ์ฑ ์์, ์์คํ
, ์ด๋ป๊ฒ ์ํธ์์ฉํ๋์ง ๋ฑ์ ์์์ผ ํ๋๊น ์ปดํจํฐ ๊ณตํ์ ๋ํ ์ง์๋ ํ์์ธ ๊ฒ ๊ฐ๋ค.
The fundamental mechanics of Computing and Software should always be taking into account even if you are coding in Javascript or in a browser.
A good Front End Engineer will not only take in account the mechanics of the Web and the languages it uses, but also has experiences in all the different components, systems, and concepts than interact with it.
์๋ จ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๊ฐ ์์์ผ ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ ๋ฆฌ์คํธ๐
- Knowledge and usage of modern MVC Javascript libraries (e.g. AngularJS, EmberJS, ReactJS)
- graphic libraries (e.g. D3, SnapSVG)
- DOM manipulation libraries (e.g. jQuery, Zepto)
- lazy loading or package management libraries (e.g. RequireJS, CommonJS)
- task managers (e.g. Grunt, Gulp)
- package managers (e.g. Bower, Componentjs)
- testing (e.g. Protractor, Selenium)
์ฌ๋ฌ๋ชจ๋ก ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๊ฐ ํด์ผ ํ ๊ฒ๊ณผ ์ง์ํด์ผ ํ ๊ฒ์ ์๋ ค์ฃผ๋ ๋์์ด ๋๋ ์นผ๋ผ์ด๋ค. ๋ ๊ธฐ์ตํด์ผ ํ ๊ฒ์ ์ฌ์ฉ์๊ฐ ํญ์ ์ต์ฐ์ ์ด๋ผ๋ ์ ์ด๋ค.
1. ๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ์๊ฐํ๋ ํ๋ก ํธ ์๋๋:
1. What most people think Front Engineering is:
- Taking a Photoshop file, Image, or Wireframe and making it into a webpage.
- Sometimes design previous Photoshop file, Image or Wireframe.
- Code Javascript, which creates animations and makes transitions inside a webpage.
- Code HTML and CSS, which defines content and styling inside a webpage.
2. ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๊ฐ ์ค์ ๋ก ํ๋ ๊ฒ:
2. What Front End Engineers actually do:
- Establish a visual language between Designers and Engineers
- From a Visual Design, define a set of components that represent content, brand, features, etc.
- Establish a baseline for the Web Application in terms of conventions, frameworks, requirements, visual languages and specs.
- Define the scope of the Web Application in terms of devices, browsers, screens, animations.
- Develop a Quality Assurance guideline to ensure brand fidelity, code quality, review of product by stakeholders.
- Style the Web Application with proper spacings, typography, headings, face fonts, icons, margins, paddings, grids and so on.
- Style the Web Application with multiple resolution images, device oriented mockups, all while taking care of design guidelines.
- Markup the Web Application taking into account semantics, accessibility, SEO, schemas and microformats.
- Connect to an API to retrieve information in a friendly, non-battery consuming, device and client aware way.
- Develop client side code to perform smooth animations, transitions, lazy loading, interactions, application workflows, most of the time taking into consideration progressive enhancement and backwards compatible standards.
- Ensure Backend connections are secure, taking Cross Origin Resource Sharing (CORS) procedures into account, protect against Cross Site Scripting (XSS) and Cross Site Request Forgery (CSRF).
- Never forgetting that despite strict deadlines, stakeholders requests, and device limitations, the User is, and will always be first.
In order to achieve aforementioned goals, Front End Engineers use many tools that range from
Visual Design tools (Photoshop, Adobe, Macaw, Sketch),
to Programming Tools (IDE's, Command Line, Source Version Control, Bash scripts, Build tasks).
Sometimes we even have to take care of Marketing (Newsletters, Campaigns, Analytics, SEO, Social Media),
UX (animations, transitions, feedback, interfaces, visual language)
to Content tweakes (breakpoints, avoiding orphan words, readability, colors).
3. ์ ์ข์ ํ๋ก ํธ์๋ ์์ง๋์ด๋ง์ด๋ (๊ทธ๋์ ์ค์ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์๊ฒ ์ ์ข์ ์ํฅ์ ์ฃผ๋ ๊ฒ):
3. What bad Front End Engineerings do (and thus hurting real Front End Engineers):
- Abuse of Javascript Libraries, since they don't really know the internals of Javascript (e.g. jQuery for everything).
- Abuse of Javascript Plugins, using other people's code without been able to even read it (e.g. jQuery.doParallaxPls.js).
- Add to Web Application CSS Frameworks (Bootstrap, Foundation, Skeleton) while using 5% of the CSS/JS, without seeing any requirements, designs, or performing any kind of comparison/evaluation.
- Feed the idea that just because you add CSS Framework, a site is “Responsive”, or that responsiveness is some sort of spice you can just sprinkle into a Web Application at any time.
- Talking about “Responsive Web Design”, but being unaware of Server side techniques
- Coding CSS without conventions, preprocessors, naming standards, good practices, and at the same time writing CSS with over qualified selectors, ids, magic numbers, !important.
- Ignoring performance, memory leaks (not knowing what's a memory leak _really _is), failing to audit their code or measure it.
- Presenting a product without any kind of metrics, or the metrics being “It works on my Computer/Browser/Device”™
- Pretty much creating Software while Ignoring 30 years of Software Engineering.
Most of the time you want a **Computer Science **guy or girl that **then decided to work with Front End Engineering. **It's not a requirement to have a CS background to be a good Front End Engineer, **but the fundamental mechanics of Computing and Software should always be taking into account even if you are coding in Javascript or in a browser. **Good Front End Engineers know that the web is probably one of the most powerful platforms and environments that exists, and as such, the code that is executed there, must be developed with the same care (or even more) than any other language in any other virtual machine or runtime.
A good Front End Engineer will not only take in account the mechanics of the Web and the languages it uses, but also has experiences in all the different components, systems, and concepts than interact with it. Here's a few things that an experienced Front End Engineer should know or do on top of just the normal Front End Engineering tasks:
4. ์๋ จ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๊ฐ ์์์ผ ํ๋ ๊ฒ๊ณผ ์ผ๋ฐ์ ์ธ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ณด๋ค ๋ ์์์ผ ํ๋ ๊ฒ (ํํธ: ๋น์ ์ด ๊ณ ์ฉํ๊ณ ์ถ์ ์ด๋ค์ ๋งํ๋ค.)
4. What experienced Front End Engineers need to know and do on top of good Front End Engineers **** (hint: this are the ones you want to hire):
- DNS Resolution, usage of Content Delivery Networks (CDN), and performance on multiple Hostnames as part of resources requests.
- HTTP Headers (Expires, Cache-Control, If-Modified-Since)
- All rules from Steve Souders (High Performance Websites)
- How to solve all problems showed by PageSpeed, YSlow, Chrome Dev Tools Audit, Chrome Dev Tools Timeline.
- When to leverage tasks to the server and when to the client.
- Usage of cache, pre-fetching and post-load techniques
- Native Javascript, knowing when to do something from scratch and when to look up for someone else code, and at the same time being able to evaluate the pros and cons of doing so.
- Knowledge and usage of modern MVC Javascript libraries (e.g. AngularJS, EmberJS, ReactJS), graphic libraries (e.g. D3, SnapSVG), DOM manipulation libraries (e.g. jQuery, Zepto), lazy loading or package management libraries (e.g. RequireJS, CommonJS), task managers (e.g. Grunt, Gulp), package managers (e.g. Bower, Componentjs) and testing (e.g. Protractor, Selenium).
- Image Formats, benefits, when to use which one and how, Image Optimisation techniques, and loading strategies (sprites, lazy loading techniques, cache flushing, PNG interlaced)
- Knowledge and usage of CSS Standards, modern conventions and strategies (e.g. BEM, SMACSS, OOCSS)
- The Computer Science of Javascript (memory management, single threaded nature, garbage collector algorithms, timeouts, scoping, hoisting, patterns)
'๐ณJob Search Resourcesโจ > Book Reviews' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฆฌ๋ทฐ) Do it! ์น ์ฌ์ดํธ ๊ธฐํ ์ ๋ฌธ (์ ์: ์ด์ ์) (0) | 2023.03.26 |
---|