teleren/devto huggingface dataset:
How I got nominated for a Webby Award
Tags: webdev, javascript, sideprojects, frontend
Published: 2024-04-03 15:15:05

I'm very happy to announce that my [personal website](https://dustinbrett.com/) has once again been [nominated for a Webby Award](https://vote.webbyawards.com/PublicVoting#/2024/websites-and-mobile-sites/general-desktop-mobile-sites/personal-blogwebsite)!

My website is a desktop environment in the browser and I have made a video showing off some of it's features for those interested.

{% youtube RRLq3T0Surs %}

It's been a goal of mine to win a Webby for a few years now, since I started my [side project](https://github.com/DustinBrett/daedalOS) over 3 years ago to build my personal website. I have continued to work on and improve my website almost daily now since Jan 2021.

Since creating my project I have entered it into most awards sites such as [Awwwards](https://www.awwwards.com/sites/daedalos), [The FWA](https://thefwa.com/cases/daedalos) and [CSS Design Awards](https://www.cssdesignawards.com/sites/daedalos/42046/) and it's done decent, although not well enough to win top awards, but for me personally the Webby award has always been the one I wanted the most, so getting nominated again is exciting.

![daedalOS Screenshot 2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/323i935ez0ob2wiap9nd.png)

One reason I consider it to be the top award is that they have a large judging staff and if you are nominated or win, you get an actual physical award. Also if you win then they have an award show which you can attend in New York City.

Most award sites now-a-days require an entry fee which I used to think was a pay-to-play system, and in a way it is, but there are real costs involved with having proper judging as well as awards so I do think that some fee is understandable. Luckily for the personal website category it is heavily discounted so I end up paying quite a bit less than most categories.

![daedalOS Screenshot 1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xfe96rv49iussuh7jxsv.png)

I've spent a lot of time looking at the winners of these sites to try and find what makes them stand apart and to consider how I could add things to my project to be comparable to them. It's been a long journey of self discovery and looking inward to be able to see the flaws in my site and why other sites are picked over mine, and I have worked to try and change where possibly without compromising my vision for my personal website.

Now that I am nominated I have a chance to win by the judges voting but also I can win what they call the People's Voice Award which comes from votes from the community. So if you like my site and want to support me to win, please take a moment to [vote for my site](https://vote.webbyawards.com/PublicVoting#/2024/websites-and-mobile-sites/general-desktop-mobile-sites/personal-blogwebsite).

{% youtube HvuboyIWIIQ %}

Thanks for checking out my project!
C# Excel 마지막 행 찾기, 2024-04-03
Published: 2024-04-03 14:56:46

```
using OfficeOpenXml;
using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        // 엑셀 파일 경로
        string filePath = @"C:\Users\Username\Documents\output.xlsx";

        // 엑셀 파일 불러오기
        FileInfo file = new FileInfo(filePath);
        using (ExcelPackage package = new ExcelPackage(file))
        {
            ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheet1"];

            // 마지막 행 찾기
            int lastRow = worksheet.Dimension.End.Row + 1;

            // 새로운 데이터 추가
            worksheet.Cells[lastRow, 1].Value = "New Name";
            worksheet.Cells[lastRow, 2].Value = "New Age";

            // 파일 저장
            package.Save();
        }

        Console.WriteLine("New data added to the Excel file successfully.");
    }
}

```

_참조 : chatGPT3.5_
C# Excel EPPlus, 2024-04-03
Published: 2024-04-03 14:56:00

```
using OfficeOpenXml;
using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        // 크롤링한 데이터
        string[,] data = {
            { "Name", "Age" },
            { "John", "30" },
            { "Alice", "25" },
            { "Bob", "35" }
        };

        // 엑셀 파일 생성
        FileInfo file = new FileInfo(@"C:\Users\Username\Documents\output.xlsx");
        using (ExcelPackage package = new ExcelPackage(file))
        {
            ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");

            // 데이터 쓰기
            for (int i = 0; i < data.GetLength(0); i++)
            {
                for (int j = 0; j < data.GetLength(1); j++)
                {
                    worksheet.Cells[i + 1, j + 1].Value = data[i, j];
                }
            }

            // 파일 저장
            package.Save();
        }

        Console.WriteLine("Excel file created successfully.");
    }
}

```

_참조 : chatGPT3.5_
C# Frame안의 Frame, 2024-04-03
Published: 2024-04-03 14:54:46

```
IWebElement firstFrame = driver.FindElement(By.XPath("xpath_of_first_frame"));
driver.SwitchTo().Frame(firstFrame); // 첫 번째 frame으로 전환

driver.SwitchTo().Frame("frame_name_or_id"); // 두 번째 frame으로 전환
```

```
driver.SwitchTo().ParentFrame(); // 부모 frame으로 전환

```

```
driver.SwitchTo().DefaultContent(); // 최상위 frame으로 전환

```
_참조 : chatGPT3.5_
C# 크롤링과 Frame, 2024-04-03
Published: 2024-04-03 14:53:00

Frame이 다르면 크롤링 후에 데이터를 선택해도 값을 가져오지 못함

```
# 프레임 전환하기

driver.switch_to_default_content  #(1) 상위 프레임으로 전환
driver.switch_to.frame('프레임이름') #(2) 특정 프레임으로 전환     

# 예시 - 네이버까페의 경우
driver.switch_to_default_content  #(1) 상위 프레임으로 전환
driver.switch_to.frame('cafe_main')    # 네이버까페의 경우
```

_참조 : https://blog.naver.com/kiddwannabe/221253004219_
Why is coding so hard?
Published: 2024-04-03 14:47:01

In this article, I will give a simple answer to this question. My answer will make you a good programmer. Let's start



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vh7te72025ax428xqxk5.jpg)

Programming is a difficult skill to learn. Understanding abstract concepts and complex structures requires a lot of mental effort. Programming languages are different from natural languages and have many rules and structures to learn, which can be overwhelming.


One of the biggest challenges in learning to program is understanding the abstract concepts and complex structures involved. Unlike natural languages, programming languages are highly structured and require a lot of mental effort to learn.
Beginners may struggle to understand variables, data types, loops, and conditional statements.
Debugging

Debugging refers to the process of identifying and fixing errors in code. Even experienced programmers sometimes struggle with this process, as bugs can be elusive and difficult to diagnose.

Beginners may feel overwhelmed by the process of finding and fixing bugs, which can be time-consuming and frustrating. However, learning to debug effectively is an important skill for programmers to master, and there are many resources available to help beginners improve their debugging skills.
Lack of Feedback

When learning to program, it can be difficult to know whether one is on the right track. Unlike other subjects, there may not be a clear sense of progress as one learns to program.
This lack of feedback can be demotivating for beginners, who may feel like they're not making progress.
Imposter Syndrome


Imposter syndrome refers to the feeling of being a fraud or a fake, even when one has succeeded or is qualified to do a particular job.
Many beginners in programming may experience imposter syndrome, especially if they compare themselves to more experienced programmers.
Conclusion


Programming is a challenging but rewarding skill to learn. One can take steps to overcome them and progress in learning programming.


Thanks for reading
"Uncaught SyntaxError: Unexpected token '.'" Explained
Tags: webdev, javascript, beginners, programming
Published: 2024-04-03 14:37:57

Have you ever encountered the cryptic error message "Uncaught SyntaxError: Unexpected token '.'" while working with JavaScript code? If so, you're not alone. This error can be perplexing, especially for those new to programming. I'm going to briefly explain what this error means.

The error message "Uncaught SyntaxError: Unexpected token '.'" typically occurs in JavaScript when the interpreter encounters a period (".") where it wasn't expecting one. This usually happens when there's a syntax error in your code. Here's what each part of the error message means:

- "Uncaught": This indicates that the error was not caught by a try...catch block, meaning it wasn't handled by your code.
- "SyntaxError": This indicates that there is a problem with the syntax of your JavaScript code.
- "Unexpected token '.'": This specifies that the interpreter encountered a period (".") unexpectedly. It expected something else in that position based on the JavaScript syntax rules.

Here are some common scenarios where you might encounter this error:

1. Missing or misplaced punctuation: If you forget a semicolon or use incorrect punctuation in your code, it can lead to unexpected tokens.

2. Incorrect use of dot notation: Using dot notation (e.g., object.property) incorrectly can also trigger this error. For example, if you try to access a property on an undefined or null object, it will result in an "Uncaught TypeError" rather than a "SyntaxError," but in some cases, dot notation can be involved in a syntax error.

3. Incorrectly formed expressions or statements: Writing expressions or statements incorrectly can lead to syntax errors. For example, using a dot (".") in a place where it's not allowed, such as at the beginning of a line or as part of an identifier name, can cause this error.

To fix this error, carefully review the line of code mentioned in the error message and check for any syntax mistakes, such as missing or misplaced punctuation, incorrect use of dot notation, or improperly formed expressions or statements.
Engineer Explains: Scaling infrastructure from 0 to 20 million users explained in 5 minutes
Tags: infrastructure, video, infrastructurecost, josipstuhli
Published: 2024-04-30 11:57:41

---
title: Engineer Explains: Scaling infrastructure from 0 to 20 million users explained in 5 minutes
published: true
date: 2024-04-03 14:29:44 UTC
tags: Infrastructure,Video,infrastructurecost,JosipStuhli
canonical_url: https://shiftmag.dev/engineer-explains-scaling-infrastructure-3089/
---

![](https://shiftmag.dev/wp-content/uploads/2024/04/josip_3.png?x56481)

_For more content like this **[subscribe to the ShiftMag newsletter](https://shiftmag.dev/newsletter/)**._

Scaling your infrastructure because you have tens of millions of users seems like a nice problem to have. And it is until you get your first infrastructure bill.  
  
In this video, a CTO with the same problem of scaling a software product to serve millions and millions of new users explains how to approach the scaling, what to pay attention to, and what you absolutely must do in the beginning because you wouldn’t be able to fix it later.  
  
There’s low-hanging fruit even junior developers can have in mind, and his message for CTOs is to **think about the cost before it’s too late**.

<iframe title="Scaling From 0 to 20,000,000 Users" width="500" height="281" src="https://www.youtube.com/embed/s_Igmd5GpDg?start=2&amp;feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

This video is a part of ShiftMag’s new **video series, [Engineer Explains](https://www.youtube.com/@ShiftMag/videos).**

We’ve asked experienced engineers to share how they would explain some basic and some less basic tech terminology to different job tech job titles or at three levels of experience –  **from junior developer to CTO.**  
  
_This Engineer Explains video was created in partnership with  **WeAreDevelopers World Congress**. Find the tickets here for the next one taking place in [Berlin, 17th-19th July](https://www.wearedevelopers.com/world-congress)._  
  
**More:**  
How would you explain [APIs](https://www.youtube.com/watch?v=qtxHm09FH_M), [internal developer platforms](https://www.youtube.com/watch?v=Rxi3fHEY48c), [software architecture](https://www.youtube.com/watch?v=BqsTQWhyngg&t=9s) or [software testing](https://www.youtube.com/watch?v=5aRuyTIoMys) at three levels of experience?

The post [Engineer Explains: Scaling infrastructure from 0 to 20 million users explained in 5 minutes](https://shiftmag.dev/engineer-explains-scaling-infrastructure-3089/) appeared first on [ShiftMag](https://shiftmag.dev).
Object destructuring in TypeScript
Tags: typescript, beginners, webdev, learning
Published: 2024-04-03 14:22:39

Object destructuring is a powerful ES 6 feature that can help developers write cleaner code. It allows us to extract properties from a JavaScript object into variables.

If you are unfamiliar with it, read our post about [object destructuring](https://www.wisdomgeek.com/development/web-development/javascript/rest-and-spread-operator-three-dots-that-changed-javascript/) to know more about what is possible using it.

When it comes to object destructuring in TypeScript, the following statement doesn’t work.

    const { title: string, comments: number } = blog

Technically, the way it works is that it assigns the title property of the object to a variable named string and the comments property to the number variable. This happens because JavaScript assumes that we want to destructure and rename the variables, which is valid ES6 syntax.

The right way to do object destructuring in TypeScript would be

    const { title, comments } : { title: string; comments: number }  = blog

Another alternative can be to use an interface or a type declaration:

    interface Blog {
      title: string
      comments: number
    }
    
    const { title, comments }: Blog = blog

By default, the types usually get inferred, and this type of object destructuring is usually not needed. But for the cases when we do, we now know how to. I hope this post was helpful. If you have any questions, feel free to drop a comment below.

*Originally published at [https://www.wisdomgeek.com](https://www.wisdomgeek.com/development/object-destructuring-in-typescript/) on March 28, 2024.*
Ibuprofeno.py💊| #70: Explica este código Python
Tags: python, programming, beginners, spanish
Published: 2024-04-03 14:19:02

## **<center>Explica este código Python</center>**
#### <center>**Dificultad:** <mark>Fácil</mark></center>

```py
print("Mi", "nombre", "es", sep="_", end="*")
print("Monty", "Python.", sep="*", end="*\n")
```

👉 **A.** `Mi_nombre_es Monty*Python.*`
👉 **B.** `Mi*nombre*es*Monty_Python.*`
👉 **C.** `Mi_nombre_es*Monty*Python.*`
👉 **D.** `Mi_nombre_es*Monty*Python._`

---

Respuesta en el primer comentario.
ERROR : Please set the ExcelPackage.LicenseContext property, 2024-04-03
Published: 2024-04-03 14:18:21

EPPlus는 LGPL 오픈 소스 라이선스에 따라 버전 4.5.3.3 까지 라이선스가 부여되었지만, 버전 5부터는 Polyform Noncommercial 1.0.0 즉, 상용화가 되었습니다.

 

5.0 이상의 버전을 사용하면서, 상용버전이 아닌 개인적인 사용이라면 아래과 같이

"ExcelPackage.LicenseContext = LicenseContext.NonCommercial;" 을 추가해 주셔야 사용이 가능합니다. 

```
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
```
_참조 : https://aspdotnet.tistory.com/2681_
Cùng Style Essence Đón Nhận Phong Cách Đỉnh Cao Của Thời Trang Hè Năm 2024
Published: 2024-04-03 14:17:36

Mùa xuân đang đến, và chúng tôi không thể không nhắc đến những mẫu áo T-shirt mềm mại hay những chiếc váy maxi lãng mạn, tạo nên diện mạo mới cho bản thân. Đặc biệt, các bộ sưu tập mùa hè của Style Essence đã được cập nhật đầy đủ, từ những thiết kế dành cho công việc đến những bộ trang phục sành điệu cho dịp cuối tuần.

Không chỉ dừng lại ở việc giới thiệu các mẫu thiết kế mới,SE còn mang đến cho bạn những bí quyết phối đồ thông minh. Bạn sẽ được tìm hiểu về cách kết hợp các item trong tủ đồ của mình một cách sáng tạo và phong cách, từ cách mix đồ cơ bản đến những gợi ý để tạo nên phong cách riêng biệt và ấn tượng.

Đừng quên tham gia cùng chúng mình trong hành trình chinh phục phong cách cá nhân của bạn. Bằng cách tham gia vào các cuộc trò chuyện, chia sẻ ý kiến và nhận định, bạn sẽ có cơ hội gặp gỡ và trao đổi với những người cùng đam mê thời trang.
Ở bài viết này, SE sẽ giúp bạn tìm hiểu thêm về cách phối đồ với các trang phục theo từng mùa, cùng tham khảo thêm 1 vài ý tưởng phối đồ khác trên website của chúng tôi [tại đây!](https://styleessence.xyz/tin-tuc/).
----------------------------------------------------
Thời trang Style Essence
📞 Hotline: 0985327038
📩 Email: essencestyle3@gmail.com
🛒 Shopee: https://shopee.vn/style_essence
🪧 Website: https://styleessence.xyz
📍 Địa chỉ: số 7, 291 Phú Diễn- Bắc Từ Liêm, Hà Nội
ERROR : System.UnauthroizedAccessException,2024-03-04
Published: 2024-04-03 14:16:57

해당 파일이 'Program Files' 또는 'Windows' 폴더에 위치한다면 해당 파일에 대한 정보를 수정할 수 없게 되어 표시되는 메시지였다.

(응용 프로그램이 관리자 권한으로 실행되지 않은 경우 또는 파일에 대하여 적절한 권한이 없는 경우)

이 문제의 해결 방법은 간단하다.

 

1. 사용자 PC에서 수정 가능한 방법 : 해당 파일의 읽기/쓰기 권한 부여

  - 해당 파일을 우클릭하여 속성으로 들어간 다음 읽기 또는 쓰기 옵션을 부여한다.

 

2. 모든 사용자들에게 일괄 적용 가능한 방법 : 설치 경로 변경

  - 응용 프로그램에 필요한 파일의 설치 경로를 다른 위치로 수정한다.

    (C:\로 설치 경로를 변경한 뒤 해당 에러 메시지가 표시되지 않았다.)

_참조 : https://hvyair.tistory.com/34_
C# 날짜 서식, 2024-04-03
Published: 2024-04-03 14:15:18

```
// 날짜 심벌

M   : 월. 10 이하는 한자리
MM  : 2자리 월
MMM : 축약형 월 이름 (예: APR)
d   : 일. 10 이하는 한자리
dd  : 2자리 일자
ddd : 축약형 요일 이름 (예: Mon)
yy  : 2자리 연도 
yyyy: 4자리 연도 
h   : 시간 (12시간, 10 이하 한자리)
hh  : 2자리 시간 (12시간)
H   : 시간 (24시간, 10 이하 한자리)
HH  : 2자리 시간 (24시간)
m   : 분 (10 이하 한자리)
mm  : 2자리 분
s   : 초 (10 이하 한자리)
ss  : 2자리 초
tt  : AM / PM

// 예제

DateTime today = DateTime.Now;
string.Format("{0:M/d/yyyy}", today);
// 출력 4/15/2014

string.Format("{0:yyyy/MM/dd}", today);
// 출력 2014/04/14

string.Format("{0:d/M/yyyy HH:mm:ss}", today);
// 출력 14/4/2014 14:59:24
```
_참조 : https://jettstream.tistory.com/79_
HOME ELEVATOR
Published: 2024-04-03 13:58:57

We are committed to realizing our goal of providing handcrafted, carefully built lifts that complement any type of home style while also meeting your basic needs. Lift interiors may be tailored to your own preferences and interests thanks to our combination of artistic and technical knowledge. Elevator walls are intended to meet your needs and your budget, offering a variety of driving system alternatives.

A beautiful selection of house elevators in all shapes and sizes is what Sharp Star Elevator specializes at providing. Additionally, we are experts at designing elevators to fit any kind of house structure, from contemporary new construction to historic properties. We welcome fresh concepts for creating lift designs that satisfy our customers' needs according to a range of factors. Sharp Star Elevators strives to enhance theelevator's interior design by adding a sleek touch to the interior. Our lifts come equipped with every convenience needed to make using the lift system enjoyable and help homeowners choose us over other options. Our goal is to produce lifts that are not only technically sound for speed and safety.

Every residential lift or home lift is painstakingly planned, built, and completed all at once, making customisation a thoughtful process that results in a useful product that meets the needs of the home. As a result, Sharp Star Elevatoras a business aspires to excellence in terms of quality, speed, and comfort in addition to safety and a committed service of fashionable lifts.[](https://sharpstarelevator.com/)
The Significance of Social Media Marketing in Today's Digital Landscape
Published: 2024-04-03 13:57:33

[Tubtic ](https://www.tubtic.com/) - In today's fast-paced digital era, social media marketing has emerged as a vital component for businesses striving to establish a strong online presence and connect with their target audience effectively. With the exponential growth of social media platforms like Facebook, Instagram, Twitter, and LinkedIn, businesses have found an unprecedented opportunity to engage with customers, build brand awareness, and drive sales. Social media marketing offers a cost-effective means for businesses to reach a global audience, regardless of their size or industry. By leveraging the power of social media, companies can create targeted advertising campaigns, interact with customers in real-time, and gather valuable insights into consumer preferences and behaviors, thereby enhancing their competitive edge in the market.

Furthermore, social media marketing plays a pivotal role in fostering brand loyalty and customer relationships. Through engaging content, personalized messaging, and timely responses to customer inquiries and feedback, businesses can cultivate a loyal following and establish themselves as trusted authorities in their respective niches. By consistently delivering valuable content and fostering meaningful interactions, companies can nurture long-term relationships with customers, leading to increased customer retention and advocacy. Moreover, social media platforms serve as valuable channels for showcasing product launches, promotions, and exclusive offers, thereby driving traffic to company websites and boosting sales revenue. In essence, social media marketing has become an indispensable tool for businesses seeking to thrive in the digital age, offering unparalleled opportunities for growth, engagement, and brand visibility.
HOW I MADE MY DIGITAL CLOCK WITH HTML
Published: 2024-04-03 13:52:53

## THOUGHT
I never had a clock in my house and if a clock was there it was broken by me . so, once I decided to make a clock using my coding skills and I started to make one . I first thought I can make it only using an API and then saw a video and got amazed seeing it


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4k3deqrqf7tmax66lybd.gif)

 I saw that we can make a real-time working clock using little JavaScript and html


## I started making my clock
After the thought I sat down near my computer and began to work

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kqgqm5rdnmyi11ldm7gf.gif)
After that in W3 schools  I saw that there are in-built functions in JS that will help us make a clock but after some time I got mad seeing those JAVASCRIPT functions

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j6spt3w8xdgwwq2pluhj.gif)
But soon I understood those functions 

## HOW TO DO IT 1) HTML
There is only one line of code in html and basic Html. We should first put a h1 and give it an ID That's all and I thought Woof...

<img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExNmF6N3JkNzUxMmU5OTIwMzl0czN1N3ByZDAzdGk5bml1aHJzam1maCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/lTpme2Po0hkqI/giphy.gif"/>

## 2) JAVASCRIPT
After messing up with JavaScript for literally Four Hours 

## ALSO CHECK OUT MY WEBSITE=JINX-clock.web.app






` function Clock(){
let d= new Date();
hours = d.getHours()
minutes = d.getMinutes()
seconds = d.getSeconds()
document.getElementById('clock').innerText = hours + ':' + minutes + ':' + seconds;
}

Clock()

setInterval(()=>{Clock()},1000)`